Distributed Computing in
Practice: The Condor
Experience
Apresentado por Walfredo Cirne
[Baseado nos slides de Marcelo Iury]
Projeto Condor



2
Situado na Universidade de WisconsinMadison
Objetiva desenvolver, implementar, implantar,
e evoluir mecanismos e políticas para
Computação de Alta Vazão (HTC) numa
infra-estrutura distribuída e heterogênea.
Financiado pelo Governo Americano (DoD,
DoE, NASA, NSF, NIH), AT&T, IBM, INTEL,
Microsoft, …
Equipe
3
Motivação




4
Computação científica e problemas computeintensive
High-Throughput Computing (HTC) (diferente
de High Performance Computing)
Custo
Wait-While-Idle
Diretiva de design: Flexibilidade

Deixe o dono com o controle do recurso
 Uso
de políticas
 Donos felizes -> mais recursos

Deixe as comunidades crescerem
naturalmente
 Requisitos
e relacionamentos mudam
 Contratos não são precisos

Planeje sem ser exigente
 Não
5
existe funcionamento ideal sempre
Condor


Explorar a capacidade de execução de recursos
distribuídos considerando longos períodos de
tempo.
High Throughput e Opportunistic Computing


Provê:





Recursos dedicados e não dedicados
Gerenciamento de aplicações
Escalonamento
Esquemas de prioridade
Monitoração e gerenciamento de recursos
Aplicações são Bag of Tasks
CONDOR
6
Planejar × Escalonar

Tipicamente escalonamento é monolítico




Planejar é fazer com que o job do usuário rode mais
rápido
Escalonar é o gerenciamento do recurso pelo seu
dono
Planejar sobre escalonamento


7
Mas não em Condor, pois há multiplos donos de recurso
Posso melhorar o meu planejamento através de informações
do escalonamento
Escalonar dentro do planejamento
Estrutura do Condor
Matchmaker
ClassAds
User
Problem Solver
Plan of
jobs
Agent
job
Resource
claim
Shadow
Sandbox
Details of the
job
Job
8
ClassAds




Esquema extensível
Entradas são do tipo (atributo, valor)
Requirements e Rank
Representa de políticas e requisitos




O algoritmo de matching está disponível em C++
e Java

9
Usuário
Recurso
Comunidade
Open Source
Formando uma comunidade
AgentB
Match!
Resource4
Resource1
Mem=10
Mem=10
& Windows
& Windows
Matchmaker
Mem=200
Mem=100
& BSD
AgentA
Linux & Rank Mem
Resource5
Mem=100
& BSD
Mem=20
& Unix
Resource2
Mem=20
& Unix
Mem=50
& Linux
Resource4
Resource3
Mem=50
& Linux
10
Mem=150
& Linux
Mem=150
& Linux
Condor - protocolo
MatchMaker
Faz um casamento
entre o contexto de J
e da Executora
contexto da máquina
contexto de J
identificação de E
Resource
Agent
fork
Shadow
requisitos de J
ok, E J
SandBox
J
Solicitante
11
Executora
Execução Particionada

Cooperação entre o agente e a recurso
 Shadow

e Sandbox
O shadow provê absolutamente tudo
necessário para execução da aplicação
 Executável,

O sandbox é responsável por oferecer um
lugar seguro para a aplicação rodar
 Proteger
12
argumentos, arquivos de entrada,...
o recurso
Universo de Execução


Ambiente de execução
Condor provê:
 Universo
padrão
 Universo Java
13
Universo Padrão




14
Reproduz o ambiente
do usuário
Chamadas I/O remota e
redirecionamento
System Calls sobre RPC
seguro
Checkpoint
Compilar a aplicação
com a biblioteca Condor
C
Universo Java




15
Passado: Envio da JVM
Ambiente de execução
Java
Operações Java I/O
chama um proxy I/O
gerenciado pelo
sandbox
O proxy permite que
ultrapassar obstáculos
(e.g. firewalls)
Chamadas de Sistema Remotas





16
O Condor provê a ilusão de execução na
máquina que submete a aplicação
Tal ilusão conta com a ajuda do Remote Unix
(RU)
RU provê um mecanismo de remote-systemcall
A idéia é a de reforçar a segurança no lado
remoto
Porém, dificulta a execução de aplicações
data-intensive.
Checkpoint


