A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso de Grid Computing. LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-2/22 Sumário Introdução ao Globus – Objetivos e links – Globus Toolkit.

Apresentações semelhantes


Apresentação em tema: "Curso de Grid Computing. LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-2/22 Sumário Introdução ao Globus – Objetivos e links – Globus Toolkit."— Transcrição da apresentação:

1 Curso de Grid Computing

2 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-2/22 Sumário Introdução ao Globus – Objetivos e links – Globus Toolkit Serviços Arquitetura Versões RSL – Introdução – Sintaxe RSL – Caracteres Especiais RSL – Semânticas de Substituição RSL – Atributos RSL – Exemplos RSL

3 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-3/22 Autoria Autores – Rodrigo Real, Luciano Cavalheiro, Alberto Egon (RSL) Local – Instituto de Informática, UFRGS – 1a versão 2003, curso projeto Dell – Revisões v2 – Novembro de 2005 – C. Geyer

4 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-4/22 Globus: o que é? Objetivos Modelo, arquitetura, protocolos, API,... Protótipo: Globus (Metacomputing) Toolkit Avaliação de aplicações reais GUSTO (testbed) Locais Argonne, DOE, Chicago Caltech e USC (Los Angeles, CA) Ian Foster e Carl Kesselman Um dos mais usados e referenciados Confunde-se com Grid (arquitetura) Projetos europeus: uso do Globus

5 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-5/22 Globus: o que é? Alguns princípios – Objetivos de 1998 Desenvolver um toolkit para grades Instalar com o toolkit uma grade (grande) para testes – GUSTO Desenvolver, instalar e testar (o principal) aplicações reais na grade de teste – Palavras chaves (1998) Acesso pervasivo Adaptação aos aspectos dinâmicos da grade – Pelo mw e/ou pela aplicação APIs não opacas (não transparentes): translúcidas – Diferenças entre local e remoto

6 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-6/22 Globus: links Links do Globus – Geral – Globus Toolkit 4.0 Release Manuals – Apresentações Classificadas por tema, com resumo – _guide_gt3.html _guide_gt3.html Dicas para migração do GT 3 para GT 4

7 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-7/22 Globus Toolkit O Globus Toolkit é – um conjunto de serviços de software destinados à construção de Grids computacionais e aplicações para Grid

8 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-8/22 Globus Toolkit O toolkit trabalha com – questões de segurança, – descoberta de informações, – gerenciamento de recursos, – gerenciamento de dados, – comunicações, – detecção de falhas e – portabilidade.

9 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-9/22 Resumo dos serviços Globus

10 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-10/22 Globus: arquitetura (v2/3) cluster aplicações paralelas/distribuídas (ex. SF-Express) Comunicação (Nexus) Gerência de recursos (GRAM - DUROC, RSL) Segurança e autenticação (GSI) Monitoramento (HBM) Acesso remoto a dados (GASS, GridFTP, RIO) Gerência de executáveis (GEM) Globus Metacomputing Toolkit (GMT) Internet/Rede de comunicação Informação (MDS,GRIS, GIIS) GUSTONASA IPGNPACIData Grid

11 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-11/22 Globus: Serviços Localização e alocação de recursos Autenticação Serviço de Informações Acesso a Dados Comunicação Criação de Processos Monitoramento de Processos

12 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-12/22 Globus: Serviços Principais grupos de serviços – Conforme GT4_Primer Versão de maio de 2005 Em andamento (draft) – Grupos de serviços Gerência de execução: GRAM e relacionados Gerência de dados: GridFTP,... Monitoramento e descoberta: MDS4 Segurança: GSI,...

13 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-13/22 Globus: histórico Versões – v1 – v2: muito citada e usada – v3: introduz Web Services – v4: recomendada no lugar da v3 Relacionamentos com outros mw – Muitos trabalhos em andamento – Muitos trabalhos de 3os – Documentação com buracos – Muitas siglas

14 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-14/22 Globus: histórico Organizações – Hoje vários chapéus – Principal Globus Alliance – – acadêmico, pesquisa – Outros Comerciais, industriais

15 Resource Specification Language (RSL)

16 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-16/22 Roteiro Introdução Sintaxe RSL Caracteres Especiais RSL Semânticas de Substituição RSL Atributos RSL Exemplos RSL

17 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-17/22 Introdução Globus Resource Specification Language (RSL): Linguagem para descrever jobs e os recursos utilizados para executá-los Usada por vários componentes do Globus Resource Allocation and Management (GRAM) e do Dynamically Updated Request Online Co-allocator (DUROC) GRAM é o componente para submissão de um único job para um jobmanager específico

