arquitectura paralela basada en clusters

29
1 8 de Mayo de 2006 Jose Luis Bosque 1 Computación de altas prestaciones: Arquitecturas basadas en clusters Sesi Sesió n 1 n 1 :Arquitecturas :Arquitecturas Paralela basada en Paralela basada en clusters. clusters. Jose Luis Bosque 2 8 de Mayo de 2006 Introducci Introducción Computación de altas prestaciones : resolver problemas muy costosos computacionalmente minimizando el tiempo de respuesta. Para hacer algo más rápidamente se puede: Trabajar más duro => mejoras en la tecnología. Trabajar más inteligentemente => optimización de los algoritmos. Buscar ayuda => procesamiento paralelo. Parallelism is the wave of the future and always will be.

Upload: dayis-db

Post on 02-Aug-2015

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitectura Paralela Basada en Clusters

1

8 de Mayo de 2006 Jose Luis Bosque 1

Computación de altas prestaciones: Arquitecturas basadas en clusters

SesiSesióón 1 n 1 :Arquitecturas :Arquitecturas Paralela basada en Paralela basada en clusters.clusters.

Jose Luis Bosque 28 de Mayo de 2006

IntroducciIntroduccióónnComputación de altas prestaciones: resolver problemas muy costosos computacionalmente minimizando el tiempo de respuesta.Para hacer algo más rápidamente se puede:

Trabajar más duro => mejoras en la tecnología.Trabajar más inteligentemente => optimización de los algoritmos.Buscar ayuda => procesamiento paralelo.

Parallelism is the wave of the future andalways will be.

Page 2: Arquitectura Paralela Basada en Clusters

2

Jose Luis Bosque 38 de Mayo de 2006

IntroducciIntroduccióónnLa computación paralela es un método por el que se dividen grandes problemas en componentes más pequeños, llamados tareas o procesos, que pueden resolverse en paralelo. Esta solución surge como una respuesta de la arquitectura de computadores a las crecientes demandas de potencia de cómputo de los usuarios. Tienen una influencia clave el bajo coste de los equipos y el gran desarrollo tecnológico (Ley de Moore).

Jose Luis Bosque 48 de Mayo de 2006

IntroducciIntroduccióónnLa alternativa a las MPP es la computación distribuida que se basa en utilizar un conjunto de computadores conectados mediante una red de comunicación que trabajan de forma conjunta para resolver un problema común. En estos casos la unión de un gran número de nodos de cómputo mediante redes de altas prestaciones pueden lograr una potencia de cómputo similar a un MPP, pero con un coste muy inferior. Arquitectura muy adecuada para pequeñas empresas y centros de investigación.Surge de forma natural en muchas empresas y centros de investigación.

Page 3: Arquitectura Paralela Basada en Clusters

3

Jose Luis Bosque 58 de Mayo de 2006

EsquemasEsquemas de clasificacide clasificacióón de n de computadorescomputadores

Clasificación de Flynn para arquitecturas paralelas:se basa en el análisis del flujo de instrucciones y del flujo de datos:

SISD: arquitectura Von Neuman.SIMD: Existe una única unidad de control que busca, decodifica y entrega una sola instrucción a un conjunto de unidades de proceso: Arquitecturas vectoriales. MISD: un solo flujo de datos sobre el que operan varias unidades funcionales. No hay implementaciones. MIMD: varios procesadores trabajando de forma independiente sobre distintos conjuntos de instrucciones y/o datos.

Jose Luis Bosque 68 de Mayo de 2006

Esquemas de clasificaciEsquemas de clasificacióón de n de computadorescomputadores

Clasificación de arquitecturas MIMD [Johnson88]:

GMSV: Global memory / Shared variables.Arquitecturas de memoria compartida o SMP.

GMMP: Global memory / Message passing.No existen implementaciones.

DMSV: Distributed Memory / Shared variablesArquitecturas de memoria virtual-compartida. NUMA y CC-NUMA. Altix 3000, Origin 3000.

DMMP: Distributed memory / Message passingClusters.

Page 4: Arquitectura Paralela Basada en Clusters

4

Jose Luis Bosque 78 de Mayo de 2006

Esquemas de clasificaciEsquemas de clasificacióón de n de computadorescomputadores

Jose Luis Bosque 88 de Mayo de 2006

Esquemas de clasificación de clusters

Page 5: Arquitectura Paralela Basada en Clusters

5

Jose Luis Bosque 98 de Mayo de 2006

Esquemas de clasificación de clustersLos clusters se pueden clasificar atendiendo a diversos factores:

Según la aplicación.Clusters de alto rendimiento: diseñados para la implementación de aplicaciones de alto coste computacional.Clusters de alta fiabilidad: diseñado para aplicaciones críticas, en las que lo importante es la disponibilidad más que el rendimiento.

