Distributed Computing in Practice: The Condor Experience

Slides:



Advertisements
Apresentações semelhantes
SISTEMAS OPERACIONAIS
Advertisements

Sistemas Operacionais
Sistemas Operacionais
Arquitetura de Computadores
Noções de Sistemas Operacionais
Tópicos I – Prof. Eduardo Zagari Virtualização André Bernardes RA: César Kallas RA: Eduardo Stuchi RA: Rafael Curi RA:
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte Desempenho.
Sistemas Operacionais de Rede Professor: João Paulo de Brito Gonçalves
Sistemas Operacionais
Capítulo 1 Introdução 1.1 O que é um sistema operacional
INTRODUÇÃO A INFORMÁTICA
Modelos de Comunicação em Sistemas Distribuídos
Introdução à Informática
Augusto César Ferreira Gustavo Demmer Marcela Santana Márcia Back
Arquiteturas Diferentes
Chapter 4: Threads.
1 Data Integration in a Bandwidth-Rich World Ian Foster and Robert L. Grossman Universidade Federal Fluminense Doutorado em Computação – Engenharia de.
Interação Cliente Servidor
SSC SISTEMAS OPERACIONAIS I
Sistemas Distribuídos e Redes de Computadores
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Grids Computacionais: Arquiteturas, Tecnologias e Aplicações
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
Estudo de Caso 1: UNIX e LINUX
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais
Sistemas Operacionais
Estruturas de Controle
Auditoria de Segurança da Informação
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Tutorial Condor Juliano Freitas da Silva
GERENCIAMENTO DE REDES
Experiments with Strassen’s Algorithm: from sequential to parallel
1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.
1 Felipe L. SeverinoPDP Enhancing Grids for Massively Multiplayer Online Computer Games Felipe L. Severino Programação com Objetos Distribuídos paralela.
Classes e objetos P. O. O. Prof. Grace.
Organização, Sistemas e Métodos Prof. Luciano Costa.
Monitoramento de logs e registros de sistemas
Utilitários de Redes Prof. Andréa Chicri Torga Adaptações
Como aplicar leis da lógica
Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Avaliação de um processador FemtoJava multiprocesso CMP502 – Sistemas Embarcados Leomar Soares da Rosa Junior Porto Alegre, março de 2003.
Universidade São Marcos Curso: Gestão de Negócios Internacionais
SISTEMAS OPERACIONAIS
Sistemas Distribuídos
Conhecendo os Sistemas Operacionais
Módulo: Gerenciamento de Incidentes e
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Conceitos de J2EE para a WEB
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Computing on large scale distributed systems: experience of the XtremWeb project CMP-157 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA Prof. Cláudio Fernando Resin.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Rio Verde - Goiás - Brasil
Universidade de Mogi das Cruzes Tec
1 Segunda fase do projeto: Desenvolvimento do “Catálogo Virtual” Foco em Sistemas de Informação Desenvolvimento baseado no diagnóstico e na interação com.
SISTEMAS OPERACIONAIS I
Segurança e Auditoria de Sistemas
Introdução à Computação em Grade Porto Alegre, Maio/2006 Centro Nacional de Supercomputação CESUP/RS Realização: Projeto GradeUFRGS Material pertencente.
Soluções de Inteligência de Negócios para o Judiciário - TJMS IV Encontro de Gestores do SAJ - São Paulo - SP Leonardo Torres de Lima Secretaria de Tecnologia.
FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04 Prof. André Lucio.
Fathom™ Management: Uma Lição de Eficiência Luis B. Campos System Engineer.
Processos.
A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California
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.
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.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Transcrição da apresentação:

Distributed Computing in Practice: The Condor Experience Apresentado por Walfredo Cirne [Baseado nos slides de Marcelo Iury]

Projeto Condor Situado na Universidade de Wisconsin-Madison 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

Motivação Computação científica e problemas compute-intensive 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 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 Recursos dedicados e não dedicados Provê: Gerenciamento de aplicações Escalonamento Esquemas de prioridade Monitoração e gerenciamento de recursos Aplicações são Bag of Tasks CONDOR

Planejar × Escalonar Tipicamente escalonamento é monolítico Mas não em Condor, pois há multiplos donos de recurso Planejar é fazer com que o job do usuário rode mais rápido Escalonar é o gerenciamento do recurso pelo seu dono Planejar sobre escalonamento Posso melhorar o meu planejamento através de informações do escalonamento Escalonar dentro do planejamento

Estrutura do Condor Matchmaker ClassAds User Problem Solver Agent Resource job Plan of jobs claim Shadow Sandbox Details of the job Job

ClassAds Esquema extensível Entradas são do tipo (atributo, valor) Requirements e Rank Representa de políticas e requisitos Usuário Recurso Comunidade O algoritmo de matching está disponível em C++ e Java Open Source

Formando uma comunidade AgentB Match! Resource4 Resource1 Mem=10 & Windows Mem=20 & Unix Mem=50 & Linux Mem=150 Mem=100 & BSD Mem=10 & Windows Matchmaker Mem=200 AgentA Resource5 Linux & Rank Mem Mem=100 & BSD Resource2 Resource4 Mem=20 & Unix Resource3 Mem=150 & Linux Mem=50 & Linux

Condor - protocolo Faz um casamento entre o contexto de J e da Executora MatchMaker contexto de J contexto da máquina identificação de E Resource Agent requisitos de J ok, E SandBox Shadow fork J J Solicitante 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, argumentos, arquivos de entrada,... O sandbox é responsável por oferecer um lugar seguro para a aplicação rodar Proteger o recurso

Universo de Execução Ambiente de execução Condor provê: Universo padrão Universo Java

Universo Padrão 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 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 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-system-call 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 Nem toda aplicação pode ser checkpointable 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 Também é possível ter um servidor de checkpoint

Flocking: Agrupando comunidades Centralização? Novas diretivas: 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 Abordagens Agrupamento por gateway Agrupamento direto

Agrupamento por gateway Comunidade Sobralense Gateway Comunidade Judaica

Agrupamento - funcionamento MatchMaker MatchMaker contexto de J GW Contexto contexto de J E GW-Startd GW GW-Startd GW Agent Solicitante Resource E contexto de J contexto de J Startd child GW-Simulate Shadow Shadow J J OK, E OK,E

Agrupamento direto Comunidade Sobralense Comunidade Judaica

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

Condor + Globus

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 PBS, LSF, Sun Grid Engine… Fornece: 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) Armazena informação sobre aplicações ativas no agente Acopla alocação de recurso com execução de aplicação GridFTP Transferência de arquivos

Funcionamento básico GRAM GRAM GRAM

Protocolo GlideIn 1 2 3

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

NUG30 - Solved!!! Sender: goux@dantec.ece.nwu.edu Subject: Re: Let the festivities begin. Hi dear Condor Team, you all have been amazing. NUG30 required 10.9 years of Condor Time. In just seven days ! More stats tomorrow !!! We are off celebrating ! condor rules ! cheers, JP.

Áreas de pesquisa 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 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.