Cluster de Computadores e Grids Computacionais



Documentos relacionados
Introdução às arquiteturas paralelas e taxonomia de Flynn

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

Supercomputadores dominavam o mercado

Organização e Arquitetura de Computadores I. de Computadores

O que é Grid Computing

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

Capítulo 8 Arquitetura de Computadores Paralelos

Máquinas Multiníveis

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Administração de Sistemas de Informação Gerenciais

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware

Informática I. Aula 5. Aula 5-13/05/2006 1

Sistema Operacional Correção - Exercício de Revisão

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Comparação SDs X Scs

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Sistemas Operacionais

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat:

RISC X CISC - Pipeline

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

1

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

slide 0 Algoritmos Paralelos

Everson Scherrer Borges João Paulo de Brito Gonçalves

Tipos de Sistemas Distribuídos (Cluster e Grid)

SISTEMAS DISTRIBUÍDOS

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

Unidade 13: Paralelismo:

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

Computação de Alta Perfomance com Software Livre (Clusters)

SISTEMAS DISTRIBUÍDOS

Nível do Sistema Operacional

Sistemas Operacionais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Grids Computacionais. Marcelo Musci. Computação de Alto Desempenho. Jun/2004. Profa. DSc. Cristiana Bentes

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

4 Estrutura do Sistema Operacional Kernel

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Fonte de Consulta: Sistemas de Informação e as Decisões Gerenciais na Era da Internet James A. O Brien NOTAS DE AULA

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Sistemas Distribuídos Visão Geral de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

Introdução aos Sistemas Operativos

ESCOLA SUPERIOR ABERTA DO BRASIL ESAB CURSO DE ESPECIALIZAÇÃO EM REDES DE COMPUTADORES DANIEL VAHID LIMA TOLOUEI

Cluster HPC High Performance Computing.

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Distribuídos

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Multicomputadores. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP

Material 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Sistemas Operacionais

Organização de Computadores 1

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

Engenharia de Software

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

05/08/2013. Sistemas Distribuídos Cluster. Sistemas Distribuídos Cluster. Agenda. Introdução

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

Agenda do Mini-Curso. Sérgio Yoshio Fujii. Ethan Boardman.

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

SISTEMAS OPERACIONAIS 2007

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Introdução ao Modelos de Duas Camadas Cliente Servidor

SEGURANÇA DE REDE DE COMPUTADORES E SEGURANÇA E AUDITORIA DE SISTEMAS

Aula 03-04: Modelos de Sistemas Distribuídos

OBJETIVOS DA APRESENTAÇÃO

Organização de Computadores 1

Prof. Dr. Charlie Antoni Miquelin BÁSICO DE COMPUTAÇÃO EM TC

11- Tornar transparente para o processador os detalhes de operação e controle dos dispositivos periféricos.

Processamento Paralelo

A Evolução dos Sistemas Operacionais

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Cloud Computing. Edy Hayashida

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Arquitectura de Sistemas Paralelos e Distribuídos

Familiaridade com as boas práticas de ITIL (Visão Global de Service Desk),Bom conhecimento de ambiente Windows XP e aplicativos para este ambiente,bom

Prof. Esp. Lucas Cruz

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Telecomunicações. Prof. André Y. Kusumoto

Cursos da Escola de Engenharias e Ciências Exatas - UnP

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Profs. Deja e Andrei

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL

1. CAPÍTULO COMPUTADORES

Introdução aos Sistemas da InformaçãoAula 4 p. 1

GESTÃO DE SISTEMAS OPERACIONAIS II

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Transcrição:

Cluster de Computadores e Grids Computacionais CACIC 2007 Resistencia-Chaco, Argentina Septiembre 2007 CYTED-Grid - Tecnología GRID como motor del desarrollo regional Universidade do Estado da Bahia - UNEB Núcleo de Arquitetura de Computadores e Sistemas Operacionais ACSO http://www.acso.uneb.br Professor Josemar Rodrigues de Souza - josemar@uneb.br

Elementos de Computação Aplicações Paradigmas de programação P Threads Interface Microkernel Multi-Processor Computing System.. P P P P P Sistema operacional Hardware P Processor Thread Process

Roteiro Visão geral Motivação e tecnologia Cluster de computadores Grids Computacionais Conceituação Características de Grids Aspectos da Computação em Grid

