1 / 165

LABORATORIO DE PARALELISMO 2012 Agustin Arruabarrena - Idoia Cearreta

LABORATORIO DE PARALELISMO 2012 Agustin Arruabarrena - Idoia Cearreta. 1. Computadores Paralelos (resumen). 2. Programación de Sistemas de Memoria Compartida (SMP): OpenMP . 3. Programación de Sistemas de Memoria Distribuida: MPI .

otylia
Télécharger la présentation

LABORATORIO DE PARALELISMO 2012 Agustin Arruabarrena - Idoia Cearreta

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LABORATORIO DE PARALELISMO 2012 AgustinArruabarrena - Idoia Cearreta

  2. 1.Computadores Paralelos (resumen). 2.Programación de Sistemas de Memoria Compartida (SMP): OpenMP. 3.Programación de Sistemas de Memoria Distribuida: MPI. 4.Tipos de Problemas Paralelos. Metodología de Desarrollo de Programas Paralelos. 5.Otras Alternativas: UPC. 6.Trabajos Complementarios. Programa

  3. . 1 . COMPUTADORES PARALELOS (resumen)

  4. 1. Estructura de los sistemas para-lelos. Máquinas SMP, DSM y MPP. Clusters. Situación actual. 2. Infraestructura de comunicaciones. Protocolos de comunicación de alto rendimiento. 3. Coherencia de los datos. Sincronización de procesos. Modelo de consistencia. 4. Modelos de paralelismo. Análisis de dependen-cias. Optimizaciones. 5. Rendimiento del sistema paralelo. Índice Índice

  5. Un procesador • Procesadores cada vez más eficientes: • 2-6 Gflop/s • Dos mercados: • - gama “alta” • IBM → Power4, 5, PowerPC, Cell • Intel / HP → Itanium 2 , IA64 • - gama “baja” • Intel → Pentium 4, Xeon • AMD → Opteron

  6. Itanium (IA-64)

  7. IBM Power4/5

  8. IBM Power4/5

  9. IBM Power4/5

  10. Necesidad de Paralelismo • La busqueda de paralelismo a nivel de instrucción tiene un límite, marcado en muchas ocasiones por la propia aplicación (+ hard, + soft). • Existen múltiples problemas para los que un solo procesador no es suficiente, por más que éste sea cada vez más rápido. • Y en otros muchos casos, es posible reducir sensiblemente el tiempo de ejecución.

  11. Necesidad de Paralelismo •  Ejemplo “simple”: meteorología atmósfera dividida en “puntos” de 1x1x1 km3 1010 puntos 300 operaciones c.f. / elemento 3 x 1012 f cada 10 minutos (144 veces día)  5 x 1014 f una máquina a 1.000 MF/s 5 x 105 s  simular una interacción ... 6 días. Además, el tamaño de las tareas a ejecutar puede crecer todo lo que queramos.

  12. Necesidad de Paralelismo • Solución: Paralelismo • Utilizar P (muchos) procesadores que cooperen en la resolución de un problema, para ir P veces más rápido. + tolerancia a fallos + throughput + entrada/salida

  13. P SMP fl. instrucciones C 1 N bus memoria compartida SISD 1 MP flujo datos P N SIMD MIMD MPP/NUMA Clusters C M Array Vectorial red general memoria distribuida Clasificación

  14. Sistemas SIMD Dos arquitecturas básicas: 1.Memoria compartida(shared memory): El espacio de direccionamiento es único. Todos los procesadores pueden acceder a todas las posiciones de memoria. La comunicación entre procesos es a través de variablescompartidas. 2. Memoria Distribuida(distributed memory): Cada procesador tiene un espacio de direccionamiento privado. No existen posiciones de memoria comunes. La comunicación entre procesos es mediante paso de mensajes.

  15. Espacio de Direccionamiento comúnprivado Memoria centralizada (bus) distribuida (red) Sistemas SIMD SMP - DSM, NUMA MPP

  16. Coste del sistema paralelo Sistemas masivamente paralelos MPP Las mejores prestaciones (velocidad de cálculo): comunicación de baja latencia y elevado ancho de banda, en algunos casos procesadores con diseño específico, software de control muy optimizado, etc. Pero COSTE MUY ELEVADO Alternativa: clusters

  17. Clusters • Clusters Un sistema paralelo formado por P máquinas de propósito general (bajo coste), unidas mediante una red de comunicación (igualmente de bajo coste?). Se asume que no se trabaja con el último modelo de procesador y que la latencia de las comunicaciones será algún orden de magnitud mayor que en el caso de los supercomputadores MPP. Objetivo: buena relación coste/rendimiento

  18. Clusters • Clusters - Alta disponibilidad (high availability): redundancia para mantener siempre la aplicación en funcionamiento. - Alto rendimiento (high performance) capacidad de “responder” de manera más rápida En general: redundancia + rendimiento + escalabilidad

  19. Clusters •  hardware “habitual” • - procesador “estándar” (+memoria, disco, conexiones exterior) • - red propia, con conexiones a una red global • (fast) gigabit ethernet... • Myrinet, SCI, Inifiniband, Quadrics... •  software “habitual” • - desarrollo: MPI,OpenMP, HPF (+debuggers, profilers...) • - administración del sistema: instalación, monitorización, diagnosis...

  20. Itanium / Pentium IBM 360, PDP-11, VAX grid ASCI Red supercomputadores cluster The GRID

  21. Niveles de paralelismo Tipos de aplicaciones > grano grueso(high throughput) pocas tareas independientes simulaciones Montecarlo, procesamiento de banco de imágenes… >grano fino (high performance) comunicación entre procesos meteorología, simulaciones astrofísica realidad virtual…

  22. Evolución del mercado de computadores de alta velocidad. La lista top500. Noviembre 2011

  23. Top500 Lista de los 500 supercomputadores más rápidos del mundo ejecutando el banco de pruebas LINPACK. Sistemas de ecuaciones lineales densos (cálculo matricial). Permite obtener velocidades muy altas (un máximo virtual). Se mide el valor de Rmax,NmaxyN1/2. También se empieza a medir la potencia consumida.

  24. Top500 Cada 6 meses desde 1993 (junio/diciembre). Lista nº 36 - noviembre 2011 Más o menos aceptado por todos los fabricantes. Análisis de tendencias / evolución del mercado.

  25. Top500 Evolución de la velocidad de cálculo Top5+ Fabricantes Procesador: arquitectura / familia / número Sistema: arquitectura / red Utilización

  26. K-computer RoadRunner Tianhe-1A Jaguar ×1,88/año BlueGene NEC Earth Sim. IBM ASCI White LLNL Intel ASCI Red Sandia Top500 74.069 TF/s 9.192.843 pr. (8,1 GF/s) 1 PF/s → 2008 10 PF/s → 2011 100 PF/s → 2015

  27. Top500

  28. Top500 CM2 RoadRunner Sun HPC Jaguar Y-MP C90 Tianhe-1A K computer VP500 T3D Earth Sim. T3E ASCI Red Paragon Blue Gene CM5 SP2

  29. Top500

  30. Top500

  31. Problemas - Objetivos Problemas a resolver (algunos) ¿cómo se reparte un algoritmo en P procesos? - división y scheduling / load balancing ¿son todos los procesos independientes? - dependencias y sincronización ¿cómo se mantiene la coherencia de los datos? - protocolos de coherencia / consistencia ¿cuál es la arquitectura del sistema? ¿y la red de comunicación? ¿cómo se comunican los procesos?

  32. 1. Estructura de los sistemas paralelos. Máquinas SMP, DSM y MPP. Clusters. Situación actual. 2. Infraestructura de comunicación. Protocolos de comunicación de alto rendimiento. 3. Coherencia de los datos. Sincronización de procesos. Modelo de consistencia. 4. Modelo de paralelismo. Análisis de dependen-cias. Optimizaciones. 5. Rendimiento del sistema paralelo. Índice

  33. Infraestructura de comunic. Tanto para el caso de memoria compartida como el memoria distribuida, necesitamos un soporte de comunicación que nos permita acceder a la memoria común, centralizada o no, transmitir datos de procesador a procesador. La red de comunicación es por tanto “independiente” del modelo, aunque haya redes adaptadas a cada uno de ellos. Repasemos las principales.

  34. P C bus M Infraestructura de comunic. Los multiprocesadores SMP utilizan básicamente un bus como red de comunicación. La latencia de la memoria es independiente de la posición accedida: todas se encuentran a la misma “distancia” (UMA). Aunque el bus es una red cuya gestión es “sencilla” y muy conocida, tiene problemas de escalabilidad: - sólo admite “una” comunicación simultánea. - se satura al crecer el número de procesadores.

  35. P C M R red general espacio de memoria común Infraestructura de comunic. • Para poder utilizar muchos procesadoresy mantener un espacio común de memoria, se necesita distribuir físicamente la memoriaentre los procesadores y usar otro tipo de red de comunicación. Ahora la latencia de los accesos no es constante: el acceso a los módulos locales de memoria es mucho más rápido que al resto (NUMA). El papel de la red de comunicación puede ser crucial.

  36. Infraestructura de comunic. • Algunas características básicas que debe cumplir una buena red de comunicación: • permitir múltiples “comunicaciones” simultáneas entre procesadores; es decir permitir comunicación con un alto throughput. • ofrecer comunicaciones de baja latencia. • en la medida de lo posible, sertolerante a fallos. • ser de fácil construcción y ampliación y tener un routing simple.

  37. Clasificación Redes dinámicas - en base a conmutadores (switches) - redes indirectas Redes estáticas - en base a encaminadores de mensajes (routers) - redes directas/dirigidas

  38. Parámetros topológicos • de distancia(relacionados +/- con la latencia) • distancia media • diámetro de throughput bisección: enlaces que hay que eliminar para dividir la red en dos partes iguales de complejidad grado del nodo número de enlaces

  39. 0 0 0 0 1 1 1 1 2 2 2 2 0 3 3 3 4 4 4 4 5 5 5 6 6 6 7 7 7 Redes dinámicas • Utilizadas en sistemas SIMD y/o para un número “moderado” de procesadores. Crossbar(switch todos con todos) Red Omega permutación perfect shuffle

  40. Redes dinámicas • butterfly / fat tree/ clos

  41. Redes estáticas • Utilizadas en sistemas masivamente paralelos, por su facilidad de expansión. Algunos ejemplos: Hipercubo +bajos parámetros topológicos alta densidad y bisección gran tolerancia a fallos -complejidad grado no constante +encaminamiento sencillo (xor)

  42. Redes estáticas Mallas / Toros (2D / 3D) +bajo grado y constante sencillez de construcción -parámetros de distancia medios +encaminamiento sencillo (di - oi) en cada dimensión para toros, nunca más de medio anillo en cada dimensión

  43. Redes estáticas Árboles (fat tree) +bajo grado y constante parámetros de distancia bajos -cableado más complejo +encaminamiento sencillo

  44. 4 3 2 1 1 4 3 2 t 1 2 4 3 3 2 1 4 4 3 2 1 4 1 3 2 1 4 3 2 1 Paso de mensajes (d = distancia, tr = tiempo de routing en cada nodo, B = ancho banda de los canales, L = longitud de los paquetes) • Store-and-ForwardTsf = d (tr + L/B) Cut-Through/Wormhole Tct = d (tr + 1/B) + (L-1)/B

  45. Tráfico máximo Latencia (s) Throughput (b/s) Latencia a tráfico 0 Tráfico (b/s) Tráfico (b/s) Latencia y Throughput Teniendo en cuenta el tráfico de la red

  46. puertos de entrada puertos de salida enlaces de comunicación enlaces de comunicación func. encam.+ crossbar búferes búferes procesador local procesador local El encaminador (router) • Básicamente, un conjunto de búferes asociados a puertos de entrada/salida, más la lógica que permite procesar las cabeceras de los paquetes y asociarles un puerto de salida.

  47. Encaminamiento • Estáticoen orden de dimensiones (DOR) • sencillo y prefijado. • permite evitar problemas (tales como bloqueos). Dinámico permite adaptarse a condiciones de tráfico local y aprovechar la riqueza topológica de la red. añade tolerancia a fallos. pero puede implicar problemas de bloqueos en ciertas topologías.

  48.  Deadlock • Mensajes que se autobloquean al consumir los recursos asignados y formar un “ciclo”. • El encaminamiento estático DOR soluciona el problema en topologías que no tengan ciclos (mallas).

  49. CV0 B0 B0 B1 B1 CV1 Deadlock - Canales virtuales • Multiplexado de los canales físicos de comunicación entre varios canales virtuales (buffers). Objetivosmejorar el rendimiento evitar bloqueos

  50. 3→1 2→0 3 2 CV0 0 1 CV1 0→2 1→3 Deadlock - Canales virtuales • El uso de canales (o redes) virtuales elimina bloqueos en anillos.

More Related