Folding@HOME e PS3 (ou “Os vídeo-games e a inovação na computação - parte 3″)

Andei meio distante deste blog nos últimos três meses por diversos motivos mas voltando a escrever, queria falar de um mesmo assunto sobre o qual eu estava falando da última vez que eu escrevi aqui: Os vídeo-games e a inovação na computação. Para quem tiver interesse em ler os dois primeiros artigos sobre este assunto eles estão aqui e aqui.

Desta vez queria falar sobre como todo o poder de processamento dos novos vídeo-games podem ser usados para… não rodar jogos! Mas, se não formos rodar jogos em vídeo-games, o que faremos com eles?

Bom, como disse no primeiro artigo sobre este assunto, pelo menos dois dos vídeo-games desta nova geração, o PlayStation 3 e o XBox 360, na minha opinião, tem como objetivos se tornarem as centrais de entertenimento da casa, gerenciando conteúdo e conectando todos os dispositivos multimídia de uma casa. Mas além disso, pelo menos o PlayStation 3, já nasceu como um computador completo. Desde que foi lançado era possível conectar um teclado e um mouse a ele, rodar Linux e, com isso, usá-lo como um desktop. Vá lá que não é um desktop lá grandes coisas porque a pouco memória (só 256 MB) e o mal uso do processador Cell pela maior parte dos aplicativos do sistema operacional, que utilizam apenas um dos nove núcleos dele, tornam a experiência não muito boa.

No entanto, se bem usados todos os núcleos do processador Cell eles podem entregar até 200 GFlops, o que é muito se comparado com os cerca de 15 GFlops de um Athlon 64, por exemplo. No caso do processador Cell, as aplicações que tiram maior proveito deste poder de processamento são aquelas que possuem grande parte do seu trabalho concentrado em processamento matemático pesado e intenso.

E daí? E daí que se as aplicações forem bem escritas, podem usufruir de todo este poder de processamento e se tornarem muito poderosas. Um bom exemplo disso são as aplicações do BOINC. Para quem não conhece o BOINC, ele é um projeto criado pela Berkeley University. BOINC significa “Berkeley Open Infrastrucutre for Network Computing”. Ou seja, é basicamente um projeto que cria aplicações clientes para diversas plataformas que utilizam o tempo de processamento ocioso em computadores distribuídos em rede (na Internet, por exemplo) para processar coisas que um computador sozinho levaria milhares de anos para processar, mesmo que ele fosse bem poderoso. A rede criada pelo BOINC já possui diversas aplicações e uma das mais antigas e populares é o Folding@Home. O Folding@HOME utiliza a infra-estrutura do BOINC para fazer cálculos poderosos sobre como átomos e moléculas se juntam para formar proteínas. A formação de proteínas é um processo complexo e a forma espacial das moléculas de proteínas é importantíssima na função que elas exercem nos organismos vivos. O Folding@Home realiza cálculos para tentar entender como se dá o processo de empacotamento e desempacotamento das moléculas de proteínas e qual é a influência destes processos no desenvolvimento de doenças. Para quem quiser saber mais sobre o BOINC e o Folding@Home, pode ver aqui e aqui.

As aplicações do BOINC são um exemplo prático de aplicações que necessitam de grande poder de processamento. E, pensando nisso, o pessoal do Folding@Home ficou de olho grande no poder de processamento do processador Cell presente no PlayStation 3 e desenvolveu um cliente específico para esta plataforma para utilizar o poder de processamento ocioso dos vídeo-games! Ou seja, se você não estiver jogando, vai poder ajudar pesquisas importantes para o avanço da humanidade. Para se ter uma idéia da “ajudinha” que os PlayStation 3 estão dando para o Folding@Home, eles representam cerca de 10% dos processadores sendo utilizados de forma distribuída por esta aplicação, mas, por outro lado, entregam mais da metade do poder de processamento atual! Para maiores informações sobre isso, basta clicar aqui. Uma ajuda e tanto vindo de vídeo-games! Quem poderia imaginar algo assim há algum tempo atrás?