Principais desafios HPC Life Sciences Aerospace E-commerce/anything CAD/CAM Digital Biology Military Applications

Desempenho Existem 3 maneiras para melhorar o desempenho: Trabalhar duro Trabalhar duro Trabalhar inteligentemente Pedir ajuda

Desempenho Existem 3 maneiras para melhorar o desempenho: Trabalhar duro Trabalhar inteligentemente Pedir ajuda Usar hardware rápido: reduzir o tempo por instrução (clock cycle). Ciclo de busca (Fetch Cycle) Partida Buscar instrução / Próxima instrução Ciclo de instrução básico Executar instrução Ciclo de execução (Execute Cycle) Parada

Desempenho Existem 3 maneiras para melhorar o desempenho: Trabalhar duro Trabalhar inteligentemente Pedir ajuda Otimizar os algoritmos Ciclo de busca (Fetch Cycle) Partida Buscar instrução / Próxima instrução Executar instrução Parada Ciclo de execução (Execute Cycle) Ciclo de instrução básico

Desempenho Existem 3 maneiras para melhorar o desempenho: Trabalhar duro Trabalhar inteligentemente Pedir ajuda Ciclo de busca (Fetch Cycle) Buscar instrução / Próxima instrução Múltiplos computadores para resolver o problema: isto, aumenta o número de instruções executadas por ciclo de clock. Executar instrução Ciclo de execução (Execute Cycle) Partida Ciclo de busca (Fetch Cycle) Parada Buscar instrução / Executar Próxima instrução instrução Ciclo de instrução duplo Ciclo de execução (Execute Cycle)

Arquitetura seqüencial Arquitetura sequencial está chegando ao seu limite físico (velocidade da luz no vácuo) O fator limitante, segundo Akl (1989) é a velocidade da luz no vácuo ( 3 x 10 8 metros por segundo). Assumindo que um dispositivo eletrônico possa atingir 10 12 operações por segundo será mais demorado esperar por um sinal de outro dispositivo que esteja a meio milímetro do que processá-lo. Ou seja, qualquer ganho possível em performance acima desse patamar de nada adianta pois esse tempo é perdido enquanto o dispositivo espera por outro. Incremento de melhorias de hardware como pipelining, não são escaláveis e requerem compiladores sofisticados.

Taxonomia de Arquiteturas de Computadores Fluxo de instruções Fluxos de dados Nome Exemplos 1 1 SISD Máquina clássica de Von Neumann 1 Múltiplos SIMD Supercomputadores vetoriais, array processor Múltiplos 1 MISD Questionável, nenhuma Múltiplos Múltiplos MIMD Multiprocessadores, multicomputadores Taxonomia de Flynn O propósito principal de uma taxonomia (classificação) de qualquer tipo é classificar em categorias os modelos ou conceitos diferentes que poderiam existir sobre um assunto em particular.

Taxonomia de Arquiteturas de Computadores Arquiteturas de Computadores SISD SIMD MIMD Vector- Array- Multi- Multi- processors processors processors computers Von Neumann UMA COMA NUMA MPP COW NOW HNOW CoHNOW MPP - Massively Parallel Processors (supercomputadores caros). COW - Cluster of Workstations (computadores pessoais interconectados em rede).

Por que processamento paralelo? A Tecnologia de processamento paralelo está madura e pode ser explorada comercialmente; reduzindo significativamente o trabalho com P & D, tanto no desenvolvimento de ferramentas quanto no de ambientes; O desenvolvimento da tecnologia de rede possibilitou a criação computadores paralelos de baixo custo.

O que são Computadores Paralelos? São computadores compostos por vários processadores que operam concorrentemente. Cooperando na execução de uma determinada tarefa. Ciclo de busca (Fetch Cycle) Buscar instrução / Próxima instrução Executar instrução Ciclo de execução (Execute Cycle) Partida Ciclo de busca (Fetch Cycle) Parada Buscar instrução / Executar Próxima instrução instrução Ciclo de instrução duplo Ciclo de execução (Execute Cycle)

Fatores motivadores para utilizar processamento paralelo Agregar velocidade em cálculos complexos: Milhões de neurônios respondem mais rapidamente a uma solicitação; Um neurônio individualmente responde mais lentamente.