Provê tolerância a falhas
Exige a recompilação da aplicação


Copia as informações necessárias em um arquivo




Segmentos de dados e pilha
Registradores
Arquivos abertos são salvos no segmento de dados do
programa
O estado é escrito em um arquivo de checkpoint
(executável) na máquina que submeteu o job
através do mecanismo de remote system call

17
Nem toda aplicação pode ser checkpointable
Também é possível ter um servidor de checkpoint
Flocking: Agrupando
comunidades


Centralização?
Novas diretivas:




Abordagens


18
A instalação e manutenção de quaisquer mecanismos
adicionais deve ser fácil
Adicionar e retirar uma comunidade de um agrupamento
deve ser fácil
Deve ser fácil definir acordos de compartilhamento de
recursos entre os donos das comunidades
Agrupamento por gateway
Agrupamento direto
Agrupamento por gateway
Comunidade Sobralense
Gateway
Gateway
Comunidade Judaica
19
Agrupamento - funcionamento
MatchMaker
MatchMaker
contexto de J
Contexto
contexto de J
GW
E
GW-Startd
Agent
Shadow
Solicitante
Resource
contexto de J
OK, E
GW-Startd
contexto de J
GWSimulate
Shadow
Startd
child
GW
J
20
E
OK,E
GW
J
Agrupamento direto
Comunidade Sobralense
Comunidade Judaica
21
Agrupamento: Considerações

Agrupamento por gateway
 Provê
benefícios imediato e transparente para
todos os usuários
 Requer acordos organizacionais
 Administração complexa
 Não sobreviveu a evolução do Condor

Agrupamento direto
 Acordo
entre um individuo e outra organização
 Benefício para o individuo que tomou a iniciativa
22
Condor + Globus
23
Condor-G


Permite usuários utilizarem recursos de múltiplos
domínios como se ele pertencessem a um domínio
pessoal.
Submissão de aplicações para vários tipos de
sistemas batch


Fornece:




24
PBS, LSF, Sun Grid Engine…
Acesso a recursos remotos
Gerenciamento de computação
Ambiente de execução remota
Casamento do Condor com o Globus
Serviços usados no Condor-G

Grid Security Infrastructure (GSI)




Prover uma autenticação única
Mapeia as credenciais de acesso para mecanismos locais de
autenticação
Gerenciamento das credenciais
Grid Resource Allocation & Management (GRAM)



Acesso remoto de recursos e submissão de requisição
Two-phase commit (Projeto Condor)
Tolerância a falhas (Projeto Condor)



Acopla alocação de recurso com execução de aplicação
GridFTP

25
Armazena informação sobre aplicações ativas no agente
Transferência de arquivos
Funcionamento básico
GRAM
26
GRAM
GRAM
Protocolo GlideIn
27
Solucionador de Problemas


É um serviço de alto nível construído em
cima do agente
Modelo de programação para gerenciar um
grande número de aplicações
 master-worker

Ideal para Bag-of-tasks
 directed


28
acyclic graph manager (DAGMan)
Execução de aplicações com dependências
Permite execução de programas antes e após uma
aplicação
Condor no Mundo
29
NUG30 - Solved!!!
Sender: [email protected]
Subject: Re: Let the festivities begin.
Hi dear Condor Team,
you all have been amazing. NUG30 required
Condor Time. In just
seven days !
10.9 years of
More stats tomorrow !!! We are off celebrating !
condor rules !
cheers,
JP.
30
Áreas de pesquisa





31
Serviços de gerenciamento de tarefas para
aplicações Grid (Condor-G, Stork)
Serviços para gerenciamento de recursos (Condor,
GlideIns, NeST)
Tecnologia de I/O distribuído (Parrot, Kangaroo,
NeST)
Workflow para tarefas (DAGMan, Condor, Hawk)
Monitoração e gerenciamento distribuído (HawkEye)
Considerações finais




32
Artigo bem organizado
Apresenta a evolução do
sistema
Estrutura permaneceu a
mesma, apesar da
evolução
Várias soluções que podem
ser usadas por outros
sistemas.
Download

Apresentação - Walfredo Cirne