Meio Bit » Baú » Hardware » Dual Core vs. SMP

Dual Core vs. SMP

19/06/2006 às 23:52

O site Xbitlabs decidiu aferir quão rápidas podem ser as trocas de dados entre os diferentes núcleos (cores) dos processadores dual oferecidos para máquinas high-end de Intel e AMD. Os resultados, meus amigos, são decepcionantes. Todos os modelos, sem excessão, não conseguem fazer transferências de dados diretamente de um núcleo para outro e acabam usando a memória RAM para as transferências. Como a memória RAM é sempre muito mais lenta que as memórias cache (internas) dos processadores as trocas de dados acabam lentas, resultando em ciclos perdidos, onde o processador apenas aguarda por dados a serem processados.

O resultado prático é que não há diferença alguma entre usar um sistema com um processador de dois núcleos ou usar dois processadores com apenas um núcleo em cada, ao menos para aplicações normais de uso diário. Nem mesmo os jogos mais poderosos conseguem tirar algum proveito de um sistema dual core. A grande decepção reside no fato de que tanto AMD quanto Intel criaram grandes expectativas sobre suas soluções dual core que acabam não mostrando nenhuma grande vantagem prática em relação às soluções SMP já existentes anteriormente.A AMD afirma que seus processadores dual core seriam mais rápidos que sistemas usando dois processadores de núcleo simples devido à um dispositivo interno do chip chamado Crossbar. O Crossbar é uma espécie de ponte que liga os caches L2 dos dois núcleos dos Atlhon X2. Através do Crossbar um núcleo poderia ter acesso de leitura ao cache L2 de seu núcleo irmão. Os testes entretanto mostram que para acessar dados do cache L2 do outro núcleo o core que processa a tarefa precisa esperar que os blocos sejam escritos na memória RAM da máquina, para só então requisitar sua leitura. Mesmo usando o HyperTransport o acesso à memória RAM ainda é diversas vezes mais lento que a leitura em cache. O resultado é que um Atlhon dual core demora tanto quando um SMP Opteron para receber dados para processar, significando que não importa se sua máquina tem um dual ou dois single, as coisas acontecem mais ou menos na mesma velocidade.

A Intel usa um sistema mais simples, há apenas um cache L2 para ambos os cores dos processadores Yonah e Conroe que é compartilhado pelos dois núcleos. O esperado seria que o tempo para os núcleos conseguirem os dados para processar fosse bem menor, certo? Errado. Mesmo usando um único cache L2 cada núcleo ainda precisa esperar que os dados que foram modificados pelo seu irmão trafeguem através do BUS do sistema até a memória RAM e voltem. Graças à isto mesmo o Conroe, o mais moderno projeto de dual core do mercado, espera quase tanto para receber dados quanto um Pentium 4 Prescott HT que emula dois núcleos virtuais em seu funcionamento.

Esse desempenho decepcionante dos processadores dual-core em relação à troca de dados entre os núcleos mostra que esse tipo de solução ainda está restrito ao mesmo nicho de mercado que os sistemas com diversos processadores. Porque apresenta as mesmas virtudes e fraquezas daqueles sistemas, sem agregar nada de novo, a não ser alguma redução de preço de hardware (o processador em si ou a placa mãe). Assim como as máquinas SMP os dual-core irão apresentar bom desempenho como servidores, que precisam rodar centenas ou milhares de threads (tarefas) ao mesmo tempo mas para uma aplicação mais "convencional" como jogar um bom jogo com gráficos avançados a presença de um núcleo adicional de processamento pode ajudar pouco.

Para obter benefícios reais de performance com processadores dual-core os aplicativos precisariam ser escritos exclusivamente para esse tipo de processador, e isso sinifica que estes não rodariam em processadores com apenas um núcleo. Como os processadores de núcleo simples ainda são maioria absoluta no marcado é pouco provável que aplicações sejam específicamente adaptadas para rodar em processadores dual e dispensar o restante do mercado. Apenas aplicações científicas específicas e servidores têm sido adaptadas para tirar o máximo proveito dessa tecnologia. Entretanto os processadores de vários núcleos podem mostrar seu valor em ambientes que fazem uso de multi-tarefa intensiva, como edição de vídeo e multimídia.

Para concluir pouca diferença faz usar um processador dual-core ou dois processadores single em SMP. O desemepenho em aplicações de multi-tarefa intensiva será proporcional ao poder dos núcleos. Para o uso cotidiano do computador as possíveis vantagens devem ser medidas em relação ao preço final do equipamento. Talvez ainda seja melhor para o usuário doméstico optar por processadores single core.

relacionados


Comentários