What is the Grid - PCS
What is the Grid - PCS
What is the Grid - PCS
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>PCS</strong> 5712 - Computação Pervasiva<br />
Grade Computacional<br />
(<strong>Grid</strong> Computing )<br />
Joelle Quaini<br />
Tereza Cr<strong>is</strong>tina M. de B. Carvalho<br />
Carlos Eduardo Cugnasca<br />
Marco Antonio Guttierez<br />
LARC<br />
LARC<br />
LAA<br />
INCOR
Roteiro<br />
• Conceituação<br />
• Motivação<br />
• Definição<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Grade está relaciona com<br />
Mas não é a mesma co<strong>is</strong>a<br />
– Computação Paralela<br />
(Usando muitos processadores)<br />
– Computação d<strong>is</strong>tribuída<br />
(Sobre uma rede largamente d<strong>is</strong>tribuída – WAN)<br />
– Computação Pervasiva<br />
(Em todo lugar a qualquer momento deverá ser possível obter<br />
poder computacional.)
Grade está relaciona com<br />
Mas não é a mesma co<strong>is</strong>a<br />
Ambiente D<strong>is</strong>tribuído Comum<br />
Grade Computacional<br />
Conjunto virtual de nós<br />
Usuário tem acesso a todos os<br />
nós do conjunto<br />
Acesso ao nó significa acesso a<br />
todos os recursos<br />
Nós pertencem ao mesmo<br />
domínio admin<strong>is</strong>trativo<br />
Sem Qualidade de Serviço<br />
Elementos do Conjunto: 10 -100<br />
– praticamente estático<br />
Conjunto virtual de recursos<br />
Usuários tem acesso as<br />
organizações virtua<strong>is</strong><br />
Acesso a um recurso pode ser<br />
restrito<br />
Recursos se espalham por<br />
múltiplos domínios<br />
Com Qualidade de Serviço<br />
Elementos do Conj. 1000 –<br />
10000 - Dinâmico
MOTIVAÇÃO<br />
• Conceituação<br />
• Motivação:<br />
– Áreas de Pesqu<strong>is</strong>a<br />
• Científicas<br />
• Industria<strong>is</strong><br />
– Mercado<br />
– Economia Financeira (overprov<strong>is</strong>ioning)<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Motivação<br />
• Aplicações usadas na Grade Computacional<br />
– Ciências Biológicas: anal<strong>is</strong>e e decodificação de<br />
seqüências de informações químicas e biológicas.<br />
– Serviços Financeiros: execução de longos e<br />
complexos modelos financeiros. Dec<strong>is</strong>ões prec<strong>is</strong>as.<br />
– Serviços de Engenharia: automotivo e aeroespacial<br />
para testes de dados intensivos.<br />
– Jogos colaborativos: ma<strong>is</strong> usuários “on line”.
Motivação<br />
• Aplicações Cientificas prec<strong>is</strong>am de grande capacidade de<br />
processamento<br />
– S<strong>is</strong>temas de tempo real.<br />
– S<strong>is</strong>temas para prev<strong>is</strong>ão de tempo.<br />
– Anál<strong>is</strong>e de Prospecção de Petróleo.<br />
– Reconhecimentos de Padrões.<br />
– Algoritmos de Otimização.<br />
• Acesso compartilhado a um hardware caro e especifico,<br />
como uma placa de compressão de vídeo MPEG-2.
Motivação<br />
“<strong>Grid</strong> é tão importante quanto a web. É o futuro da tecnologia, é onde<br />
estamos colocando todas as nossas fichas”,<br />
Vice-presidente Oracle América Latina, Luiz Me<strong>is</strong>sler<br />
• Uma grande empresa, hoje, tem s<strong>is</strong>temas financeiros, de folha de pagamento,<br />
de recursos humanos, de relacionamento com clientes,cada um rodando em um<br />
grande servidor dedicado, todos dimensionados para momentos de pico<br />
"A cada três meses, é prec<strong>is</strong>o fechar os livros do movimento<br />
financeiro. No restante do trimestre, só se usa de 25% a 30% da<br />
capacidade“<br />
Vice-presidente de tecnologias da Oracle, Andrew Mendelsohn.
Grades Computaciona<strong>is</strong><br />
V<strong>is</strong>ão em Alto nível de uma grade computacional<br />
“<strong>Grid</strong>s and <strong>Grid</strong> Technologies for Wide-Area D<strong>is</strong>tributed Computing”
Metáfora da Rede Elétrica<br />
GRID<br />
Computacional
O que é um <strong>Grid</strong>?<br />
• Uma plataforma para execução de aplicações paralelas<br />
ou seria<strong>is</strong><br />
– Amplamente d<strong>is</strong>tribuída<br />
– Heterogênea<br />
– Compartilhada<br />
– Sem controle central<br />
– Com múltiplos domínios admin<strong>is</strong>trativos<br />
• Uma ferramenta de marketing
Necessidade de Definição<br />
• Compute <strong>Grid</strong>s<br />
• Data <strong>Grid</strong>s<br />
• Science <strong>Grid</strong>s<br />
• Access <strong>Grid</strong><br />
• Knowledge <strong>Grid</strong>s<br />
• Bio <strong>Grid</strong>s<br />
• Sensor <strong>Grid</strong>s<br />
• Cluster <strong>Grid</strong>s<br />
• Campus <strong>Grid</strong>s<br />
• Tera <strong>Grid</strong>s<br />
• Commodity <strong>Grid</strong>s<br />
•…
DEFINIÇÃO<br />
• Conceituação<br />
• Motivação<br />
• Definição:<br />
– Primeiros Conceitos (Ian Foster)<br />
– Conceitos Fundamentados (Ian Foster)<br />
– Como identificar uma Grade?<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Definição<br />
• Ian Foster e Carl Kesselman (1998)<br />
“A computational grid <strong>is</strong> a hardware and software<br />
infrastructure that provides dependable,<br />
cons<strong>is</strong>tent, pervasive, and inexpensive access to<br />
high-end computational capabilities”
Na prática<br />
• O <strong>Grid</strong> prec<strong>is</strong>a ser:<br />
– Confiável<br />
– Cons<strong>is</strong>tente<br />
– Pervasivo<br />
• Recursos acessíve<strong>is</strong> a partir de qualquer ponto do GRID<br />
• Devem ser d<strong>is</strong>poníve<strong>is</strong> dentro de uma política de<br />
economia a qualquer hora<br />
– Barato
Definição<br />
• Ian Foster, Carl Kesselman e (2000)<br />
“The sharing that we are concerned with <strong>is</strong> not primary file<br />
exchange but ra<strong>the</strong>r direct access to computers,<br />
software, data, and o<strong>the</strong>r resources, as <strong>is</strong> required by a<br />
range of collaborative problem-solving and resourcebrokering<br />
strategies emerging in industry, science, and<br />
engineering. Th<strong>is</strong> sharing <strong>is</strong>, necessarily, highly<br />
controlled, with resource providers and consumers<br />
defining clearly and carefully just what <strong>is</strong> shared, who <strong>is</strong><br />
allowed to share, and <strong>the</strong> conditions under which sharing<br />
occurs. A set of individuals and/or institutions defined by<br />
such sharing rules from what we call a virtual<br />
organization.”
Na Prática<br />
• O compartilhamento de recursos deve ser muito<br />
bem controlado, definindo claramente:<br />
– Fornecedores<br />
– Consumidores<br />
– Recursos utilizados<br />
– Quem está autorizado a acessar qual função do<br />
recurso e sobre qua<strong>is</strong> condições<br />
– Organizações Virtua<strong>is</strong>
Organizações Virtua<strong>is</strong><br />
• Um conjunto de indivíduos ou instituições que<br />
compartilham recursos sobre determinadas regras são<br />
as organizações virtua<strong>is</strong> (VO).<br />
• Organização Virtual: quando temos participantes que<br />
desejam compartilhar recursos para poder concluir uma<br />
tarefa. O compartilhamento está além de apenas troca<br />
de dados, podendo envolver acesso direto a software<br />
remoto, computadores, dados, sensores e outros<br />
recursos.<br />
• Single Sign-on
Organizações Virtua<strong>is</strong> (VO)<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
VO C<br />
R<br />
VO A<br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
VO B<br />
R<br />
R<br />
R
Identificando uma Grade<br />
• Grade (Ian Foster) é um s<strong>is</strong>tema que:<br />
– Coordena recursos que não são controlados de forma<br />
centralizada.<br />
– Usa padrões, códigos abertos, protocolos e interfaces<br />
de propósitos gera<strong>is</strong> (Ex. TCP/IP)<br />
– Entrega com qualidade de serviço não trivia<strong>is</strong>(QoS):<br />
tempo de resposta, throughput, d<strong>is</strong>ponibilidade, etc.<br />
– Ex. Web ainda não pode ser considerada s<strong>is</strong>tema de<br />
grade computacional, po<strong>is</strong> não implementa QoS.
CARACTERÍSTICAS DE GRIDS<br />
• Conceituação<br />
• Motivação<br />
• Definição<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Principa<strong>is</strong> Características<br />
• Infra que prevê d<strong>is</strong>tribuição inteligente de tarefas<br />
• Soma tempo ocioso de máquinas independentes para<br />
construção de um supercomputador<br />
• Escalável (recursos, aplicações e usuários)<br />
• Alta d<strong>is</strong>ponibilidade (gerenciamento de falha)<br />
• Balanceamento de Carga (CPU, Rede, Memória, D<strong>is</strong>k)<br />
• Segurança e Encriptação<br />
• Ambiente D<strong>is</strong>tribuído (Geograficamente)<br />
• Plataformas Heterogêneas
Tipos de Serviços<br />
• Serviços Computaciona<strong>is</strong><br />
– fornece capacidade computacional<br />
• Serviços de Dados<br />
– mecan<strong>is</strong>mos de gerenciamento e acesso seguro a um banco de dados.<br />
• Serviços de Aplicação<br />
– gerenciamento de aplicação e acesso a software remoto e bibliotecas de<br />
programação de forma transparente ao usuário.<br />
• Serviços de Informação<br />
– serviços voltados para extração e apresentação de dados significativos<br />
• Serviços de Conhecimento<br />
– Concentram-se em como informações são adquiridas, usadas, retornadas,<br />
publicadas e mantidas para ajudar usuários a alcançar seus objetivos<br />
particulares.
<strong>Grid</strong>s como Plataforma<br />
de Execução<br />
S<strong>is</strong>temas de<br />
Grade<br />
Grades<br />
Computaciona<strong>is</strong><br />
Grades de Dados<br />
(Data <strong>Grid</strong>)<br />
Grades de<br />
Serviços<br />
Supercomputação<br />
D<strong>is</strong>tribuída<br />
(Cluster Computing)<br />
Grande vazão de Dados<br />
(High Throughput)<br />
Por Demanda<br />
(On Demand)<br />
Colaborativo<br />
Multimídia
APLICAÇÕES PARALELAS X GRID<br />
• Requ<strong>is</strong>itos de plataformas para App. Paralelas<br />
– Conectividade: cana<strong>is</strong> de comunicação que interligam<br />
processadores<br />
– Heterogeneidade: diferenças entre CPUs (veolc x arquit)<br />
– Compatilhamento: de recursos entre aplicações<br />
– Imagem: v<strong>is</strong>ão única da plataforma pelas CPUs (mesmo s<strong>is</strong>tema<br />
de arquivo por exemplo)<br />
– Escala: quantas CPUs podem haver<br />
• SMP: Multiprocessadores simétricos<br />
• MPP: Processadores Maciçamente Paralelos<br />
• NOW: Redes de Estações de Trabalho<br />
• GRID: Diversidade, Dinam<strong>is</strong>mo, Variab. e D<strong>is</strong>tribuição
Plataformas de Execução de<br />
Aplicações Paralelas<br />
• SMPs<br />
• MPPs<br />
• NOWs<br />
• <strong>Grid</strong>s<br />
acoplamento<br />
d<strong>is</strong>tribuição
SMP – Multiprocessadores Simétricos<br />
•Alto acopl.<br />
Memória<br />
CPU<br />
CPU<br />
...<br />
CPU<br />
•Único SO<br />
•Imagem única<br />
•Otima Conect.<br />
•Escalab limitada<br />
•Único escalon.
MPP - Processadores Maciçamente<br />
Paralelos<br />
Escalonador<br />
CPU CPU ... CPU<br />
Memória<br />
Memória<br />
Memória<br />
Requ<strong>is</strong>ições<br />
Supercomputadores<br />
Paralelos<br />
•Tipicamente n copias SO<br />
•Imagem comum
NOW<br />
Requ<strong>is</strong>ições Requ<strong>is</strong>ições Requ<strong>is</strong>ições<br />
CPU<br />
CPU<br />
CPU<br />
...<br />
Mem.<br />
Mem.<br />
Mem.<br />
•Impacto: concorrência de recursos
GRID<br />
CPU<br />
Mem.<br />
CPU<br />
Mem.<br />
...<br />
CPU<br />
Mem.<br />
Internet
Características das Plataformas de<br />
Execução<br />
SMPs MPPs NOWs <strong>Grid</strong>s<br />
Conectividade excelente muito boa boa média/rui<br />
m<br />
Heterogeneidade nula baixa média alta<br />
Compartilhado não não sim sim<br />
Imagem única comum comum múltipla<br />
Escala 10 1.000 1.000 100.000
<strong>Grid</strong>s podem diferir bastante<br />
• Tera<strong>Grid</strong><br />
– 4 centros de supercomputação norte-americanos<br />
– Cada centro com milhares de processadores dedicados ao<br />
Tera<strong>Grid</strong><br />
– Cana<strong>is</strong> de altíssima velocidade (40 GBits/s)<br />
– Poder agregado de 13,6 TeraFlops<br />
• SETI@home<br />
– Ciclos ociosos de 1.6 milhões de processadores espalhados<br />
em 224 países<br />
– Computa em média a uma velocidade de 10 Teraflops
Principal Desafio<br />
• Grade computacional está preocupada com a<br />
coordenação de compartilhamento de recursos<br />
e solução de problemas de organizações virtua<strong>is</strong>.<br />
• Compartilhamento: não é apenas a transferência<br />
de arquivos, mas o acesso direto a computadores,<br />
software e dados, com forte controle de acesso e a<br />
clara definição de fornecedores e consumidores.<br />
• Interoperabilidade entre Grades
ASPECTOS DA COMPUTAÇÃO<br />
EM GRID<br />
• Conceituação<br />
• Motivação<br />
• Definição:<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos adiciona<strong>is</strong> da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Aspectos da<br />
Computação em <strong>Grid</strong><br />
• Além das questões de praxe em computação<br />
paralela, Computação em <strong>Grid</strong> adiciona os<br />
seguintes aspectos:<br />
• Escalonamento de Aplicação<br />
• Acesso e Autenticação<br />
• Economias <strong>Grid</strong>s<br />
• Imagem do S<strong>is</strong>tema
ESCALONAMENTO
Escalonamento de Aplicação<br />
• Não é possível ter um escalonador controlando o <strong>Grid</strong><br />
– Tamanho e d<strong>is</strong>persão<br />
– Múltiplos domínios admin<strong>is</strong>trativos<br />
• Escalonadores de recurso<br />
– Controlam alguns recursos no <strong>Grid</strong><br />
• Escalonadores de aplicação<br />
– Escolhem qua<strong>is</strong> recursos usar<br />
– Particionam o trabalho da aplicação<br />
– Multiplicidade: pode ferir o desempenho
Escalonamento de Aplicação<br />
Escalonador<br />
De Aplicacao ...<br />
Escalonador<br />
De Aplicacao<br />
Escalonador<br />
de Recursos<br />
Escalonador<br />
de Recursos<br />
...<br />
Escalonador<br />
de Recursos<br />
BD BD<br />
... ...
Escalonador de Aplicação<br />
• Necessita de informações sobre o <strong>Grid</strong><br />
– S<strong>is</strong>temas de monitoramento: NWS<br />
– Informações de monitoração são usadas em<br />
prev<strong>is</strong>ões de desempenho<br />
• Necessita de um modelo de desempenho da<br />
aplicação<br />
– Portanto, funciona apenas para uma classe de<br />
aplicações (App fortemente acopladas, App Bag-of-<br />
Task, App que processam grandes quantidades de<br />
Dados)
Jacobi AppLes<br />
• Lançou a idéia de escalonamento de App.<br />
• Problemas que envolvem: fluxo de calor, eletrostática e<br />
gravitação<br />
• Aplicações fortemente acopladas<br />
• Domínio do problema aproximado para uma matrix<br />
bidimensional<br />
• Cada elemento da matriz é atualizado com a média dos<br />
seus quatro vizinhos (determinação por convergência)
D<strong>is</strong>tribuição de Trabalho Jacobi para<br />
um MPP
Jacobi AppLeS (para GRID)<br />
• Escalonador pioneiro para Jacobi 2D<br />
• Escolhe qua<strong>is</strong> processadores usar<br />
• D<strong>is</strong>tribui o trabalho entre os processadores escolhidos<br />
• Usa predições NWS<br />
• Usa um modelo de desempenho de Jacobi<br />
– T i<br />
= A i<br />
× P i<br />
+ C i<br />
, onde:<br />
– T i<br />
é o tempo para o processador i executar uma iteração<br />
– A i<br />
é a área da submatriz alocada ao processador i<br />
– P i<br />
é o tempo que o processador i leva para computar um<br />
elemento<br />
– C i<br />
é o tempo que o processador i leva para comunicar<br />
suas fronteiras
Jacobi AppLeS (para GRID)<br />
• Mini<strong>Grid</strong><br />
• P0, P1, P2 e P3<br />
• P0 e P1: 2x Hz<br />
• P2 e P3: x Hz<br />
• P1: 50% poder computacional – múltiplas aplicações<br />
• P3: network (ordens grandeza inferior)<br />
• Reescalonamentos periódicos necessários (índices de prev<strong>is</strong>ão<br />
para aplicações de longa duração)
D<strong>is</strong>tribuição de Trabalho AppLeS<br />
Jacobi (cenário de Jacobi)<br />
• P0, P1, P2 e P3<br />
• P0 e P1: 2v<br />
• P2 e P3: v<br />
• P1: 50% poder<br />
computacional<br />
• P3: netw ordens grandeza<br />
inf.
Work Queue with Replication<br />
• Solução de escalonamento para aplicações Bag<br />
of Tasks<br />
• Não depende de informação sobre o <strong>Grid</strong> ou<br />
sobre as tarefas<br />
• Envia uma tarefa para cada máquina d<strong>is</strong>ponível<br />
• Quando não há ma<strong>is</strong> tarefas para enviar, as<br />
aplicações ainda em execução são replicadas<br />
• Eficiente, mas desperdiça ciclos (experimentos<br />
mostraram até agora que grau 2 apresenta<br />
melhor custo/desempenho)
Work Queue With Replication (n)
ACESSO E AUTENTICAÇÃO
Acesso e Autenticação<br />
• Com vários domínios admin<strong>is</strong>trativos, como se<br />
dá acesso e autenticação? (SMP x MPP e NOW x<br />
<strong>Grid</strong>)<br />
• Idealmente gostaríamos de ter um login único<br />
– E propagável para os processos que criamos<br />
– [exemplo: Globus - GRAM/GSI]<br />
• Segurança é um aspecto muito importante aqui<br />
(provedor x cliente)<br />
– [exemplo: Pro<strong>Grid</strong> - <strong>Grid</strong>Box]
IMAGEM DO SISTEMA
Imagem do S<strong>is</strong>tema<br />
• Imagem do s<strong>is</strong>tema são as abstrações que nos permitir<br />
lidar com um s<strong>is</strong>tema computacional<br />
– Arquivo, diretório, processo, usuário, grupo, etc<br />
• Com vários domínios admin<strong>is</strong>trativos, a imagem do<br />
s<strong>is</strong>tema é heterogênea<br />
– Complica tremendamente o uso do <strong>Grid</strong><br />
• Soluções<br />
– Imagem do s<strong>is</strong>tema implementada em nível de usuário<br />
[exemplo: Condor]<br />
– Novas asbtrações para se lidar com o <strong>Grid</strong><br />
[exemplo: My<strong>Grid</strong>]
GRID ECONOMY
Economias <strong>Grid</strong><br />
• Como os <strong>Grid</strong>s são formados?<br />
• Atualmente, o acesso aos componentes do <strong>Grid</strong><br />
é manualmente configurado<br />
– Isso obviamente limita a escala dos <strong>Grid</strong>s<br />
• Gostaríamos de poder dinamicamente ganhar<br />
acesso a recursos<br />
• Contabilização justa de recursos
Economias <strong>Grid</strong><br />
• Uma idéia é criar um mercado, onde recursos<br />
computaciona<strong>is</strong> possam ser comprados e<br />
vendidos<br />
• Mercados computaciona<strong>is</strong> envolvem a definição<br />
de QoS para os vários recursos e a implantação<br />
de infra-estrutura<br />
• Ativa área de pesqu<strong>is</strong>a
Estado da Arte<br />
• Destacam-se : Tera-<strong>Grid</strong> e SetiAtHome<br />
• Diversos projetos acadêmicos e comercia<strong>is</strong><br />
– Globus, Legion, Condor, Easy<strong>Grid</strong>, My<strong>Grid</strong>, Pro<strong>Grid</strong><br />
– Entropia, d<strong>is</strong>tributed.net<br />
• Arquitetura de serviços para uma grade aberta – OGSA<br />
• Economia em Grades - <strong>Grid</strong> Economy<br />
– Nimrod-G, GRACE, Our<strong>Grid</strong><br />
• Porta<strong>is</strong> de Grade e Toolkits de desenvolvimento<br />
– HotPage NPACI, Nordu<strong>Grid</strong>, Amber, Gamess, OGCE, <strong>Grid</strong>Port
Middlewares<br />
• Grades são construídos como um grupamento de<br />
serviços básicos independentes.<br />
• Os serviços são agrupados em um s<strong>is</strong>tema<br />
integrado/modularizado em um ambiente d<strong>is</strong>tribuído,<br />
chamado de middleware<br />
• Breve Descrição aqui:<br />
– GLOBUS (ma<strong>is</strong> popular)<br />
– CONDOR<br />
– My<strong>Grid</strong><br />
– Pro<strong>Grid</strong>
ARQUITETURA DA GRADE<br />
• Conceituação<br />
• Motivação<br />
• Definição<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Arquitetura da Grade<br />
• O objetivo na definição da arquitetura não é<br />
detalhar protocolos, serviços e APIs, mas<br />
apresentar os requ<strong>is</strong>itos para classes genéricas<br />
de componentes.<br />
• A arquitetura é divida em camadas: Fabric,<br />
Conectividade, Recursos, Coletiva e Aplicações.
Arquitetura da Grade<br />
Arquitetura do Protocolo GRID<br />
Aplicações<br />
Coletiva<br />
Recursos<br />
Conectividade<br />
Fabrica<br />
Aplicação<br />
Transporte<br />
Internet<br />
Link<br />
Arquitetura Protocolo Internet<br />
Proposta por Foster, Kesselman e Steve Tuecke
Arquitetura da Grade<br />
• Camada Fabric (Básica)<br />
– Define os recursos que podem ser compartilhados<br />
(storage, redes, cpu, cluster, software, etc.)<br />
– Interface para controle local dos recursos, onde os<br />
componentes implementam localmente, operações<br />
específicas de cada recurso, seja físico ou lógico.<br />
– Interdependência forte entre funções implementadas e<br />
as operações de compartilhamento suportadas.
Arquitetura da Grade<br />
• Camada Conectividade<br />
– Define o núcleo da comunicação e a autenticação<br />
(protocolos) requerida para transações de serviços em<br />
rede especificados pela Grade.<br />
– Protocolos Internet : IP, TCP, DNS, etc.<br />
– Protocolos de comunicação habilitam a troca de<br />
dados entre recursos da camada Fabric.
Arquitetura da Grade<br />
• Camada Recursos<br />
– Controla a segurança nas negociações, inicialização e<br />
monitoramento envolvendo as operações de<br />
compartilhamento entre recursos individua<strong>is</strong>.<br />
– Há duas classes primarias<br />
• Protocolo de Informação: coleta dados sobre a estrutura<br />
e estado operacional, como configuração atual, políticas e<br />
o acordo do nível de serviço.
Arquitetura da Grade<br />
• Camada Recursos<br />
• Protocolo Gerenciamento<br />
– Negociação do acesso ao recurso compartilhado,<br />
especificando requerimento dos recursos (incluindo<br />
QoS) e operações a serem executadas como criação<br />
de processos ou acesso a dados.<br />
– Prove funções para controle dos pagamentos dos<br />
recursos compartilhados<br />
– Monitora status das operações e controla operações,<br />
como a finalização.
Arquitetura da Grade<br />
• Camada Coletiva<br />
– Responsável pelo gerenciamento global dos<br />
recursos da grade e interação entre as coleções de<br />
recursos.<br />
– Entre suas funções:<br />
• Serviço de Diretório - permite aos participantes das VO<br />
pesqu<strong>is</strong>ar por recursos pelo nome ou atributos como tipo,<br />
d<strong>is</strong>ponibilidade ou carga.<br />
• Alocação Conjunta e Agendamento: execução de tarefas<br />
(jobs) em horários e recursos determinados<br />
• Serviços de Monitoração e Diagnóstico: monitora falha<br />
nos recursos
Arquitetura da Grade<br />
• Camada Coletiva<br />
– Responsável pelo gerenciamento global dos recursos<br />
da grade e interação entre as coleções de recursos.<br />
– Entre suas funções:<br />
• Serviços de Replicação de Dados: gerência Storage da VO<br />
para otimizar o desempenho(Ex. tempo resposta)<br />
• Serviços de Descobrimento de Software: descobre e<br />
seleciona o melhor software d<strong>is</strong>ponível para usuário da VO
Arquitetura da Grade<br />
• Camada Aplicação<br />
– Aplicação dos usuários que serão executadas no<br />
ambiente das organizações virtua<strong>is</strong><br />
• As aplicações são desenvolvidas usando serviços das<br />
camadas inferiores.<br />
• Podem acessar direto um conjunto de recursos, ou apenas<br />
um na camada Recurso.
Arquitetura da Grade<br />
Porta<strong>is</strong><br />
Usuários<br />
Acesso Grade & Info<br />
Ambiente de<br />
Resolução Problemas<br />
Porta<strong>is</strong> de Aplicações<br />
Cientificas e Médicas<br />
Serviço<br />
Autenticação<br />
Scheduling<br />
Nomes e<br />
Arquivos<br />
D<strong>is</strong>covery Recursos<br />
& Alocação<br />
Eventos<br />
Tolerania Falhas<br />
Recursos<br />
Computadores Bases Dados Sensores<br />
Software<br />
Rede de Recursos
PROJETOS DE GRID<br />
• Conceituação<br />
• Motivação<br />
• Definição<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
– GLOBUS<br />
– CONDOR<br />
– PROGRID<br />
– MYGRID<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
GLOBUS
GLOBUS<br />
• Iniciado em 1996 (www.globus.org)<br />
• Argonne National Labs, U. de Chicago, U. do Sul<br />
da California<br />
• Ian Foster, Carl Kesselman, Steve Tuecke<br />
• Código Aberto, desenvolvido em C<br />
• Grande atenção de empresas como IBM<br />
• Atualmente na versão 4.0<br />
• Pode ser instalado no Linux, Solares e HPUX
Globus<br />
• Conjunto de serviços para Computação em <strong>Grid</strong> -<br />
Middleware<br />
• Solução ma<strong>is</strong> famosa e ma<strong>is</strong> amplamente usada<br />
(modularizada)<br />
• Evoluindo para integração com WebServices<br />
• Não é uma solução completa (out of <strong>the</strong> box)<br />
– Falta escalonamento de aplicação, imagem do<br />
s<strong>is</strong>tema, economias grid
Principa<strong>is</strong> Serviços Globus<br />
• GSI Autenticação única no <strong>Grid</strong><br />
• GRAM Subm<strong>is</strong>são e controle de tarefas<br />
• MDS Informações e diretórios<br />
• Nexus Comunicação entre tarefas<br />
• MPI-G MPI sobre Nexus<br />
• <strong>Grid</strong>FTP Transferência de arquivos
GLOBUS - GRAM<br />
• Globus Resource Allocation Manager<br />
• Permite executar jobs remotamente, controlar e monitorar<br />
• Encarregado de admin<strong>is</strong>trar um conjunto de máquinas<br />
(máquinas paralelas, cluster ou servidores).
GLOBUS - GRAM<br />
• V<strong>is</strong>a construir serviços que permitam que aplicações<br />
possam ser executadas em grades<br />
• Aplicações podem ser desenvolvidas de forma<br />
incremental, adicionando-se serviços extras com o<br />
passar do tempo.<br />
– Primeiro, podemos utilizar ferramentas para coordenar a<br />
execução simultânea de uma determinada aplicação em<br />
diversas máquinas<br />
– Depo<strong>is</strong>, adicionar a transferências de arquivos na grade e<br />
monitoramento.
• <strong>Grid</strong> Security Infrastructure<br />
GLOBUS - GSI<br />
– A infra-estrutura de segurança do Globus (GSI) trata da<br />
autenticação de entidades no s<strong>is</strong>tema. O objetivo é permitir<br />
que uma vez autenticado, o usuário de uma VO receba uma<br />
credencial que o permita acessar os recursos sem a<br />
necessidade de se autenticar novamente.<br />
– As credencia<strong>is</strong> são mapeadas para os mecan<strong>is</strong>mos loca<strong>is</strong> de<br />
autenticação de cada domínio admin<strong>is</strong>trativo, permitindo que<br />
diferentes ambientes participem da Grade sem a necessidade<br />
de alterar suas políticas loca<strong>is</strong>.
GLOBUS - MDS<br />
• Monitoring and D<strong>is</strong>covery Service<br />
– O MDS armazena informações sobre vários aspectos da grade<br />
como s<strong>is</strong>temas operaciona<strong>is</strong>, memória d<strong>is</strong>ponível, espaço em<br />
d<strong>is</strong>co, etc.<br />
– O MDS é constituído por do<strong>is</strong> serviços internos: GIIS e GRIS.<br />
O GRIS (<strong>Grid</strong> Resource Information Service) é responsável por<br />
obter as informações da máquina onde está sendo executado,<br />
<strong>is</strong>to é, as informações loca<strong>is</strong>. Já o GIIS (<strong>Grid</strong> Index Information<br />
Service) reúne em um único servidor as informações de vários<br />
GRISs<br />
– RSL: Resource Specification Language
Alocação e Descoberta de Recursos<br />
em Globus
CONDOR
Condor<br />
• Condor é um s<strong>is</strong>tema que usa ciclos ociosos para<br />
computação de alta vazão<br />
• Condor foi inicialmente projetado para NOWs<br />
• Aplicações são Bag of Tasks<br />
– Tarefas são submetidas ao Matchmaker<br />
– Quando uma máquina fica ociosa, ela informa ao<br />
Matchmaker, que providência uma tarefa<br />
• Tarefas podem terminar abruptamente<br />
– Condor usa checkpointing e migração de tarefas para<br />
garantir progresso
Matchmaker Condor
PROGRID
Pro<strong>Grid</strong><br />
• Representa uma infra-estrutura de<br />
suporte para a criação de grades<br />
computaciona<strong>is</strong>.<br />
• Utiliza-se do conceito de proxies.<br />
• Arquitetura de Camadas da Grade:<br />
– Interface de AcessoWeb;<br />
– Subm<strong>is</strong>são de aplicações “bag-of-task” e<br />
MPI;<br />
– Segurança: usuários e aplicação<br />
– Controle de monitoramento.<br />
– SSL: segurança de comunicação
Pro<strong>Grid</strong> Architecture: Proxy View
• Funcionalidades:<br />
Composição da Grade,<br />
Gerenciamento de<br />
Hosts, Suporte para<br />
Escolanomento,<br />
Serviços de<br />
Monitoramento para<br />
Hosts e Aplicações,<br />
Execução de<br />
Aplicações e<br />
Mecan<strong>is</strong>mos de<br />
Segurança<br />
Portal Progrid
Segurança na Grade: <strong>Grid</strong>Box<br />
• Arquitetura Proposta: Múltiplos níve<strong>is</strong> de segurança;<br />
Flexibilidade (Access Control L<strong>is</strong>ts) e Sandbox para<br />
aplicações.
Monitoramento<br />
• Aplicações d<strong>is</strong>tribuídas (processos e webservices):<br />
ativação, monitoramento e controle adaptativo
Portal Pro<strong>Grid</strong><br />
S<strong>is</strong>tema de Monitoramento<br />
V<strong>is</strong>ão geral do S<strong>is</strong>tema de monitoramento
MYGRID
My<strong>Grid</strong><br />
• Solução completa para aplicações Bag of Tasks<br />
• My<strong>Grid</strong> são todas as máquinas que eu posso<br />
acessar<br />
– Casa perfeitamente com aplicações Bag of Tasks<br />
• Arquitetura baseada na <strong>Grid</strong> Machine<br />
Abstraction (conjunto mínimo de recursos<br />
d<strong>is</strong>poníve<strong>is</strong>)
Arquitetura My<strong>Grid</strong><br />
Scheduler<br />
Home<br />
Machine<br />
<strong>Grid</strong> Machine Abstraction<br />
Globus<br />
Proxy<br />
User<br />
Agent<br />
Proxy<br />
<strong>Grid</strong><br />
Script<br />
...<br />
Globus<br />
GRAM<br />
User<br />
Agent<br />
<strong>Grid</strong> Machine<br />
...<br />
<strong>Grid</strong> Machine<br />
<strong>Grid</strong> Machine
APLICAÇÃO EXEMPLO<br />
• Conceituação<br />
• Motivação<br />
• Definição<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Aplicação<br />
• Área Médica<br />
– Sensores instalados em um colete. A saúde da pessoa que<br />
estiver usando é monitorada constantemente.<br />
– As informações são enviadas para a grade, onde são<br />
processadas e especial<strong>is</strong>tas anal<strong>is</strong>am os resultados.<br />
– Os sensores da jaqueta sabem se a pessoa está descansando<br />
ou subindo uma escada, além da sua posição no mundo.<br />
– Informações são combinadas para traçar o perfil das atividades<br />
e da saúde do paciente.<br />
– O perfil é enviado a um s<strong>is</strong>tema de grade Global.<br />
– Resultados são tratados e apresentados na Web.<br />
Extending <strong>the</strong> <strong>Grid</strong> to Support Remote Medical Monitoring
Aplicação
CONCLUSÃO<br />
• Conceituação<br />
• Motivação<br />
• Definição<br />
• Características de <strong>Grid</strong>s<br />
• Aspectos da Computação em <strong>Grid</strong><br />
• Arquitetura<br />
• Projetos de <strong>Grid</strong>s (Mundo x Brasil)<br />
• Aplicação Exemplo<br />
• Conclusão e Referências
Conclusão<br />
• Computação pervasiva e grade computacional são duas v<strong>is</strong>ões do<br />
“futuro”, que surgiram de forma <strong>is</strong>olada, mas que devem ser<br />
investigadas juntas, po<strong>is</strong> uma completa a outra.<br />
• Ainda ex<strong>is</strong>tem muitos problemas a serem resolvidos,<br />
principalmente de interoperabilidade, mas a grande quantidade de<br />
aplicações e melhorias nos s<strong>is</strong>temas, devem alavancar os<br />
investimentos na tecnologia de grade computacional.<br />
• Grande ganho de retorno de investimento: com o mesmo parque<br />
computacional, empresas podem otimizar o uso dos recursos<br />
• A Grade de Computadores ganhará ma<strong>is</strong> v<strong>is</strong>ibilidade, quando<br />
GLOBUS estiver finalizado para a plataforma Windows.
Referências<br />
• Foster, Ian; “<strong>What</strong> <strong>is</strong> <strong>the</strong> <strong>Grid</strong> ? A Three Point Checkl<strong>is</strong>t”,<br />
2002<br />
• Barratt, C; “Extending <strong>the</strong> <strong>Grid</strong> to Support Remote<br />
Medical Monitoring”, 2003. D<strong>is</strong>ponível em:<br />
http://www.equator.ac.uk/PublicationStore/123.pdf<br />
• Joseph, J, Fellenstein, C ;“<strong>Grid</strong> Computing” – IBM Press,<br />
Prentice Hall, 2004<br />
• Foster, I.,Kesselman, C., Tuecke, Steve; “The Anatomy of<br />
<strong>the</strong> <strong>Grid</strong>”, 2002
Referências<br />
• THE TELESCIENCE GRID, D<strong>is</strong>ponivel em:<br />
http://www.npaci.edu/enV<strong>is</strong>ion/v16.2/telescience.html#Anchor-THE-49897<br />
• Projeto Globus : www.globus.org/<br />
• Projeto Legion : http://legion.virginia.edu/<br />
• Projeto NetSolve: icl.cs.utk.edu/netsolve/<br />
• Projeto Condor: www.cs.w<strong>is</strong>c.edu/condor<br />
• Projeto Globe: http://www.cs.vu.nl/globe/