Arquitecturas Paralelas MIMD William Stallings, Organizaciónelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_09-Clusters... · Tecnologías de redes Clasificación: WAN, MAN,

Post on 28-Apr-2018

221 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

Transcript

Arquitecturas ParalelasClusters, 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 ParallelProcessor

(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

DEFINICIONSistema 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

que el 10%. Aumento de la performance de las WS, por lo tanto el porcentaje de

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

2.5 PFLOP (LINPACK) → 33.8 PFLOP (2014)

88 Musd, 20 Musd mantenimiento anual, 200 empleados, 140 racks, 4 MW consumo de potencia (1/3 de

lo que consumirían procesadores)

Clusters

Principales aplicacionesAlta performance (HPC High-Performance Clusters): split. Ej: Beowulf

Clusters (PCs+Ethernet+Linux+Free software MPI)Alta disponibilidad (HA High-Availability): nodos redundantes,

usualmente x2. Ej: Linux-HA.Balanceo de carga (Load Balancing): Server Farms. Ej: Sun Grid Engine,

Maui Cluster Scheduling.

Clusters

Principales aplicaciones

CYCLE STEALINGUsos, 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 clusterEthernet (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 IIOtra 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 modernoshttp://picocomputing.com

Zynq Z-7020 FPGA

PICO SC-5 SuperClustersScalable FPGA Cluster48 Xilinx Kintex-7 or Virtex-6 FPGAs192GB of DDR3 local FPGA memory19.5 Million Logic Cells in one 4U serverDual Intel Quad Core Xeon Processor48GB RAMDual Hard DrivesLinux

Clusters

MPIStandard 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íbridoLos 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 ComputingAuthor: Blaise Barney, Lawrence Livermore National Laboratoryhttps://computing.llnl.gov/tutorials/parallel_comp/

Clusters

El modelo de programación híbrido

Clusters

SchedulingUna 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)

Scheduler

MasterDaemon

ExecutionDaemon

SubmitGraphicalControl

Clients

Cluster 2

Scheduler

MasterDaemon

ExecutionDaemon

SubmitGraphicalControl

Clients

Cluster 3

Scheduler

MasterDaemon

ExecutionDaemon

SubmitGraphicalControl

Clients

Cluster 1

LAN/WAN

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 computacionales geográficamente distribuídos. Analogía con 'Power Grid' (“infraestructura” de “servicio” “transparente” y “penetrante”).

IMPORTANTE: no presenta todos los clusters como una única computadora. Es un conjunto de servicios que organiza recursos y distribuye tareas. Middleware. Conecta clusters diversos que en principio no confían entre si. No existe comunicación entre los clusters.

Virtual organizations. Visión unificada.Herramientas: Globus Toolkit.Ejemplos: NCSA TeraGrid, Cern LHC.

Grids - Modelo

Cloud Computing

Es un 'modelo de negocio'.Wikipedia: Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet).

Tipos:Infrastructure as a service (IaaS)Platform as a service (PaaS)Software as a service (SaaS)

Storage as a service (STaaS)Security as a service (SECaaS)Data as a service (DaaS)Database as a service (DBaaS)Test environment as a service (TEaaS)Desktop virtualizationAPI as a service (APIaaS)Backend as a service (BaaS)

Grid computing vs. Cloud computingWhat?Grids enable access to shared computing power and storage capacity from your desktopClouds enable access to leased computing power and storage capacity from your desktop

Who provides the service?Research institutes and universities federate their services around the world through projects such as EGI-InSPIRE and the European Grid Infrastructure.Large individual companies e.g. Amazon and Microsoft and at a smaller scale, institutes and organisations deploying open source software such as Open Slate, Eucalyptus and Open Nebula.

Who uses the service?Research collaborations, called "Virtual Organisations", which bring togetherresearchers around the world working in the same field.Small to medium commercial businesses or researchers with generic IT needs

Who pays for the service?Governments - providers and users are usually publicly funded research organisations, for example through National Grid Initiatives.The cloud provider pays for the computing resources; the user pays to use them

Where are the computing resources?In computing centres distributed across different sites, countries and continents.The cloud providers private data centres which are often centralised in a few locations with excellent network connections and cheap electrical power.

How do they work?Grids are an open source technology. Resource users and providers alike can understand and contribute to the management of their gridClouds are a proprietary technology. Only the resource provider knows exactly how their cloud manages data, job queues, security requirements and so on.

Ventajas Desventajas

Grid- Collaboration: grid offers a federated platform for distributed and collective work.

- Ownership : resource providers maintain ownership of the resources they contribute to the grid

- Transparency: the technologies used are open source, encouraging trust and transparency.

- Resilience: grids are located at multiple sites, reducing the risk in case of a failure at one site that removes significant resources from the infrastructure.

- Reliability: grids rely on distributed services maintained by distributed staff, often resulting in inconsistency in reliability across individual sites, although the service itself is always available.

- Complexity: grids are complicated to build and use, and currently users require some level of expertise.

- Commercial: grids are generally only available for not-for-profit work, and for proof of concept in the commercial sphere

Cloud- Flexibility: users can quickly outsource peaks of activity without long term commitment

- Reliability: provider has financial incentive to guarantee service availability (Amazon, for example, can provide user rebates if availability drops below 99.9%)

- Ease of use: relatively quick and easy for non-expert users to get started but setting up sophisticated virtual machines to support complex applications is more difficult.

- Generality: clouds do not offer many of the specific high-level services currently provided by grid technology.

- Security: users with sensitive data may be reluctant to entrust it to external providers or to providers outside their borders.

- Opacity: the technologies used to guarantee reliability and safety of cloud operations are not made public.

- Rigidity: the cloud is generally located at a single site, which increases risk of complete cloud failure.

- Provider lock-in: there’s a risk of being locked in to services provided by a very small group of suppliers.

top related