La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Multiprocesadores 3.1 Dominios de aplicación 3.2 Arquitecturas con memoria centralizada 3.3 Arquitecturas con memoria distribuida 3.4 Sincronización 3.5.

Presentaciones similares


Presentación del tema: "Multiprocesadores 3.1 Dominios de aplicación 3.2 Arquitecturas con memoria centralizada 3.3 Arquitecturas con memoria distribuida 3.4 Sincronización 3.5."— Transcripción de la presentación:

1 Multiprocesadores 3.1 Dominios de aplicación 3.2 Arquitecturas con memoria centralizada 3.3 Arquitecturas con memoria distribuida 3.4 Sincronización 3.5 Modelos de consistencia de memoria 3.6 Modelos de interconexión

2 3.1 Dominios de Aplicación Problemas que demandan una capacidad de cálculo superior –Satélites, Medicina, análisis sismológicos,... Freno al aumento de la velocidad de los componentes –Ley física que da la velocidad de la luz en el vacío

3 Presentación del paralelismo (1966 Flynn) SISD SIMD MISD MIMD

4 Líneas de desarrollo dentro de las arquitecturas paralelas –Multiprocesadores –Multicomputadores –Presentan 2 modelos básicos: –Con Memoria Compartida »Número pequeño de microprocesadores (docenas) »Cachés suficientemente grandes+bus+memoria compartida central »Muy popular –Con Memoria Distribuida »Ofrece la solución al ancho de banda »Necesario un sistema de interconexión que proporcione el ancho de banda necesario

5 3.2 Arquitecturas con Memoria Centralizada Modelo UMA Modelo NUMA Modelo COMA

6 Modelo UMA –Memoria física uniformemente compartida por todos los procesadores –Todos los procesadores presentan el mismo tiempo de acceso a todas las palabras de memoria –Cada procesador puede emplear una caché privada –Los periféricos se comparten de la misma manera

7

8 Modelo NUMA –Tiempo de acceso depende de la ubicación de la palabra de memoria –Memorias Locales (Forman el espacio de direccionamiento global) –Coherencia caché con directorios distribuídos

9

10 Modelo COMA –Caso especial del NUMA –La memoria principal se convierte a caché –No existe una jerarquía de memoria en cada procesador

11 Arquitecturas con memoria distribuida Exclusión de la coherencia caché Protocolos basados en directorios (qué procesadores tienen copias de un bloque y estado del bloque) con invalidación de escritura Directorios distribuidos (como la memoria)

12

13 Sincronización Se intercambia información de control Se usan mecanismos Hardware Puede durar algunos ciclos de bus.Para evitar esto se pueden usar mecanismos de interrupción Como ejemplo, los procesos residentes en diferentes procesadores se pueden sincronizar usando barreras

14

15 Modelos de Consistencia de Memoria(Comportamiento que se ve de la memoria) Fuentes de incoherencia entre las cachés de los multiprocesadores Protocolos Snoopy En cachés WT En cachés WB Protocolos basados en directorios Estructuras de directorios Directorios full-map Directorios limitados Directorios encadenados

16 Fuentes de incoherencia entre las cachés –Ocurre sólo cuando se utilizan varias cachés privadas –La principal fuente de incoherencias ocurre en la escritura sobre posiciones de memoria compartidas, aunque hay otras causas como son la actividad de I/O y la migración de procesos

17 Protocolos Snoopy –Sirven para asegurar la coherencia en los sistemas multiprocesadores con bus común. –Mantienen la coherencia a través de una mecanismo de observación del bus. Cada caché observa todas las operaciones de memoria de las otras cachés, pues todas se llevan a cabo a través de un bus común. –Cuando un controlador detecta que una transacción a través del bus amenaza el estado de coherencia de un objeto alojado en la caché puede realizar 2 cosas: » Escritura invalidante. Se invalida la copia de la caché. Al tratar de acceder a ella se produce un fallo caché que implica la necesidad de acceder a memoria compartida para su actualización. »Escritura actualizante. En lugar de invalidar las copias, directamente se actualizan con el nuevo valor (genera latencias demasiado elevadas de escritura en memoria. No se emplea).

18 Protocolos Snoopy en cachés WT 2 estados (válido e inválido) almacenados en la propia caché –Válido. Un determinado bloque de datos está copiado en una o varias cachés y en memoria principal, y en todas ellas contiene lo mismo. La evolución del estado se describe considerando todo desde el punto de vista de una determinada caché local.

19 Protocolos Snoopy en caches WB –3 estados para cada copia caché

20 Protocolos basados en directorios Se utilizan en sistemas multiprocesador construidos utilizando redes punto a punto o multietapa. En tales redes no existe un mecanismo adecuado de observación (no snoopy). Procedimientos de comunicación caros.Los comandos de comunicación sólo se deben enviar a aquellas caches que guarden una copia del bloque. Necesidad de información almacenada en determinados nodos sobre qué es lo que contienen otros (directorios). Diferentes protocolos difieren en la información que se almacena en los directorios y cómo se mantiene la misma. »Directorios centralizados.El directorio central actúa como cuello de botella. »Directorios distribuidos. Cada módulo de memoria contiene su directorio.

21 Directorios distribuidos. Están constituidos por entradas, una para cada bloque de memoria cubierta por ese directorio, y esa entrada contiene varios punteros que especifican en qué cachés locales están las copias de ese bloque. Además, cada directorio contiene un bit de sucio que especifica cuando un solo procesador puede escribir sobre su copia local de ese bloque. Según cómo se organizan internamente los directorios, podemos distinguir: –Directorios full-map –Directorios limitados –Directorios encadenados

22 Directorios full-map –N bits de presencia de procesadores –1 bit de sucio (información de memoria actualizada o no) –Tamaño proporcional al cuadrado del número de procesadores

23 Directorios limitados Esquema similar al full-map Número fijo de bits por entrada, según el tamaño del sistema. Puede surgir el problema de que se tengan más copias que bits para un bloque, y en ese caso habrá que invalidar alguna de las copias, simplemente porque no se puede reflejar su presencia en el directorio.

24 Directorios encadenados La mayor parte del directorio se distribuye dentro de la propia caché. Las entradas del directorio están organizadas como una lista enlazada. La primera entrada de esta lista se encuentra en memoria principal y contiene un puntero que indica en qué caché está la primera copia, ésta un puntero que indica dónde está la segunda,... Cuando se invalida un bloque éste debe ser sacado de la lista. Se complica el funcionamiento.

25 Modelos de Interconexión 1.Características de las redes de interconexión (Network Characteristics) a)Características fundamentales b)Estado de las redes c)Redes bloqueantes frente a no bloqueantes 2.Propiedades de las redes 3.Encaminamientos de datos 4.Redes estáticas de conexión 5.Redes dinámicas de conexión

26

27

28

29

30

31

32

33

34

35


Descargar ppt "Multiprocesadores 3.1 Dominios de aplicación 3.2 Arquitecturas con memoria centralizada 3.3 Arquitecturas con memoria distribuida 3.4 Sincronización 3.5."

Presentaciones similares


Anuncios Google