CSharpGrid Computing

Documentação (csharpdoc)

O CSharpGrid Computing é um framework para execução de tarefas em paralelo. Foi desenvolvido para auxílio em pesquisas permitindo enfileirar e executar tarefas ou instâncias em diversos computadores de forma simples e rápida. Sua arquitetura permite a expansão do framework através da adição de novos recursos, outras políticas de gerenciamento dos nós e novos protocolos.

Figura 1: Arquitetura do Framework

Cada adapter é responsável por criar a abstração necessária para um determinado serviço. Os serviços implementados são listados abaixo. Os protocolos e políticas disponíveis atualmente garantem o funcionamento básico do grid, permitindo a descoberta de nós, gestão da topologia, distribuição de binários, comunicação, execução remota de tarefas e recebimento de resultados.

Figura 2: Service Providers implementados

Além da descoberta através de anúncio na rede local (broadcast SDDP), é possível integração com máquinas em redes diferentes desde que acessíveis pela internet (DMZ ou IP público). Servidores sem anúncio são chamados de “shy servers” e podem ser adicionados manualmente à topologia. Assim que uma máquina descobre um “shy server”, realiza sua publicação e informa as demais máquinas da topologia quanto a sua existência.