Según el propietario de los nodos:Clusters dedicados: las aplicaciones paralelas se ejecutan en todo el sistema, sin ningún tipo de restricción.Clusters no dedicados: cada nodo tiene un propietario y las aplicaciones paralelas se ejecutan en el tiempo en que los nodos están ociosos (ciclos libres).

Configuración del cluster:Clusters homogéneos: la arquitectura (hardware y software) de todos los nodos es la misma. Clusters heterogéneos: los nodos tienen diferentes características, en cuanto a hardware o software.

Jose Luis Bosque 108 de Mayo de 2006

Definición de Cluster

Ethernet

IBM Compatible

IBM Compatible

IBM CompatibleWorkstation

Workstation

Workstation Workstation

Hub

Un cluster es un tipo de computador paralelo o distribuido que consiste en un conjunto de computadores independientes pero interconectados entre sí que trabajan conjuntamente como un único recurso para resolver un problema común.Multiprocesador “casero”: utiliza componentes comerciales, baratos y potentes (COTS)

Page 6: Arquitectura Paralela Basada en Clusters

6

Jose Luis Bosque 118 de Mayo de 2006

EjemplosEjemplos de Clustersde Clusters

Jose Luis Bosque 128 de Mayo de 2006

EjemplosEjemplos de Clustersde Clusters

Page 7: Arquitectura Paralela Basada en Clusters

7

Jose Luis Bosque 138 de Mayo de 2006

EjemplosEjemplos de Clustersde Clusters

Jose Luis Bosque 148 de Mayo de 2006

EjemplosEjemplos de Clustersde Clusters

Page 8: Arquitectura Paralela Basada en Clusters

8

Jose Luis Bosque 158 de Mayo de 2006

EjemplosEjemplos de Clustersde Clusters

Jose Luis Bosque 168 de Mayo de 2006

Page 9: Arquitectura Paralela Basada en Clusters

9

Jose Luis Bosque 178 de Mayo de 2006

Jose Luis Bosque 188 de Mayo de 2006

Page 10: Arquitectura Paralela Basada en Clusters

10

Jose Luis Bosque 198 de Mayo de 2006

Jose Luis Bosque 208 de Mayo de 2006

Page 11: Arquitectura Paralela Basada en Clusters

11

Jose Luis Bosque 218 de Mayo de 2006

Jose Luis Bosque 228 de Mayo de 2006

Page 12: Arquitectura Paralela Basada en Clusters

12

Jose Luis Bosque 238 de Mayo de 2006

Jose Luis Bosque 248 de Mayo de 2006

Page 13: Arquitectura Paralela Basada en Clusters

13

Jose Luis Bosque 258 de Mayo de 2006

MotivosMotivos de de ApariciAparicióónn de de loslos clustersclustersImportantes avances en la tecnología y arquitectura de los microprocesadores han llevado a una gran evolución de sus prestaciones: ley de Moore.

Jose Luis Bosque 268 de Mayo de 2006

MotivosMotivos de de ApariciAparicióónn de de loslosclustersclusters

Protocolos y redes de comunicación estándaresde alto rendimiento:

Ethernet FastEthernet

GigabitEthernet

Infiniband Myrinet

Ancho deBanda (pico)

10 Mbps 100 Mbps 1000 Mbps 2000, 8000,24000

1300 a 2000Mbps

Nº nodos 254 254 254 1000 1000

Topología Bus/estrella

Bus/estrella

Estrella Estrella Estrella

Medio deTransmisión

Cobre cobre Cobre/fibra Cobre/fibra Cobre/fibra

Page 14: Arquitectura Paralela Basada en Clusters

14

Jose Luis Bosque 278 de Mayo de 2006

MotivosMotivos de de ApariciAparicióónn de de loslos clustersclustersHerramientas estándar para la gestión de clusters y software de imagen de sistema único: Mosix, XMPI, PBS, OSCAR, etc...

Jose Luis Bosque 288 de Mayo de 2006

Page 15: Arquitectura Paralela Basada en Clusters

15

Jose Luis Bosque 298 de Mayo de 2006

VentajasVentajas de de loslos ClustersClustersRelación coste/prestaciones. Flexibilidad.Disponibilidad.Escalabilidad.Crecimiento por incrementosIncorporación de tecnología punta.Aprovecha ciclos perdidosHeterogeneidad.

Jose Luis Bosque 308 de Mayo de 2006

Problemas de los ClustersProblemas de los Clusters

Existen todavía varios problemas propios de estos sistemas:

Software.Problemas de administración y gestión.Memoria físicamente distribuida => utilización menos eficiente.Varias copias del sistema operativo.La red es el cuello de botella del sistema.

Page 16: Arquitectura Paralela Basada en Clusters

16