O ponto importante disso tudo é que o nível de convergência que estamos vivendo atualmente das várias tecnologias e mídias de distribuição de conteúdo estão fazendo com que coisas antes centradas apenas em entertenimento, como vídeo-games, já estão sendo pensadas hoje também como componentes centrais de sistemas distribuídos em todo o mundo. E, como vimos, não estou falando de jogos online.

Wii (ou “Os vídeo-games e a inovação na computação - parte 2″)

Continuando a falar um pouco sobre vídeo-games e o impacto que eles causam na evolução da computação (meu primeiro post sobre este assunto você encontra aqui) eu vou falar um pouco do Wii, o vídeo-game de sétima geração da Nintendo.

Wii

Olhando por fora, o Wii parece bonito. Mas todos os vídeo-games de sétima geração investiram bastante na sua imagem externa. O melhor mesmo está naquilo que os olhos não vêem (pelo menos em um primeiro momento).

Por um lado tem os processadores do Wii. O processador central é um IBM Broadway, um processador basedo em PowerPC. Como eu disse no primeiro artigo desta série, não é à toa que todos os vídeo-games de sétima geração possuem processadores IBM: eles tiram proveito da robustez das tecnologias desenvolvidas nos últimos anos pela IBM para a família de processadores Power para o mercado de processadores de servidores, que exigem uma alta carga de trabalho. Além disso o Wii vem com um processador gráfico da ATI, o ATI Holywood. Isso por si só coloca este vídeo-game com capacidade de processamento para torná-lo um representante da nova geração de vídeo-games.

É claro que, apesar do aumento do poder de processamento em relaçao ao GameCube, o vídeo-game de sexta geração da Nintendo, este, digamos assim, não é o grande diferencial deste console. Em relação aos outros consoles de sétima geração, o XBox 360 da Microsoft e o PlayStation3 da Sony, o Wii nem é assim tão poderoso em relação à sua capacidade de processamento. Apesar de existirem muito poucas informações oficiais a respeito do IBM Broadway, certamente ele possui uma arquitetura bem mais simples que a dos processadores multi-core presentes no XBox 360 e no PlayStation 3.

O Wii também tem todas aquelas coisas que os vídeo-games de sétima geração trazem: suporte a Wi-fi, Bluetooth, USB, adaptadores para redes locais, leitura de mídias óticas, etc. Além disso, ele também é compatível com os jogos do GameCube e consegue se conectar por rede sem fio com o Nintendo DS, o atual console de mão da Nintendo. Mas tudo isso, apesar de muito legal, também não é o que faz do Wii único.

O grande diferencial do Wii, para mim, é a forma pela qual os usuários interagem com os jogos e outros eventuais programas rodando no console. O nome inicial do projeto do Wii era “Revolution e, apesar da mudança do nome no laçamento do console, a forma de interação com o Wii é realmente revolucionária.

A Nintendo desenvolveu um controle sem fio, o Wii Remote. Até ai nada demais. Só que este controle é dotado da capacidade de perceber a sua posição, a direção em que ele é apontado e a velocidade em que se movimento no espaço, ou seja, ele possui um acelerômetro dentro dele. Desta forma, o Wii permite que o usuário interaja com os programas na tela através do movimento e da direção do controle.

Isto torna possível, por exemplo, que uma pessoa jogando um jogo de tênis para o Wii não fique apenas apertando os botões para que o seu “hominho” no jogo vá de um lado para o outro da tela e aperte um outro botão para “acionar” a raquete do “hominho”. Agora é possível realmente jogar tênis, se posicionando na frente da tela e, com o Wii remote, fazendo o seu “hominho” ir para um lado ou outro da quadra quando você se movimenta com o controle na frente da tela e fazendo com que o “hominho” rebata a bola quando você fizer o movimento certo com sua raquete virtual, representada pelo Wii remote, na frente da tela. Imaginem quantas novas possibilidade não podem se abrir a partir desta forma revolucionária de interação com os computadores?

