Follow falcon_dark on Twitter
Google

sábado, setembro 10, 2005

Teste de Plataformas

O site de notícias e análise de hardware AnandTech publicou em Junho um artigo que visava comparar a performance de hardware dos PowerMac com máquinas x86. O objetivo inicial, segundo o autor do artigo, não era contrapor os sistemas operacionais, mas sim avaliar as reais diferenças entre o hardware da Apple e do mundo IBM/PC para verificar se vale a pena investir tanto em máquinas com o logo da maçã. Porém como eles usariam o MacOS nos Apple e o GNU/Linux nos x86 uma inevitável análise entre esses sistemas acabaria sendo um efeito colateral do comparativo de hardware. O que foi levado em conta foi a performance das máquinas enquanto servidor, já que não existem muitos jogos para essas plataformas e os processadores usados nas máquinas (e a montagem de duas unidades no gabinete) não são produtos voltados para o mercado doméstico.

O comparativo levou ao ringue máquinas Dual PowerPC G5, Dual Xeon 3.6GHz e Dual Opteron 250 (2.4GHz) e os resultados são bastante curiosos:
a) O Dual Opteron mostrou-se a melhor máquina do teste, sendo incontestável sua vantagem sobre o Dual Xeon, mesmo tendo 1.2GHz de clock a menos e metade do cache L2.
b) Os resultados das máquinas Apple variaram muito, em certos testes ficavam muito próxmos dos Opteron, mas em testes como o do MySQL um Dual G5 com MacOSX server chegou a ser 8 vezes mais LENTO que um Dual Opteron com GNU/Linux.

O estranho comportamento dos PowerPCs nesse teste gerou dúvidas sobre o que estava acontecendo de errado. A plataforma usada hoje pela Apple (PowerPC) é conhecida por ter um bom desempenho principalmente em processamento maciço de dados. O que estaria acontecendo? Seria o Dual G5 realmente até 8 vezes mais lento que um Dual Opteron?

Como o primeiro teste gerou mais dúvidas que certezas e acabou mostrando que se você quer montar um servidor de dados deve fugir do Apple Xserver o pessoal do AnandTech decidiu realizar agora um novo teste, desta vez comparando as performances de GNU/Linux e MacOSX server no mesmo hardware. Eles usaram como referência os testes dos x86 com GNU/Linux.

O resultado dessa segunda bateria de testes é uma surpresa, ao menos para mim. Usando o GCC 4 (no primeiro teste foi usado o GCC 3.3) o desempenho geral do PowerPC subiu em relação ao x86. Isso significa que a equipe do GCC 4 melhorou o suporte à PowerPC (e suas instruções Altivec) em relação aos compiladores anteriores (de fato em alguns testes o aumento de desempenho chegou a 70%) provando que o primeiro teste realizado não havia sido justo com a plataforma, não permitindo que ela entregasse tudo que poderia.

Mas o grande ponto do teste para a comunidade de software livre vem agora: um DualG5 com MacOSX é 8 vezes (!) mais lento* que o mesmo DualG5 com GNU/Linux (kernel 2.6) e 14 vezes (!) mais lento* que um Dual Opteron com GNU/Linux quando servindo bases de dados MySQL!!!

*OBS: mais lento é sentido figurativo. Com 50 requisições concorrentes e considerando o Opteron/Linux como patamar de desempenho a performance dos G5 pode ser escalonada como: MacOSx(2G5): 7% da performance e GNU/Linux(2G5): 61%

A diferença de desempenho entre Opteron e G5 é muito grande, mesmo em GNU/Linux. Mas em MacOS server ela é grande demais! A diferença de desempenho enquanto servidor entre GNU/Linux e MacOS é assustadora. De fato o MacOS mostra-se um servidor muito, muito ruim, estando até muito atrás do próprio Windows.

Considerando tudo o que já foi falado à respeito do Opteron e pelos testes que já foram feitos ele é, provavelmente, a melhor plataforma para servidores multiprocessados do mercado hoje. E analisando o panorama dos sistemas operacionais, parece-me que a dupla Opteron/Linux é o que existe de mais poderoso hoje no mercado para esse tipo de solução.

Na trinca Windows x MacOSX x GNU/Linux ao menos no mercado de servidores o GNU/Linux ainda reina absoluto como sendo o melhor e mais robusto sistema operacional disponível, o que me faz pensar se o desktop não é apenas uma questão de tempo e paciência. De qualquer modo, com todo esse frenesi ao redor da Apple e que processadores eles usarão até 2008 eu me sinto à vontade para fazer a mesma pergunta novamente: Quem tem medo do MacOS?

Follow falcon_dark on Twitter
Google
Comments:
Cara, e como será o desempenho em um FreeBSD? Se a base do OS X é um BSD, será que perde a performance igual ao OS X?
 
Opa. Segundo o pessoal do AnandTech os testes que eles fizeram indicam que a performance de threading do MacOSX é muito pobre, muito mais pobre que a do Linux (2.6).

Isso ocorreria porque o Linux usa kernel threads para abrir várias instâncias do mesmo programa, enquanto que o BSD e o MacOS usam user-level threads que são mais lentas. Isso explicaria a diferença entre Linux e MacOS, mas e o FreeBSD?

O teste na verdade não compara ou analisa o FreeBSD, mas o autor do artigo comenta que no FreeBSD 5.x os problemas de performance de user-level threads foram corrigidos e que talvez a Apple não tenha incluído essas correções em seu kernel. Essa seria uma explicação: o kernel do MacOSX foi trazido do FreeBSD mas não é o mesmo kernel do FreeBSD.

Mesmo sem testar o FreeBSD nas condições do teste o autor parece muito confiante de que o desempenho deste seria mais parecido com o do Linux que com o do MacOSX
 
Caso raro esse, em que uma grande empresa pega um bom kernel, como FreeBSD e faz bobagem com ele ao invés de fazer melhorias.

Eu já tinha lido o primeiro review, fiquei contente com a realização do segundo, por também considerar o resultado meio estranho.

Parabéns pelo excelente artigo, e continue com o maravilhoso trabalho.
 
Muito obrigado pelos elogios.

Eu colocaria as coisas da seguinte maneira: O kernel Mach tem um desempenho não muito bom. O time do FreeBSD conseguiu evoluí-lo para que ele conseguisse brigar frente à frente com kernels monolíticos. A Apple não conseguiu isso.

A meu ver isso novamente atesta a capacidade do modelo de produção de software livre de conseguir atingir resultados melhores, e mais baratos, ainda que de forma um pouco mais lenta. O que significa que temos pouco a melhorar para nos tornarmos o sistema de produção de software lider de mercado.
 
Entao galera,

Vejo que esse assunto de Mac OS X esta dando o que falar, principalmente quando se trata de rodar sobre a plataforma x86...

Pensando nesse assunto resolvi criar uma comu para ajudar a resolver alguns problemas antes, durante e depois da instalacao do sistema...

segue o link:
http://www.orkut.com/Community.aspx?cmm=23987999

Valeu pessoal!
 
Postar um comentário

Links to this post:

Criar um link



<< Home

This page is powered by Blogger. Isn't yours?