Jose Luis Bosque 318 de Mayo de 2006

Arquitectura de un cluster

Un cluster está formado por nodos de cómputo y una red de comunicación.Un nodo del cluster puede ser un ordenador convencional o un sistema multiproceso, con su propia memoria, sistema de I/O y su propio sistema operativo. Los nodos pueden estar incluidos en una sola “cabina” (rack) o físicamente separados y conectados por una LAN.

Jose Luis Bosque 328 de Mayo de 2006

Arquitectura de un clusterLos componentes que forman un sistema de este tipo son los siguientes:

Un conjunto de ordenadores de altas prestaciones.Sistemas operativos basados en microkernel o estratificadosRedes de interconexión de altas prestaciones (Myrinet, Gigabit, Infiniband). Tarjetas de conexión a red de alta velocidad.Protocolos y servicios de comunicación de alta velocidad.Middleware, compuesto de dos subniveles de software:

La imagen de sistema única (SSI: Single System Image) que ofrece a los usuarios un acceso unificados todos los recursos del sistema.Disponibilidad del sistema que permite servicios como puntos de chequeo, recuperación de fallos, soporte para tolerancia a fallos.

Entornos y herramientas de programación paralela, compiladores paralelos, Java, PVM, MPI.

Page 17: Arquitectura Paralela Basada en Clusters

17

Jose Luis Bosque 338 de Mayo de 2006

Arquitectura de un cluster

Jose Luis Bosque 348 de Mayo de 2006

MiddlewareLa imagen de sistema único proporciona al usuario una visión unificada del cluster como un único recurso o sistema de cómputo. Esta imagen está soportada por el nivel midlleware que está entre el sistema operativo y las aplicaciones de usuario y tiene básicamente dos subsistemas:

Infraestructura de imagen de sistema único: que junto al sistema operativo está presenta en todos los nodos y proporciona un acceso unificado a todos los recursos del sistema.Infraestructura de disponibilidad del sistema: que posibilita servicios propios del cluster como puntos de chequeo, recuperación automática de fallos y soporte para tolerancia a fallos.

Page 18: Arquitectura Paralela Basada en Clusters

18

Jose Luis Bosque 358 de Mayo de 2006

MiddlewareObjetivos del middleware:

Presentar una completa transparencia al usuario de forma que este no tenga que preocuparse de detalles debajo nivel en la implementación, ni de cómo gestionar el sistema para optimizar su rendimiento. Por otro lado, la escalabilidad del sistema, ya que los clusters pueden ampliarse fácilmente añadiendo nuevos nodos, las aplicaciones deben ser capaces de ejecutarse de forma eficiente en un amplio rango de tamaños de máquinas. Por último, también es importante la disponibilidad del sistema para soportar las aplicaciones de los usuarios, por medio de técnicas de tolerancia a fallos y recuperación automática sin afectar a las aplicaciones de los usuarios.

Jose Luis Bosque 368 de Mayo de 2006

DiseDiseñño de un Clustero de un ClusterConsideraciones de diseño:

Maximizar relación precio/prestaciones.Asegurar la disponibilidad.Restringido a un presupuesto.

Un cluster está formado por elementos principales:

Nodos de cómputo.Red de comunicación.

Page 19: Arquitectura Paralela Basada en Clusters

19

Jose Luis Bosque 378 de Mayo de 2006

DiseDiseñño de un Clustero de un ClusterEl requisito fundamental para el diseño de un cluster es:

Diseñar un supercomputador con un coste reducido.

Metodología abajo-arriba de diseño:Requisitos de rendimiento.HardwareSistema operativoMiddlewareAplicaciones: incluyendo la programación.

Jose Luis Bosque 388 de Mayo de 2006

DiseDiseñño de un Clustero de un Cluster

Page 20: Arquitectura Paralela Basada en Clusters

20

Jose Luis Bosque 398 de Mayo de 2006

Requisitos de rendimientoRequisitos de rendimientoProblemas para obtener el máximo rendimiento de un computador paralelo:

Hardware: procesadores inactivos debido a conflictos en acceso a memoria y comunicaciones.Sistema operativo: problemas de ineficiencia en planificadores, sistemas de ficheros y asignación de memoria.Middleware: distribución y coordinación de tareas ineficiente, latencias de comunicación altas.Aplicaciones: algoritmos e implementaciones ineficientes que no explotan el paralelismo inherente de los problemas.

Jose Luis Bosque 408 de Mayo de 2006

computenode

computenode

computenode

computenode

computenode

computenode

computenode

computenode

External Network

File Servernode

High Speed Network

Front-end

DiseDiseñño de un Clustero de un Cluster

Page 21: Arquitectura Paralela Basada en Clusters

21

Jose Luis Bosque 418 de Mayo de 2006

computenode