Paradoxo do Processamento Paralelo! O tempo requerido para desenvolver aplicações paralelas para resolver os "principais desafios" ("grand challenge") é igual a: metade da vida dos Supercomputadores Paralelos

2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 Evolução das plataformas de computadores Computing Platforms Evolution Breaking Adm inistrative Barriers P E R F O R M A N C E? 21 00 Administrative Barriers Individual Group Depart ment Campus Sta te National Globe Inte r Plane t Universe Desktop (Single Proc es sor?) SMPs or SuperC om puters Local Cluster Enterprise Cluster/Grid Global Cluster/Grid Inter Plan et Cluster/Grid??

Analogia com o crescimento humano e a melhoria da potência computacional Crescimento Vertical Horizontal 5 10 15 20 25 30 35 40 45.... Idade

Por que utilizar Supercomputadores alternativos? Grande número de workstations sub-utilizadas e disponíveis para utilização; Grande número de ciclos de processador e recursos não utilizados, que podem ser postos em uso para uma variada gama de aplicações; Relutância em comprar Supercomputadores devido ao alto custo e curto tempo de utilização.

Cluster de Computadores

Cluster de computadores É uma coleção de maquinas que se utilizam das redes de computadores comerciais, locais e / ou remotas para paralelizar suas transações; Utiliza um software de passagem de mensagem que permite que um conjunto heterogêneo ou homogêneo de computadores (série, paralelo ou vetorial) seja visto como uma única Máquina paralela virtual (PVM, MPI, etc.) máquina.

Motivação para usar Clusters - 1 As pesquisas mostram que a utilização de ciclos da CPU de estações de trabalho são tipicamentes < 10%; O desempenho de estações de trabalho vem crescendo rapidamente; As organizações relutam para comprar grandes supercomputadores, devido aos altos custos e período de vida útil pequeno; As ferramentas de desenvolvimento para estações de trabalho estão mais maduras que as soluções proprietárias para computadores paralelos - principalmente devido à natureza não normal de muitos sistemas paralelos Normalmente uma estação de trabalho é utilizada por um individuo, grupo ou departamento. - elas são dedicadas para o uso exclusivo pelos "donos".

Motivação para usar Clusters - 2 Clusters de estações de trabalho são uma alternativa barata e disponível para computadores de alto desempenho especializado (HPC); A largura de banda para comunicação entre workstations cresceu muito nas novas tecnologias de rede e os protocolos podem ser implementados em LANs e LDNs; Cluster de Workstation são fáceis de serem integrados dentro de redes existentes.

Arquitetura de clusters Os clusters podem ser ampliados: com o aumento da escalabilidade (up, down, and across): O desempenho de nós individuais podem ser melhorados adicionando recursos adicionais (memória, disco) Novos nós podem ser adicionados ou podem ser removidos Clusters de clusters e Metacomputing Ferramentas de software completas: Threads, PVM, MPI, C, C++, Java, Parallel C++, Compiladores, Debuggers, OS, etc Ampla variedade de aplicativos: Para resolver os "principais desafios" ("grand challenge")

Aplicações de Clusters Numerosas Aplicações Cientificas e de Engenharia. Simulações Paramétricas Aplicações Comerciais Aplicações de e-commerce Aplicações de banco de dados Sistemas de apoio a decisão Aplicações Internet Web server / searching ASPs (application service providers) email, echat, ephone, ebook, ecommerce, ebank, esociety, eanything! Portais Aplicações de Missão Critica sistemas de controle de processo, bancos, controle de reatores nucleares, guerra nas estrelas, e muitas outras situações.

Cluster de Computadores - Projetos de Pesquisas Beowulf (CalTech and NASA) - USA CCS (Computing Centre Software) - Paderborn, Germany CEBACAD Centro Baiano de Computação de Alto Desempenho. Br. Condor - Wisconsin State University, USA DQS (Distributed Queuing System) - Florida State University, US. EASY - Argonne National Lab, USA HPVM -(High Performance Virtual Machine),UIUC&now UCSB,US far - University of Liverpool, UK Gardens - Queensland University of Technology, Australia MOSIX - Hebrew University of Jerusalem, Israel MPI (MPI Forum, MPICH is one of the popular implementations) NOW (Network of Workstations) - Berkeley, USA NIMROD - Monash University, Australia NetSolve - University of Tennessee, USA PBS (Portable Batch System) - NASA Ames and LLNL, USA PVM - Oak Ridge National Lab./UTK/Emory, USA

