La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitecturas Paralelas

Presentaciones similares


Presentación del tema: "Arquitecturas Paralelas"— Transcripción de la presentación:

1 Arquitecturas Paralelas 12- 13
2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad de cálculo Arquitecturas Paralelas

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

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

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

5 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. red de comunicación array P+M+E/S Proc. de control front-end Arquitecturas Paralelas

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]; paso 1: comprobar todos Y[i] != 0 paso 2: if (yes)hacer Z[i] = X[i] / Y[i] (el resto, nada) paso 3: if (no) hacer Z[i] = X[i] Adecuados para cierto tipo de aplicaciones: tratamiento de imágenes… Arquitecturas Paralelas

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

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

9 Arquitecturas Paralelas 12- 13
Computadores MIMD  Memoria compartida (shared memory) - 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. P0 P1 Pp–1 M0 Mm–1 E/S Arquitecturas Paralelas

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

11 Arquitecturas Paralelas 12- 13
Computadores MIMD  Memoria distribuida (distributed memory) Pp-1 Mp-1 E/S P0 M0 K - 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 Arquitecturas Paralelas 12- 13
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 E/S E/S Mp-1 K M0 K Arquitecturas Paralelas

13 Arquitecturas Paralelas 12- 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

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

15 Arquitecturas Paralelas 12- 13
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

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

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

18 Arquitecturas Paralelas 12- 13
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

19 Arquitecturas Paralelas 12- 13
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

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

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

22 Arquitecturas Paralelas 12- 13
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

23 Arquitecturas Paralelas 12- 13
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

24 Arquitecturas Paralelas 12- 13
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

25 Arquitecturas Paralelas 12- 13
Amdahl 1 Generalmente, 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

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

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

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


Descargar ppt "Arquitecturas Paralelas"

Presentaciones similares


Anuncios Google