Curso de Grid Computing. LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-2/22 Sumário...

55
Curso de Grid Computing

Transcript of Curso de Grid Computing. LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-2/22 Sumário...

Page 1: 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.

Curso de Grid Computing

Page 2: 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.

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

Page 3: 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.

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

Page 4: 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.

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

Page 5: 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.

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

Page 6: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-6/22

Globus: links

• Links do Globus– www.globus.org

• Geral

– http://www.globus.org/toolkit/docs/4.0/• Globus Toolkit 4.0 Release Manuals

– http://www.globus.org/toolkit/presentations/• Apresentações• Classificadas por tema, com resumo

– http://www.globus.org/toolkit/docs/4.0/migration_guide_gt3.html

• Dicas para migração do GT 3 para GT 4

Page 7: 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.

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

Page 8: 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.

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.

Page 9: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-9/22

Resumo dos serviços Globus

Serviço Nome Descrição

GRAM

ComunicaçãoNexus

Informação

SegurançaGSI

Gerenciamento de Recursos

Alocação de recursos e gerenciamento de pro-cessos

Serviços de comunicação unicast e multicast

MDS, GRIS, GIIS

Acesso distribuídos a in-formações

Autenticação e serviços relacionados a segurança

Page 10: 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.

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ênciade recursos

(GRAM - DUROC, RSL)Segurança eautenticação

(GSI)Monitoramento

(HBM)

Acesso remotoa dados

(GASS, GridFTP, RIO)

Gerência de executáveis(GEM)

Globus Metacomputing Toolkit (GMT)

Internet/Rede de comunicação

Informação(MDS,GRIS, GIIS)

GUSTO NASA IPG NPACI Data Grid

Page 11: 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.

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

Page 12: 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.

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, ...

Page 13: 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.

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

Page 14: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-14/22

Globus: histórico

• Organizações– Hoje vários chapéus

– Principal• Globus Alliance

– www.globus.org

– “acadêmico”, pesquisa

– Outros• Comerciais, industriais

Page 15: 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.

Resource Specification Language (RSL)

Page 16: 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.

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

Page 17: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-17/22

IntroduçãoGlobus 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

Page 18: 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.

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 <, <=, =, >=, >, !=

Page 19: 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.

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

Page 20: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-20/22

SintaxeRelation:

● 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

Page 21: 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.

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")

Page 22: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-22/22

SintaxeCompound 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

Page 23: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-23/22

SintaxeCompound 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)➔ (...)

Page 24: 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.

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

Page 25: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-25/22

SintaxeCompound 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") )

Page 26: 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.

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)

Page 27: 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.

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

Page 28: 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.

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)

Page 29: 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.

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

Page 30: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-30/22

Semântica de Substituição RSL

RSL suporta substituição de variáveis:

● A substituiçã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)

Page 31: 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.

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)

Page 32: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-32/22

Semântica de Substituição RSLOrdem 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

Page 33: 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.

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

Page 34: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-34/22

Atributos RSLA seguir, alguns atributos da distribuição padrão do Globus serão apresentados ...

Atributos GRAM

executabledirectoryargumentsstdinstdoutstderrcountenvironmentmaxCpuTimemaxWallTimemaxTimedryRunqueueprojecthostCountmaxMemory

minMemoryjobTypegramMyjobtwo_phasesave_statestdout_positionstderr_positionrestartremote_io_url

Page 35: 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.

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)

Page 36: 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.

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

Page 37: 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.

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

Page 38: 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.

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

Page 39: 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.

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 3.1415))➔ Equivalente em C-shell:

setenv VAR_A value_asetenv JOE mamasetenv PI 3.1415

➔ Default: NULL

Page 40: 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.

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

Page 41: 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.

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)

Page 42: 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.

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

Page 43: 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.

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

Page 44: 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.

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 <count> > 1, roda somente um único processo multiple: inicia <count> 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 <count> nodos condor: inicia <count> processos Condor rodando em ''standard universe''

➔ Default: multiple

Page 45: 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.

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 <count> processos➔ Value pode assumir um dos valores abaixo:

collective: trata todos os <count> processos como parte de um único job independent: trata cada um dos <count> processos como um job independente uniprocessado

➔ Default: collective

Page 46: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-46/22

Atributos RSL (GRAM)● (two_phase=<int>)

➔ Implementa protocolo do tipo two-phase commit para submissão e término de jobs➔ Parâmetro <int> 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 <int> segundos

➔ No término: Após notificar o cliente do término, aguarda por confirmação durante <int> segundos Se não receber, pode sair sem limpar o estado do job (para que o job sofra um restart posterior)

Page 47: 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.

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

Page 48: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-48/22

Atributos RSL (GRAM)

● (stdout_position=<int>)● (stderr_position=<int>)

➔ 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

Page 49: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-49/22

Atributos RSL (GRAM)

● (restart=<old JM contact>)➔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

Page 50: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-50/22

Atributos RSL (GRAM)

● (remote_io_url=<url base>)➔Salva a URL informada em um arquivo e coloca a

variável GLOBUS_REMOTE_IO_URL=<path to file> 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

Page 51: 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.

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

Page 52: 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.

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

Page 53: 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.

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)

Page 54: 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.

LabTeC – II/UFRGS/DELL - Instalação Automatizada – M7-54/22

Exemplos RSLEx.: 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)

Page 55: 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.

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)