Grades Computacionais (Grid Computing) para computação de alto desempenho, descrição do middleware de grade OurGrid e dos passos percorridos para a instalação deste no Debian 5. Lembrando que são relatos das experiências obtidas por mim durante a instalação.
O uso de Sistemas Distribuídos é desde os primórdios da computação uma ótima alternativa para execução de grandes aplicações, e não é de hoje que se investe em pesquisas nesta área, grandes empresas e organizações conhecidas no mundo da informática e tecnologia em geral, fazem uso deste serviço, alguns exemplos que podem ser citados é a IBM, Oracle, Google, HP etc.
O OurGrid é um middleware multiplataforma, desenvolvido em Java, e encontra-se na versão 4.2, sendo desenvolvido por pesquisadores da Universidade Federal de Campina Grande na Paraíba. Ele surge como uma opção para facilitar a interação entre usuários e a grade, uma vez que tem a intenção de facilitar esta comunicação, utilizando uma interface simples que esconde as dificuldades de se trabalhar com grades (SILVA, 2007).
Partindo do pressuposto que muitos não conhecem a estrutura de uma grade computacional, resolvi discorrer sobre a parte teórica e conceitual, importantíssima para que se possa compreender as finalidades e a estrutura do Ourgrid, versando conceitos básicos sobre sistemas distribuídos e grades computacionais até se chegar ao middleware. Em seguida vem a parte prática, contendo os passos e processos que realizei para a instalação do Ourgrid.
Por quê usar computação distribuída?
O uso de grades computacionais permite um aumento relevante no poder de processamento, uma vez que se pode agregar milhares de recursos ao sistema. Executar uma aplicação paralela em uma grade nada mais é do que a divisão do serviço em vários computadores dispersos geograficamente.
[2] Comentário enviado por diegomatias em 21/02/2011 - 16:53h
Ola renato gostaria de lhe os Parabéns, este é um artigo realmente bacana que com certeza vai ajudar muitos leitores amantes dos sistemas distribuídos a montar suas próprias grades isso por que o Ourgrid surgiu justamente para isso facilitar a montagem visto que em outros ambientes esse fator torna-se muito complexo desde já meus parabéns...
[3] Comentário enviado por julio_hoffimann em 21/02/2011 - 19:53h
Oi Renato, parabéns!
Também trabalho com sistemas distribuidos, só que uso MPI. Fiquei curioso com o conceito de bag-of-task, da forma como foi definido no artigo, conheço por task farming. Você saberia explicar a diferença? Procurei as referências que você citou ao longo do texto, mas não encontrei.
[4] Comentário enviado por renato_smelo em 21/02/2011 - 21:10h
Olá julio_hoffimann,
Antes de tudo eu quero pedir perdão por ter esquecido de colocar as referências bibliograficas que usei, embora eu tenha feito algumas citações esqueci de adicionar o principal no artigo, mas aqui estão.
ANDRADE, N., COSTA, L., GERMÓGLIO, G., CIRNE, W. Peer-to-peer grid computing with the OurGrid Community.
CIRNE, W., BRASILEIRO, F. ANDRADE, N., COSTA, L. B. ANDRADE, A., NOVAIS, R., MOWBRAY, M. Labs of the World, Unite!!!, 2006.
DANTAS, Mario, Computação Distribuída de Alto Desempenho: Redes, Clusters e Grids Computacionais. Ed. Axcel Books do Brasil Ltda. 2005.
FREITAS, André Lage, FREITAS, Amadeu A., Greve, Fabíola, LiveOurGrid Estimulando o Uso de Grades Computacionais Através da e Experimentação. UFBA, 2006.
GRID COMPUTING, Grid Compoting Info Centre. Disponível em: <http://www.gridcomputing.com/> Acesso: 02 de outubro de 2010.
OURGRID, OurGrid. Disponível em: <http://www.ourgrid.org/> Acesso em: 02 de outubro de 2010.
SILVA, Benevid Felix da, TMRorR : um novo algoritmo de escalonamento para o OurGrid que combina o uso de informação e replicação Benevid Felix da Silva. – Porto Alegre, 2009.
SILVA, Hélio Antonio Miranda da, Implementação de um Mecanismo de Recuperação por Retorno para a ferramenta OurGrid, Porto Alegre: Programa de Pós-Graduação em Computação, 2007.
e respondendo a sua pergunta não sei te dizer a diferença entre BoT e task farming porque não conheço esta ultima, mas posso procurar e responder depois.
Aproveitando o bonde, Você desenvolve aplicações distribuídas? se sim, estou precisando de material a respeito ficaria muito feliz se você pudesse me ajudar com algum material.
[5] Comentário enviado por julio_hoffimann em 22/02/2011 - 10:27h
Oi Renato! :-)
Não tem problemas, se você avisar ao Fábio, ele edita o artigo e coloca as referências. ;-) Vou procurar saber da diferença, se é que tem, daqueles dois termos. Qualquer coisa a gente se comunica.
[6] Comentário enviado por renato_smelo em 22/02/2011 - 11:36h
Obrigado julio_hoffimann,
também sou novo no mundo de programação paralela e seguirei sua dica quanto ao livro, estou pensando em desenvolver algo voltado a tecnologias e-Gov ou renderização de imagens, mas ainda é tudo teoria.
[7] Comentário enviado por teafelix em 22/02/2011 - 14:55h
Parabéns pelo artigo Renato. Sobre Bag-of-Task e sua diferença entre Task Farming[1], no meu ponto de vista são iguais[2]. A diferença está talvez na arquitetura do sistema em que se situam. As bag-of-task, conceito utilizado não só pelo ourgrid, mas também presente em alguns outros trabalhos, são tarefas independentes pertencentes a um job, onde não existe dependência do fluxo de execução entre elas, o que no meu entendimento é o mesmo funcionamento do task-farming.