Além disso, o Wii remote é expansível, o que permite a conexão de outros controles ao controle principal. Por exemplo, existe uma extensão, chamada de Nunchuk, que é parecida com um manche de avião e possui os velhos botões direcionais dos controles de arcade. Ele também possui um acelerômetro e você pode usar um Nunchuk em uma mão e um Wii Remote em outra durante um jogo! Além disso você pode conectar controles de alguns vídeo-games anteriores ao Wii Remote e jogar seus jogos do GameCube com o mesmo controle, ou, em outras palavras, com a mesma interface que você estava acostumado.

Toda esta realidade adicional, obviamente, empolga os jogadores. Não é à toa que a Nintendo está fazendo recall dos Wii Remote para subsitutir a presilha que vem com o controle para segurá-la junto ao punho do jogador: a presilha não foi feita forte o suficiente para suportar a força que está sendo imprimida por alguns jogadores no controle e os Wii Remote estão literalmente voando das mãos em alguns casos!

Esta nova forma de interação está fazendo com que o Wii, anunciado no final do ano passado, perto do lançamento do PlayStation 3, da Sony, esteja sendo mais popular e mais vendido que seu rival em muitos lugares, mesmo sendo o PlayStation 3 o vídeo-game mais aguardado dos últimos anos.

Esta nova forma de interação também pode abrir novos caminhos para a computação e para a forma como interagimos com as máquinas hoje em dia. Pode inspirar muitos sistemas no futuro. Sejam eles jogos ou não.

Os vídeo-games e a inovação na computação

Sempre gostei de vídeo-games. Alias, lá no começo de tudo, a maior parte do tempo que eu passava na frente do MSX lá de casa era pra jogar. E continuou assim com meu primeiro PC (um 386 DX 40 MHz!). Entre o MSX e o 386 eu também tive um Phantom System. Fantástico também (para a época)!

Mas, de uns tempos para cá, por causa do meu trabalho, acabei tendo que entrar em contato com esta área dos vídeo-games sob um outro ponto de vista que se tornou, para mim, tão fascinante como aquele que eu tinha quando eu era apenas um “viciado” por jogos eletrônicos.

Este outro ponto de vista me levou a perceber coisas que, até então, apesar de parecerem naturais, não pareciam ter ligações entre si. Por exemplo, todo mundo sabe que a computação eletrônica vem evoluindo de maneira frenética nos últimos 20 anos ou mais, para não dizer desde que foi inventada. Também é meio que consenso geral que a evolução da computação, dentre outras coisas, é dirigida por necessidade de maior poder de processamento, afinal não faria sentido se aumentar o poder de processamento se não existem problemas que requeiram tal poder ou se não somos capazes de criar problemas para requererem este poder de processamento (não dizem que a computação veio para resolver os problemas que ela mesmo criou?). E ai chegamos no ponto que eu queria chegar: dentre as aplicações usadas por um usuário doméstico, quais são aquelas que, em geral, precisam de maior poder de processamento?… Jogos! Seja porque tentam renderizar gráficos com cada vez mais detalhes, seja porque tentam implementar inteligências artificiais cada vez mais complexas ou seja porque tentam criar novas formas de iteratividade com o usuário, jogos requerem um grande poder de processamento.

O poder de processamento de consoles de vídeo-games sempre foi relativamente grande se comparado com o poder de processamento de PCs. É claro que esta não é um comparação totalmente justa porque os consoles de vídeo-games não podem ser estritamente descritos como computadores de propósito geral e, por causa disso, é claro que eles sempre ganham em performance na execução de jogos quando comparados com os PCs. Mas é certo também que depois do meio da década de 1990 os PCs melhoraram bastante sua performance na execução de jogos. E, mais do que isso, parece que estamos vendo nascer uma nova indústria de consoles de vídeo-games onde o console começa a se misturar com o PC e vice-versa.

