grid computing prof. dr. cláudio f. r. geyer instituto de informática – ufrgs
TRANSCRIPT
Grid Computing
Prof. Dr. Cláudio F. R. GeyerInstituto de Informática – UFRGS
2Grid Computing
Histórico Pessoal
Processamento Paralelo e Distribuído Projeto HetNOS
Ian Foster e Carl Kesselman: Grenoble (1996), SBAC, PDPA, Global Supercomputing, ...
CC++ “Grid” (livro, eds I. Foster e C. Kesselman) Projeto HEP (2000) Projeto ISAM GRID: combina SD e HPC
3Grid Computing
Grid Computing Sumário
Introdução ao Grid Computing Uma Experiência Real: Globus Toolkit Grid Computing no Brasil
4
Introdução ao Grid Computing
5Grid Computing
Histórico
primeira proposta em 1989, por Larry Smarr do projeto CASA (USA)
metacomputing = compartilhamento, ação em comum.
a partir de 1995, começam a surgir propostas de ferramentas para computação distribuída na Web.
FAFNER e I-WAY atualmente, centenas de universidades e
empresas ao redor do mundo estão envolvidas em projetos nessa área.
6Grid Computing
Conceitos em Grid Computing
Metacomputador/Grid Grid problem Organizações virtuais Protocolos intergrid Computação in home Grid X HPC Comunidade Grid
7Grid Computing
Grid Problem Coordenação Compartilhamento de recursos Solução de problemas Diversas organizações virtuais de
multiinstituições Recursos e VO espalhados
geograficamente Não há controle central Não há conhecimento total Confiança mútua entre as VOs
8Grid Computing
Tecnologias atuais Tecnologias atuais
SOR (Windows 2000 server, Linux de rede, ...)
Web Servidores de aplicações Servidores de armazenamento Servidores de cpu (ciclos) Middlewares clássicos e novos (DCE,
CORBA, J2EE, .Net, ...) Não atendem (boa parte) os requisitos
9Grid Computing
Organizações virtuais Servidores de aplicações, servidores de
armazenamento, servidores de cpu, e consultores
Engajados por um fabricante de carros na avaliação de uma nova fábrica
Membros de de um consórcio industrial projetando e avaliando uma nova aeronave
Equipe de gerência de crises (catástrofes, eventos) planejando a resposta a um novo tipo de evento (ataque de 11/setembro)
Diversos departamentos de pesquisa em física tratando diversos problemas relacionados, sobre a mesma base de dados
10Grid Computing
Um exemplo: solução do NUG30 NUG30 quadratic assignment
problem Colaboração informal entre
matemáticos, cientistas e pesquisadores em computação
Condor-G conseguiu 3.46E8 segundos de cpu em 7 dias (pico: 1009 processadores) nos EUA e Itália (8 sites)
11Grid Computing
Principais Componentes
Dispositivosde Fábrica
clusters armazenamento instrumentos ...
recursos compartilhados entre OV
SO bibliotecas TCP, UDP, IP ...
gerenciadores de recursos locais
serviços básicos
comunicação segurança informaçãoacessoa dados QoS
Middleware
ferramentas e ambientes de desenvolvimento
linguagens depuradores ORBs WebFerramentas
bibliotecas
...
...
aplicações e portais
científicas engenharia PSEAplicações
colaborativas ...Web
based
12Grid Computing
Principais Componentes Dispositivos de fábrica
recursos locais compartilhados dentro do grid
Middleware fornecimento de serviços básicos para a
utilização dos recursos do grid Ferramentas
desenvolvimento de ambientes para a construção de aplicações para grids
Aplicações diversidade de requisitos,
multidisciplinariedade
13Grid Computing
Princípios Usar protocolos padrões existentes Usar soluções comuns (padrões)
principalmente as locais Escalonadores, servidores de arquivos, ...
Protocolos e API bem definidos Protocolo: interoperabilidade API: portabilidade Simples (vide IP, TCP)
Diferenciar API locais e remotas Padronizar
14Grid Computing
Grid Computing: Principais Aspectos
Modelo de programação Gerência de recursos Segurança Informação Acesso remoto a dados Tolerância a falhas Análise de desempenho e QoS Gerência de executáveis, ...
15Grid Computing
Grid Computing: Principais Aspectos
Modelo de programação aplicações devem ser flexíveis, tolerantes a
falhas e adaptadas à latência de comunicação entre os recursos do grid
cada aplicação deve expor suas necessidades computacionais e expectativas referentes a desempenho, confiabilidade, etc.
auxílio na alocação de recursos deve-se prever o uso de diferentes
protocolos, modelos de comunicação e ferramentas
16Grid Computing
Gerência de recursos cadastro configuração busca (descoberta) alocação monitoramento
Grid Computing: Principais Aspectos
17Grid Computing
Motivação para segurança Informações sensíveis e recursos de
alto valor Delegação é necessária Protocolos padrões atuais não
satisfazem
Grid Computing: Principais Aspectos
18Grid Computing
Grid Computing: Principais Aspectos
Segurança cadastro de usuários autenticação única (single sign on) respeito às políticas proprietárias (uso
e acesso) de cada recurso estabelecimento de relações e
domínios de confiança emprego de criptografia
19Grid Computing
Gerenciamento de Informações Serviços para registro e obtenção de
informações sobre a estrutura, os recursos, os serviços e o estado de cada componente dentro do grid.
Forte interação com os serviços de alocação e descoberta de recursos
Dinâmicas e estáticas (totalmente: não existem)
Onde existe um cluster com 32 P4 > 1.2 dual?
Qual o estado de ocupação do SP2 com 128 nós?
Grid Computing: Principais Aspectos
20Grid Computing
Acesso remoto a dados necessidade de acesso a arquivos
distribuídos entre vários servidores e/ou bancos de dados
serviço que forneça um espaço de nomeação global, suporte diferentes protocolos de E/S, exija pouco esforço de programação e permita otimizações, tal como uso de cache
replicação
Grid Computing: Principais Aspectos
21Grid Computing
Tolerância a falhas natureza dinâmica do grid necessidade de monitoramento do
estado de cada recurso (de hardware e software) dentro do grid
forte interação com serviços de alocação e escalonamento
Grid Computing: Principais Aspectos
22Grid Computing
Análise de desempenho e QoS mecanismos para a avaliação dos
serviços prestados pelo grid relação exigências das aplicações X
capacidades dos recursos monitoramento de desempenho
validação de critérios de alocação
Grid Computing: Principais Aspectos
23Grid Computing
Gerência de executáveis armazenamento localização transferência entre recursos
suporte à linguagens de scripts Executáveis portáveis
Java .Net?
Grid Computing: Principais Aspectos
24Grid Computing
Usuários•“donos” de recursos•administradores de sistemas•desenvolvedores (serviços e ferramentas)•usuários finais
Grid Computing: Principais Aspectos
25Grid Computing
Grid Computing: Principais Aspectos
Aplicações•computação distribuídacomputação de alto desempenhocomputação sob demandacomputação intensiva de dadoscomputação colaborativa
26Grid Computing
TaxonomiaEscalonadores
Nimrod/G
AppLes
Condor/G
Ninf
DISCWorld
SILVER
ST-ORM
PC2
Portais
UNICORE
XCAT
JiPANG
PUNCH
Economia
Grace
CPM
Mariposa
FORTH
Share Meta
D´Agent
Data grids
CERN
GriPhyN
Particle Physics
DIDC
http://www.gridcomputing.com/
Grid Computing: Principais Aspectos
27Grid Computing
Sistemas
XtremWeb
Javelin
MILAN
HARNESS
PUNCH
MoBiDiCK
MetaNEOS
MultiCluster
TaxonomiaAmbientes
MetaMPI
DCE
GrADS
Java CoG Kit
ProActive PDC
REDISE
JACO3
Cactus
Middleware
Globus
Legion
NetSolve
GRACE
Testbeds
Polder
NASA IPG
NPACI
DAS
GUSTO
SF-Express
distributed.net
SETI@home
Grid Computing: Principais Aspectos
28Grid Computing
Global Grid Forum Global Grid Forum:
Desenvolvimento de protocolos e APIs padrões para computação Grid
www.gridforum.org 2 ou mais workshops anuais Centenas de participantes
29Grid Computing
Referências: conceituais/surveys checkpoint list:
http://www.gridtoday.com/02/0722/100136.html BUYYA - {The Grid}: International Efforts in
Global Computing : http://www.cs.mu.oz.au/~raj/papers/TheGrid.pdf
ROURE, - {T}he Evolution of the {G}rid : http://www.semanticgrid.org/documents/evolution/evolution.pdf
NEMETH, - {A} comparison of conventional distributed computing environments and computational grids : http://www.mathcs.emory.edu/harness/pub/general/zsolt1.ps.gz
30
Uma Experiência Real: Globus Toolkit
31Grid Computing
Globus Objetivos
Modelo, arquitetura, protocolos, API, ... Protótipo: Globus Metacomputing Toolkit Avaliação de aplicações reais
GUSTO (testbed) Locais
Argonne, DOE, Chicago Caltech e USC (Los Angeles, CA)
Ian Foster e Carl Kesselman Um dos mais usados e referenciados
Confunde-se com Grid (arquitetura) Projetos europeus: uso do Globus
32Grid Computing
Uma Experiência Real
cluster
aplicações paralelas/distribuídas (ex. SF-Express)
Comunicação(Nexus)
Gerênciade recursos
(GRAM - DUROC, RSL)Segurança eautenticação
(GSI)Monitoramento
(HBM)
Acesso remotoa dados
(GASS, GridFTP, RIO)
Gerência de executáveis(GEM)
Globus Metacomputing Toolkit (GMT)
Internet/Rede de comunicação
Informação(MDS,GRIS, GIIS)
GUSTO NASA IPG NPACI Data Grid
33Grid Computing
Uma Experiência Real
Princípios Camadas Protocolos e APIs Módulos opcionais Uso de soluções padrões
Locais Comunicação atual: MPICH
34Grid Computing
Uma Experiência Real
GRAM - Globus Resource Allocation Manager
broker
aplicação MDS
alocadorde recursos
(DUROC)
GRAMGRAM
GRAM
LSFEasy-LL
NQE
RSL
consultas e informações
especializaçãoda RSL
RSLestendida
RSLestendida
Sistema degerência local
35Grid Computing
Uma Experiência Real
Exemplos Executar MyProg com 4 a 6 cpus, com
mínimo de 128 MBytes, até 4 horas Versão futura: uso de novos
serviços Web (SOAP, ...)
36Grid Computing
Uma Experiência Real
Comunicação - Nexus abstrações
elos de comunicação (startpoint + endpoint)
EP SP
SP
SP
EP
0 1 2
RSR
37Grid Computing
Uma Experiência Real
MDS - Metacomputing Directory Service funcionalidades para registro e obtenção de
informações baseado no protocolo LDAP + “agentes” de
monitoramento (GRAM) GRIS - Grid Resource Information Service
consulta de atributos de recursos GISS - Grid Index Information Service
junção de serviços GRIS para alocação e descoberta de recursos
descoberta de recursos (Jini) GRIS e GISS usam MDS
38Grid Computing
Uma Experiência Real
GSI - Globus Security Infrastructurecertificado usuário
proxy
chave pública
certificado
Kerberos
comunicação autenticada
certificado Globus
certificado
GSIGSI
GRAMGRAM
39Grid Computing
Uma Experiência Real
Protocolos GIS Em padronização Kerberos e SSL não satisfazem Grid
40Grid Computing
Uma Experiência Real
HBM - Heartbeat Monitor
HBMCLsistema
HBMCLaplicação
1
HBMLM
registro
Nó A
HBMCLsistema
HBMCLaplicação
2
HBMLM
registro
Nó B
HBMDCsistema
HBMDCaplicação
1
Nó C
HBMDCaplicação
2
Nó D
relatório
41Grid Computing
Uma Experiência Real
GASS - Globus Access to Secondary Storage
P1
P2
P3
P4
BD
arquivo0864
arquivo9629
arquivo7823
cachede arquivo
Open for read only:http://dsl.mcs.anl.gov/~coords
Open for read only:http://dsl.mcs.anl.gov/~coords
Open for read & write:x-gass://mcs.anl.gov:6543/~/data1
Open for read only:http://dsl.mcs.anl.gov/~coords
Open for read & write:ftp://ftp.isi.edu/globus/data2
servidorHTTP
servidorFTP
servidorGASSOpen for appending:
x-gass://mcs.anl.gov:6543/log
Arquivo0864 rw 1 x-gass://mcs.anl.gov:6453/data1
Arquivo9629 R 4 http://dsl.mcs.anl.gov/~coords
Arquivo7823 rw 1 ftp://ftp.isi.edu/globus/datafile
42Grid Computing
Uma Experiência Real
Gusto Início: 1998 17 sites, 330 computadores, 3600 cpus
2 Tflop/s EUA, Suécia, Havaí, Alemanha, ... Muito bem avaliados
MDS, HBM 10 grupos de aplicações
Simulações científicas, análises em tempo-real, visualização remota, ...
43
Grid Computing no Brasil
44Grid Computing
Summary Brazilian Grid DOAP: Grid middleware
adaptative scheduling PRIMOS: high performance Java VIC ++: adaptative VIC for Access Grid Other Brazilian Grid Projects Conclusion
45Grid Computing
Brazilian Grid First national meeting
organized by CNPq october 2001 Finep members of CENAPADs application users (HEP, LNCC, ...) researchers on high-performance
computing RNP: research national networking
46Grid Computing
Brazilian Grid Goals
promote the use of Grid 3 groups
hw infra-structure networking, systems (clusters), ...
sw infra-structure middleware, accounting, security, ...
applications Some initial propositions
(documents)
51Grid Computing
DOAP Grid-like middleware Object oriented programming Adaptive scheduling Mobile computing
52Grid Computing
DOAP Concerns
System Heterogeneity
GRID Computing
CLUSTER Computing
System's Components Availability
Mobility (Hardware and
Software)
Adaptation (Aplication and
System)
53Grid Computing
DOAP: a pervasive view
A pervasive view in
GRID ComputingMobile Computing
Wireless
GRID Computing
Wide-area
Meta-computing
High performance equips.
Adaptability
High heterogeneity
54Grid Computing
GRID Computing in DOAPAdaptive Behavior
Applications
Scheduling(Adaptation
Management)
ResourceMetrics
Execution Environment Components (processors, databases,process, services, etc)
Status information(capacity, utilization, etc.)
ResourcesDemand
AdaptationAlternatives
AdaptationControl
AdaptationControl
ResourceAvailabilityand Demand
Development Decisions
Execution Decisions
55Grid Computing
GRID Computing in DOAP
Application
RMS
Agreement Band
Focus in Adaptive BehaviorR
esou
rce
Dem
and
56Grid Computing
DOAP Architecture
Holoparadigm
Multiparadigm;Blackboards;Mobility.
Distributed Mobile Application
ISAMadapt (Holoparadigm)
ADAPTATION
User VirtualEnvironment SCHEDULING
Execution Profile Resource Profile User Profile
NamingComuni-cation
Migra-tion
Repli-cation
Interope-rability
Loca-tion
Monito-ring
Java Virtual Machine
Native Operational System
Static Network + Mobile Network
57Grid Computing
Mobility: Hardware and Software
Language level adaptation constructors
DOAP Architecture
Distributed Mobile Application
ISAMadapt (Holoparadigm)
ADAPTATION
User VirtualEnvironment SCHEDULING
Execution Profile Resource Profile User Profile
NamingComuni-cation
Migra-tion
Repli-cation
Interope-rability
Loca-tion
Monito-ring
Java Virtual Machine
Native Operational System
Static Network + Mobile Network
ISAMadapt – Infra-Estrutura de Suporte às Aplicações Móveis
58Grid Computing
DOAP Architecture
High Distributed Applications
Execution level adaptation mechanisms
Distributed Mobile Application
ISAMadapt (Holoparadigm)
ADAPTATION
User VirtualEnvironment SCHEDULING
Execution Profile Resource Profile User Profile
NamingComuni-cation
Migra-tion
Repli-cation
Interope-rability
Loca-tion
Monito-ring
Java Virtual Machine
Native Operational System
Static Network + Mobile Network
EXEHDA – Execution Environment for High Distributed Applications
59Grid Computing
DOAP Architecture
Distributed Mobile Application
ISAMadapt (Holoparadigm)
ADAPTATION
User VirtualEnvironment SCHEDULING
Execution Profile Resource Profile User Profile
NamingComuni-cation
Migra-tion
Repli-cation
Interope-rability
Loca-tion
Monito-ring
Java Virtual Machine
Native Operational System
Static Network + Mobile Network
Proposals for object:
Migration;Optmized communication;Monitoring
PRIMOS – PRIMitives for Object Scheduling
60Grid Computing
Java versus GRID Benefits of Java to GRID
environments: Code portability
simplifies assumptions about the heterogeneous execution environment
Object-oriented programming model straightforward program partitioning
Fast learning curve structured language, no pointers,
programming less error prone
61Grid Computing
PRIMOS: Java meeting the GRID
PRIMOS extends Java with mechanisms to support:
remote instantiation and object migration deal with code deployment and accounting
optimized communication primitives access to specialized hardware features not
available to usual Java applications
distributed system utilization: probe & publishing
construction of inter-object communication profiles
62Grid Computing
VIC ++ VIC – Video Conferencing Tool Access Grid Project
allows remote collaboration among groups;
used to realization of classes and distributed seminars, remote presence in panels and discussions, virtual meetings and Grid based complex demonstrations;
63Grid Computing
VIC ++ VIC ++ is an extension of VIC developed
with two main targets: To introduce and adaptability algorithm that
will adjust the VIC configurations to the network conditions, reducing the amount of work that the node operator has to perform during the sessions;
To expand the statistics generator of the VIC, in order to provide more data to the researcher.
64Grid Computing
Cooperações (informais) Caltech, Pasadena, CA
Grupo HEP Desenvolvimento de aplicações e serviços
específicos Harvey Newman
NERSC, Berkeley, CA Horst Simon: SBAC 1995, missão 1998 LBL, DOE Acordo de cooperação com IBM Grande parque de supercomputadores Multidisciplinar
65Grid Computing
Other Brazilian Grid Projects MultiCluster GridGene IC Grid OpenGrid
Remarks: it is not a complete list There is also a proposal of a national
Grid
66Grid Computing
Other Brazilian Grid Projects
MultiCluster II/UFRGS Contact: Prof. Philippe O.A. Navaux
It aims to efficiently integrate different cluster-based architectures Myrinet, SCI, Fast Ethernet, …
67Grid Computing
Other Brazilian Grid Projects
GridGene UFRJ, LCC/MCT, UFPB/Campina
Grande Contact: Prof. Paulo Bisch
It aims to support genome analysis through development of parallel and distributed software for Grid environments
68Grid Computing
Other Brazilian Grid Projects
IC Grid UFF Contact: Prof. Vinod Rebello
It will create a mini-grid testbed environment for the design and development of grid-base middleware
69Grid Computing
Other Brazilian Grid Projects
OpenGrid UFPB Contact: Prof. Walfredo Cirne
It provides a global execution environment
It is distributed as a free software
70Grid Computing
Other Brazilian Grid Projects
Grid Brasil Proposal: build a national (Brazil)
Grid and Virtual Organizations Nowadays there are:
six CENAPADs (HPC centers) a SINAPAD (to integrate these centers)
This structure can be the starting point of a national Grid
71Grid Computing
More Grid Projects at Brazil
Grid Brasil
72Grid Computing
Conclusions Several projects on Grid software
adaptive scheduling Java HP programming Access Grid/Vic++ Multicluster Global execution environment Grid testbed for new Grid middleware
73Grid Computing
Conclusions At least two important Grid
applications HEP Genome
Brazilian Grid group Sinapad Grid
74Grid Computing
Conclusões gerais Grid
Tecnologia necessária a diversas aplicações Diversas e variadas soluções
Globus, Condor, Legion, ... Necessidade de protocolos e API padronizados Muito ambicioso (?): inúmeros serviços Concorrência com evolução de outras tecnologias
Web: protocolos, serviços, metadados, ... B2B J2EE, .Net, CORBA (?), ... Windows 2000 e XP server, Linux-rede, ... Servidores de armazenamento, cpu, aplicações, ...
Problemas similares => soluções similares, concorrentes