Publicado el 12 de Julio del 2018
1.116 visualizaciones desde el 12 de Julio del 2018
1,8 MB
37 paginas
Creado hace 10a (17/11/2014)
Arquitecturas Paralelas
Clusters, Grids y Clouds
William Stallings, Organización y Arquitectura de
Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo.
Andrew S. Tanenbaum, Organización de Computadoras 4ta.
ed., Capítulo 8: Arquitecturas de computadoras paralelas.
Hesham El-Rewini & Mostafa Abd-El-Barr, Advanced
Computer Architecture and Parallel Processing. Willey.
Arquitecturas Paralelas
Taxonomía de Flynn
Massively Parallel
Processor
(MPP)
Arquitecturas Paralelas
Network Computing
También llamada Distributed computing, Very losely-coupled processing
o Cluster computing. Se utilizan multicomputadoras (pasaje de
mensajes, sin memoria compartida) con algunas particularidades.
En general, los Clusters se relacionan con la tecnología de redes
standard, utilizada con el objetivo de crear una infraestructura de
computación empleando “comodities”.
Nodos: PC/WSs autónomas (stand-alone) y posiblemente
heterogéneas.
Links: TCP/IP packet switched sobre LAN de cobre, fibra, wireless, etc.
(Notar diferencia con MPP: nodos high profile, interconectados con
redes estáticas de alta tecnología, específicamente diseñadas)
Arquitecturas Paralelas
Clusters
DEFINICION
Sistema distribuido compuesto por un conjunto de computadoras
autónomas, interconectadas, trabajando juntas en forma
cooperativa como un único recurso integrado.
MOTIVACION
La utilización de la CPU de una estación de trabajo típica es menor
Aumento de la performance de las WS, por lo tanto el porcentaje de
que el 10%.
utilización de las mismas disminuye aún más.
Las organizaciones son reticentes a comprar grandes
supercomputadoras con ciclo de vida corto.
Las herramientas de desarrollo para WS están más maduras
Los clusters de WS tiene buena relación costo/beneficio y
crecimiento incremental.
Se pueden reutilizar las PCs.
Arquitecturas Paralelas
Clusters (cont)
VENTAJAS
Muy escalables (en costo/n). Ampliación gradual. Mayor
disponibilidad por redundancia. Buena relación costo/beneficio
por utilizar comodities.
Esta tecnología recibe un gran impulso cuando convergen tres
tecnologías:
Microprocesadores de gran performance (un procesador actual
es equivalente a una supercomputadora de hace 20 años).
Comunicaciones de alta velocidad.
Herramientas standard para desarrollo de software & Open
Source.
Arquitecturas Paralelas
Clusters
Columbia (2004 #2) supercomputer
Mare Nostrum (2005 #5) www.bsc.es
Arquitecturas Paralelas
Clusters
IBM Roadrunner (2008 #1) LANL > 1 PFLOP (uss133M),
commodities
12,960 IBM PowerXCell 8i + 6,480 AMD Opteron + Infiniband
Arquitecturas Paralelas
Clusters
National Supercomputing Center in Tianjin CHINA
Tianhe-1A (2010 #1) Tihanhe-2 (2013-2014 #1)
7.168 NVIDIA Tesla M2050 GPUs + 14.336 procesadores Intel Xeon + 262 TB RAM
→ 3,120,000 cores Intel Xeon E5-2692v2 12C 2.2GHz + INTEL XEON PHI 31S1P
Red propia: Arch (160 Gbps, el doble que InfiniBand) → TH Express-2
88 Musd, 20 Musd mantenimiento anual, 200 empleados, 140 racks, 4 MW consumo de potencia (1/3 de
2.5 PFLOP (LINPACK) → 33.8 PFLOP (2014)
lo que consumirían procesadores)
Clusters
Principales aplicaciones
Alta performance (HPC High-Performance Clusters): split. Ej: Beowulf
Clusters (PCs+Ethernet+Linux+Free software MPI)
Alta disponibilidad (HA High-Availability): nodos redundantes,
Balanceo de carga (Load Balancing): Server Farms. Ej: Sun Grid Engine,
usualmente x2. Ej: Linux-HA.
Maui Cluster Scheduling.
Clusters
Principales aplicaciones
CYCLE STEALING
Usos, ventajas y desventajas.
Folding@Home con PS3 superó el PFLOP – Discontinuado en 2012
(dos veces Blue Gene, con una red 1M veces más lenta)
Clusters
Tecnologías de redes
Clasificación: WAN, MAN, LAN, PAN
Internet y el protocolo TCP/IP (o ATM o FDDI)
Tecnologías para interconexión en cluster
Ethernet (1974), hubs, switches.
Myricom´s Myrinet (1998)
Quadrics´s QsNet (2002)
Infiniband (2005)
VER: IEEE Micro. 2006, issue 3, “High Performance Interconnects”. DISPONIBLE
Latencia y ancho de banda (o productividad)
Clusters
El modelo cliente-servidor
Modelo 2 tier (cliente-db) 3 tier (cliente-
web-db). Servidores multithreaded.
Aplicación a la computación paralela.
Sockets: data structure + system calls
(socket abstraction layer).
RPC: sobre sockets. El procedimiento está
en una máquina distinta a la del caller.
Threads: lightweight processes.
Clusters
Arquitectura
Clusters
Arquitectura (cont)
Clusters
Implementación
Lawrence Livermore National Laboratory
a) Avalon Beowulf Cluster (1998)
b) Blue Gene/L MPP (2005 #1)
Clusters
Clasificaciones I
Clusters
Clasificaciones II
Otra clasificación de límites difusos (Null):
NOW (Network of Workstations): Utiliza sistemas ociosos.
COW (Collection of Workstations): NOW con coordinación.
DCPC (Dedicated Cluster Parallel Computer): Grupo de WS unidos
para resolver un problema específico.
POPC (Pile of PCs): Cluster heterogéneo que forma un sistema
dedicado.
Clusters
Clasificaciones III
Based on Node components architecture & configuration:
Homogeneous Clusters (all nodes will have similar configuration),
Heterogeneous Clusters (nodes based on different processors and
running different OSes).
Based on Node ownership: Dedicated Clusters, Non-dedicated
clusters (Adaptive parallel computing, also called Communal
multiprocessing).
Based on Focus (in Market): High Performance (HP) Clusters [Grand
Challenging Applications], High Availability (HA) Clusters [Mission
Critical applications].
Based on Node Architecture: Clusters of PCs (CoPs), Clusters of
Workstations (COWs), Clusters of SMPs (CLUMPs).
Based on Node OS Type: Linux Clusters (Beowulf), Solaris Clusters
(Berkeley NOW), NT Clusters (HPVM), AIX Clusters (IBM SP2),
SCO/Compaq Clusters (Unixware).
Clusters
Algunos ejemplos antiguos
Clusters
Algunos ejemplos modernos
“The IBM Power 755 offers tremendous processing power in a
dense 4U node to meet the most demanding HPC application
requirements by supporting 32 POWER7 processor cores
and256 GB of memory”
Densely packaging up to 3,072 POWER7®processor cores per rack,each one running
at 3.84GHz, the 256-core Power775 supercomputing drawer is designed for speed
and tuned for performance. With the capability of clustering up to 2,048drawers
together, the total processing power of up to 524,288 POWER7 cores can be assigned
to tackle some of the world’s greatest problems. Supported by up to 24TBs of memory
and 230TBs of storage per rack and super fast interconnects, thePower775 is
estimated to achieve over 96TFLOPS per rack.
Clusters
Algunos ejemplos modernos
http://picocomputing.com
PICO SC-5 SuperClusters
Scalable FPGA Cluster
48 Xilinx Kintex-7 or Virtex-6 FPGAs
192GB of DDR3 local FPGA memory
19.5 Million Logic Cells in one 4U server
Dual Intel Quad Core Xeon Processor
48GB RAM
Dual Hard Drives
Linux
Zynq Z-7020 FPGA
Clusters
MPI
Standard Library de rutinas para la confección de programas de
pasaje de mensajes eficientes y portables. No es un lenguaje de
programación.
MPI Forum 1993-1994. MPI-2 1995.
Existen diferentes tipos de rutinas:
Inicialización (comunicadores): MPI_Init, MPI_Rank, MPI_Size
Comunicación punto a punto (poin-to-point): MPI_Send, MPI_Receive
Operaciones colectivas: MPI_Reduce, MPI_Scan, MPI_Bcast
Sincronización: MPI_Barrier
Mensajes bloqueantes (3 way) y no bloqueantes.
Implementaciones Open Source: LAM-MPI y MPICH
Clusters
El modelo de programación híbrido
Los clusters son combinaciones de Multiprocesadores (SMP y NUMA) y
Multicomputadoras. Se programan con OpenMP y MPI combinados.
Para los interesados, es muy recomendable:
Introduction to Parallel Computing
Author: Blaise Barney, Lawrence Livermore National Laboratory
https://computing.llnl.gov/tutorials/parallel_comp/
Clusters
El modelo de programación híbrido
Clusters
Scheduling
Una vez que se ha diseñado el programa paralelo como un conjunto
de tareas a ejecutar, aparece un nuevo desafío: asignar las tareas en
forma eficiente a las unidades de procesamiento disponibles en la
arquitectura paralela (SCHEDULING).
Este es uno de los desafíos más importantes en los sistemas
paralelos. Se trata de un problema complejo que no siempre tiene
una solución óptima. Se puede encontrar la mejor en un determinado
tiempo. Es un área de investigación actual (El-Rewini Cap.10).
Hay dos aspectos a considerar:
La calidad de la asignación (schedule): será mejor cuanto más
rápido se ejecute el conjunto.
La eficiencia del algoritmo (scheduler): si dos schedules tardan lo
mismo, el mejor será el más simple.
Clusters
Sistemas Operativos
Clusters
Clusters de Clusters
(Hyperclusters)
Cluster 1
Scheduler
Master
Daemon
Submit
Graphical
Control
Clients
Execution
Daemon
LAN/WAN
Cluster 3
Scheduler
Master
Daemon
Cluster 2
Scheduler
Master
Daemon
Submit
Graphical
Control
Clients
Execution
Daemon
Submit
Graphical
Control
Clients
Execution
Daemon
Grids - Concepto
El término Grid se toma de Electrical Power Grid (red de
distribución de energía eléctrica).
Cuando conectamos algún dispositivo eléctrico a la red de
alimentación no nos preocupamos por saber si la fuente es:
Energía hidráulica.
Energía eólica.
Una central nuclear.
No es necesario conocer las capas subyacentes.
Sin embargo, la infraestructura de red es subyacente e
indispensable para que funcione cualquier infraestructura grid.
Grids - Infraestructura
Ejemplo: GEANT en Europa o RedCLARA en América Latina.
Grids - Definición
El objetivo es formar una inter-red de clusters con capacidad de
cómputo y almacenamiento.
Definición (Foster 2003): Middleware para la integración de recursos
comp
Comentarios de: Arquitecturas Paralelas Clusters, Grids y Clouds (0)
No hay comentarios