Escalonamento em Grade Patrícia Kayser Vargas Mangan [email protected].
Transcript of Escalonamento em Grade Patrícia Kayser Vargas Mangan [email protected].
05/10/2005 PDP - UFRGS 2
Roteiro
• Introdução
• Escalonamento em ambiente de grade
• Modelo GRAND
• Considerações Finais
05/10/2005 PDP - UFRGS 3
Introdução
• Escalonamento (informal...)– processo de atribuir processos a
processadores (ou tarefas a recursos)– existem vários algoritmos presentes na
literatura– problema NP-completo– uso de heurísticas
05/10/2005 PDP - UFRGS 4
Introdução
• Classificação – taxonomia Casavant & Kuhl (1988)– com relação ao momento em que é realizada
a escolha dos processadores• estático: atribuição antes do início da execução• dinâmico: durante a execução, atribui a medida
que recursos são disponibilizados• estático+dinâmico = uso de informações
dinâmicas diminuindo overhead na execução
05/10/2005 PDP - UFRGS 5
Escalonamento em ambiente de grade
• Computação em grade (grid computing)– infra-estrutura computacional
• um conjunto virtual de recursos
– grande número de recursos• elementos em torno de 1000-10000
– recursos heterogêneos e geograficamente distribuídos
• recursos se espalham em múltiplos domínios administrativos
– ambiente dinâmico– aplicações de grande demanda computacional
05/10/2005 PDP - UFRGS 6
Escalonamento em ambiente de grade
• O que muda em relação ao escalonamento em cluster ou rede local?
• Quais requisitos de escalonamento?
Heterogeneidade de recursos Ambiente dinâmico
Aplicações que executam por dias ou semanas
Custos variáveis para acesso a base de dados
05/10/2005 PDP - UFRGS 7
Modelo GRAND
• GGrid RRobust AApplicatioNN DDeployment
• Resultado de uma tese em andamento
• Doutoramento pela – PESC – COPPE/Sistemas – UFRJ
• Orientadores:– Inês de Castro Dutra [email protected]– Cláudio F. R. Geyer [email protected]
05/10/2005 PDP - UFRGS 8
Modelo GRAND
• Motivação: aplicações formadas por um grande número de tarefas– escalonamento e controle são desafios– sobrecarga na máquina de submissão– controle e particionamento manual proibitivos
• grande quantidade de recursos• tempo longo de execução
• Objetivo: tratar dois problemas– particionamento da aplicação– gerenciamento da aplicação
05/10/2005 PDP - UFRGS 9
Modelo GRANDPremissas
• Ambiente heterogêneo
• Um grande número de tarefas será submetido
• As tarefas não se comunicam por troca de mensagens
• Tarefas podem ter dependências com outras tarefas devido a compartilhamento de arquivos
05/10/2005 PDP - UFRGS 10
Modelo GRANDPremissas
• Um grande número de arquivos pode ser manipulado pelas tarefas
• Arquivos grandes podem ser usados na computação
• O ambiente de grade utilizado é seguro
• Cada nodo da grade possui o seu gerenciador de recursos local
• Cada nodo da grade disponibiliza informações sobre os recursos locais
05/10/2005 PDP - UFRGS 11
Modelo GRAND
• Aplicações podem ser modeladas como um grafo– Directed Acyclic Graph (DAG)– nodo = tarefa– aresta = dependência
independent tightly-coupledlow-coupled
DAG inference
Clustering
Mapping
Submission
Application Description
Directed Acyclic Graph (DAG)
Set of sub-DAGs
Allocation Decisions
Results
descrição da aplicação
Task Manager
Application Manager
informações de estado e monitoração &resultados
Grid Nodes
Resource Management
System
resultados
tarefas
informações de estado e monitoração &resultados
info.monitoração& resultados
Local Network
Submission Manager
Submit Machine
subgrafo de tarefas
subgrafo de tarefas
05/10/2005 PDP - UFRGS 14
Modelo GRAND
• GRID-ADL – GridGrid AApplication DDescription LLanguage– sintaxe simples e de alto nível
• alguns elementos da linguagem de descrição do Condor DAGMan
– detecção automática do DAG• Globus Chimera também infere o DAG da aplicação
– algumas construções para ajudar a expressar aplicações complexas
• comandos inspirados em linguagens de script
05/10/2005 PDP - UFRGS 15
Modelo GRANDParticionamento (Clustering)
• Inicialmente as tarefas são agrupadas em subgrafos– sem informações do ambiente de execução– com o objetivo de gerar grupos a serem
submetidos de forma independente– objetivo é obter grupos de baixa
granulosidade • que são submetidos como um todo (ao invés de
tarefa a tarefa)• que podem vir a ser reagrupados se necessário
05/10/2005 PDP - UFRGS 16
Modelo GRANDParticionamento (Clustering)
• Algoritmo de acordo com a aplicação (1/3):– independent tasks:
• cada tarefa pode ser atribuída a qualquer nodo da grade em qualquer ordem
• tarefas são agrupadas pela ordem de definição em blocos de tamanho pequeno
05/10/2005 PDP - UFRGS 17
Modelo GRANDParticionamento (Clustering)
• Algoritmo de acordo com a aplicação (2/3):– loosely-coupled tasks:
• tarefas possuem dependências, mas independentes entre si dentro de uma fase
• detecta fases, dentro de cada fase aplica algoritmo de independent tasks
05/10/2005 PDP - UFRGS 18
Modelo GRANDParticionamento (Clustering)
• Algoritmo de acordo com a aplicação (3/3):– tightly-coupled tasks:
• tarefa possuem dependências, ideal manter localidade de dados
• uso do algoritmo DSC (Dominant Sequence Clustering)
– algoritmo clássico– baixa complexidade
05/10/2005 PDP - UFRGS 19
DSC
• DAG com tarefas e arestas valoradas• modelo macro-dataflow
– tarefa recebe todas as entradas antes de iniciar e executa sem interrupção
• número ilimitado de processadores• inicialmente cada nodo pertence à um cluster• clusters são agrupados se diminuir a seqüência
dominante– caminho crítico do DAG escalonado
05/10/2005 PDP - UFRGS 20
DSCn1
n5n4
n3n2
n7
n6
3 0.5
14
2.52
2.5
1
12
1
1
1
6
UEG = {n1, n2, n3, n4, n5, n6, n7}
PTo=13
FL={n1(0+13), n4(0+9.5), n5(0+7.5)}
PFL={}
tlevel(n1)=0Não pode reduzir
05/10/2005 PDP - UFRGS 21
DSCn1
n5n4
n3n2
n7
n6
3 0.5
14
2.52
2.5
1
12
1
1
1
6
• UEG = {n2, n3, n4, n5, n6, n7}
• PTo=13
• FL={n2(4+9), n3(1.5+8), n4(0+9.5), n5(0+7.5)}
• PFL={}
tlevel(n2)=4Zerando (n1,n2),
tlevel(n2)=1
05/10/2005 PDP - UFRGS 22
DSCn1
n5n4
n3n2
n7
n6
3 0.5
14
2.52
2.5
1
12
1
1
1
6
05/10/2005 PDP - UFRGS 23
DSCn1
n5n4
n3n2
n7
n6
3 0.5
14
2.52
2.5
1
12
1
1
1
6
PT=8
05/10/2005 PDP - UFRGS 24
DAG inference
Clustering
Mapping
Submission
Application Description
Directed Acyclic Graph (DAG)
Set of sub-DAGs
Allocation Decisions
Results
Escolha de Submission Manager
05/10/2005 PDP - UFRGS 25
descrição da aplicação
Task Manager
Application Manager
informações de estado e monitoração &resultados
Grid Nodes
Resource Management
System
resultados
tarefas
informações de estado e monitoração &resultados
info.monitoração& resultados
Local Network
Submission Manager
Submit Machine
subgrafo de tarefas
subgrafo de tarefas
05/10/2005 PDP - UFRGS 26
Modelo GRANDInteração entre os componentes (1/5)
• Application Manager:– ao se tornar ativo
• broadcast na rede local• Submission Managers existentes respondem (local e
estado)
– quando aplicação for submetida • ativado por demanda• realiza o particionamento em subgrafos• escolhe um ou mais Submission Managers para enviar
os subgrafos (pode instanciar novos se necessário)
05/10/2005 PDP - UFRGS 27
Modelo GRAND Interação entre os componentes (2/ 5)
• Application Manager:– heurísticas para escolha dos Submission Managers (SM)
• uso de comunicação periódica para detecção de SM falhos ou sobrecarregados
• limite máximo de grafos para cada SM em função de poder computacional da máquina
• cálculo de peso para cada SM em função de histórico de execuções (peso maior melhor escolha)
05/10/2005 PDP - UFRGS 28
Modelo GRAND Interação entre os componentes (3/ 5)
• Submission Manager:– recebem subgrafos (representação interna)– comunicação periódica com o Application Manager indicando progresso da execução
– pode haver comunicação com outros Submission Manager devido dependências entre subgrafos
05/10/2005 PDP - UFRGS 29
Modelo GRAND Interação entre os componentes (4/5)
• Submission Manager:– escolhem nodo da grade considerando:
• requisitos da aplicação (alguns nodos podem não atender requisitos mínimos)
• limite máximo de subgrafos por nodo da grade (considera submissões em andamento)
• cálculo de peso para cada nodo em função de histórico de execuções (peso maior melhor escolha)
– escolha do nodo da grade aciona um Task Manager específico
05/10/2005 PDP - UFRGS 30
Modelo GRAND Interação entre os componentes (5/ 5)
• Task Manager:– pode ser ativado/desativado em função das
necessidades do Submission Manager– transforma subgrafos (representação interna) em
formato apropriado para submissão• p.ex. cria arquivo de submissão do Condor e executa
um condor_submit
– comunicação periódica com o Submission Manager indicando progresso da execução
05/10/2005 PDP - UFRGS 31
Considerações Finais
• GRAND: gerenciamento de aplicações em ambiente de grid– organização hierárquica de controladores– a carga da máquina do usuário é
compartilhada com outra máquinas– proposta de uma linguagem de descrição de
alto nível– protótipo em andamento
05/10/2005 PDP - UFRGS 32
Considerações Finais
• Trabalhos futuros:– novos experimentos com algoritmos de
particionamento– protótipo:
• adequação a outros aspectos do modelo• melhorias na interface gráfica do protótipo• experimentos em grade de teste (UFRJ, UFRGS,
LNCC e UERJ)
05/10/2005 PDP - UFRGS 34
GRANDLinguagem de Descrição
graph phaseOUTPUT = ""foreach ${TASK} in 1..5 { task ${TASK} -e ${TASK}”.exe” -i ${TASK}”.in” -o ${TASK}”.out” OUTPUT = ${OUTPUT} + ${TASK}+”.out "}task 6 -e 6.exe -i ${OUTPUT} -o data.outtransient ${OUTPUT}
05/10/2005 PDP - UFRGS 35
• Experimentos em cluster de oito nodos gerenciado pelo Condor (SANCHES, J.A.L. 2004)