March 15, 2008

O mundo em 64 bits

A maior vantagem dos processadores de 64 bits em relação aos seu primos de 32 bits é o suporte para grande quantidade de memória. Na teoria, um processador de 64 bits pode alocar exabytes (bilhões de bilhões de bytes) de memória RAM, enquanto os chips com 32 bits podem alocar no máximo 8 GB de RAM (usando componentes de hardware especiais - nunca vi ninguém com sistema 32 bits com mais de 2 GB de RAM). Além disso, as aplicações de 64 bits podem realizar operações de ponto flutuante (operações matemáticas envolvendo números reais) mais rápido que as aplicações específicas para 32 bits. Também necessária para renderização 3D e animações, as operações em ponto flutuante são tão importantes para a análises científicas que os FLOPS (floating-point operations per second) são usados para medir a performance de supercomputadores. A habilidade dos chips de 64 bits em processar operações de ponto flutuante mais rápida e com maior precisão (quase o dobro de casas decimais) que seus parentes de 32 bits os torna poderosas ferramentas para simulação e visualização de dados.

Hoje, a maioria dos computadores desktop não possuem nem 4GB de memória instalada e, além disso, a maioria dos programas usuais de escritório e para casa não requer tanta memória assim. Conforme os programas forem ficando mais complexos e os jogos com maior detalhamento 3D, pode ser que isto se torne uma limitação. Mas na minha opinião, o usuário doméstico vai poder usar o seu PC 32 bits durante um bom tempo sem maiores preocupações.

De fato, os maiores benefícios que os computadores de 64 bits fornecem vão passar despercebidos se o sistema operacional, seus drivers e programas não forem adaptados a essa arquitetura. Ao migrar de um sistema 32 para 64 bits, o usuário não irá notar diferença de velocidade nos seus programas de internet ou processador de texto. Os benefícios serão vistos ao usar aplicações que demandam mais poder do processador, como codificação de vídeos, pesquisa científica (simulações CFD, por exemplo) e pesquisa em banco de dados (massive data mining).

Minha experiência em 64 bits
Recentemente, meu orientador comprou máquinas novas para o Laboratório e eu fiquei com um presentão (devo ter sido um bom menino e trabalhado na minha tese direitinho ou ele está querendo é que eu trabalhe mais ainda!!). Um Core 2 Quad 6600 2.4GHz, com 8 GB de RAM. Para quem não sabe, ele possui um núcleo quadri-processado (4 processadores independentes). Sem dúvida pensei logo em instalar um sistema 64 bits para poder usar toda a memória RAM instalada no micro. Como trabalho com o OpenFOAM e o pessoal que desenvolve o dito usa o Linux OpenSUSE, resolvi instalá-lo no micro. No início foi um pouco estranho (estava acostumado com o Ubuntu e o Fedora), mas agora está tudo indo muito bem. Hoje sou um feliz usuário de um Linux SUSE 64 bits.

Não tive nenhum problema com compatibilidade de hardware com o sistema operacional 64 bits ou seus dirvers. Tudo foi reconhecido perfeitamente (como qualquer distribuição Linux que se preze faria). Além disso, existe uma infinidade de programas já prontinhos para a arquitetura 64 bits disponíveis para download nos repositórios do OpenSUSE (todos gratuitos, diga-se de passagem). Contudo, além de ser um processo bem mais demorado que no Ubuntu (leva mais ou menos 1 minuto para carregar o gerenciador de programas - Yast2), existem alguns programas que eu usava em Linux 32 bits que ainda não foram compilados para 64 bits (ou não estão no repositório do SUSE). Mas isso não foi problema algum, pois baixei o código-fonte deles e estão funcionando perfeitamente. Porém existem programas que eu definitivamente não consegui fazer funcionar no SUSE 64 bits, por exemplo o Google Earth.

Mas o que me chamou a atenção foi outro detalhe. Um dia eu estava usando o computador normalmente (internet, editor de texto simples e o Kile - editor para Latex) e percebi que o computador tinha alocado quase 1 GB de memória RAM para estes programas. Putz!! Como assim? Quando eu usava um sistema 32 bits, normalmente era alocado no máximo uns 500 Mb de RAM ao usar estes mesmos programas. Bem, esse é um fato. O sistema 64 bits aloca os dados na memória com maior precisão, então deve precisar de mais espaço para alocar tudo! Por isso ele estava alocando mais memória do que o sistema 32 bits. Hum... O sistema te fornece mais recursos, mas também exige mais memória. Troca justa, o preço da memória RAM baixou muito!

Vamos ao que interessa... Simulações CFD! O que mais impressiona é a quantidade de memória que pode ser alocada. Em outras palavras, isso significa usar uma malha maior. De fato, antes era impossível construir malhas com um número de na casa do milhão em computadores 32 bits pela limitação da memória. Com mais memória, a malha pode ser mais refinada, produzindo resultados com maior detalhamento. Além disso, tendo o driver de vídeo bem configurado, a visualização dos resultados está ótima. O paralelismo nada tem a ver com o sistema ser 64 ou 32 bits, mas vou dizer uma coisa: é ótimo!

Instalei o ANSYS CFX 11 e o OpenFOAM sem problemas. Realmente, o SUSE é mais propício para a compilação do código fonte do OpenFOAM. Seguindo os passos do Wiki do OpenFOAM, não tive muitos problemas (algumas coisinhas relacionadas com o ParaFoam) em compilar o dito. O único problema mesmo é com o workbench do CFX. Não tem jeito de fazer esse treco funcionar no Linux (algum milagre, talvez?). A versão de Linux recomendada para usar o workbench já está tão ultrapassada que talvez seja aquela que eu preciso reconfigurar tudo para trocar o monitor. Isso eu não vou usar. É impraticável!

Por fim, essas são as minhas impressões sobre 64 bits e o sistema Linux que eu instalei. O Mitre também já comentou sobre as impressões sobre o mundo em 64 bits. Veja aqui o relato dele.

2 comments:

  1. Caí aqui de forma aleatória pelo Google, e acabei por encontrar companheiros de faculdade que trabalham com modelagem matemática... só que no meu caso, aplicada a química.

    Bem esclarecedor o seu post... E seu blog parece bem interessante também! (olho o resto dele nesse exato momento).

    Parabéns! =D

    ReplyDelete
  2. Suse Linux já foi a melhor distro entre todas. E era a que eu usava. Migrei para o Ubuntu porque a partir da v. 11.0 atualizar pacotes do OpenSUSE passou a ser um verdadeiro tormento!

    ReplyDelete