1 Introdução ao Grid Computing. Grid Computing Autoria Autores Cláudio Geyer 1a versão: 2003...

Preview:

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

Recommended