O que é? O OurGrid é uma solução completa para executar aplicações Bag-of-Tasks (BoT) em grades computacionais. Aplicações BoT são aplicações paralelas que podem ser executadas em tarefas independantes. Como exemplos destas aplicações podemos citar: simulação de cenários climáticos, renderização de imagens, mineração de dados, etc. Através do OurGrid é possivel ter acesso ao poder computacional fornecido pelos recursos ociosos de todos os participantes da grade. O compartilhamento de recursos é feito de modo que, quem doa mais recebe mais quando necessário. Computação em grade Exemplo de aplicação Computação em grade permite alocar uma enorme quantidade de recursos a uma aplicação paralela a um custo muito menor do que as alternativas tradicionais. No OurGrid, uma aplicação é chamada de job e é composta por um conjunto de tarefas. Cada tarefa é executada em uma máquina da grade. Ocupadas Executando aplicações no OurGrid Para executar uma aplicação é necessário que a máquina do usuário esteja conectada às máquinas da grade. No OurGrid, o usuário precisa apenas: Ÿ Fazer download e instalar o MyGrid; O MyGrid é o componente do ourgrid que permite que as aplicações do usuário sejam executadas em máquinas da grade. Ÿ Permitir que o MyGrid conecte-se a um OurGrid Peer; O Peer é o componente de fornece máquinas da grade para a execução de cada aplicação; Ÿ Adaptar sua aplicação para rodar tarefas paralela, o que pode ser feito de duas formas: žDiretamente no código da aplicação através da API (para aplicações Java) žUsando um arquivo de descrição de tarefas, onde para cada tarefa são definidas transferências de arquivos e execução remota. Maiores detalhes estão disponíveis no manual do software na página do projeto www.ourgrid.org. Aplicação antes da adaptação Início Representar a situação inicial; Avaliar a situação inicial; Para N cenários de precipitação faça Para M possíveis tipos de solo faça Para P condições de uso do solo faça Determine os parâmetros do modelo; Execute o modelo de balanço hídrico; Retorne o excesso de precipitação; Trata os resultados gerados; fim N x M x P Tarefas fim executadas na máquina local fim fim Adaptando a aplicação para excutar no OurGrid Início Representar a situação inicial; Avaliar a situação inicial; Para N cenários de precipitação faça Para M possíveis tipos de solo faça Para P condições de uso do solo faça Define tarefa com: Determine os parâmetros do modelo; Execute o modelo de balanço hídrico; Retorne o excesso de precipitação; fim fim fim ExecutaComandoParaSubmeterTarefas; EsperaResultados; TrataResultadosGerados; fim N x M x P Tarefas executadas nas máquinas da grade Arquivo de descrição de tarefas job : label init task : init remote : CapaciadePlantio : put CalculaPlantio.exe CalculaPlantio.exe : put chuva1.txt solo1.txt usoSolo1.txt : java –cp . CalculaPlantio chuva1.txt solo1.txt usoSolo1.txt Resultado1 : get Resultado1 Resultado1 final task : init : put chuva1.txt solo1.txt usoSolo2.txt remote : java –cp . CalculaPlantio chuva1.txt solo1.txt usoSolo2.txt Resultado2 final : get Resultado2 Resultado2 ... task : init : put chuvaN.txt soloM.txt usoSoloP.txt remote : java –cp . CalculaPlantio chuvaN.txt soloM.txt usoSoloP.txt ResultadoX final : get ResultadoX ResultadoX www.ourgrid.org