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

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

Tutorial Condor Juliano Freitas da Silva Universidade do Vale do Rio dos Sinos Mestrado em Computação Aplicada Disciplina Programação Paralela e Distribuída.

Apresentações semelhantes


Apresentação em tema: "Tutorial Condor Juliano Freitas da Silva Universidade do Vale do Rio dos Sinos Mestrado em Computação Aplicada Disciplina Programação Paralela e Distribuída."— Transcrição da apresentação:

1 Tutorial Condor Juliano Freitas da Silva Universidade do Vale do Rio dos Sinos Mestrado em Computação Aplicada Disciplina Programação Paralela e Distribuída Dezembro 2005

2 Roteiro 1. Introdução 2. Funções das Máquinas Condor 3. Instalação e Configuração 4. Iniciando os Daemons do Condor 5. Submissão de Jobs a. Status de Jobs em uma máquina b. Passos para a execução de jobs c. Submissão de Jobs d. Prioridade e Preempção e. Dependência de Jobs

3 Introdução Condor objetiva criar um ambiente capaz de prover grande poder computacional a médio e longo prazos Computação de Alta Vazão (High-Throughput) Utilização de recursos computacionais ociosos Baseado na execução de Jobs Escalona e monitora continuamente a execução Checkpoint e Migração de Jobs Redirecionamento de chamadas de sistema da máquina remota para a máquina do usuário

4 Funções das Máquinas Condor Central Manager Coleta de informações Negociação entre recursos e requisições dos usuários Apenas uma máquina terá esta função Execute Recurso para execução dos jobs Submit Ferramentas para realizar a submissão de jobs Todo o processo remoto gera um processo local Checkpoint Server (Opcional) Armazenamento dos arquivos de checkpoint

5 Instalação e Configuração 1. Efetuar o download do software a partir de Código-fonte não fornecido 2. Descompactar o pacote obtido 3. Execução do comando condor_configure ou do script perl condor_install 4. Configurar a variável de ambiente CONDOR_CONFIG apontando para /etc/config

6 Iniciando os Daemons do Condor Cada máquina deverá instanciar determinado conjunto de daemons, considerando a sua função no ambiente Utilização do comando condor_master Automaticamente inicia os daemons definidos nos arquivos de configuração Somente os daemons referentes à função atual da máquina serão iniciados

7 Submissão de Jobs Condor Pool refere-se ao ambiente de execução dentro de um domínio administrativo Matchmaker componente responsável pela alocação de recursos As máquinas do Pool publicam os seus atributos Na submissão do Job o Matchmaker aloca os recursos que se adequarem aos requisitos solicitados Junto aos atributos das máquinas também são publicadas as suas políticas de utilização

8 Status de Jobs em uma máquina Iniciado Execução Fila Suspenso Vacating Finalizado Encerrado

9 Passos para a execução de Jobs Definir o Universo a ser utilizado Padrão Vanilla Preparação do código Universo padrão deve-se realizar a linkedição com as bibliotecas do Condor $ condor_compile cc main.o tools.o –o program Criação do arquivo de submissão de Job Submissão do Job ao Condor

10 Submissão de Jobs Utilização do comando condor_submit $ condor_submit prog1.condor Devem ser informados os detalhes necessários à execução dos jobs ######################### # Exemplo simples de utilização do Condor ########################### Executable = foo Log = foo.log Queue

11 Submissão de Jobs ################################################ Exemplo de utilização de múltiplos diretórios ################################################ Executable= mathematica Universe = vanilla input = test.data output = loop.out error = loop.error Log = loop.log Initialdir = run_1 Queue Initialdir = run_2 Queue

12 Submissão de Jobs ########################################## Utilização de restrições para a execução dos jobs ########################################## Executable= foo Requirements= Memory >= 256 && OpSys == "IRIX65" && Arch =="SGI" Rank= Memory >= 512 Image_Size= 64 Meg Error = err.$(Process) Input = in.$(Process) Output = out.$(Process) Log = foo.log Queue 150

13 Prioridade e Preempção Duas classes de prioridade: Usuário Job Jobs são iniciados com a prioridade padrão Prioridades de job não afetam as prioridades de usuário Distribuídas entre -20 (pior caso) e +20 (melhor caso) Utilização do comando condor_prio para alterar a prioridade dos jobs

14 Prioridade e Preempção Prioridade de Usuário Utilizada na alocação de recursos Quanto menor o valor, maior a prioridade Todo o usuário inicia com a prioridade de 0,5 Prioridade indica o número de máquinas alocadas pelo usuário O sistema sempre beneficia o usuário com menos máquinas alocadas (garantia de justiça) Preempção se necessário Somente os jobs iniciados em até 1 hora Administrador Condor poderá alterar as prioridades automáticas dos usuários

15 Dependência de Jobs Utilitário DAGMan Meta-Escalonador Gerencia a execução de jobs através de um grafo direcionado acíclico Jobs são os vértices e arestas são as dependências Submissão através de um arquivo texto com formato pré-definido

16 Dependência de Jobs # Arquivo diamond.dag Job A A.condor Job B B.condor Job C C.condor Job D D.condor Script PRE A top_pre.csh Script PRE B mid_pre.perl $JOB Script POST B mid_post.perl $JOB $RETURN Script PRE C mid_pre.perl $JOB Script POST C mid_post.perl $JOB $RETURN Script PRE D bot_pre.csh PARENT A CHILD B C PARENT B C CHILD D Retry C 3

17 Tutorial Condor Juliano Freitas da Silva Universidade do Vale do Rio dos Sinos Mestrado em Computação Aplicada Disciplina Programação Paralela e Distribuída Dezembro 2005


Carregar ppt "Tutorial Condor Juliano Freitas da Silva Universidade do Vale do Rio dos Sinos Mestrado em Computação Aplicada Disciplina Programação Paralela e Distribuída."

Apresentações semelhantes


Anúncios Google