Páginas

quarta-feira, 31 de agosto de 2022

PARALELISMO - LEI DA AMDHAL

 


Desde que o computador foi criado, sempre houve a preocupação de aumentar o desempenho no processamento de dados, e com o tempo o aumento da largura dos barramentos (16, 32, 64 bits) concomitante ao aumento das frequências do processador mais introdução de novas tecnologias, permitiu um aumento substancial na rapidez em que os dados são processados. Nos anos 1960 Gene Amdhal através de pesquisa e anos de estudos, chegou a uma fórmula (Figura 1), onde conforme o percentual de paralelização de linhas de código de um software, mais o aumento do número de processadores, o desempenho (SPEEDUP) do processamento aumenta substancialmente. Este estudo de Gene Amdhal está sendo muito utilizado para paralelização de linhas de códigos dos sistemas desenvolvidos, pois posso diminuir o tempo de processamento sem ter que aumentar muito a frequencia do processador, pois com os materiais atualmente utilizados, o aumento de temperatura é muito grande, gerando um enorme consumo de energia.

Figura 1
Legenda:
S = SpeedUp
B = Percentual não paralelizável das linhas de código
P = Número de processadores

Para entender a Lei de Amdhal, a primeira regra é que o software que vai rodar no computador tem que ter linhas de código paralelizáveis para que possa ser utilizado o potencial do hardware com 2, 4, 8, 16 núcleos ou mais. Não adianta ter um processador com numero grande de núcleos se os sistemas desenvolvidos não são paralelizáveis.

Na Figura 2, Com base na fórmula de Amdhal, foi aplicado um número de processadore de 2 a 4096, com 50% do código paralelizado, observando-se que o aumento dos processadores faz com que o SpeedUp aproxime-se de 2 (dobro o desempenho do processamento)



Figura 2

Na Figura 3, Com base na fórmula de Amdhal, foi aplicado um número de processadore de 2 a 4096, com 95% do código paralelizado, observando-se que o aumento dos processadores faz com que o SpeedUp aproxime-se de 20 (20 Vezes o desempenho do processamento)


Figura 3

Chega-se a conclusão, que quanto mais paralelizarmos as linhas de código e mais aumentarmos o número de processadores, maior será o ganho no tempo de processamento.

UM POUCO DE HISTÓRIA
A programação concomitante começou a aparecer em 1962. A programação concorrente inicialmente apareceu como um conceito de desenvolvedores de sistemas operacionais (SO). No fim dos anos 60 desenvolvedores de hardware desenvolveram os primeiros computadores com múltiplos processadores e isso não foi apenas um desafio para os desenvolvedores de SO, mas também uma oportunidade a ser explorada por programadores (ANDREWS, 1999). Com o surgimento das primeiras redes de computadores no fim dos anos 70 e início dos anos 80 foi se tornando possível o desenvolvimento de programas distribuídos, que poderiam ter seu processamento dividido entre os computadores da rede.

Veja também:



Grato,
Jefferson D. Garcia