Escalonamento em Grade Patrícia Kayser Vargas Mangan

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Gerenciamento de Projetos
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Introdução a Algoritmos
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Por Marcio Belo Mestrado em Computação PGCC/IC/UFF
Engenharia de Software
Sistemas Distribuídos
ARQUITETURA DE COMPUTADORES II
{anolan, Gerenciando dinamicamente a execução de tarefas com uma linguagem interpretada {anolan,
Introdução à Informática
SAPOTI SERVIDORES DE APLICAÇÕES CONFIÁVEIS TCP/IP Autores: Egon Hilgenstieler – Emerson F. F. Carara – Roverli.
Os Sistemas Multi-agente Viviane Torres da Silva
Algoritmos de escalonamento (com e sem o
Conceitos Básicos de Informática INTRODUÇÃO À TERMINOLOGIA BÁSICA
Co-simulação Régio Michelin.
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Processo Desenvolvimento de Software Tradicional
Estruturas de Controle
Tutorial Condor Juliano Freitas da Silva
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Alexandre Duarte Walfredo Cirne Francisco Brasileiro Patrícia Machado GridUnit: Using the Computational Grid to Speed up Software Testing Sessão de Ferramentas.
Classes e objetos Modelagem
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Protocolo CMB em simulação distribuída
Middleware e Sistemas Distribuídos
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Aprendizagem de Máquina - Agrupamento
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Introdução a Programação
ÍNDICES DE CARGA E DE DESEMPENHO SSC-642 SISTEMAS COMPUTACIONAIS DISTRIBUÍDOS.
MapReduce Conceitos e Aplicações
Linguagem de programação
Projeto de Banco de Dados
Sistemas Distribuídos
Simple Locality-Aware Co- allocation in Peer-to-Peer Supercomputing Felipe Jung Vilanova Rodrigo Gheller Luque.
Modelo GRAND: Gerenciamento de Aplicações em Ambiente de Grade Patrícia Kayser Vargas Mangan
Integração do Sistema AppMan de Gerenciamento de Aplicações para Ambiente de Grade com o Sistema Gerenciador de Recursos PBS Tonismar Régis Bernardo Patrícia.
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Universidade de Mogi das Cruzes Tec
Sistemas Operacionais
Cont. gerenciamento de rede Prof. Eliane Teresa Borela 2°p redes de Computadores.
Introdução à Computação em Grade Porto Alegre, Maio/2006 Centro Nacional de Supercomputação CESUP/RS Realização: Projeto GradeUFRGS Material pertencente.
A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California
C LASSIFICAÇÃO DE N ÓS Ricardo Prudêncio. L INK M INING - T AREFAS Relacionadas a Objetos Relacionadas a Arestas Relacionadas a Grafos Ranking de Nós.
Zeque - Grad. CC1 Sistemas Operacionais Curso de Ciência da Computação da UFPE Prof. José Queiroz - ZEQUE.
José Reinaldo Lemes Júnior Orientador: Prof. Wilian Soares Lacerda.
Seminário CI303 Lucas Nascimento Ferreira. Data sharing service: Propriedades Persistência Independentemente da aplicação Permitir o reutilização dos.
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROJETO FINAL
Introdução à NP-completude
A High Performance Java Middleware with a Real Application HUERT, Fabrice; CAROMEL, Denis; Bal, Henri E. Supercomputing 2004 Trabalho desenvolvido por:
A Worldwide Flock of Condors: Load Sharing among Workstation Clusters D. H. J Epema, Miron Livny, R. van Dantzig, X. Evers, and Jim Pruyne Apresentado.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
1 Gerenciamento de Recursos em Sistemas de Grande Escala Jeferson R. Marques Fabio Kon Departamento de Ciência da Computação IME-USP
Condor Services for the Global Grid: Interoperability between Condor and OGSA Clovis Chapman et al Proceedings of the 2004 UK e-Science All Hands.
Roteiro Introdução Arquitetura Características Algoritmos de Escalonamento Tipos de Grades Projetos Aplicações Conclusão Perguntas Thiago Soares de Carvalho.
Scalable Grid Application Scheduling via Decoupled Resource Selection and Scheduling VLADIMIR GUERREIRO Publicado em: IEEE International Symposium, 2006.
Grades Computacionais Redes de Computadores II Thiago Soares de Carvalho Professores Luís Henrique M. K. Costa Otto Carlos M. B. Duarte 2007.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Sistemas Operacionais
Arquitetura de computadores
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Simple Network Management Protocol
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
TÉCNICAS DE ESTIMATIVAS
Escalonamento e Execução de Workflows Científicos em Ambientes Multi-cluster ERAD-SP 2011 – Fórum de pós- graduação Silvio Luiz Stanzani.
Transcrição da apresentação:

Escalonamento em Grade Patrícia Kayser Vargas Mangan

05/10/2005PDP - UFRGS2 Roteiro Introdução Escalonamento em ambiente de grade Modelo GRAND Considerações Finais

05/10/2005PDP - UFRGS3 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/2005PDP - UFRGS4 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/2005PDP - UFRGS5 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 –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/2005PDP - UFRGS6 Escalonamento em ambiente de grade O que muda em relação ao escalonamento em cluster ou rede local? Quais requisitos de escalonamento? Heterogeneidade de recursosAmbiente dinâmico Aplicações que executam por dias ou semanas Custos variáveis para acesso a base de dados

05/10/2005PDP - UFRGS7 Modelo GRAND GRANDGrid Robust ApplicatioN Deployment Resultado de uma tese em andamento Doutoramento pela –PESC – COPPE/Sistemas – UFRJ Orientadores: –Inês de Castro –Cláudio F. R.

05/10/2005PDP - UFRGS8 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/2005PDP - UFRGS9 Modelo GRAND Premissas 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/2005PDP - UFRGS10 Modelo GRAND Premissas 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/2005PDP - UFRGS11 Modelo GRAND Aplicações podem ser modeladas como um grafo –Directed Acyclic Graph (DAG) –nodo = tarefa –aresta = dependência independent tightly-coupled low-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/2005PDP - UFRGS14 Modelo GRAND GRID-ADL –GridADL –Grid Application 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

05/10/2005PDP - UFRGS15 Modelo GRAND Particionamento (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/2005PDP - UFRGS16 Modelo GRAND Particionamento (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/2005PDP - UFRGS17 Modelo GRAND Particionamento (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/2005PDP - UFRGS18 Modelo GRAND Particionamento (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/2005PDP - UFRGS19 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/2005PDP - UFRGS20 DSC n1 n5 n4 n3 n2 n7 n UEG = {n1, n2, n3, n4, n5, n6, n7} PT o =13 FL={n1(0+13), n4(0+9.5), n5(0+7.5)} PFL={} tlevel(n1)=0 Não pode reduzir

05/10/2005PDP - UFRGS21 DSC n1 n5 n4 n3 n2 n7 n 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)=4 Zerando (n1,n2), tlevel(n2)=1

05/10/2005PDP - UFRGS22 DSC n1 n5 n4 n3 n2 n7 n

05/10/2005PDP - UFRGS23 DSC n1 n5 n4 n3 n2 n7 n PT=8

05/10/2005PDP - UFRGS24 DAG inference Clustering Mapping Submission Application Description Directed Acyclic Graph (DAG) Set of sub-DAGs Allocation Decisions Results Escolha de Submission Manager

05/10/2005PDP - UFRGS25 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/2005PDP - UFRGS26 Modelo GRAND Interaçã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/2005PDP - UFRGS27 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/2005PDP - UFRGS28 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/2005PDP - UFRGS29 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/2005PDP - UFRGS30 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/2005PDP - UFRGS31 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/2005PDP - UFRGS32 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/2005PDP - UFRGS33 Patrícia Kayser Vargas

05/10/2005PDP - UFRGS34 GRAND Linguagem 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}

05/10/2005PDP - UFRGS35 Experimentos em cluster de oito nodos gerenciado pelo Condor (SANCHES, J.A.L. 2004)