[39a lista do TOP500] [Leonardo Garcia Tampelini] Instituto de Computação MO601 – Mario Côrtes UNICAMP – Nov/2012 Introdução • Em 1986 Hans Meuer começa a publicar a contagem do número de supercomputadores • Em 1979, com o objetivo de avaliar o desempenho de grandes computadores, Jack Dongarra formula o Linpack benchmark. • Em 1993, com a junção das ideias a primeira lista do Top500 é lançada. • Desde então, está lista é atualizada 2 vezes ao ano (Junho e Novembro). Linpack Benchmark • Programa que resolve um enorme sistema linear. – Altamente Paralelizável – Intensivo em relação ao uso de CPU • Vantagens – Um único número: Rmax – Simples para definir e utilizar para classificar – Permite definir o tamanho diferentes tamanho de problemas • Desvantagens – Ênfase somente no pico máximo de utilização da CPU – Não exige muita comunicação – Ignora lei de Amdhal ( aumentar o problema conforme mais CPUs são usadas) Outras medidas • Rmax = desempenho para o maior problema executado em u ma máquina (em Gflop/s); • Nmax = tamanho do maior problema executado em uma máq uina; • N1/2 = tamanho quando metade de Rmax é executado; • Rpeak = pico de performance teórico para a máquina (em Gflo p/s) • #Proc = Número de processadores utilizados • Power = Consumo de energia em Watts (Green500) Arquiteturas • • • • • PVP - Parallel Vector Processor SMP - Symmetric Multiprocessor MPP - Massively Parallel Processors NOW - Network of Workstations COW - Cluster of Workstations – Cluster (mais nós que processaor por nó) – Constellation (mais processador por nó que nós) Arquiteturas PVP SMP MPP NOW Escalabilidade Baixa Baixa Alta Media Latência Baixa Media Baixa Alta Programação Media Facil Dificil Diicil Custo Alto Medio Alto baixo Arquiteturas Processadores Modelo de programação • MPI – Muitos Cores (threads) • OpenMP – Muitos Nós • Hibrido – MPI e OpenMP Os mais rápidos - Top 5 Referente a 39a Lista dos Top500 Junho 2012. Projeto IBM – BlueGene/Q • Processador: – – – – – PowerPC A2 Power (64-bits) 1.8Ghz 18 núcleos 16 cores para processamento 1 core para SO 1 core redundante (reserva) # 100 mil • Rede: – 5D Torus de 2Gb/s • Memória: – 1,6 Petabytes de memória RAM • Energia: – 7.890 MW – 2 GFlops/W Projeto IBM – BlueGene/Q • Estrutura Modular – altamente escalável Fujitsu – K Computer • Processador: – SPARC64 VIIIfx de 8 núcleos – 2Ghz - L1 de 6M/12-way – # 705.024 • Rede: Tofu – 6D mesh/torus – Capacidade 80 mil nós – Passagem de Mensagens • Memória: • 1,11 Petabytes de memória RAM • Energia: – 12659,89 MW - 150% mais que o BlueGene/Q - Sequoia – Obs.: 55% mais lento que o BlueGene/Q - Sequoia Tendências Tendências A 40o Lista Top 500 (12/11/2012) • Novo primeiro lugar Titan da Cray (Antigo Jaguar). • Desempenho: 17.59 PetaFlop/s – Processador • 560.640 processadores AMD Opteron 6274 16C de 2.200GHz • 261.632 processadores gráficos NVIDIA K20x As mudanças transformaram o antigo Jaguar em uma maquina 10x mais rápida e 5x mais eficiente, saindo da 6a posição para a 1ª Geralmente GPU não é efeiciente energeticamente , mas o TITAM manteve o consumo em 8209 Watts, apenas 4% a mais que o Sequoia. Highlights da 40ª Lista • Um total de 62 sistemas estão utilizando Aceleradores gráficos como coprocessador. (Tendência?) • Sistemas que utilizam multicores (84,6%) continuam dominando a lista. Desses, 46,2% do total utilizam processadores com 6 ou mais núcleos. • A Intel continua fornecendo a maioria dos processadores (76%), seguida pela AMD (12%) e pela IBM (10,6%). • InfiniBand é a tecnologia que fornece a interconexão de 226 sistemas, acima dos 209 sistemas, tornando-o mais usado tecnologia de interconexão interna do sistema. Gigabit Ethernet são encontrados em 188 sistemas. • Os Estados Unidos continua na liderança com 251 dos 500 sistemas. A participação europeia (105 sistemas) ainda é menor do que a quota da Ásia (123 sistemas). O número de sistemas instalados na China já estabilizou em 72, em comparação com 68 e 74 nas duas últimas listas, mantendo a segunda posição. Considerações Finais • Técnicas de Programação flexíveis são essenciais – Dificuldade em programar para GPUs • Dados se mantém relativamente estáveis – Possível fazer boas previsões • Limite da escalabilidade – Gargalo nas redes de comunicação