technology from seed Grid@inesc-id João Leal Tiago Luís Orientador: David Matos Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 1 technology from seed Indice – O que é uma Grid • Exemplo de computação em Grid – Condor • Constituição do Condor • Como usar o Condor • Resultados obtidos – Globus • Interacção Globus / Condor – Trabalho Realizado – No Futuro Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 2 technology O que é uma Grid? from seed – A computação em Grid é uma forma de computação distribuída que permite a partilha e coordenação de recursos para a resolução de problemas complexos, seja porque são de grande escala ou porque envolvem o processamento intensivo de dados – A tecnologia associada a uma Grid permite, assim, que organizações geograficamente dispersas partilhem recursos computacionais, de armazenamento, ou mesmo aplicações – Apesar de ter dado grandes passos no passado recente, a partilha de recursos em larga escala ainda não é uma realidade em muitas áreas Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 3 technology Exemplo de computação em Grid from seed – O projecto SETI@home é um exemplo de um projecto de computação em Grid que utiliza a infra-estrutura BOINC (Berkeley Open Infrastructure for Network Computing) – Milhares de computadores pessoais em todo o mundo, analisam continuamente dados do radiotelescópio de Arecibo em busca de transmissões que evidenciem inteligência extraterrestre Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 4 technology Condor from seed – Permite o desenvolvimento, implementação e avaliação de mecanismos e políticas que suportam High Throughput Computing em ambientes distribuídos. – High Throughput Computing consiste em gerir e explorar de forma eficiente todos os recursos computacionais disponíveis, sendo o seu maior desafio maximizar o número de recursos computacionais acessíveis – Aproveita os recursos computacionais que não estão a ser utilizados e dá-lhes uso, de uma forma transparente para o utilizador Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 5 technology from seed Constituição do Condor Central Manager Execute and Submit Submit Only Execute Only Execute Only Execute Only Execute Only Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 6 technology Como usar o Condor? from seed – Preparar o programa de modo a que as entradas e saídas sejam interactivas – Escolher o universo – Standard – Vanilla – Grid – Criar o ficheiro de submissão – Submeter o trabalho • /opt/condor/bin/condor_submit fib.condor Submitting job(s). Logging submit event(s). 1 job(s) submitted to cluster 170. Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 7 technology Ficheiro de submissão from seed – Código: https://www.l2f.inesc-id.pt/~tmcl/apresentacao/fib.c – Ficheiro de Submissão: fib.condor Executable = fib Universe = vanilla Transfer_files = ALWAYS Output = fib.out.$(CLUSTER)-$(PROCESS) Error = fib.err.$(CLUSTER)-$(PROCESS) Log = fib.log Requirements = (Arch == "INTEL" || Arch == "x86_64") Queue Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 8 technology from seed Gestão do trabalho – Verificação do estado do trabalho • /opt/condor/bin/condor_q ID OWNER SUBMITTED 170.0 tmcl 5/19 17:20 1 jobs; 0 idle, 1 running, 0 held RUN_TIME ST PRI SIZE CMD 0+00:00:00 R 0 0.0 fib – Verificação do estado da Pool • /opt/condor/bin/condor_status Name [email protected]. [email protected]. [email protected]. . . . [email protected]. OpSys Arch State Activity LoadAv Mem ActvtyTime LINUX LINUX LINUX INTEL INTEL INTEL Unclaimed Unclaimed Unclaimed Idle Idle Idle 0.000 0.000 0.000 1009 1009 1009 0+00:45:09 1+20:05:25 0+00:50:09 LINUX X86_64 Unclaimed Idle 0.000 1632 1+20:04:54 Total Owner Claimed Unclaimed Matched Preempting Backfill INTEL/LINUX X86_64/LINUX 21 7 0 0 0 0 21 7 0 0 0 0 0 0 Total 28 0 0 28 0 0 0 Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 9 technology Grid@l2f from seed – Página: https://grid.l2f.inesc-id.pt/ – Constituída por: 16 máquinas: • • • • wc’s Anubis Ronin Alex Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 10 technology Grid@inesc-id from seed – Página: http://grid.inesc-id.pt/ – Constituída por: 22 máquinas: • 3.2 MHz P4 • mem = 1GB Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 11 technology Resultados obtidos na Grid@l2f from seed – Processamento do jornal Público • cada trabalho submetido na Grid consistia na análise de uma parcela de dados do jornal – Ficheiro de Submissão Executable = /afs/l2f.inesc-id.pt/home/david/public/tmp/cetempublico1.pl Universe = vanilla Output = cetempublico1-palavroso-marv.out.$(CLUSTER)-$(PROCESS) Error = cetempublico1-palavroso-marv.err.$(CLUSTER)-$(PROCESS) Transfer_files = ALWAYS Log = cetempublico1.log Requirements = (Arch == "INTEL" || Arch == "x86_64") Queue Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 12 technology Resultados obtidos na Grid@inesc-id – from seed Edição de Vídeo • • • cada trabalho submetido na Grid era responsável por uma parcela do vídeo o algoritmo fazia poucos acessos ao disco, consistindo principalmente em cálculo o trabalho que era feito em 34 dias demorou 2 dias na Grid – Ficheiro de Submissão Executable = /home/u00150/work/vitra/sim_vitra_launch.sh Universe = vanilla Input = fib.in.$(PROCESS) Output = fib.out.$(CLUSTER).$(PROCESS) Error = fib.err.$(CLUSTER).$(PROCESS) Log = fib.$(CLUSTER).log Notification = Error Queue Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 13 technology Globus from seed – Fornece a tecnologia para construir uma Grid, que permite a partilha de poder computacional e informação, de forma segura, com múltiplas instituições sem comprometer a autonomia local – Inclui software para: • segurança (administração de certificados, autenticação e autorização) • monitorização, gestão e descoberta de informação (GridFTP e RFT) • gestão dos recursos (GRAM) • detecção de faltas • suporta interacção via web services e o seu deploy (implementação em C, Java e Python) Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 14 technology from seed Interacção Globus / Condor Submit Node Internet Firewall Queue Job 1 Job 2 … Head Node (Globus) Execute Node Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 15 technology Trabalho Realizado from seed - Perceber a arquitectura do Globus Toolkit e a construção de Web Services https://grid.l2f.inesc-id.pt/wiki/index.php/Globus_Toolkit_4 - Instalação e configuração do Globus Toolkit 4.0.1 https://grid.l2f.inescid.pt/wiki/index.php/Introduction_to_the_Globus_Toolkit_4 - Instalação e configuração do Condor no L2F https://grid.l2f.inesc-id.pt/wiki/index.php/Grid%40L%C2%B2F Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 16 technology No Futuro from seed - Extender a arquitectura do Galinha para incluir uma interface para Grid Services, de modo a que os componentes e dados possam ser geograficamente distribuídos - Para tal é necessário um conjunto de protocolos middleware, como os fornecidos pelo Globus Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 17 technology from seed Fim Don’t ask “what can the Grid do for me?" ask “what can I do with a Grid?” Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 18 technology from seed technology from seed L2 F - Spoken Language Systems Laboratory Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa L2 F - Spoken Language Systems Laboratory 19