A entrada da Sony no mercado de consoles vídeo-games no meio da década de 1990 e, depois, da Microsoft no início dos anos 2000 mudaram definitivamente o rumo do mercado de consoles de vídeo-games no mundo. As duas desbancaram os fabricantes tradicionais de consoles, dos quais só sobrevive ainda hoje a Nintendo. Além disso, a entrada de ambos neste mercado marcou o início da era dos consoles que não apenas rodam os jogos mas também são capazes de muitas outras coisas.

Dos consoles atuais (de sétima geração), pelo menos dois deles apostam no aumento do poder de processamento como meio de se emplacarem no mercado. O XBox 360 da Microsoft e o PlayStation3 da Sony possuem processadores multi-core agressivos. Eles atacam nas frentes que já citei anteriormente: gráficos cada vez mais perfeitos e jogos cada vez mais inteligentes. Além disso, toda esta capacidade de processamento está tornando possível a criação de ambientes mais reais, já que o poder de processamento extra torna possível um processamento mais fino da física do jogo. Os raios de sol nestes consoles refletem nos vidros, a gravidade existe de forma mais parecida com aquilo que vivenciamos no nosso dia-a-dia e a água ondula de verdade quando jogamos uma pedra num lago.

É claro que tudo isso é muito legal, mas estes consoles vão ainda mais longe. Na minha opinião, eles querem se tornar as verdadeiras centrais de entreternimento das casas. Com tanto poder de processamento, estes consoles são capazes de tocar música e vídeos, servir como ponto de interconexão de dispositivos em rede na casa, navegar na Internet, permitir a conexão de TVs digitais e muito mais. Ah, sim, antes que eu me esqueça, eles são capazes de rodar jogos também!

Estes consoles tentam também emplacar novas tecnologias de mídia como o Blue-Ray, da Sony, que é padrão no PlayStation3, e o HD-DVD, apoiado pela Microsoft, que não é padrão no XBox 360 mas que pode ser conectado ao console.

Correndo por fora neste mercado, temos o Wii, console de sétima geração da Nintendo. Ele não possui um processador tão poderoso quanto o dos outros consoles, mas ele aposta numa nova forma de interação com o usuário que tem tudo para ser matadora neste mercado. Se os outros saem ganhando quando eles tentam ser a central de entertenimento da casa, o Wii sai ganhando por ser o console com melhor interatividade. A nova forma de interação com o usuário criada pelo Wii não é só inovadora, mas ela também justifica o que já citamos antes: ela também necessitou que houvesse um salto no poder de processamento dos consoles da Nintendo entre a sexta e a sétima geração para suportar, dentre outras coisas, este novo paradigma de interatividade. Mais ainda, ela também leva à evolução da computação de uma forma geral já que propõe novas formas de interação com sistemas de computação, se levarmos em conta que ela pode ser usada para outros sistemas que não sejam jogos.

Eu prentendo, mais pra frente, analisar mais a fundo pelo menos dois destes novos consoles de vídeo-games pois eu julgo que eles trazem inovações que irão afetar de forma definitiva a computação em geral e não só no mercado de vídeo-games nos próximos anos. Mas de qualquer forma, queria compartilhar com vocês esta minha percepção de que os vídeo-games são um dos grandes responsáveis pela evolução da computação pessoal nos últimos 10 a 15 anos, eu diria.

É claro que eu acredito que o que já citei neste post serve de prova para a ligação entre os vídeo-games e a inovação na computação, mas querem um outro argumento sobre porque eu acho que o mercado de consoles de vídeo-games está cada vez mais ligado ao mercado de computadores pessoais e à evolução da computação de uma forma geral? Sabem quem é o fabricante dos processadores dos três vídeo-games de sétima geração existentes?… A IBM, uma especialista em fazer processadores para servidores corporativos de alta capacidade de processamento e uma das maiores inovadoras nesta área.

Nova Modalidade Esportiva: YETI SPORTS

Não aguenta mais fazer o que está fazendo e não tem como sair da frente do computador pra ir pegar sol em uma praia, ou então tomar um chopp gelado no boteco da esquina ????

Yeti Sports…não resolve o problema da praia, mas pelo menos refresca a cabeça por alguns instantes.