1 / 35

Escalonamento em Grade

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)

Télécharger la présentation

Escalonamento em Grade

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Escalonamento em Grade Patrícia Kayser Vargas Mangan kayser@cos.ufrj.br

  2. Roteiro • Introdução • Escalonamento em ambiente de grade • Modelo GRAND • Considerações Finais 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 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 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 PDP - UFRGS

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

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

  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 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 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 PDP - UFRGS

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

  12. Application Description DAG inference Directed Acyclic Graph (DAG) Clustering Set of sub-DAGs Mapping Allocation Decisions Submission Results

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

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

  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 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 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 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 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 PDP - UFRGS

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

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

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

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

  24. Application Description DAG inference Directed Acyclic Graph (DAG) Clustering Escolha de Submission Manager Set of sub-DAGs Mapping Allocation Decisions Submission PDP - UFRGS Results

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

  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) PDP - UFRGS

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

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

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

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

  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 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) PDP - UFRGS

  33. Patrícia Kayser Vargas kayser@cos.ufrj.br http://www.cos.ufrj.br/grand PDP - UFRGS

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

  35. Experimentos em cluster de oito nodos gerenciado pelo Condor (SANCHES, J.A.L. 2004) PDP - UFRGS

More Related