Faculdade de Tecnologia de Americana Centro Paula Souza Ambientes Computacionais de Alto Desempenho Prof. Dr. José Luís Zem [email protected] http://sites.google.com/site/jlzemfatec Semana de Tecnologia - 2011 Outubro/2011 Agenda Desempenho Ambientes Computacionais 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 de Uso Geral Ambientes Computacionais de Alto Desempenho Desempenho Ambientes Computacionais 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 com o 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 Computacionais de Alto Desempenho Processamento Sequencial Ambientes Computacionais de Alto Desempenho Proc. Logicamente Paralelo Ambientes Computacionais de Alto Desempenho Proc. Fisicamente Paralelo Ambientes Computacionais de Alto Desempenho Fortemente Acoplado (i) Ambientes Computacionais de Alto Desempenho Fortemente Acoplado (ii) Ambientes Computacionais de Alto Desempenho Fortemente Acoplado (iii) Ambientes Computacionais de Alto Desempenho Alternativas ... Ambientes Computacionais de Alto Desempenho Fracamente Acoplado (i) Ambientes Computacionais de Alto Desempenho Fracamente Acoplado (ii) Ambientes Computacionais de Alto Desempenho Fracamente Acoplado (iii) Ambientes Computacionais de Alto Desempenho Fracamente Acoplado (iv) Ambientes Computacionais de Alto Desempenho Desempenho Ambientes Computacionais de Alto Desempenho Ranqueamento de plataformas Ambientes Computacionais de Alto Desempenho Ranqueamento de plataformas Ambientes Computacionais de Alto Desempenho Ranqueamento de plataformas Ambientes Computacionais de Alto Desempenho Plataformas mais potentes Ambientes Computacionais de Alto Desempenho Tianhe-1A Ambientes Computacionais de Alto Desempenho Jaguar Ambientes Computacionais de Alto Desempenho Outras Plataformas Ambientes Computacionais de Alto Desempenho Watson Ambientes Computacionais de Alto Desempenho Watson Ambientes Computacionais de Alto Desempenho Mas na lista de junho/11 … Ambientes Computacionais de Alto Desempenho Site do Número 1 Ambientes Computacionais de Alto Desempenho Áreas de atuação do Número 1 Ambientes Computacionais de Alto Desempenho O Número 1 - K Computer Ambientes Computacionais de Alto Desempenho O Número 1 - K Computer Ambientes Computacionais de Alto Desempenho K Computer Ambientes Computacionais de Alto Desempenho K Computer Ambientes Computacionais de Alto Desempenho K Computer Ambientes Computacionais de Alto Desempenho K Computer Ambientes Computacionais de Alto Desempenho K Computer Ambientes Computacionais de Alto Desempenho K Computer Ambientes Computacionais 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 Computacionais de Alto Desempenho Fornecedores Ambientes Computacionais de Alto Desempenho Segmentos Ambientes Computacionais de Alto Desempenho Família de Processadores Ambientes Computacionais de Alto Desempenho Qte. de Elementos Processadores Ambientes Computacionais de Alto Desempenho Família de Interconexão Ambientes Computacionais de Alto Desempenho Arquitetura Ambientes Computacionais de Alto Desempenho Família de Sistemas Operacionais Ambientes Computacionais de Alto Desempenho Continentes Ambientes Computacionais de Alto Desempenho Região Geográfica Ambientes Computacionais de Alto Desempenho Países Ambientes Computacionais de Alto Desempenho E o Brasil … Ambientes Computacionais de Alto Desempenho E o Brasil … Ambientes Computacionais de Alto Desempenho E o Brasil … Ambientes Computacionais de Alto Desempenho Tupã Ambientes Computacionais de Alto Desempenho Tupã Ambientes Computacionais de Alto Desempenho Tupã Ambientes Computacionais de Alto Desempenho Tupã Ambientes Computacionais de Alto Desempenho Tupã Ambientes Computacionais de Alto Desempenho Tupã Ambientes Computacionais de Alto Desempenho Galileu Ambientes Computacionais de Alto Desempenho Galileu Ambientes Computacionais de Alto Desempenho Galileu Ambientes Computacionais de Alto Desempenho Galileu Ambientes Computacionais de Alto Desempenho Galileu Ambientes Computacionais de Alto Desempenho Galileu Ambientes Computacionais de Alto Desempenho Desempenho Ambientes Computacionais de Alto Desempenho Desempenho Projetado Ambientes Computacionais de Alto Desempenho Tipo do ambiente de instalação Ambientes Computacionais de Alto Desempenho Arquitetura Ambientes Computacionais de Alto Desempenho Tecnologia do chip Ambientes Computacionais de Alto Desempenho Alguns sites TOP500 Supercomputers Site http://www.top500.org/ Watson http://g1.globo.com/videos/globo-news/espaco-aberto-ciencia-etecnologia/v/programa-tenta-entrevistar-o-supercomputadorwatson/1465938/ http://www-03.ibm.com/innovation/us/watson/watson-for-a-smarterplanet/index.html TSUBAME http://www.gsic.titech.ac.jp/node/370 K Computer http://www.fujitsu.com/global/about/tech/k/ How to create a CPU http://www.fujitsu.com/global/about/tech/k/whatis/processor/cpu.html Ambientes Computacionais de Alto Desempenho Computação Distribuída Ambientes Computacionais 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 Computacionais de Alto Desempenho Computação em Nuvem Ambientes Computacionais de Alto Desempenho Computação em Nuvem Google Microsoft Amazon EMC Ambientes Computacionais 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 Computacionais de Alto Desempenho Computação em Grade GRID GRID GRID GRID Ambientes Computacionais de Alto Desempenho Computação em Grade Representação lógica. Ambientes Computacionais 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 Computacionais 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 completo Ambientes Computacionais de Alto Desempenho de Cluster de Computadores Arquitetura genérica (cluster com nós reais e/ou virtuais). Ambientes Computacionais de Alto Desempenho Cluster de Computadores Funções lógicas dos nós. Ambientes Computacionais de Alto Desempenho Cluster de Computadores Cluster de Alto Desempenho. NC 01 NC 02 NC 03 NC 04 NC 05 Ambientes Computacionais de Alto Desempenho Cluster de Computadores Cluster de Alta Disponibilidade. Ambientes Computacionais de Alto Desempenho Cluster de Computadores Cluster de Balanceamento de Carga. NC01 NC02 NC03 NC04 Ambientes Computacionais de Alto Desempenho Cluster de Computadores Cluster de Alta Confiabilidade. Ambientes Computacionais 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 Computacionais de Alto Desempenho Programação Distribuída Ambientes Computacionais de Alto Desempenho Estabelecendo uma sessão de Trabalho Ambientes Computacionais de Alto Desempenho Tela de Autenticação de Usuário Ambientes Computacionais de Alto Desempenho Criando o arquivo lamhosts Ambientes Computacionais de Alto Desempenho Ativar a topologia lógica Ambientes Computacionais de Alto Desempenho Tudo pronto para começar Ambientes Computacionais de Alto Desempenho PROG01.C (código-fonte) Ambientes Computacionais de Alto Desempenho PROG01.C (compilaçao/execução) Ambientes Computacionais de Alto Desempenho PROG02.C (código-fonte) Ambientes Computacionais de Alto Desempenho PROG02.C (compilaçao/execução) Ambientes Computacionais de Alto Desempenho PROG03.C (código-fonte) Ambientes Computacionais de Alto Desempenho PROG03.C (compilaçao/execução) Ambientes Computacionais de Alto Desempenho PROG04.C (código-fonte) Ambientes Computacionais de Alto Desempenho PROG04.C (compilaçao/execução) Ambientes Computacionais de Alto Desempenho Desativar a topologia lógica Ambientes Computacionais de Alto Desempenho Quase pronto para desligar Ambientes Computacionais de Alto Desempenho Encerrando a sessão de trabalho Ambientes Computacionais 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/ Laboratório Experimental de Cluster Computing – LECC http://alpha.unimep.br http://cluster.unimep.br Ambientes Computacionais de Alto Desempenho Plataforma Computacional de Uso Geral Ambientes Computacionais de Alto Desempenho Topologia do cluster de uso geral Ambientes Computacionais de Alto Desempenho Solicitação de um recurso Ambientes Computacionais de Alto Desempenho Escolhendo o nó de atendimento Ambientes Computacionais de Alto Desempenho Encaminhando a solicitação Ambientes Computacionais de Alto Desempenho Buscando o arquivo Ambientes Computacionais de Alto Desempenho Retorno do arquivo solicitado Ambientes Computacionais de Alto Desempenho Processamento do requisição Ambientes Computacionais de Alto Desempenho Retorno do resultado Ambientes Computacionais de Alto Desempenho Decidindo pelo destinatário Ambientes Computacionais de Alto Desempenho O resultado é entregue Ambientes Computacionais de Alto Desempenho Alguns sites Linux Virtual Server http://www.linuxvirtualserver.org/ Ambientes Computacionais de Alto Desempenho Faculdade de Tecnologia de Americana Centro Paula Souza Ambientes Computacionais de Alto Desempenho Prof. Dr. José Luís Zem [email protected] http://sites.google.com/site/jlzemfatec Semana de Tecnologia - 2011 Outubro/2011