Computação em Grelha, cross-platform usando BOINC

Ao longo de diversas edições fui escrevendo sobre clusters recorrendo ao SBC (single board computer) Raspberry Pi. Tendo em conta que cada vez existem mais dispositivos inteligentes (smart devices), dei por mim a pensar no eventual uso de tais dispositivos, que passam uma parte substancial do seu tempo de “vida útil” em “idle” (sem utilização, mas ainda assim ligados), para tarefas de computação. Algo parecido com o SETI@Home, de há uns anos atrás, quando eu era bem mais novo e a internet por cá, ainda chegava por “dial-up”.

É resumidamente isso que vos apresento neste artigo! Uma plataforma simples de instalar e utilizar, dedicada à computação distribuída, utilizando diversas plataformas e diversos dispositivos, aproveitando o tempo destes equipamentos, quando estão por exemplo parados a carregar baterias ou ligados à corrente mas inactivos.

Computação em Grelha (Grid Computing)

Computação Distribuída é um modelo no qual componentes de um sistema de software são partilhados por múltiplos computadores de forma a melhorar a eficiência e performance. De acordo com a definição mais refinada do conceito, computação distribuída é limitada a programas com componentes partilhados por diversos computadores, numa área geográfica limitada. No entanto, definições mais alargadas, incluem também partilha de tarefas, partilha de componentes, etc… sendo que a definição mais abrangente, define computação distribuída como a computação partilhada por diversos sistemas, podendo estes encontrarem-se em diversas localizações geográficas.

Numa das primeiras definições destas tecnologias, datada de 1998 Carl Kesselmman e Ian Foster, escreveram no livro “The Grid: Blueprint for a new computing infrastructure”, “Uma grelha computacional é uma combinação de hardware e software, que disponibiliza de forma confiável, consistente, penetrante e de baixo custo, acesso a recursos computacionais de grande capacidade”. Esta definição foi alvo de alterações posteriores, mas na sua génese mantém-se a partilha de recursos computacionais de forma dinâmica.

[...]

Leia o artigo completo na edição 59 da Revista PROGRAMAR

Publicado na edição 59 (PDF) da Revista PROGRAMAR.