Aspectos Técnicos Situación actual y tendencias del hardware para el cómputo de alto desempeño Marcos Mazzini - UnCaFiQT
Conceptos
Conceptos High Performance Computing Mucho cómputo en poco tiempo. Ejecución más rápida de tareas fuertemente acopladas. Se mide en FLOPS (Linpack)
megaFLOPS106 gigaFLOPS 109 teraFLOPS 1012 petaFLOPS 1015 exaFLOPS
High Throughput Computing Mucho cómputo en mucho tiempo. Ejecución eficiente de muchas tareas débilmente acopladas. Se mide en tareas/mes(año).
1018
Conceptos - Programación Paralela Memoria Compartida
Paralelismo de Datos
Los procesos se comunican mediante un área de memoria accesible por todos.
Los procesos realizan las mismas operaciones sobre conjuntos particionados de datos.
Memoria Distribuida
Paralelismo de Tareas
Los procesos se comunican enviando y recibiendo mensajes por un canal de comunicación.
Cada proceso realiza tareas diferentes y debe comunicarse con el resto.
Hardware
Hardware - Procesamiento Multicore Núcleos complejos replicados.
Manycore/embebido/fpga Muchos núcleos simples de bajo consumo - embebidos.
GPU/acelerador Procesadores altamente especializados para gráficos/juegos.
Hardware - Multicore (Cluster) Mantenimiento centralizado, más barato, escalabilidad
Beowulf
Rack/Blade
Equipamiento de escritorio/personal.
Superescalar, varios sockets por mother, fuente a veces separada. Más eficiente en espacio y consumo eléctrico.
Más Económico.
Multicore - Procesadores Intel Xeon (x86_64)
AMD Opteron (x86_64)
Cores: 4,6,8,10,12
Cores: 4,8,12,16
L3 cache: 30MB
L3 cache: 16MB
QPI: 32 GB/s
HyperTransport: 51 GB/s
Watts: 70, 95, 115, 130
Watts: 85, 115, 140
IBM Power7/8 (RISC) Cores: 4,6,8,12 L3 cache: 32, 96 MB CAPI (PCI Express 3.0): 48 GB/s Watts: 130 No son mainstream: Cachés más grandes, controladores de memoria on-chip. Aptos para mothers con varios sockets.
Multicore - TOP500
XEON: OPTERON: POWER:
77,6% 9,2% 6,8%
Multicore - Interconexión Ethernet Establecido 100M-1G bit/s Algunos productos soportan 10-40G bit/s y fibra TCP/IP maneja los errores
Infiniband 40G bit/s - 300G bit/s MAX Cobre o Fibra Control de congestión, menor latencia Switches más escalables No estandarizado totalmente (lidera cisco nexus) 40G es 30% más barato que 10G Ethernet
Multicore - Topología de Red Topologías La clase de problemas puede guiar la topología o la topología rige la forma de optimización. Fat Tree
2D-Mesh Torus
Hipercubo
Multicore - UnCaFiQT
234 Cores i5, i7, core 2 cuad / duo 380 GB RAM 1Gb ethernet Refrigeración x aire acondicionado
Rocks 6.0 Condor 7.6 OpenMPI ATLAS Gromax Ganglia
Multicore - Opción Comercial Gabinete crayXC30-AC 128 Xeon, 128 GB ram/nodo, 32 switches ASIC de 500gb/s (1 cada 4 nodos) 22TFlops (US$500 mil) Centro Suizo de Cálculo Científico (CSCS) top42: 36 gabinetes
ManyCore
ManyCore - Pequeña Escala System on Chip (SoC) Parallela Coprocesador epiphanyIII de 16 cores RISC. 32 gflops peak, hasta 8gb/s. US$ 100.
Cubieboard ARM cortex-7 A20 dual core, performance similar a una computadora de escritorio. US$ 50. $1000 en MercadoLibre. Almacenamiento en tarjetas de memoria SD o discos rígidos
ManyCore - FPGA Field Programmable Gate Array Mediante un lenguaje de descripción de hardware se programa la lógica que le daremos al chip. Pueden configurarse como un Application Specific Integrated Circuit (ASIC) para usarlo en un SoC.
ManyCore - Gran Escala IBM Bluegene Diseñada para resolver plegamiento de proteínas y operar por encima de los PetaFlops. Blugene/Q Sequoia 3era a nivel mundial 17.17 petaflop/s usando 1,572,864 cores (Junio 2013). La arquitectura más eficiente en consumo eléctrico (7.84 MW)
GPU/acelerador
GPU - Graphic Processing Unit ● Coprocesador diseñado para aligerar la carga. ● Instrucciones de hardware específicas como antialiasing o geometría y operaciones de punto flotante. ● Hardware intrínsecamente paralelo. ● Precisa instrucciones y código compilado específicamente.
GPU - Forma de uso Librerías Operaciones de alto nivel. NvidiaCUDA / IntelMKL
Directivas Explicitar qué código es paralelo. OpenACC / OpenMP+Directivas Phi
Modelo de Programación Como se describen las operaciones e interacciones de los procesos paralelos. CUDA / Funciones intrínsecas del compilador
GPU/acelerador Nvidia CUDA - TESLA (2007-) Entorno de programación paralela. Soportado en diversos productos. Agrupa los threads en thradblocks.
Intel - PHI (2013-) Arquitectura multiprocesador x86. Permite usar las herramientas existentes. Threads independientes
GPU - Arquitectura Xeon E5-2670
Xeon Phi 5110P
Tesla K20X
Cores
8
60
14
Cores Lógicos
16 HT
240 HT
2,688 cores CUDA
Frecuencia
2.60GHz
1.053GHz
735MHz
GFLOPs (double)
333
1010
1317
SIMD
256 Bytes
512 Bytes
N/A
Memoria
16-128GB
8GB
6GB
Ancho Banda mem
51.2GB/s
320GB/s
250GB/s
Threading
software
software
hardware
Cloud Computing
Cloud Computing Servicios de red prestados por un servidor virtual que corre en una o más máquinas. Puede migrar y agrandarse o achicarse según las necesidades / fallas.
Virtualización ●
Los procesadores proveen interfaces de virtualización por hardware (Hypervisor).
●
Deben ser soportados con drivers / modulos del kernel.
●
Software para presentar los recursos virtuales al usuario y para administrar el sistema (Open Nebula)
Cloud Computing Platform as a Service (PaaS) Amazon EC2, Heroku, OpenShift - Google AppEngine US$35 - US$800 / mes (2 - 24 usuarios) 2 CPU, 1024RAM US$ 0.10 / hora Registraciones gratuitas y Free-Trials de 1 año.
En general orientados a aplicaciones web
Cloud Computing - GRID Supercomputadora Virtual Redes débilmente acopladas orientadas a un proyecto específico. Desde clusters a computadoras hogareñas. Construidos mediante middleware para grid no especializado. ● ● ●
Folding@Home (Plegamiento de proteínas) 11.4 PFLOPS BONIC (Seti + 80 proyectos) 9.2 PFLOPS. MilkyWay@Home (Astrofísica) mayormente GPUs 1.6 PFLOPS
Tendencias Globales
Tendencias Globales ● La incorporación de GPU trajo una mejora de 5x. La evolución de esta tecnología no tendrá estos saltos. Fin de la era multicore para gran escala. ● La Bluegene/Q es la última de la serie. El fin de los sistemas embebidos a gran escala? ● Es probable que aparezcan algunos servers ARM embebidos. aunque no presentan la mejora esperada como para desplazar a las otras tecnologías.
Tendencias Globales Desafío exaflop 2018 Exaflop 2018 1000 veces más rápido que el actual top1 EEUU 2 proyectos, Europa 3 proyectos, India 1 proyecto en marcha.
● El consumo eléctrico es determinante. ● El movimiento de datos será más costoso que el de procesamiento (aún on-chip). ● El poder de cómputo crece el doble de rápido que el ancho de banda de las memorias. ● Los paradigmas de programación deben cambiar para explotar al maximo la localidad y la paralelización.
Exaflop 2018 Una extrapolación directa de la actividad del cerebro en tiempo real da 1 -10 exaflops con 4 petaBytes de memoria y 20 Watts.
Hay dudas de que pueda alcanzarse a corto plazo sobre todo porque es necesario un cambio tecnológico total.