Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves [email protected].

21
Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves [email protected]

Transcript of Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves [email protected].

Page 1: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Estudo da plataforma OurGrid para construção de Grids

Marcelo Veiga Neves

[email protected]

Page 2: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Roteiro

• Introdução

• Arquitetura

• Instalação

• Porte da aplicação NQueens

• Testes realizados

• Plataforma relacionada: P3

• Conclusão

Page 3: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Introdução

• OurGrid é um free-to-join peer-to-peer grid• Desenvolvido no LSD/UFCG e é apoiado pela HP

(Hewlett-Packard)• Em produção desde 2004• Os recursos computacionais são providos por recursos

ociosos dos participantes (como no SETI@home)• Somente aplicações Bag-of-Tasks (BoT)

• Diferença:– Todos participantes podem executar no grid– Rede de Favores = quem contribui mais tem mais direito a

recursos

Page 4: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Estado do OurGrid Hoje

Wed Dec 13 07:58:46 BRT 2006

Page 5: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Arquitetura

Page 6: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Instalação

• Pré-requisitos:– Java (J2SE) 1.5.x– Não necessita executar como super-usuário

(e nem aconselha-se)– Escolher portas que ainda não estejam em

uso ;-)– Peer machine deve ter IP público e poder

receber conexões pela Internet (Firewall deve liberar porta do OurGrid)

Page 7: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Instalação

• No servidor do site (Peer machine):– Download peer-3.3.tar.gz– tar xzf peer-3.3.tar.gz– cd peer/

– Editar o arquivo peer.properties (peer.name, peer.port, peer.joincommunity, etc.)

– Iniciar serviço:• ./bin/peer start

– Adicionar descrição do site (grid machines):• ./bin/peer setgums my_site.sdf

Page 8: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Instalação

• Exemplo de arquivo de descrição:gumdefaults: site : integridade type : ualinux os : linux processorfamily : IA32 mem : 512 remExec : ssh -x $machine $command copyFrom : scp $machine:$remotefile $localfile copyTo : scp $localfile $machine:$remotefile port : 3080

gum: name: compute-1-0gum: name: compute-1-1gum: name: c1-0 port: 3082gum: name: c1-1 port: 3082

Page 9: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Instalação

• Nos nós trabalhadores (Grid machines):– Instalação automática via peer (não funcionou nos meus testes!)

– Download useragent-3.3.tar.gz– tar xzf useragent-3.3.tar.gz– cd useragent/

– Editar arquivo ua.properties (ua.name, ua.port, ua.idlenessdetector, etc.)

– Iniciar o serviço:• ./useragent start

Page 10: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Instalação

• No cliente (MyGrid):– Download mygrid-3.3.tar.gz– tar xzf mygrid-3.3.tar.gz– cd mygrid/

– Iniciar o serviço:• bin/mygrid start

– Adicionar a descrição dos peers:• bin/mygrid setgrid my_peer.gdf

# exemplo de descricao de peerpeer: name: integridade.inf.ufrgs.br label: GPPD's peer port: 3081

Page 11: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Instalação

• Problema:– Peer demora para encontrar as grid machines– Motivo: OurGrid utiliza JXTA para descoberta

de recursos

Page 12: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Porte da aplicação NQueens

• Mesma aplicação utilizada nos testes do XtremWeb e BOINC– ./nqueens N task

• Geração de um arquivo de Job para processar todas as tarefas

• Submissão:– ./bin/mygrid addjob nqueens-18.sdf

Page 13: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Exemplo de arquivo de Jobjob :label : nqueens18

task :init : put ./nqueens nqueensremote : ./nqueens 18 0 > output-$JOB.$TASKfinal : get output-$JOB.$TASK output-$JOB.$TASK

task :init : put ./nqueens nqueensremote : ./nqueens 18 1 > output-$JOB.$TASKfinal : get output-$JOB.$TASK output-$JOB.$TASK

task :init : put ./nqueens nqueensremote : ./nqueens 18 2 > output-$JOB.$TASKfinal : get output-$JOB.$TASK output-$JOB.$TASK

...

Page 14: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Geração dos Jobs#!/bin/sh

N=18num_tasks=1186

echo "job :"echo "label : nqueens$N"

