780 likes | 911 Views
Introdução ao 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. Sumário Introdução a Grid Computing Grid Computing no Brasil Em 2002/2003 Não revisado. Histórico.
E N D
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 • Sumário • Introdução a Grid Computing • Grid Computing no Brasil • Em 2002/2003 • Não revisado
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.html • “support High Throughput Computing (HTC) on large collections of distributively owned computing resources”
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
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
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
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/gridfaq.html • Principal autor: Buya • Preocupação com aspectos de custos
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 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
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
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
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
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
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))
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.
Um exemplo: solução do NUG30 • An Example of Combinatorial Optimization
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/
Principais Componentes (Foster) Arquitetura geral proposta por Foster aplicações e portais Aplicações Web based científicas engenharia PSE colaborativas ... ... ferramentas e ambientes de desenvolvimento Ferramentas linguagens depuradores ORBs bibliotecas Web serviços básicos ... Middleware acesso a dados segurança informação comunicação QoS gerenciadores de recursos locais SO bibliotecas TCP, UDP, IP ... Dispositivos de Fábrica recursos compartilhados entre OV clusters armazenamento instrumentos ...
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
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 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: 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: Principais Aspectos • Gerência de recursos • cadastro • configuração • busca (descoberta) • alocação • monitoramento
Grid Computing: Principais Aspectos • 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 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: Principais Aspectos • 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 (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 • Acesso remoto a dados • necessidade 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 • Acesso remoto a 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 • Tolerância a falhas • natureza dinâmica do grid • milhares 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 • 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 • 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 • Aplicações • computação distribuída • computação de alto desempenho • computação sob demanda • computação intensiva de dados • computação colaborativa
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: Principais Aspectos • Taxonomia Escalonadores Grid Service Broker Nimrod/G AppLes Condor/G Ninf DISCWorld SILVER ST-ORM PC2 Economia Grace CPM Mariposa FORTH Share Meta D´Agent Data grids CERN GriPhyN Particle Physics DIDC Portais UNICORE XCAT JiPANG PUNCH GridSphere http://www.gridcomputing.com/
Grid Computing: Principais Aspectos • Taxonomia Sistemas XtremWeb Javelin MILAN HARNESS PUNCH MoBiDiCK MetaNEOS MultiCluster Ambientes 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
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
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
Revisão • Motivação?
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
Revisão • Histórico
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
Revisão • Definição de grade
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
Revisão • Definição de grade • Oferecendo • Segurança • Maior desempenho • Maior disponibilidade • Com QoS
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
Summary Brazilian Grid DOAP: Grid middleware adaptative scheduling PRIMOS: high performance Java VIC ++: adaptative VIC for Access Grid Other Brazilian Grid Projects Conclusion
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
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)