18 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-18/22 Introdução Globus Resource Specification Language (RSL): Fornece uma sintaxe genérica (''esqueleto'') para compor descrições de recursos Sintaxe similar à do MDS/LDAP Cada atributo na descrição serve como um parâmetro para controlar o comportamento dos recursos Operadores suportados =, >, !=

19 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-19/22 Sintaxe Em relação à sintaxe da linguagem, existem 3 estruturas diferentes: Relation: associa o nome de um atributo a um valor Compound Requests: conjunto de relações simples compostas em um único comando Value Sequences: seqüência de valores

20 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-20/22 Sintaxe Relation: Principal (e também o mais simples) componente da sintaxe RSL Associa o nome de um atributo a um valor: Ex.: ''executable=a.out'' Informa o nome do programa a ser utilizado quando o job for executado Apesar de sintaticamente correta, expressões RSL geralmente combinam mais de uma relação

21 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-21/22 Sintaxe Compound Requests (1/4): conjunct-request (&): Expressa um conjunto de relações simples, associadas através de um AND booleano Permite, por ex.: combinação de relações como o nome de um executável, nº de nodos, argumentos do executável e arquivos de saída Exemplo: &(contactHostName="tci18.dl.ac.uk") (executable=/bin/echo) (directory=/home2/rja/Globus/Examples/rsl) (stdout="stdout.txt") (arguments="hello from tci18")

22 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-22/22 Sintaxe Compound Requests (2/4): disjunct-request (|): Expressa um conjunto de relações simples, associadas através de um OR booleano Atualmente nenhum componente gerenciador de recursos utiliza esse formato Exemplo: &(executable=myProg) (|(&(count=5)(memory>=64)) (&(count=10)(memory>=32))) Cria 5 instâncias de myProg em máquina com pelo menos 64MB de memória, ou 10 instâncias em máquina com pelo menos 32MB de memória

23 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-23/22 Sintaxe Compound Requests (3/4): multi-request (+): Usadas pelo DUROC (componente de co- alocação de recursos) Como o DUROC não mais existe ->...? Permite especificar múltiplos recursos Formato: +(GRAM script) (GRAM script) (...)

24 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-24/22 Compound Requests (3/4): multi-request (+): Uma conjunct-request pode ser vista como "constraints" sobre um determinado recurso Sub-cláusulas de uma multi-request são vistas como descrições individuais de recursos distintos

25 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-25/22 Sintaxe Compound Requests (4/4): Exemplo multi-request: +(&(contactHostName="tci18.dl.ac.uk") (count=1) (executable=test) (directory=/home2/rja/Globus/test) (stdout="stdout.txt") ) (&(contactHostName="beowulf1.dl.ac.uk") (count=1) (executable=test) (directory=/home/rja/Globus/test) (stdout="stdout.txt") )

26 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-26/22 Sintaxe Value Sequences (1/2): A forma mais simples de expressar um valor em RSL é através de um literal string Delimitados por um par de aspas ou não (desde que não contenham caracteres especiais) Valores podem ser também referências a variáveis (que serão substituídas pelo valor correspondente)

27 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-27/22 Sintaxe Value Sequences (2/2): Expressões podem incluir concatenações de strings (para a construção de longas strings) Além das formas simples apresentadas, a rsl permite o uso de value sequences para expressar um conjunto ordenado de valores: Usada principalmente para definir variáveis ou fornecer a lista de argumentos para um programa