let num_tasks--for i in `seq 0 $num_tasks`do echo echo "task :" echo "init : put ./nqueens nqueens" echo "remote : ./nqueens $N $i > output-\$JOB.\$TASK" echo "final : get output-\$JOB.\$TASK output-\$JOB.\$TASK"done

Page 15: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Monitoração da execução$ ./bin/mygrid status | moreStarting to print grid status.MyGrid 3.3.1 is up and running.

Peers:GPPD's peer => rmi://integridade:3081/LOCAL_ACCESS [ UP ]

Received Grid Machines: compute-1-1:3080@integridade:3081 compute-1-0:3080@integridade:3081 c1-1:3082@integridade:3081 c1-0:3082@integridade:3081

Jobs: Job 23: nqueens19 [RUNNING] Task 1: [FINISHED] Replica 1: [FINISHED] - assigned to compute-1-1:3080@integridade:3081 Task 2: [RUNNING] Replica 1: [RUNNING] - assigned to c1-1:3082@integridade:3081 Task 3: [RUNNING] Replica 1: [RUNNING] - assigned to c1-0:3082@integridade:3081 Task 4: [RUNNING] Replica 1: [RUNNING] - assigned to compute-1-0:3080@integridade:3081 Task 5: [RUNNING] Replica 1: [RUNNING] - assigned to compute-1-1:3080@integridade:3081 Task 6: [UNSTARTED] Task 7: [UNSTARTED] . . .

Page 16: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Ambiente de Execução

• Cluster Corisco– 4 nós Dual Pentium 3 1GHz com 512 MB– 1 servidor e 3 GuMs (1 por nó do cluster)– Rede Fast Ethernet

• Cluster Integridade– 3 nós Dual Pentium 4 3.2 GHz com 512 MB – 1 servidor e 4 GuMs (2 por nó do cluster)– Rede Gigabit Ethernet

Page 17: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Resultados Corisco

N Seqüencial (min) Tempo paral. (min)

18 15,34 8,17

19 131,89 42,04

20 948.97 (15,81 horas) 319,76 (5,33 horas)

Page 18: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Resultados Integridade

Tempo de médio de processamento

N Seq. XtremWeb BOINC OurGrid

18 (1 a 1) 4min35s 3h12min 35min 2min30s

18 (10 a 10) 15min12s 3min30s 1min42s

18 (30 a 30) 8min10s ? 1min39s

19 (1 a 1) 35min4s 4h50min 37min 13min13s

19 (10 a 10) 31min22s 16min 12min34s

19 (30 a 30) 26min22s ?

Page 19: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

P3

• P3 = Personal Power Plant• Desenvolvido em conjunto pelo Grid Technology

Research Center (GTRC) e National Institute of Advanced Industrial Science and Technology (AIST), Japão

• Permite a execução de programas que comunicam entre os peers (não apenas BoT)

• Esforço para implementar um middleware puramente sobre JXTA

• Problemas:– Necessidade de interface gráfica (servidor X)– Necessidade de implementação do escalonador– API pouco (ou nada) documentada

Page 20: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Conclusão

• OurGrid apresentou melhor desempenho– Realiza comunicação com eficiência– Simples e funcional! Esta em produção desde 2004– Problemas:

• descoberta de recursos deveria ser configurável• Não permite a descrição de nós biprocessado

• Comparação com BOINC e XtremWeb– BOINC não foi projetado para comunicação em rede local

• Pequena quantidade de dados, grande tempo de processamento (Ex: SETI@home)

– XtremWeb (?)• Apresentou pior desempenho

Page 21: Estudo da plataforma OurGrid para construção de Grids Marcelo Veiga Neves mvneves@inf.ufrgs.br.

Referências

• OurGrid: http://www.ourgrid.org/• P3: http://p-three.sourceforge.net/• OurGrid Administrator Guide:

http://www.ourgrid.org/twiki-public/bin/view/OG/ManualAdministrator3_3

• OurGrid User Guide: http://www.ourgrid.org/twiki-public/bin/view/OG/ManualUser3_3

• Labs of the World, Unite!!! http://www.ourgrid.org/twiki-public/pub/OG/OurPublications/LabsoftheWorldUnitev19.pdf

• OurGrid Web Status 3.3: http://status.ourgrid.org/