Processamento paralelo e serial descreve se um sistema computacional pode dividir tarefas computacionais para usar vários processadores ou núcleos simultaneamente, ou se depende de completar tarefas com um único núcleo. Todos processadores de consumo individuais eram seriais antes de meados de 2005, quando a Intel lançou o primeiro dual-core para consumidores. Vários processadores single-core podem trabalhar juntos para processamento serial através de clusters paralelos em rede ou vários processadores em uma motherboard.
Um computador moderno típico roda dezenas a centenas de tarefas ao mesmo tempo; porém, cada núcleo trabalha em um processo por vez. O processador salta constantemente entre diferentes "threads" ou "fluxos de instruções" para rodar vários programas simultâneos sob ilusão de tempo real chamada concorrência. O computador desperdiça ciclos de processador ao alternar entre tarefas e não roda em eficiência ótima no multitarefa.
Ambiente de processamento paralelo processa tarefas mais rápido quando programas são projetados para usar processamento paralelo. Programas seriais alinham todas instruções em arranjo serial e interfaceiam com processador usando uma única thread. Programas paralelos quebram tarefas em partes individuais divididas entre vários núcleos e remontadas como tarefas concluídas. Processadores paralelos multiplicam poder de processamento de seriais de clock similar com código bem escrito. Porém, processador serial com clock mais alto pode superar paralelos em thread única.
Programas para processamento serial usam um núcleo por vez e processam tarefas em ordem sequencial. Processador serial funciona como ter uma dúzia de caixas de supermercado abertas com um único caixa correndo entre elas, atendendo todos ao mesmo tempo. O caixa (CPU) pula de caixa em caixa atendendo alguns itens antes de ir à próxima, com objetivo de terminar todos pedidos ao mesmo tempo.
A ideia por trás de processadores paralelos é que mais núcleos trabalhando juntos levam a melhor desempenho. Processador paralelo comporta-se como ter mais de um caixa operando uma dúzia de filas. Se programa aproveita processamento paralelo, o "cliente" pode dividir seu pedido em grupos menores e usar várias filas ao mesmo tempo.
Em 2007, Nvidia usou processamento paralelo para avançar tecnologia gráfica. Unidades de processamento gráfico (GPUs) usam processamento paralelo em nível que supera serial em pequenos cálculos. Enquanto CPUs têm número contável de núcleos, GPUs podem ter milhares de núcleos de menor potência, mais adequados para cálculos simultâneos simples. GPUs são comuns em gráficos, mas também fazem ordenação e álgebra de matrizes.
Tecnologia Eletrônica © [www.351231.com]