Descargar la presentación
La descarga está en progreso. Por favor, espere
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
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
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)
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
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
Características de las redes de interconexión (Network Characteristics) Características fundamentales Estado de las redes Redes bloqueantes frente a no bloqueantes Propiedades de las redes Encaminamientos de datos Redes estáticas de conexión Redes dinámicas de conexión
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.