1 / 28

2. Computadores paralelos (conceptos básicos)

2. Computadores paralelos (conceptos básicos). - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad de cálculo. Introducción.  Paralelismo: hacer más de una cosa “ simultáneamente, a la vez ”. • tamaño de datos: 4 - 8 - 16 - 32 - 64 - ... bit

reilly
Download Presentation

2. Computadores paralelos (conceptos básicos)

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. 2.Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad de cálculo Arquitecturas Paralelas 12- 13

  2. Introducción Paralelismo: hacer más de una cosa“simultáneamente, a la vez”. • tamaño de datos: 4 - 8 - 16 - 32 - 64 - ... bit • ejecución de instrucciones (ILP): segmentación, superescalares, VLIW... • paralelismo de datos/ paralelismo funcional o de programas Arquitecturas Paralelas 12- 13

  3. Introducción Paralelismo SIMD: Single-Instruction-Multiple-Data - procesadores vectoriales - procesadores en array - GPUs MIMD: Multiple-Instruction-Multiple-DataMuchos procesos/hilos para dar una respuesta más rápida (high performance) (multiproceso, tolerancia a fallos, P copias (throughput)) Arquitecturas Paralelas 12- 13

  4. red de comunicación P+M+E/S array SIMD computadores en array Muchos procesadores muy sencillos, poca memoria, posibilidad de realizar operaciones de entrada/salida. Red de comunicación especial. Arquitecturas Paralelas 12- 13

  5. red de comunicación front-end Proc. de control P+M+E/S array SIMD computadores array El procesador de control envía a todos los procesadores la instrucción que tienen que ejecutar síncronamente (BC). Cada procesador, ejecuta la instrucción o no hace nada. Arquitecturas Paralelas 12- 13

  6. SIMD computadores array Ejemplo(X, Y, Z repartidos entre procesadores) for (i=0; i<1000; i++) if (Y[i] != 0) Z[i] = X[i] / Y[i]; else Z[i] = X[i]; Adecuados para cierto tipo de aplicaciones: tratamiento de imágenes… paso 1: comprobar todos Y[i] != 0 paso 2:if (yes)hacerZ[i] = X[i] / Y[i] (el resto, nada) paso 3:if (no) hacerZ[i] = X[i] (el resto, nada) Arquitecturas Paralelas 12- 13

  7. Computadores MIMD MIMD (Multiple-Instruction-Multiple-Data) P procesos/hilos ejecutándose simultáneamente. Dos modelos básicos: - memoria compartida - memoria distribuida Arquitecturas Paralelas 12- 13

  8. P1 P0 Pp–1 procesadores + MC red de comunicación E/S Mm–1 M0 memoria principal Computadores MIMD Memoria compartida(sharedmemory) Arquitecturas Paralelas 12- 13

  9. P1 P0 Pp–1 Mm–1 M0 E/S Computadores MIMD Memoria compartida(sharedmemory) - Espacio de direccionamiento único. - Comunicación entre procesos por medio de variables compartidas. - Red de comunicación: un bus (o una red multietapa). - Nombres: multiprocesador, SMP, UMA. - Generalmente, “pocos” procesadores. Arquitecturas Paralelas 12- 13

  10. Pp-1 P0 Computador: Pr + MC+ MP + E/S E/S E/S Mp-1 M0 K K red de comunicación Computadores MIMD Memoria distribuida(distributedmemory) Arquitecturas Paralelas 12- 13

  11. Pp-1 P0 E/S E/S Mp-1 M0 K K Computadores MIMD Memoria distribuida (distributedmemory) - Un espacio de direccionamiento por procesador. - Comunicación entre procesos por medio de paso de mensajes. - Redes de comunicación habituales: hipercubo, malla, toro... - Nombres: multicomputador, MPP - Generalmente, “muchos” procesadores. Arquitecturas Paralelas 12- 13

  12. E/S E/S K K Computadores MIMD Otra opción: memoria compartida pero físicamente distribuida - El espacio de direccionamiento es único, pero la utilización no es homogénea: se ha creado una jerarquía de memoria. - La comunicación entre procesos se hace por medio de variables compartidas (lógicamente) y se implementa mediante paso de mensajes. - Nombres: DSM, NUMA (MPP) Pp-1 P0 Mp-1 M0 Arquitecturas Paralelas 12- 13

  13. Computadores MIMD Nomenclatura: - SMP: multiprocesador de memoria compartida, generalmente pocos procesadores comunicados por un bus. - MPP: sistema paralelo con muchos procesadores, de memoria compartida o distribuida. Generalmente, las máquinas más rápidas, sistemas con hardware y software de comunicación y de cálculo específico. Muy caras. Pueden organizarse de manera jerárquica (p.e., los nodos son sistemas SMP). Arquitecturas Paralelas 12- 13

  14. PC PC PC ethernet PC PC Computadores MIMD Nomenclatura: - Cluster: sistema paralelo construido a base de hardware y software de propósito general. Buena relación coste/velocidad. El más simple: PC / ethernet (Beowulf) commodity / custom Cada vez más, sistema paralelo de propósito general. Arquitecturas Paralelas 12- 13

  15. Computadores MIMD Nomenclatura: - Constelación (constellation): un cluster, donde el número de nodos es menor que el número de procesadores de cada nodo. Arquitecturas Paralelas 12- 13

  16. P SMP inst. C 1 N bus SISD 1 memoria compartida MP datos N MIMD P SIMD MPP/NUMA Cluster C M proc. array proc vectoriales red general memoria distribuida Resumen Arquitecturas Paralelas 12- 13

  17. Espacio de direccionamiento comúnprivado Memoria centralizada (bus) distribuida (red) Resumen SMP - DSM, NUMA MPP Arquitecturas Paralelas 12- 13

  18. Problemas  Existen algunos problemas que hay que superar en los sistemas paralelos - ¿Cómo gestionar el sistema completo? - ¿Cómo se divide un algoritmo en P procesos? ¿Se puede ejecutar en paralelo todo el código? - ¿Y el reparto, es equilibrado o es de tipo 80% - 20% (load balancing)? Arquitecturas Paralelas 12- 13

  19. Problemas  Existen algunos problemas que hay que superar en los sistemas paralelos - ¿Dónde están los datos? ¿Cómo se mantiene la coherencia de datos? - ¿Son independientes todos los procesos? ¿Se deben de sincronizar? - ¿Habrá que mandar los datos de un procesador a otro? ¿Cómo? Arquitecturas Paralelas 12- 13

  20. Tp Tcom Tej Número de procesadores Problemas Sobrecargas 1. Comunicación Tp = Tej + Tcom Arquitecturas Paralelas 12- 13

  21. Problemas Sobrecargas 2.Desequilibrio en la distribución de tareas Por ejemplo: 6 procesos independientes, de coste similar → Ts = 6T ▪entre3 procesadores (2 + 2 + 2) Tp = 2T = Ts/3 ▪entre 4 procesadores (2 + 2 + 1 +1) Tp = 2T = Ts/3 ! Arquitecturas Paralelas 12- 13

  22. Problemas Sobrecargas 3. Utilización de la cache Hay que (re)utilizar los datos de los bloques de las caches (localidad). Por ejemplo, si A1 y A2 están en posiciones de memoria contiguas, merecerá la pena procesarlos en el mismo procesador para incrementar la tasa de aciertos de la cache. Arquitecturas Paralelas 12- 13

  23. Problemas Tipos de aplicaciones - Paralelismo de grano fino (high performance) muchas tareas, pequeñas comunicación frecuente, pocos datos - Paralelismo de grano grueso(high throughput) pocas tareas, grandes, “independientes” comunicación de vez en cuando, muchos datos Arquitecturas Paralelas 12- 13

  24. Eficiencia Objetivo: 1 ejecutar el mismo programa más rápido 2 ejecutar programas más grandes en el mismo tiempo Factor de aceleración / Eficiencia fa = Ts / Tp (ideal: crece linealmente con P) efic = fa / P (ideal: independiente de P) Mejor caso: Tp = Ts / P → fa = P efic = 1 Arquitecturas Paralelas 12- 13

  25. Amdahl 1Generalmente, una parte en paralelo y otra en serie: Tsp = f Tp + (1-f) Ts Por lo tanto, el verdadero factor de aceleración será (ley de Amdahl): fa = Ts / Tsp = Ts / (f Ts/P + (1-f) Ts) fa = P / (f + (1-f) P) → 1 / (1-f) ! Arquitecturas Paralelas 12- 13

  26. Amdahl 1Ley deAmdahl fa = P / (f + (1-f) P) → 1 / (1-f) Arquitecturas Paralelas 12- 13

  27. Ts (1-f) Ts f Ts mayor tamaño (xP) serie Ts’ = ((1-f) + f P) Ts f Ts P (1-f) Ts P procesadores paralelo Tp’ = Ts (1-f) Ts f Ts Gustafson 2Muchas veces, el paralelismo no se utiliza para ir más rápido sino para ejecutar tareas de mayor tamaño. fa = Ts’ / Tp’ fa = (1-f) + f P Arquitecturas Paralelas 12- 13

  28. Gustafson 2Gustafson fa = (1-f) + f P Arquitecturas Paralelas 12- 13

More Related