arquitectura paralela basada en clusters
TRANSCRIPT
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.
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.
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.
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
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)
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
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
8
Jose Luis Bosque 158 de Mayo de 2006
EjemplosEjemplos de Clustersde Clusters
Jose Luis Bosque 168 de Mayo de 2006
9
Jose Luis Bosque 178 de Mayo de 2006
Jose Luis Bosque 188 de Mayo de 2006
10
Jose Luis Bosque 198 de Mayo de 2006
Jose Luis Bosque 208 de Mayo de 2006
11
Jose Luis Bosque 218 de Mayo de 2006
Jose Luis Bosque 228 de Mayo de 2006
12
Jose Luis Bosque 238 de Mayo de 2006
Jose Luis Bosque 248 de Mayo de 2006
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
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
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.
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.
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.
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.
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
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
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.
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.
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
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
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.
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
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
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
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.