Friday 1 February 2008

Esta difícil achar pós-"Hello World"

Em março faz um ano que comecei a trabalhar com a arquitetura Cell Broadband Engine, e acho até já algumas brincadeiras, mas está sendo muito difícil achar o pós-"Hello world".

Precisaria achar algo que fosse útil, real (ao invés de exemplos artificiais) e ainda assim factível.

O plano de trabalho tem sido portar o OpenFOAM[1], seguindo o artigo da IBM sobre a experiência em portar uma aplicação do mercado financeiro para Cell BE[2]. Esse grupo da IBM levou 2 anos completar o trabalho, e eu, quanto vou levar?? A resposta da comunidade FOAM não foi muito animadora, em geral eles estão descrentes da empreitada.

É fácil entender essa reação, primeiro porque Cell BE ainda quer dizer PS3 para a maioria, o que realmente não parece a melhor plataforma para uma aplicação pesada como CFD. Depois porque a tecnologia ainda não foi absorvida, as pessoas ainda não entenderam o papel da DMA transfer, o fato da local store dos SPEs ter apenas 256KB ainda choca, e a performance máxima é apenas usando precisão simples - tipo float.

A resposta é fazer a computação em paralelo com a transferência, e essa transferência é tão rápida que para a aplicação é como se estivesse tendo acesso a própria memória do sistema. O problema é que até pouco tempo atrás gerenciar essas transferências era tarefa do programador, o que não é exatamente trivial.


[1] http://www.opencfd.co.uk/openfoam/
[2] Finantial markets applications on Cell/BE technology.

No comments: