Upload
internet
View
109
Download
0
Embed Size (px)
Citation preview
1
Introdução ao Grid Computing
Grid Computing
Autoria Autores
Cláudio Geyer 1a versão: 2003
Revisão (2006) Diego Gomes Eder Fontoura Patrícia Kayser
Local PPGC, II-UFRGS
Grid Computing 3
Grid Computing Sumário
Introdução a Grid Computing Grid Computing no Brasil
Em 2002/2003 Não revisado
Grid Computing 4
Histórico “primeira” (?) proposta em 1989, por
Larry Smarr do projeto CASA (USA) metacomputing = compartilhamento,
ação em comum Projeto Condor
Iníciado em 1988 http://www.cs.wisc.edu/condor/background.ht
ml “support High Throughput Computing (HTC)
on large collections of distributively owned computing resources”
Grid Computing
Histórico a partir de 1995, começam a surgir propostas
de ferramentas para computação distribuída na Web FAFNER e I-WAY
Final da década de 1990 Surgimento do projeto/mw Globus Edição do livro “Grid Computing”, eds. Foster e
Kesselman atualmente, centenas de universidades e
empresas ao redor do mundo estão envolvidas em projetos nessa área
Grid Computing
Conceitos e Termos Diversos conceitos, termos e definições
Metacomputador/Grid HTC: High Throughput Computing Global Computing Grid problem Organizações virtuais Protocolos intergrid Computação in home Grid X HPC Comunidade Grid
Grid Computing
Definições Grid is a hardware and software infrastructure
that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities I. Foster e C. Kesselman, 1998
Grids are persistent environments that enable software applications to integrate instruments, displays, computational and information resources that are managed by diverse organizations in widespread locations GGF 2002
Grid Computing
Definições Grid is a type of parallel and distributed
system that enables the sharing, selection, and aggregation of geographically distributed "autonomous" resources dynamically at runtime depending on their availability, capability, performance, cost, and users' quality-of-service requirements http://www.cs.mu.oz.au/~raj/GridInfoware/gridf
aq.html Principal autor: Buya Preocupação com aspectos de custos
Grid Computing
Definições Three points checklist: Grid is a system that:
(1) coordinates resources that are not subject to centralized control...
(2) ... using standard, open, general-purpose protocols and interfaces...
(3) ... to deliver nontrivial qualities of service I. Foster, 2002 Não usa termos (características) como;
Largamente distribuídos Sw ou mw próprio Diversas organizações (implícito?
Grid Computing 10
Grid Problem Coordenação distribuída, cooperativa Compartilhamento de recursos Solução de problemas (aplicações) Diversas organizações virtuais de multi-
instituições Recursos e VO espalhados geograficamente Não há controle central Não há conhecimento total Confiança mútua entre as Vos Qualidade de entrega Gerência de recursos dinâmica
Grid Computing 11
Tecnologias convencionais Tecnologias distribuídas convencionais
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, Web Services...) Não atendem (boa parte) os requisitos
Grid Computing 12
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
Grid Computing
Organizações virtuais 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 Base de dados heterogênea, distribuída
Grid Computing 14
Um exemplo: solução do NUG30 NUG30 quadratic assignment problem Description of the Quadratic
Assignment Problem In a standard problem in location theory, we
are given a set of n locations and n facilities, and told to assign each facility to a location.
Faci -> Locj; i, j: 1 a n
Grid Computing 15
Um exemplo: solução do NUG30 NUG30 quadratic assignment problem Description of the Quadratic
Assignment Problem To measure the cost of each possible
assignment---there are n! of them!---we multiply the prescribed flow between each pair of facilities by the distance between their assigned locations, and sum over all the pairs.
Flow(faci, facj) * Distance(locfi, locfj))
Grid Computing
Um exemplo: solução do NUG30
Description of the Quadratic Assignment Problem Our aim is to find the assignment that
minimizes this cost, and this problem is precisely a quadratic assignment problem.
Grid Computing
Um exemplo: solução do NUG30
An Example of Combinatorial Optimization
Grid Computing
Um exemplo: solução do NUG30 NUG30: n = 30 Solução
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)
Em 2000 http://www-unix.mcs.anl.gov/
metaneos/nug30/
Grid Computing 19
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
Arquitetura geral proposta por Foster
Principais Componentes (Foster)
Grid Computing 20
Principais Componentes Arquitetura Geral
Proposta de Foster e Kesselman “The Anatomy of the Grid”, Intl J. Supercomputer
Applications, 2001 www.globus.org/alliance/publications/papers/
anatomy.pdf 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
Grid Computing 21
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
Grid Computing 22
Grid Computing SW: 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, ...
Grid Computing 23
Grid Computing: Principais Aspectos
Modelo de programação aplicações devem ser flexíveis aos recursos,
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
Grid Computing 24
Gerência de recursoscadastroconfiguraçãobusca (descoberta)alocaçãomonitoramento
Grid Computing: Principais Aspectos
Grid Computing 25
Motivação para segurançaInformações sensíveis e recursos de
alto valorDelegação é necessáriaProtocolos padrões atuais não
satisfazem
Grid Computing: Principais Aspectos
Grid Computing 26
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 Em uma grade, VOi acredita em VOj Acredita: pode ser parcialmente,
condicionalmente emprego de criptografia
Grid Computing 27
Gerenciamento de InformaçõesServiç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 (gerência 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
Grid Computing 28
Acesso remoto a dadosnecessidade de acesso a arquivos
distribuídos entre vários servidores e/ou bancos de dados
busca por metadados estáticos e dinâmicos
Grid Computing: Principais Aspectos
Grid Computing 29
Acesso remoto a dadosserviç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 cachereplicação
Grid Computing: Principais Aspectos
Grid Computing 30
Tolerância a falhasnatureza dinâmica do gridmilhares de recursos
1 recurso deve estar em falha a cada momento
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
Grid Computing 31
Análise de desempenho e QoSmecanismos para a avaliação dos
serviços prestados pelo gridrelação exigências das aplicações X
capacidades dos recursosmonitoramento de desempenho
validação de critérios de alocação
Grid Computing: Principais Aspectos
Grid Computing 32
Gerência de executáveisarmazenamentolocalizaçãotransferência entre recursos
suporte à linguagens de scriptsExecutáveis portáveis
Java .Net?
Grid Computing: Principais Aspectos
Grid Computing 33
Grid Computing: Principais Aspectos Aplicações
computação distribuída computação de alto desempenho computação sob demanda computação intensiva de dados computação colaborativa
Grid Computing
Considerações finais Ainda alguma diversidade em definições Diferentes arquiteturas conforme
objetivos Forum GGF procura desenvolver (ou
apoiar) padrões para grids http://www.gridforum.org/
Grid Computing 35
TaxonomiaEscalonadores
Grid Service Broker
Nimrod/G
AppLes
Condor/G
Ninf
DISCWorld
SILVER
ST-ORM
PC2
Portais
UNICORE
XCAT
JiPANG
PUNCH
GridSphere
Economia
Grace
CPM
Mariposa
FORTH
Share Meta
D´Agent
Data grids
CERN
GriPhyN
Particle Physics
DIDC
http://www.gridcomputing.com/
Grid Computing: Principais Aspectos
Grid Computing 36
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
Grid Computing 37
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
Grid Computing 38
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
Grid Computing
Revisão Motivação?
Grid Computing
Revisão Motivação?
Cooperação em aplicações específicas Compartilhamento de recursos
Aumento da quantidade de recursos Cpu, memória, armazenamento, ...
Dispositivos especiais, caros Maior disponibilidade Tudo isto a um menor custo
Grid Computing
Revisão Histórico
Grid Computing
Revisão Histórico
Uso do termo: 1989 Experiências ad-hoc: década de 90 Condor: início do projeto em 1988 Globus: 1995 Legion
Grid Computing
Revisão Definição de grade
Grid Computing
Revisão Definição de grade
Largamente distribuída Diversas organizações Sem controle centralizado
Às vezes hierárquico (HEP) Compartilhamento de recursos Interface (parcialmente) homogênea
Grid Computing
Revisão Definição de grade
Oferecendo Segurança Maior desempenho Maior disponibilidade Com QoS
Grid Computing
Revisão Problemas de uma grade
Alta heterogeneidade nos recursos especialmente no hw (cpu, memória, ...)
Alta heterogeneidade na rede: latência e banda
Alta heterogeneidade no sw local SO, gerência de recursos,
escalonadores, ... Segurança
47
Grid Computing no Brasil
Grid Computing 48
Summary Brazilian Grid DOAP: Grid middleware
adaptative scheduling PRIMOS: high performance Java VIC ++: adaptative VIC for Access Grid Other Brazilian Grid Projects Conclusion
Grid Computing 49
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
Grid Computing 50
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)
Grid Computing 55
DOAP Grid-like middleware Object oriented programming Adaptive scheduling Mobile computing
Grid Computing 56
DOAP Concerns
System Heterogeneity
GRID Computing
CLUSTER Computing
System's Components Availability
Mobility (Hardware and
Software)
Adaptation (Aplication and
System)
Grid Computing 57
DOAP: a pervasive view
A pervasive view in
GRID ComputingMobile Computing
Wireless
GRID Computing
Wide-area
Meta-computing
High performance equips.
Adaptability
High heterogeneity
Grid Computing 58
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
Grid Computing 59
GRID Computing in DOAP
Application
RMS
Agreement Band
Focus in Adaptive BehaviorR
esou
rce
Dem
and
Grid Computing 60
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
Grid Computing 61
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
Grid Computing 62
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
Grid Computing 63
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
Grid Computing 64
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
Grid Computing 65
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
Grid Computing 66
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;
Grid Computing 67
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.
Grid Computing 68
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
Grid Computing 69
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
Grid Computing 70
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, …
Grid Computing 71
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
Grid Computing 72
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
Grid Computing 73
Other Brazilian Grid Projects
OpenGrid UFPB Contact: Prof. Walfredo Cirne
It provides a global execution environment
It is distributed as a free software
Grid Computing 74
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
Grid Computing 75
More Grid Projects at Brazil
Grid Brasil
Grid Computing 76
Conclusions Several projects on Grid software
adaptive scheduling Java HP programming Access Grid/Vic++ Multicluster Global execution environment Grid testbed for new Grid middleware
Grid Computing 77
Conclusions At least two important Grid applications
HEP Genome
Brazilian Grid group Sinapad Grid
Grid Computing 78
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 Organizações temem compartilhamento 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