Reevaluating Amdahl's law
in the multicore era – Uma Síntese Textual
Sun e
Chen estudaram as arquiteturas de multicores baseando-se em métricas de
escalabilidade, assumindo que o tamanho do problema computacional tende a ser
resolvido mais rapidamente com o aumento do número de processadores. Eles criaram
dois modelos: o primeiro considerou o processamento seqüencial e o segundo foi voltado
para o estudo do acesso à dados. Ainda, os modelos avaliaram quais fatores
impedem a performance dos sistemas através das seguintes restrições: (i) tamanho
do problema, (ii) tempo de solução e (iii) memória fixos. O modelo que avaliou o tamanho do problema,
envolvendo práticas de programação seqüencial, segue a direção apresentada por Hill e Marty, cuja
solução adota o processamento simétrico com base na lei de Amdahl. Por conseguinte, eles constataram que ao
contrário dos resultados obtidos com o modelo de tamanho fixo, os modelos de tempo e a memória fixos, onde os problemas aumentavam de tamanho de acordo essas grandezas, escalaram melhor
que o primeiro. Com isso, eles demostraram que uma
arquitetura de multicores é escalável e
bastante promissora, contrariando a lei de Amdahl. De
acordo com os autores, a arquitetura
ainda não foi suficientemente explorada e as restrições assumidas pela lei de Amdahl não é
realística e ainda resultou em um grande pessimismo por conta das suas
consequências. Assim, os autores esperam no estudo contribuir para findar a
idéia de limitação escalar quando do uso de arquiteturas multicores provocada
pela lei de Amdahl.
A lei de Amdahl
possui duas equações principais que promovem algumas implicações, sejam: (i) Speedup
= 1 / [s+(1s)/P], o que significa, em termos práticos, que o Speedup pode ser obtido
se 1 / [parte serial + (possível parte paralelizada)/número de processadores,
onde 1 <= Speedup <= número de
processadores. E (ii) a Eficiência(P)
= Speedup(P) / P, onde P é o número de processadores e 0 < Eficiência ≤ 1. Outra implicação da lei é a
possibilidade de se perseguir o alto desempenho através de 3 alternativas: executar
a parte serial mais rápido, transformar partes do programa em trechos de
execução paralela e, por último, fazer isso na maior parte possível do código para
se obter os benefícios da arquitetura de multicores. Entretanto, em
face da análise realizada no estudo de Sun e Chen, é possível presumir que a
lei de Amdahl sugere a dominação assintótica da parte
serial sobre a parte paralelizável de um programa computacional, o que poderia
suscitar em um descrédito na busca por desempenho das aplicações. Foi possível encontrar em estudos posteriores a lei, que o acesso a dados
promovido por bibliotecas específicas de programação paralela promover-se-iam um
aumento significativo de performance nas aplicações de acesso a dados. Essa
nova visão nos remete ao pensamento que ao aprimorar tais técnicas para acessar
os recursos de memória, a parte serial também poderia ser performática, abrindo
assim várias possibilidades de investigação sobre arquiteturas multicores,
incluindo aplicabilidade da lei de Amdahl na solução de problemas computacionais
que usam o modelo de programação serial.