Grids Computacionais: Arquiteturas, Tecnologias e Aplicações

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistemas Distribuídos
Noções de Sistemas Operacionais
Francisco Vilar Brasileiro
Sistemas operacionais
Por Marcio Belo Mestrado em Computação PGCC/IC/UFF
Sistemas Operacionais - 3
Sistemas Operacionais - 4
{anolan, Gerenciando dinamicamente a execução de tarefas com uma linguagem interpretada {anolan,
Augusto César Ferreira Gustavo Demmer Marcela Santana Márcia Back
1 Data Integration in a Bandwidth-Rich World Ian Foster and Robert L. Grossman Universidade Federal Fluminense Doutorado em Computação – Engenharia de.
Algoritmo de Escalonamento para Aplicações em uma Grade Computacional Extensível aos Receptores Digitais de Televisão Bruno Guazzelli Batista Orientadora:
Algoritmo de Escalonamento para Aplicações em uma Grade Computacional Extensível aos Receptores Digitais de Televisão Bruno Guazzelli Batista Orientadora:
Univ. Federal de Campina Grande
Distributed Computing in Practice: The Condor Experience
Computação Paralela Walfredo Cirne Univ. Federal de Campina Grande
Grids Computacionais: Da Computação de Alto Desempenho a Serviços sob Demanda Walfredo Cirne Elizeu Santos-Neto
O que são Grids. Walfredo Cirne ufcg. edu
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Walfredo Cirne Universidade Federal.
Uso de Cluster de Computadores no Ambiente Corporativo
Tutorial Condor Juliano Freitas da Silva
GERENCIAMENTO DE REDES
Uma estratégia para implementar Computação Paralela
Alexandre Duarte Walfredo Cirne Francisco Brasileiro Patrícia Machado GridUnit: Using the Computational Grid to Speed up Software Testing Sessão de Ferramentas.
Mobilidade Cláudia Ribeiro.
1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.
Unidade 1-1 Processos e Threads
Maria Tereza Nagel Junho 2004 Grids de Agentes Processadores para Gerência de Redes de Computadores e Telecomunicações Orientador: Prof. Dr. Carlos Becker.
Programação Distribuída e Paralela
Segurança em Grades Computacionais
Algoritmos paralelos eficientes para alguns problemas de processamento de Cadeia de Caracteres Alunos: Diego Alencar dos Santos Melo Felipe Formagini Brant.
Tópicos em redes e sistemas distribuídos B
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
MapReduce Conceitos e Aplicações
GRADE Conceito Histórico –NASSA’s Information Power Grid (Primeira) “A” GRADE e “uma” GRADE; GRID Middleware –Exs: Condor, GLOBUS e Unicore;
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Simple Locality-Aware Co- allocation in Peer-to-Peer Supercomputing Felipe Jung Vilanova Rodrigo Gheller Luque.
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
Augusto Martins e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Utilização de Cluster de Computadores.
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
Introdução à Computação em Grade Porto Alegre, Maio/2006 Centro Nacional de Supercomputação CESUP/RS Realização: Projeto GradeUFRGS Material pertencente.
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Simulação distribuída e paralela Gabriel Baracuhy Thiago Martins.
Sistemas Operacionais
Definição um sistema de BD distribuído consistem em uma rede de várias ocorrências de bases de dados interligadas. característica principal para o usuário,
Sistemas Distribuidos
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Abr-17 Projetar Processos Projetar distribuição.
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROJETO FINAL
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.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Grids Computacionais O Projeto OurGrid.
1 Gerenciamento de Recursos em Sistemas de Grande Escala Jeferson R. Marques Fabio Kon Departamento de Ciência da Computação IME-USP
Um proposta de Arquitetura para protocolos entre grades.
Multiparadigma das Comunicações em Java para Grid Computing Fernanda R. Ramos Luiz Felipe Marco Eiterer Profº Alcides Calsavara, Ph.D.
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.
Estrutura de Interconexão
Grades Computacionais Redes de Computadores II Thiago Soares de Carvalho Professores Luís Henrique M. K. Costa Otto Carlos M. B. Duarte 2007.
Escola de Engenharia de Piracicaba Administração Sistema de Comunicação de Dados Aula 1 – Introdução Alberto Martins Júnior Flávio I. Callegari.
Apresentação Assuntos : Grids OurGrid
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Sistema Operacional NACHOS Luciano Gamba da Silva.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Transcrição da apresentação:

Grids Computacionais: Arquiteturas, Tecnologias e Aplicações Walfredo Cirne Univ. Federal de Campina Grande http://walfredo.dsc.ufcg.edu.br

Roteiro Conceituação Características de Grids Aspectos da Computação em Grid Soluções para Computação em Grid Perspectivas

O que é um Grid? Uma plataforma para execução de aplicações paralelas Amplamente distribuída Heterogênea Compartilhada Sem controle central Com múltiplos domínios administrativos Uma ferramenta de marketing

(fonte de recursos computacional) O que é um Grid? A metáfora da rede elétrica Grid Computacional (fonte de recursos computacional)

Plataformas de Execução de Aplicações Paralelas SMPs acoplamento MPPs NOWs Grids distribuição

SMP Memória CPU CPU ... CPU

MPP CPU Mem. ... Escalonador requisições

NOW requisições requisições requisições CPU CPU CPU ... Mem. Mem. Mem.

Grid CPU CPU CPU ... Mem. Mem. Mem. Internet

Características das Plataformas de Execução   SMPs MPPs NOWs Grids Conectividade excelente muito boa boa média/ruim Heterogeneidade nula baixa média alta Compartilhado não sim Imagem única comum múltipla Escala 10 1.000 100.000

Grids podem diferir bastante TeraGrid 4 centros de supercomputação norte-americanos Cada centro com milhares de processadores dedicados ao TeraGrid Canais de altíssima velocidade (40 GBits/s) Poder agregado de 13,6 TeraFlops SETI@home Ciclos ociosos de 1.6 milhões de processadores espalhados em 224 países Computa em média a uma velocidade de 10 Teraflops

Aspectos da Computação em Grid Além das questões de praxe em computação paralela, Computação em Grid adiciona os seguintes aspectos: Escalonamento de Aplicação Acesso e Autenticação Economias Grids Imagem do Sistema

Escalonamento de Aplicação Não é possível ter um escalonador controlando o Grid Tamanho e dispersão Múltiplos domínios administrativos Escalonadores de recurso Controlam alguns recursos no Grid Escalonadores de aplicação Escolhem quais recursos usar Particionam o trabalho da aplicação

Escalonamento de Aplicação Escalonador de Aplicação Escalonador de Recurso

Escalonador de Aplicação Necessita de informações sobre o Grid Sistemas de monitoramento: NWS, Remos Informações de monitoração são usadas em previsões de performance Necessita de um modelo de performance da aplicação Portanto, funciona apenas para uma classe de aplicações

Distribuição de Trabalho Jacobi para um MPP

Jacobi AppLeS Escalonador pioneiro para Jacobi 2D Escolhe quais processadores usar Distribui o trabalho entre os processadores escolhidos Usa predições NWS Usa um modelo de performance de Jacobi Ti = Ai  Pi + Ci, onde: Ti é o tempo para o processador i executar uma iteração Ai é a área da submatriz alocada ao processador i Pi é o tempo que o processador i leva para computar um elemento Ci é o tempo que o processador i leva para comunicar suas fronteiras

Distribuição de Trabalho AppLeS Jacobi

Work Queue with Replication Solução de escalonamento para aplicações Bag of Tasks Não depende de informação sobre o Grid ou sobre as tarefas Envia uma tarefa para cada máquina disponível Quando não há mais tarefas para enviar, as ainda em execução são replicadas Efeciente, mas desperdiça ciclos Escalonador do MyGrid

Desempenho do WRQ

Desperdício do WQR

Acesso e Autenticação Com vários domínios administrativos, como se dá acesso e autenticação? Idealmente gostariamos de ter um login único E propagável para os processos que criamos Segurança é um aspecto muito importante aqui

Globus GRAM e GSI Mapeamento seguro da identificação GSI global para um userid local Global: C=US, O=University of California San Diego, OU=Grid Computing Lab, CN=Walfredo Cirne Local: walfredo (em thing1), u15595 (em bh) Submissão e controle de tarefas via GRAM Independência do escalonador de recurso Proxy para delegação de autenticação

Globus GRAM e GSI

Imagem do Sistema Imagem do sistema são as asbtrações que nos permiter lidar com um sistema computacional Arquivo, diretório, processo, usuário, grupo, etc Com vários domínios administrativos, a imagem do sistema é heterogenea Complica tremendamente o uso do Grid Soluções Imagem do sistema implementada a nível de usuário [exemplo: Condor] Novas asbtrações para se lidar com o Grid [exemplo: MyGrid]

Redirecionamento de System Calls do Condor

Abstrações MyGrid Máquina base  máquina do grid Tarefa = inicial + remota + final inicial e final rodam na máquina do grid remota roda na máquina do grid Serviços Playpen Espelhamento Transferência de arquivos

Usando MyGrid # inicial mg-services mirror $PROC tarefa mg-services put $PROC ENTRADA.$TASK $PLAYPEN # remota tarefa < ENTRADA > SAÍDA # final mg-services get $PROC $PLAYPEN/SAÍDA resultados/SAÍDA.$TASK

Economias Grid Como os Grids são formados? Atualmente, o acesso aos componentes do Grid é manualmente configurado Pense no arquivo de mapeamento GRAM do id global GSI para o userid local Isso obviamente limita a escala dos Grids Gostariamos de poder dinamicamente ganhar acesso a recursos

Economias Grid Uma idéia é criar um mercado, onde recursos computacionais possam ser comprados e vendidos Mercados computacionais envolvem a definição de QoS para os vários recursos e a implantação de infra-estrutura Ativa área de pesquisa

Soluções para Computação em Grid Globus Condor MyGrid

Globus Conjunto de serviços para Computação em Grid Solução mais famosa e mais amplamente usada Evoluindo para integração com WebServices Não é uma solução completa (out of the box) Falta escalonamento de aplicação, imagem do sistema, economias grid

Principais Serviços Globus GSI Autenticação única no Grid GRAM Submissão e controle de tarefas MDS Informações e diretórios Nexus Comunicação entre tarefas MPI-G MPI sobre Nexus GASS Transferência de arquivos GridFTP Transferência de arquivos

Alocação e Descoberta de Recursos em Globus

Alocação e Descoberta de Recursos em Globus

Condor Condor é um sistema que usa ciclos ociosos para computação de alta vazão Condor foi inicialmente projetado para NOWs Aplicações são Bag of Tasks Tarefas são submetidas ao Matchmaker Quando uma máquina fica ociosa, ela informa ao Matchmaker, que providência uma tarefa Tarefas podem terminar abruptamente Condor usa checkpointing e migração de tarefas para garantir progresso

Matchmaker Condor

Condor no Grid Flock of Condors Condor-G Cooperação totalmente descentralizada de Condor pools Dois pools trocam tarefas através de gateways Condor-G Escalonador Condor usa recursos de Condor pools e recursos acessíveis via Globus

MyGrid Solução completa para aplicações Bag of Tasks Meu Grid são todas as máquinas que eu posso acessar Casa perfeitamente com aplicações Bag of Tasks Arquitetura baseada na Grid Machine Abstraction

Grid Machine Abstraction Arquitetura MyGrid Home Machine Scheduler Grid Machine Abstraction Globus Proxy User Agent Proxy Grid Script ... Grid Machine Grid Machine Grid Machine Globus GRAM User Agent ...

Resultados MyGrid Semana passada rodamos uma aplicação de BioFísica (Paulo Bisch/UFRJ) em um Grid com ~ 60 máquinas, envolvendo LSD/UFCG, NCE/UFRJ, BioFísica/UFRJ, LNCC, NACAD, UniSantos, ApeLab/UCSD e CircusC/SDSC 60 tarefas executaram em ~ 90 minutos Cada tarefa roda por 45 minutos em uma máquina dedicada nova

Perspectivas Computação em Grid sendo aplicada em outros contextos, além de PAD Grid forum Modelos de programação mais sofisticados Data grid

Grid no Brasil Ainda incipiente, mas começando a decolar 9 grupos em middleware 5 grupos de aplicação 2 grupos querem colocar grids em produção Estamos fazendo um levantamento Se você trabalha com Grid, me procure ao fim da apresentação