18.11.2014 Views

What is the Grid - PCS

What is the Grid - PCS

What is the Grid - PCS

SHOW MORE
SHOW LESS

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/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!