quinta-feira, 17 de julho de 2014

Conceito: Programação Paralela

Resumo
Programação paralela (também paralelismo ou computação paralela), é quando uma tarefa é executada em mais de um núcleo do processador, para aumentar o desempenho e diminuir o tempo de execução.

Introdução
Os computadores pessoais atualmente possuem geralmente processadores com dois ou quatro núcleos de CPUs, isso faz com que o processador possa executar mais processos "ao mesmo tempo", levando o fato de que em vez de executar comandos em sequência, podemos executar vários comandos em CPUs diferentes, de forma "simultânea".

Os termos "ao mesmo tempo" e "simultânea" estão entre aspas porque para a programação ser executada ao mesmo, por teoria, é necessário dois ou mais processadores, mas o que ocorre com programação paralela é que cada núcleo executa uma tarefa, o que dá a impressão de as tarefas estarem sendo executadas simultaneamente no mesmo processador.

Até então, para programar uma rotina que executasse dois ou mais códigos em paralelo, era necessário programação em baixo nível, mas com o Microsoft Framework 4 em diante, programação paralela se tornou algo simplificado ao desenvolvedor.

Vantagens:
  • Pode ser usado para aumento de desempenho em rotinas importantes.
  • Divisão de trabalho: dois núcleos trabalhando são mais rápidos do que um só.
  • O desempenho é diretamente proporcional ao número de processadores e núcleos do computador.
Desvantagens:
  • Em geral, é difícil programar e debugar o código.
  • Se usado desnecessariamente, pode causar uso de excessivo de CPU, podendo até travar o sistema ou o computador.
  • Não haverá diferença no desempenho no caso de processadores com apenas um núcleo.
  • A execução não é ordenada, ou seja, os métodos chamados em paralelo poderão ser executados em qualquer ordem.

Conclusão
Os benefícios da programação paralela realmente valem a pena para rotinas de grande importância e que precisam ser executadas no menor tempo possível. Porém sempre deve-se ter cautela em usar esse tipo de programação para não comprometer a integridade e estabilidade do sistema ou computador.


Mais informações em:
http://msdn.microsoft.com/pt-br/library/vstudio/ms171868(v=vs.100).aspx#parallel_computing
http://msdn.microsoft.com/pt-br/library/vstudio/dd460693(v=vs.100).aspx

Para ver uma análise feita sobre programação paralela e programação comum, não deixe de visitar o outro artigo do blog: Análise: Programação Paralela

Nenhum comentário:

Postar um comentário