![]() |
| Professor Frank Mueller, da Universidade Estadual da Carolina do Norte, USA |
Por: Wellington Santos Martins
Veja seu Curriculum Vitae aqui.
A indústria de jogos tem tido um crescimento sem precedentes nos últimos anos. Isto é devido, em grande parte, aos avanços tecnológicos que têm possibilitado um barateamento substancial dos componentes envolvidos na montagem de estações de jogos, e computadores projetados sob encomenda para tal finalidade. A venda em massa desses equipamentos tem retro-alimentado o setor, permitindo com que importantes inovações arquiteturais sejam incorporadas em projetos recentes.
Uma necessidade primordial de tais máquinas é uma grande capacidade de processamento gráfico, possibilitando, assim, a geração de imagens realísticas e em tempo real. Esta capacidade demanda processadores de alto poder computacional, que antes só eram encontrados em máquinas de grande porte, inacessíveis para o usuário final. A situação atual é que uma estação de jogos, ou um PC usado para jogos, apresenta um desempenho comparável a supercomputadores topo de linha de alguns anos atrás. O componente central dessas máquinas, a Unidade de Processamento Gráfico (GPU), tem se valido da crescente capacidade de miniaturização dos circuitos eletrônicos e tem agregado um número cada vez maior de elementos de processamento (núcleos). O resultado são máquinas, que embora usadas principalmente para jogos, podem ser adaptadas e transformadas em servidores com desempenho e preço competitivos.
Alguns exemplos atuais de máquinas de estações/PC de jogos, com alto poder computacional, incluem o PlayStation 3 (PS3) e as placas gráficas da NVIDIA (série 8 em diante). O PS3 tem como principal componente o processador Cell, uma sofisticada GPU produzida por um consórcio da Sony, IBM e Toshiba. Este processador, que segue a linha multicore, é composto por um núcleo principal e 8 secundários, permitindo a distribuição do processamento evitando assim a sobrecarga do sistema. Já as placas da NVIDIA, seguem a linha manycore onde dezenas de núcleos mais simples são programados para tirar proveito do paralelismo da aplicação. Estes processadores gráficos (GPUs) conseguem, hoje, um desempenho médio muito superior aos processadores convencionais (CPUs), produzindo resultados dezenas, e as vezes centenas, de vezes mais rápidos. Ganhos adicionais de desempenho são geralmente obtidos através da ligação dessas máquinas em aglomerados com dispositivos de rede (switch) de alta velocidade, formando os chamados clusters, usando redes locais, ou mesmo Grids, fazendo uso de redes geograficamente distribuídas.
Apesar da crescente disponibilidade de plataformas de jogos, tais máquinas apresentam um grande desafio para sua programação. Um impedimento para se fazer um bom uso do potencial dessas máquinas, em outras áreas que não jogos, é a dificuldade de se programá-las. Em geral, o programador é forçado a traduzir seu algoritmo para uma linguagem gráfica, desenvolvida tendo em mente somente a geração de imagens a partir de modelos matemáticos. Esta situação, no entanto, tem mudado recentemente com o desenvolvimento de processadores gráficos de uso geral (GP-GPU), e ambientes de desenvolvimento de programas mais adequados para a solução de problemas não envolvendo necessariamente processamento gráfico. Quando ligados em rede, formando clusters ou grids, o desafio de programação torna-se ainda maior, visto que operações de comunicação e sincronização devem ser cuidadosamente planejadas. Surgem, também, necessidades especiais de autenticação, segurança na transmissão dos dados e necessidade de tolerância a falhas.
Mesmo com os desafios de programação, a possibilidade de uma aumento considerável no desempenho, a um baixo custo, tem atraído a atenção de vários pesquisadores de diferente áreas. Entre as iniciativas mais divulgadas na comunidade está a do professor Frank Mueller1, do departamento de Ciência da Computação, da Universidade Estadual da Carolina do Norte, nos Estados Unidos. Seu grupo de pesquisa montou o primeiro cluster utilizando estações de jogos PS3. Sua configuração incluiu 8 PS3s, totalizando 64 processadores, todos interligados através de uma rede de alta velocidade, e utilizando uma variante do sistema operacional Linux. O cluster custou 5000 dólares e vem sendo usado em projetos educacionais e científicos. Seguindo a mesma idéia, a pesquisadora Mônica Pickholz2, física da Universidade Estadual de Campinas, coordenou um projeto que construiu um cluster com 12 estações de jogos PS3. O cluster possui um número total de 72 processadores e teve um custo de R$ 30.000,00. Sua utilização tem sido em cálculos de bioinformática, mais precisamente no estudo da interação de anestésicos locais com membranas biológicas.
![]() |
| Professora Mônica Pickholz, da Universidade Estadual de Campinas, Brasil |
Projetos envolvendo o uso de múltiplas placas gráficas numa mesma máquina, ou mesmo aglomerados de máquinas com placas gráficas e estações de jogos, também têm sido desenvolvidos. O grupo de pesquisa ASTRA3, do laboratório de visão da Universidade de Antwerp, na Bélgica, montou um “supercomputador de mesa” utilizando quatro placas gráficas da NVIDIA (9800GX2), cada uma com duas GPUs, totalizando 1024 processadores. O projeto teve um custo de 4.000 euros e vem sendo utilizado com sucesso no desenvolvimento de técnicas de reconstrução de imagens de tomografia; operações de reconstrução que demoravam semanas são processadas em algumas poucas horas. Uma outra iniciativa que tem chamado atenção é a utilização conjunta de computadores com placas gráficas, ou estações de jogos, no âmbito da Internet, formando um sistema de grade computacional (grid). O projeto, chamado GPUGRID.net4 tem como princípio “jogos servindo a ciência”. A idéia é permitir com que máquinas ociosas, conectadas na internet, sejam, voluntariamente, colocadas à disposição para auxiliar na simulação de biomoléculas.
![]() |
![]() |
| Projeto Belga de um supercomputador utilizando quatro placas gráficas. | Projeto Espanhol de uma grade computacional de GPUs |
1 http://localtechwire.com/business/local_tech_wire/news/story/1228833/
2 http://g1.globo.com/Noticias/Tecnologia/0,,MUL146410-6174,00.html
3 http://fastra.ua.ac.be/en/index.html
4 http://www.ps3grid.net/