28 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-28/22 Caracteres Especiais RSL Conjunto de caracteres especiais que não podem aparecer como parte de um literal não delimitado por aspas: ''+'' (adição) ''&'' (''e'' comercial) ''|'' (pipe) ''('' (parêntese esquerdo) '')'' (parêntese direito) ''='' (equaldade) ''<'' (menor) ''>'' (maior) ''!'' (exclamação) '''''' (aspas duplas) ''`'' (apóstrofo) ''^'' (circunflexo) ''#'' (sustenido) ''$'' (dólar)

29 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-29/22 Caracteres Especiais RSL Delimitação de literais: aspas duplas ou simples Comentários em comandos RSL: usam notação similar àquela empregada na linguagem de programação C: iniciam com o prefixo ''(*'', e continuam até o próximo ''*)'' não podem ser aninhados

30 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-30/22 Semântica de Substituição RSL RSL suporta substituição de variáveis: A s ubstituição de variáveis é definida por uma relação especial, utilizando o atributo ''rsl_substitution'' Declaração: substituições são declaradas usando uma lista de pares rsl_substitution=(SUB1 val1)(SUB2 val2) Invocação: uma substituição é invocada através de $(SUB)

31 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-31/22 Semântica de Substituição RSL Exemplo de uso: Isso: &(rsl_substitution=(URLBASE ''ftp://host:1234'')) (rsl_substitution=(URLDIR $(URLBASE)/dir)) (executable=$(URLDIR)/myfile) é equivalente a isso: &(executable=ftp://host:1234/dir/myfile)

32 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-32/22 Semântica de Substituição RSL Ordem de processamento: Escopos internos são processados após os externos Definições em escopos internos incrementam as definições herdadas com atualizações ou novas variáveis Dentro de qualquer escopo, as definições de variáveis são processadas da esquerda para a direita na descrição do recurso Definições de variáveis podem referenciar variáveis previamente definidas

33 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-33/22 Atributos RSL Cada componente gerenciador de recursos do Globus introduz atributos adicionais ao conjunto Sintaxe extensível Difícil fornecer uma lista completa de atributos que podem aparecer na descrição de um recurso Componentes que gerenciam recursos são projetados para utilizar os atributos por eles conhecidos e ignorar os demais

34 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-34/22 Atributos RSL A seguir, alguns atributos da distribuição padrão do Globus serão apresentados... Atributos GRAM executable directory arguments stdin stdout stderr count environment maxCpuTime maxWallTime maxTime dryRun queue project hostCount maxMemory minMemory jobType gramMyjob two_phase save_state stdout_position stderr_position restart remote_io_url

35 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-35/22 Atributos RSL (GRAM) (executable=string) Informa o programa a ser executado na máquina remota Caminho do arquivo (absoluto ou relativo) ou URL (nesse caso o arquivo será transferido para a máquina remota e removido após o término) (directory=string) Especifica o caminho do diretório que o jobmanager vai para executar o job Default: diretório de trabalho ($HOME)

36 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-36/22 Atributos RSL (GRAM) (arguments=arg1 arg2 arg3...) Lista de parâmetros (string) para o executável Devem ser usadas aspas ('' '') se espaços em branco são necessários em algum argumento Ex.: (arguments="a and b" ccc d ) argv[1]=''a and b'' argv[2]=''ccc'' argv[3]=''d'' Default: NULL

37 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-37/22 Atributos RSL (GRAM) (stdin=string) Nome do arquivo a ser usado como standard input para o executável Caminho do arquivo (absoluto ou relativo) ou URL (transferido para / removido da máquina remota) Default: /dev/null (stdout=string) Nome do arquivo remoto para armazenar o standard output da execução Caminho do arquivo (absoluto ou relativo) ou URL (saída é transferida durante execução) Default: /dev/null

38 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-38/22 Atributos RSL (GRAM) (stderr=string) Nome do arquivo remoto para armazenar o standard error da execução Caminho do arquivo (absoluto ou relativo) ou URL (saída é transferida durante execução) Default: /dev/null (count=value) Número de processos que deverão ser executados Default: 1

39 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-39/22 Atributos RSL (GRAM) (environment=(var value) [(var value)]...) Variáveis de ambiente que serão definidas para o executável além do conjunto default Representadas como pares nome/valor Ex.: (environment=(VAR_A value_a) (JOE mama)(PI )) Equivalente em C-shell: setenv VAR_A value_a setenv JOE mama setenv PI Default: NULL

40 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-40/22 Atributos RSL (GRAM) (maxCpuTime=integer) Máximo cputime para uma execução do programa Medido em minutos Default: nenhum, mas aceita default de um escalonador local (maxWallTime=integer) Máximo walltime para uma execução do programa Medido em minutos Default: nenhum, mas aceita default de um escalonador local

41 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-41/22 Atributos RSL (GRAM) (maxTime=integer) Máximo entre walltime ou cpu runtime (escolha do escalonador) para uma execução do programa Medido em minutos Default: nenhum, mas aceita default de um escalonador local (dryRun=yes|no) Se dryRun = yes, então o jobmanager não vai submeter o job para execução, e retornará sucesso Default: no Obs: removido na v4 do Globus (GT4)

42 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-42/22 Atributos RSL (GRAM) (queue=string) Nome da fila na qual o job deve ser submetido (project=string) Direciona o job para um project account específico (hostCount=integer) Somente aplicável em multi-computadores SMP Define o número de nodos usados para distribuir os ''count'' processos

43 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-43/22 Atributos RSL (GRAM) (maxMemory=integer) Especifica a quantidade máxima de memória requisitada para o job Medido em megabytes Default: nenhum (minMemory=integer) Especifica a quantidade mínima de memória requisitada para o job Medido em megabytes Default: nenhum

44 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-44/22 Atributos RSL (GRAM) (jobType=value) Value pode assumir um dos valores abaixo: ­ single: mesmo que > 1, roda somente um único processo ­ multiple: inicia instâncias do programa ­ mpi: roda programa escrito em mpi usando um método apropriado (mpirun em SGI Origin ou POE em IBM SP). Programa é iniciado em nodos ­ condor: inicia processos Condor rodando em ''standard universe'' Default: multiple

45 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-45/22 Atributos RSL (GRAM) (gramMyjob=value) Define como a biblioteca globus_gram_myjob irá se comportar em relação aos processos Value pode assumir um dos valores abaixo: ­ collective: trata todos os processos como parte de um único job ­ independent: trata cada um dos processos como um job independente uniprocessado Default: collective

46 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-46/22 Atributos RSL (GRAM) (two_phase= ) Implementa protocolo do tipo two-phase commit para submissão e término de jobs Parâmetro determina o valor do timeout a ser utilizado pelo jobmanager Na submissão: ­ Jobmanager aguarda confirmação após receber requisição do cliente durante segundos No término: ­ Após notificar o cliente do término, aguarda por confirmação durante segundos ­ Se não receber, pode sair sem limpar o estado do job (para que o job sofra um restart posterior)

47 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-47/22 Atributos RSL (GRAM) (save_state=yes|no) Faz com que o jobmanager salve estado/informações do job de forma persistente em disco ou fita Se o jobmanager falhar, o cliente pode inicializar outro jobmanager que irá assumir a responsabilidade sobre o job Default: no

48 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-48/22 Atributos RSL (GRAM) (stdout_position= ) (stderr_position= ) Utilizados na reinicialização de jobs Especificam a posição do arquivo que deve ser utilizada para recomeçar a escrever o fluxo de saída do job Default: nenhum

49 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-49/22 Atributos RSL (GRAM) (restart= ) Inicia um novo jobmanager, que passará a cuidar de jobs já existentes Jobmanager irá procurar os arquivos de estado criados (através da opção save_state) pelo jobmanager informado como parâmetro Caso encontre algum job (e o seu timestamp seja antigo) ­ Novo jobmanager passará a ser o novo "guardião" dos jobs encontrados Senão ­ Retorna com erro

50 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-50/22 Atributos RSL (GRAM) (remote_io_url= ) Salva a URL informada em um arquivo e coloca a variável GLOBUS_REMOTE_IO_URL= no ambiente do job Se especificado na reinicialização do job (restart), atualiza o conteúdo do arquivo Utilizando a variável, o job pode ler o conteúdo do arquivo para obter a URL, que pode variar entre diferentes reinicializações do job Default: nenhum

51 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-51/22 Atributos RSL (DUROC) (subjobStartType=value) Altera o mecanismo inicial de barreira para os subjobs Os valores são ''strict-barrier'', ''loose-barrier'', ''no- barrier'' (subjobCommsType=value) Valores são ''blocking-join'' e ''independent'' Se o valor é setado para ''independent'', o subjob não será visto por outros subjobs quando fizer comunicação inter-subjob

52 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-52/22 Atributos RSL (DUROC) (label=string) Identificador para o subjob (resourceManagerContact=string) (resourceManagerName=string) Resource manager para o qual submeter o subjob

53 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-53/22 Exemplos RSL Ex.: 1) Descrições de recursos GRAM típicas contém ao menos algumas relações em conjunto : (* this is a comment *) &(executable=a.out (* <-- that is an unquoted literal *)) (directory=/home/nobody ) (arguments=arg1 "arg 2") (count=1)

54 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-54/22 Exemplos RSL Ex.: 2) Substituições podem ser usadas para utilizar a mesma substring múltiplas vezes em uma descrição de recurso: &(rsl_substitution=(TOPDIR "/home/nobody") (DATADIR $(TOPDIR)"/data") (EXECDIR $(TOPDIR)/bin) ) (executable=$(EXECDIR)/a.out (* <-- implicit concatenation *)) (directory=$(TOPDIR)) (arguments=$(DATADIR)/file1 (* <-- implicit concatenation *) $(DATADIR)#/file2 (* <-- explicit concatenation *) '$(FOO)' (* <-- a quoted literal *)) (environment=(DATADIR $(DATADIR))) (count=1)

55 LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-55/22 Exemplos RSL Ex.: 3) Realizando todas as substituições de variáveis e removendo comentários resulta em uma string RSL equivalente: &(executable="/home/nobody/bin/a.out") (directory="/home/nobody" ) (arguments="/home/nobody/data/file1" "/home/nobody/data/file2" "$(FOO)") (environment=(DATADIR "/home/nobody/data")) (count=1)


Carregar ppt "Curso de Grid Computing. LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-2/22 Sumário Introdução ao Globus – Objetivos e links – Globus Toolkit."

Apresentações semelhantes


Anúncios Google