350 likes | 464 Views
Escalonamento em Grade. Patrícia Kayser Vargas Mangan kayser@cos.ufrj.br. Roteiro. Introdução Escalonamento em ambiente de grade Modelo GRAND Considerações Finais. Introdução. Escalonamento (informal...) processo de atribuir processos a processadores (ou tarefas a recursos)
E N D
Escalonamento em Grade Patrícia Kayser Vargas Mangan kayser@cos.ufrj.br
Roteiro • Introdução • Escalonamento em ambiente de grade • Modelo GRAND • Considerações Finais PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
Heterogeneidade de recursos Ambiente dinâmico Custos variáveis para acesso a base de dados Aplicações que executam por dias ou semanas Escalonamento em ambiente de grade • O que muda em relação ao escalonamento em cluster ou rede local? • Quais requisitos de escalonamento? PDP - UFRGS
Modelo GRAND • Grid Robust ApplicatioNDeployment • Resultado de uma tese em andamento • Doutoramento pela • PESC – COPPE/Sistemas – UFRJ • Orientadores: • Inês de Castro Dutra ines@cos.ufrj.br • Cláudio F. R. Geyer geyer@inf.ufrgs.br PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
independent low-coupled tightly-coupled Modelo GRAND • Aplicações podem ser modeladas como um grafo • Directed Acyclic Graph (DAG) • nodo = tarefa • aresta = dependência PDP - UFRGS
Application Description DAG inference Directed Acyclic Graph (DAG) Clustering Set of sub-DAGs Mapping Allocation Decisions Submission Results
Local Network Grid Nodes Submit Machine descrição da aplicação info.monitoração & resultados subgrafo de tarefas subgrafo de tarefas Submission Manager informações de estado e monitoração & resultados informações de estado e monitoração & resultados resultados Resource Management System Task Manager tarefas Application Manager
Modelo GRAND • GRID-ADL • GridApplication Description Language • 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 PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
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 PDP - UFRGS
DSC tlevel(n1)=0 Não pode reduzir n1 UEG = {n1, n2, n3, n4, n5, n6, n7} PTo=13 FL={n1(0+13), n4(0+9.5), n5(0+7.5)} PFL={} 1 n4 0.5 3 n5 1 n2 2 n3 6 1 4 1 2.5 2 n6 1 2.5 n7 1 PDP - UFRGS
DSC tlevel(n2)=4 Zerando (n1,n2), tlevel(n2)=1 n1 • 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={} 1 n4 0.5 3 n5 1 n2 2 n3 6 1 4 1 2.5 2 n6 1 2.5 n7 1 PDP - UFRGS
DSC n1 1 n4 0.5 3 n5 1 n2 2 n3 6 1 4 1 2.5 2 n6 1 2.5 n7 1 PDP - UFRGS
DSC n1 1 n4 0.5 3 n5 1 n2 2 n3 6 1 4 1 2.5 2 n6 1 2.5 PT=8 n7 1 PDP - UFRGS
Application Description DAG inference Directed Acyclic Graph (DAG) Clustering Escolha de Submission Manager Set of sub-DAGs Mapping Allocation Decisions Submission PDP - UFRGS Results
Local Network Grid Nodes Submit Machine descrição da aplicação info.monitoração & resultados subgrafo de tarefas subgrafo de tarefas Submission Manager informações de estado e monitoração & resultados informações de estado e monitoração & resultados resultados Resource Management System Task Manager tarefas Application Manager PDP - UFRGS
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) PDP - UFRGS
Modelo GRANDInteraçã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) PDP - UFRGS
Modelo GRANDInteraçã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 PDP - UFRGS
Modelo GRANDInteraçã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 PDP - UFRGS
Modelo GRANDInteraçã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 PDP - UFRGS
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 PDP - UFRGS
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) PDP - UFRGS
Patrícia Kayser Vargas kayser@cos.ufrj.br http://www.cos.ufrj.br/grand PDP - UFRGS
GRANDLinguagem de Descrição graph phase OUTPUT= "" 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.out transient ${OUTPUT} PDP - UFRGS
Experimentos em cluster de oito nodos gerenciado pelo Condor (SANCHES, J.A.L. 2004) PDP - UFRGS