Cluster de Computadores - Softwares Comerciais Codine (Computing in Distributed Network Environment) - GENIAS GmbH, Germany LoadLeveler - IBM Corp., USA LSF (Load Sharing Facility) - Platform Computing, Canada NQE (Network Queuing Environment) - Craysoft Corp., USA OpenFrame - Centre for Development of Advanced Computing, India RWPC (Real World Computing Partnership), Japan Unixware (SCO-Santa Cruz Operations,), USA Solaris-MC (Sun Microsystems), USA ClusterTools (A number for free HPC clusters tools from Sun) Um grande número de vendedores no mundo estão oferecendo soluções de clusters, incluindo IBM, Compaq, Microsoft, etc Um bom número de companhias iniciantes também oferecendo soluções para clusters: TurboLinux, HPTI, Scali, BlackStone..

Quem já chegou!

Exemplos de clusters: CAOS

Exemplos de clusters: CEBACAD

Exemplos de Clusters: LPAD (projeto)

Grids Computacionais A idéia de Grid surgiu na comunidade de Computação de Alto Desempenho (HPC) há mais ou menos 10 anos.

Clusters de Computadores X Grids Computacionais grid (Babylon English-English) n. network of crisscrossed bars; electrical conducting plate (in batteries); system of power stations which provide electricity to a large area; system of lines intersecting at right angles (used for reference); football field, gridiron (Sports) grid (Babylon English-Portuguese) s. grelha; rede (para a pesca de peixes); agulha; rede elétrica grid (Babylon English-Spanish) s. cuadrícula, cuadriculado, encasillado; rejilla, enjaretado, parrilla, reja; red cluster (Babylon English-English) n. group; bunch; unit for data storage on a disk (Computers); group of stars of approximately the same age which are held together by mutual gravitation (Astronomy) v. gather closely together, assemble, crowd together cluster (Babylon English-Portuguese) s. grupo; cacho, penca; enxame; (informática) grupamento, cluster, unidade de armazenamento de dados v. agrupar-se, juntar-se cluster (Babylon English-Spanish) s. grupo, agrupación; racimo, piña, ramillete, ramo; (inform.) cluster, un grupo de sectores de disco, unidad de almacenaje de datos en el disco v. aglomerar, agrupar, racimar

O que é um Grid? De acordo com Walfredo Cirne Universidade Federal de Campina Grande http://walfredo.dsc.ufcg.edu.br Atualmente (abril 2007) no Centro de Pesquisa do Google Uma plataforma para execução de aplicações paralelas Amplamente distribuída Heterogênea Compartilhada Sem controle central Com múltiplos domínios administrativos Uma ferramenta de marketing Multicluster

Grids podem diferir bastante TeraGrid 4 centros de supercomputação norte-americanos Cada centro com milhares de processadores dedicados ao TeraGrid Canais de altíssima velocidade (40 GBits/s) Poder agregado de 13,6 TeraFlops SETI@home Ciclos ociosos de 1.6 milhões de processadores espalhados em 224 países Computa em média a uma velocidade de 10 Teraflops

Aspectos da Computação em Grid Além das questões de praxe em computação paralela, Computação em Grid adiciona os seguintes aspectos: Escalonamento de Aplicação Acesso e Autenticação Economias Grids Imagem do Sistema

Escalonamento de Aplicação Não é possível ter um escalonador controlando o Grid Tamanho e dispersão Múltiplos domínios administrativos Escalonadores de recurso Controlam alguns recursos no Grid Escalonadores de aplicação Escolhem quais recursos usar Particionam o trabalho da aplicação

Escalonador de Aplicação Necessita de informações sobre o Grid Sistemas de monitoramento Informações de monitoração são usadas em previsões de performance Necessita de um modelo de performance da aplicação Portanto, funciona apenas para uma classe de aplicações

Acesso e Autenticação Com vários domínios administrativos, como se dá acesso e autenticação? Idealmente gostariamos de ter um login único e propagável para os processos que criamos Segurança é um aspecto muito importante

Muito obrigado! Muchas gracias! Moltes gràcies! josemar@uneb.br