Ambientes de Computação de Alto Desempenho Prof. Dr. José Luís Zem [email protected] I Jornada Técnico-Científica IFSP – Maio/2011 Agenda Desempenho Computação Distribuída (Distributed Computing) Computação em Nuvem (Cloud Computing) Computação em Grade (Grid Computing) Computação em Cluster (Cluster Computing) Programação Distribuída Plataforma Computacional Ambientes de Computação de Alto Desempenho Desempenho Ambientes de Computação de Alto Desempenho Desempenho Três maneiras de você aumentar o seu desempenho na execução de uma tarefa: Trabalhando muito. Trabalhando de maneira inteligente. Chamando alguém para ajudá-lo. Analogia no ambiente de computação Usar um hardware mais rápido. Otimizar as técnicas e algoritmos usados na solução da tarefa. Organizar múltiplos computadores para resolver a tarefa. Ambientes de Computação de Alto Desempenho Desempenho Ambientes de Computação de Alto Desempenho Ranqueamento de plataformas Ambientes de Computação de Alto Desempenho Ranqueamento de plataformas Ambientes de Computação de Alto Desempenho As dez plataformas mais potentes Ambientes de Computação de Alto Desempenho Tianhe-1A Ambientes de Computação de Alto Desempenho Jaguar Ambientes de Computação de Alto Desempenho Algumas Imagens Ambientes de Computação de Alto Desempenho Arranjo Interno - RoadRunner 1,059 petaflops. 1 petaflop corresponde a 1.000.000.000.000.000 de operações de ponto flutuante por segundo (1 quatrilhão). Ambientes de Computação de Alto Desempenho Fornecedores … Ambientes de Computação de Alto Desempenho Segmentos … Ambientes de Computação de Alto Desempenho Família de Processadores … Ambientes de Computação de Alto Desempenho Qte. de Elementos Processadores … Ambientes de Computação de Alto Desempenho Família de Interconexão … Ambientes de Computação de Alto Desempenho Arquitetura … Ambientes de Computação de Alto Desempenho Família de Sistemas Operacionais … Ambientes de Computação de Alto Desempenho Continentes … Ambientes de Computação de Alto Desempenho Região Geográfica … Ambientes de Computação de Alto Desempenho Países … Ambientes de Computação de Alto Desempenho E o Brasil … Ambientes de Computação de Alto Desempenho E o Brasil … Ambientes de Computação de Alto Desempenho E o Brasil … Ambientes de Computação de Alto Desempenho E o Brasil … (Tupã) Ambientes de Computação de Alto Desempenho E o Brasil … (Tupã) Ambientes de Computação de Alto Desempenho E o Brasil … (Tupã) Ambientes de Computação de Alto Desempenho E o Brasil … (Tupã) Ambientes de Computação de Alto Desempenho Tupã Ambientes de Computação de Alto Desempenho E o Brasil … (Galileu) Ambientes de Computação de Alto Desempenho E o Brasil … (Galileu) Ambientes de Computação de Alto Desempenho E o Brasil … (Galileu) Ambientes de Computação de Alto Desempenho E o Brasil … (Galileu) Ambientes de Computação de Alto Desempenho Galileu Ambientes de Computação de Alto Desempenho Desempenho Ambientes de Computação de Alto Desempenho Desempenho Projetado Ambientes de Computação de Alto Desempenho Tipo da localidade de instalação Ambientes de Computação de Alto Desempenho Arquitetura Ambientes de Computação de Alto Desempenho Tecnologia Ambientes de Computação de Alto Desempenho Alguns sites TOP500 Supercomputers Site http://www.top500.org/ Watson http://g1.globo.com/videos/globo-news/espaco-aberto-cienciae-tecnologia/v/programa-tenta-entrevistar-osupercomputador-watson/1465938/ TSUBAME http://www.gsic.titech.ac.jp/node/370 Watson for a Smart Planet http://www-03.ibm.com/innovation/us/watson/watson-for-asmarter-planet/index.html Ambientes de Computação de Alto Desempenho Computação Distribuída Ambientes de Computação de Alto Desempenho Computação Distribuída Single System Image - Usuários desconhecem a multiplicidade de máquinas e o acesso aos recursos remotos é realizado da mesma maneira que se faz o acesso aos recursos locais. Migração de Dados Transferência de dados movendo-se todo o arquivo, ou então transferindo somente a porção do arquivo que será necessária à tarefa a ser executada. Migração da Computação Transferência da computação ao invés dos dados através do sistema de computação. Migração de Processos Executa todo um processo ou suas partes em diferentes sites. Ambientes de Computação de Alto Desempenho Computação em Nuvem Ambientes de Computação de Alto Desempenho Computação em Nuvem Google Microsoft Amazon EMC Ambientes de Computação de Alto Desempenho Computação em Nuvem Arquitetura genérica. PaaS – Plataform as a Service (consiste no fornecimento de plataformas de desenvolvimento e de execução de softwarei). SaaS – Software as a Service (consiste em um modelo de desenvolvimento de software onde se fornece licenças para as aplicações sob demanda). IaaS – Infrastructure as a Service (consiste na disponibilização da infraestrutura computacional, tradicionalmente através de ambientes virtualizados). Utility Computing (é o empacotamento de recursos computacionais, tais como processamento e armazenamento). Ambientes de Computação de Alto Desempenho Computação em Grade GRID GRID GRID GRID Ambientes de Computação de Alto Desempenho Computação em Grade Representação lógica. Ambientes de Computação de Alto Desempenho Computação em Grade Arquitetura genérica. Aplicações – São as aplicações que compartilham recursos gerenciados de modo controlado. Coletiva – Descoberta, corretagem, monitoração e controle dos grupos de recursos. Recursos – gerenciado individuais. Base – São os recursos físicos, como computadores, armazenamento, redes, sensores, programas e dados. Acesso aos Ambientes de Computação de Alto Desempenho seguro e recursos Computação em Cluster Clusters Centralizados Composto por estações de trabalho ou PCs. Equipamentos são montados em racks. Localizados em um único local (normalmente uma sala). Organizados de um modo mais compacto para reduzir o tamanho e o comprimento dos cabos. São máquinas homogêneas e não possuem periféricos (a não ser placa de rede e, possivelmente, discos). Clusters Descentralizados Composto por estações de trabalho ou PCs. Equipamentos estão espalhados. Estão conectados por uma LAN. São máquinas heterogêneas e periféricos. têm um conjunto Ambientes de Computação de Alto Desempenho completo de Cluster de Computadores Arquitetura genérica (cluster com nós reais e/ou virtuais). Ambientes de Computação de Alto Desempenho Cluster de Computadores Funções lógicas dos nós. Ambientes de Computação de Alto Desempenho Cluster de Computadores Cluster de Alto Desempenho. NC 01 NC 02 NC 03 NC 04 NC 05 Ambientes de Computação de Alto Desempenho Cluster de Computadores Cluster de Alta Disponibilidade. Ambientes de Computação de Alto Desempenho Cluster de Computadores Cluster de Balanceamento de Carga. NC01 NC02 NC03 NC04 Ambientes de Computação de Alto Desempenho Cluster de Computadores Cluster de Alta Confiabilidade. Ambientes de Computação de Alto Desempenho Alguns sites IEEE Computer Society Task Force on Cluster Computing http://www.ieeetfcc.org/ Cluster Computing Grid http://www.ccgrid.org/ IBM Smart Cloud http://www.ibm.com/cloud-computing/us/en/ World Community Grid http://www.worldcommunitygrid.org/ Ambientes de Computação de Alto Desempenho Programação Distribuída Ambientes de Computação de Alto Desempenho Estabelecendo uma sessão de Trabalho Ambientes de Computação de Alto Desempenho Tela de Autenticação de Usuário Ambientes de Computação de Alto Desempenho Criando o arquivo lamhosts Ambientes de Computação de Alto Desempenho Ativar a topologia lógica Ambientes de Computação de Alto Desempenho Tudo pronto para começar Ambientes de Computação de Alto Desempenho PROG01.C (código-fonte) Ambientes de Computação de Alto Desempenho PROG01.C (compilaçao/execução) Ambientes de Computação de Alto Desempenho PROG02.C (código-fonte) Ambientes de Computação de Alto Desempenho PROG02.C (compilaçao/execução) Ambientes de Computação de Alto Desempenho PROG03.C (código-fonte) Ambientes de Computação de Alto Desempenho PROG03.C (compilaçao/execução) Ambientes de Computação de Alto Desempenho PROG04.C (código-fonte) Ambientes de Computação de Alto Desempenho PROG04.C (compilaçao/execução) Ambientes de Computação de Alto Desempenho Desativar a topologia lógica Ambientes de Computação de Alto Desempenho Quase pronto para desligar Ambientes de Computação de Alto Desempenho Encerrando a sessão de trabalho Ambientes de Computação de Alto Desempenho Alguns sites Message Passing Interface Forum http://www.mpi-forum.org/ The Message Passing Interface (MPI) standard http://www.mcs.anl.gov/research/projects/mpi/ Ambientes de Computação de Alto Desempenho Plataforma Computacional Ambientes de Computação de Alto Desempenho Topologia do Cluster Ambientes de Computação de Alto Desempenho Solicitação de um recurso Ambientes de Computação de Alto Desempenho Escolhendo o nó de atendimento Ambientes de Computação de Alto Desempenho Encaminhando a solicitação Ambientes de Computação de Alto Desempenho Buscando o arquivo Ambientes de Computação de Alto Desempenho Retorno do arquivo solicitado Ambientes de Computação de Alto Desempenho Processamento do requisição Ambientes de Computação de Alto Desempenho Retorno do resultado Ambientes de Computação de Alto Desempenho Decidindo pelo destinatário Ambientes de Computação de Alto Desempenho O resultado é entregue Ambientes de Computação de Alto Desempenho Alguns sites Linux Virtual Server http://www.linuxvirtualserver.org/ Ambientes de Computação de Alto Desempenho Ambientes de Computação de Alto Desempenho Prof. Dr. José Luís Zem [email protected] I Jornada Técnico-Científica IFSP – Maio/2011