Nesta coluna, parte integrante da edição especial de tendências para 2005, fui convidado a abordar o tema "grid computing". Este termo faz parte do discurso de marketing de diversos fornecedores de tecnologia atualmente, mas não é apenas um discurso: a tecnologia em questão está a ponto de se transformar em 'fruta madura'. Faz sentido para sua empresa?

Computadores com vários processadores existem há muito tempo (como nos mainframes e alguns servidores). Na medida em que o custo dos processadores caiu drasticamente, o uso de sistemas com vários processadores se expandiu rapidamente. O ponto chave a considerar é: onde estão os processadores fisicamente? Se todos eles estão contidos dentro um único computador, então se trata de multiprocessamento. A CPU Pentium IV HT da Intel, por exemplo, é um passo para transformar o multiprocessamento em lugar comum até nos corriqueiros PCs.

Quando as várias CPUs estão em computadores separados, a arquitetura é mais complexa. Clusters são um conjunto de computadores operados em conjunto, como se fossem um único computador.

Já no caso do grid, os diversos computadores conectados mantêm sua identidade própria, sendo administrados individualmente. Assim como no caso dos clusters, os vários computadores são conectados entre si. Mas, como estas conexões nem sempre serão rápidas, o tipo de problema ideal para este tipo de configuração é aquele que pode ser subdividido em pequenos pedaços, processados independentemente dos demais.

Um exemplo muito interessante, já implementado a nível mundial, usando a Internet como conexão entre os diversos computadores, é o do projeto SETI (Search for Extra-Terrestrial Intelligence; em português, busca por inteligência extraterrestre). Neste projeto, os cientistas desenvolveram um protetor de tela, que utiliza o tempo ocioso do PC para processar sinais de radiotelescópios, em busca de sinais de rádio de civilizações remotas. Nenhum computador no mundo teria capacidade de processar o volume de informação que o conjunto dos PCs onde este protetor de tela foi instalado, voluntariamente pelos donos das máquinas, possui.

Os fornecedores que propõem o uso de grid computing esperam que o uso de esquemas semelhantes em um ambiente de negócios permita maximizar o uso dos recursos computacionais já existentes nas empresas. Os PCs da grande maioria das empresas tem suas CPUs ociosas mais de 90% do tempo (quando os PCs estão ligados).

A proposta é que todos os computadores da empresa sejam parte de um único grid, de forma que, na medida em que cada computador fique ocioso, ele possa ser incluído no conjunto de CPUs dedicado a resolver problemas de forma distribuída.

O ponto chave para o sucesso da utilização de grids nas empresas é, portanto, encontrar aplicações que possam ser processadas de forma a tirar proveito do dinamismo típico da configuração de um grid.

Por exemplo, serviços de análise de dados como data-mining ou OLAP poderiam ser processados durante a noite, usando a capacidade das CPUs dos PCs da área administrativa da empresa.

É por isso que, entre as empresas que propõem o uso de grid computing, as pioneiras incluem empresas como IBM e Oracle, em associação com seus softwares de gerenciamento de bancos de dados relacionais.

Na medida em que os grids amadurecem, teremos o surgimento de softwares de gerenciamento mais sofisticados. Possivelmente, estes serão integrados diretamente no sistema operacional.

Mas, independentemente das marcas de CPUs e do software em questão, está claro que, na medida em que o poder de processamento se torna cada vez mais econômico, soluções do tipo grid se tornarão cada vez mais habituais no mundo da TI empresarial.