p:programacao_paralela
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
p:programacao_paralela [2022/08/30 19:08] – Marcelo Schreiber | p:programacao_paralela [2022/08/30 19:12] (atual) – [Grandes Nomes] Marcelo Schreiber | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Visão geral ====== | ||
+ | A **programação paralela** é uma forma de realizar muitos cálculos em simultâneo, | ||
+ | Assim, evita-se a programação sequencial, a qual pode ser muito ineficiente. | ||
+ | |||
+ | ====== Principais Marcos ====== | ||
+ | |||
+ | Na década de **1950**, começa-se a trabalhar em maneiras de tornar os programas mais eficientes. | ||
+ | Diante disso, cria-se o conceito de **" | ||
+ | |||
+ | Além disso, também foi introduzido a ideia de **" | ||
+ | |||
+ | Alguns anos depois, na decáda de 60, já havia algumas implementações de ordens hierárquica de processos sequenciais. Assim, tornou-se realizável, | ||
+ | |||
+ | Outrossim, outro grande marco foi 10 anos depois (**1978**), com o surgimento da Lógica de Hoare, a qual, com uma abordagem axiomática, | ||
+ | |||
+ | Por fim, é importante ressaltar que o primeiro processador multi-core (dual-core) para desktop, só foi surgir ao final de **2006**, com a introdução do Pentium D pela intel. Portanto, estes dois núcleos eram responsáveis por dividir as tarefas entre si. | ||
+ | |||
+ | ====== Grandes Nomes ====== | ||
+ | |||
+ | **[[f: | ||
+ | |||
+ | **[[e: | ||
+ | |||
+ | **Gene Myron Amdahl** - Projetista de computadores que formulou a lei de Amdahl, que afirma uma limitação fundamental da computação paralela. | ||
+ | |||
+ | |||
+ | ====== Aplicações ====== | ||
+ | |||
+ | |||
+ | Na computação paralela pode-se destacar, dentre várias, estas seguintes aplicações: | ||
+ | |||
+ | - Na **bioinformática** para o enovelamento de proteínas (algorítmo para visualização do arranjo tridimensional da proteína); | ||
+ | |||
+ | - Na velocidade de um algorítmo com **programação dinâmica** (resposta realizada com recursividade); | ||
+ | |||
+ | - **Método de Monte Carlo (MMC)**, método estatístico que se baseia em amostragem aleatória em larga escala para obter resultados numéricos. Ou seja, ele usa a aleatoriedade dos dados para gerar resultados determinísticos do problema. | ||
+ | |||
+ | |||
+ | ====== Impacto Social ====== | ||
+ | |||
+ | A programação paralela principalmente impacta na velocidade de processos que antes seriam inviáveis. Mesmo que dificulte a implementação de determinado programa, quase todas as linguagens de programação, | ||
+ | Sendo assim, com o advento dos processadores multi-core, algumas vantagens como: melhor poder de processamento, | ||
+ | |||
+ | ====== Desafios ====== | ||
+ | |||
+ | Ainda existem algumas desvantagens nesta área. Softwares paralelos são **mais difíceis de programar** do que programas seriais, porque a simultaneidade introduz bugs em potencial, como condições de corrida. A comunicação e sincronização entre diferentes subtarefas é frequentemente um dos principais obstáculos para alcançar alta eficiência em programas paralelos. Olhando de outro ângulo, também podemos ver que nem todas as linhas paralelas levam a um aumento na velocidade. Como a tarefa é dividida em vários encadeamentos, | ||
+ | |||
+ | ====== Referências ====== | ||
+ | |||
+ | 1. Gene M. Amdahl | IEEE Computer Society, disponível em: https:// | ||
+ | |||
+ | 2. Charles Antony Richard Hoare – Wikipédia, a enciclopédia livre, disponível em: https:// | ||
+ | |||
+ | 3. Concorrência e Paralelismo (Parte 1) | Entendendo Back-End para Iniciantes (Parte 3), disponível em: https:// | ||
+ | |||
+ | 4. Frances Allen - Wikipedia, disponível em: https:// | ||
+ | |||
+ | 5. Edsger W. Dijkstra - Wikipedia, disponível em: https:// | ||
+ | |||
+ | 6. Difference between Swapping and Context Switching, disponível em: https:// | ||
+ | |||
+ | 7. INE 5645 Programação Paralela e Distribuída, | ||
+ | |||
+ | 8. Computação paralela – Wikipédia, a enciclopédia livre, disponível em: https:// |