computenode

computenode

computenode

High Speed Network

Service Network

gatewaynode

External Network

computenode

computenode

computenode

computenode

High Speed Network

gatewaynode

External Network

File Servernode

Front-end

DiseDiseñño de un Clustero de un Cluster

Jose Luis Bosque 428 de Mayo de 2006

DiseDiseñño de un Clustero de un ClusterNodos de cómputo:

Procesador.Número de procesadores por nodo.Prestaciones del procesador.Memoria Cache.

Memoria.Capacidad memoria por nodo.Velocidad del bus de memoria. Cantidad de memoria cache de nivel 2.

Disco.Capacidad de almacenamiento necesaria.Velocidad de acceso.Posibilidad de utilizar RAID de discos.

Page 22: Arquitectura Paralela Basada en Clusters

22

Jose Luis Bosque 438 de Mayo de 2006

DiseDiseñño de un Clustero de un ClusterRed de Comunicaciones (I):

Prestaciones:Ancho de banda.Latencia.Sobrecarga emisor y receptor.

Medio de Transmisión:CobreFibra óptica

Elementos de Interconexión:Concentradores.Conmutadores.

Jose Luis Bosque 448 de Mayo de 2006

DiseDiseñño de un Clustero de un ClusterRed de Comunicaciones (II):

Topología:Número de elementos de interconexión. Forma de interconexión.

Tarjeta de red:Conexión con el nodo.Capacidad de proceso.

Utilización de Estándares:Bajo coste.Estabilidad.Independencia de fabricantes.

Page 23: Arquitectura Paralela Basada en Clusters

23

Jose Luis Bosque 458 de Mayo de 2006

DiseDiseñño de o de un Clusterun Cluster

Jose Luis Bosque 468 de Mayo de 2006

DiseDiseñño o de un de un ClusterCluster

Page 24: Arquitectura Paralela Basada en Clusters

24

Jose Luis Bosque 478 de Mayo de 2006

DiseDiseñño de un Clustero de un Cluster

Jose Luis Bosque 488 de Mayo de 2006

DiseDiseñño de un Clustero de un Cluster

Page 25: Arquitectura Paralela Basada en Clusters

25

Jose Luis Bosque 498 de Mayo de 2006

DiseDiseñño de un Clustero de un Cluster

Jose Luis Bosque 508 de Mayo de 2006

Aplicaciones mAplicaciones máás comuness comunesAplicaciones de Internet.

El paralelismo consiste en millones de tareas completamente independientes.Disponibilidad.

Aplicaciones de base de datos.Debido a su gran relación precio/prestaciones y escalabilidad.

Cálculo científico.Permite a pequeños grupos disponer de multicomputadores.

Page 26: Arquitectura Paralela Basada en Clusters

26

Jose Luis Bosque 518 de Mayo de 2006

Aplicaciones mAplicaciones máás comuness comunes

Jose Luis Bosque 528 de Mayo de 2006

Aplicaciones mAplicaciones máás comuness comunes

Page 27: Arquitectura Paralela Basada en Clusters

27

Jose Luis Bosque 538 de Mayo de 2006

Aplicaciones mAplicaciones máás comuness comunes

Jose Luis Bosque 548 de Mayo de 2006

Ejemplo 1: Ejemplo 1: GoogleGoogle

Page 28: Arquitectura Paralela Basada en Clusters

28

Jose Luis Bosque 558 de Mayo de 2006

Ejemplo 1: Ejemplo 1: GoogleGoogle

Objetivos de diseño:Escalabilidad.Alta disponibilidad.Asegurar tiempo de respuesta máximo.Gran ancho de banda.

Características:6000 procesadores.12000 discos => 1 petabyte.Replicado en 3 puntos geográficos distintos.

Jose Luis Bosque 568 de Mayo de 2006

Ejemplo 1: Ejemplo 1: GoogleGoogle

Page 29: Arquitectura Paralela Basada en Clusters

29

Jose Luis Bosque 578 de Mayo de 2006

Ejemplo 1: Ejemplo 1: GoogleGoogle

Nodos de cómputo:Cada Rack tiene 80 Pcs.Procesador “modesto”.256 MB de SDRAM.2 discos IDE.Sistema operativo Linux.Cada 3 meses se actualiza algún componente: procesador, memoria, discos.

Jose Luis Bosque 588 de Mayo de 2006

Ejemplo 1: Ejemplo 1: GoogleGoogle

Red de comunicaciones:Dos enlaces a Internet de 2488 Mbps.Cada rack tiene 4 enlaces de 1 Gbps.Utiliza cables de cobre Categoría5.

Coste:4,5 a 6 Millones de dólares.

Disponibilidad:Software: 20 nodos deben ser rebotados al día.2 - 3% de PCs reemplazados por año.