La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Se utilizan protocolos de coherencia basados en un directorio al que tienen acceso todos los procesadores y cachés (un nodo que espía lo que otros nodos.

Presentaciones similares


Presentación del tema: "Se utilizan protocolos de coherencia basados en un directorio al que tienen acceso todos los procesadores y cachés (un nodo que espía lo que otros nodos."— Transcripción de la presentación:

1

2 Se utilizan protocolos de coherencia basados en un directorio al que tienen acceso todos los procesadores y cachés (un nodo que espía lo que otros nodos hacen). Este mecanismo sirve tanto para memorias físicamente compartidas como memorias

3 Protocolos basados en directorio En primer lugar, cabe distinguir entre: Directorio centralizado y Directorio distribuido. Directorio centralizado: Consiste en un único directorio o tabla centralizada donde se guarda información sobre el lugar donde se encuentra cada copia de la caché. Este directorio centralizado es normalmente bastante grande por lo que la búsqueda se realiza de forma asociativa. La competencia por el acceso al directorio (contención), así como los largos tiempos de búsqueda, son alguno de los inconvenientes de este esquema. Directorio distribuido: En el directorio se guarda el estado de la caché así como su presencia. El estado es local, pero la presencia indica qué cachés tienen una copia del bloque. Hay dos protocolos típicos de mapeado distribuido que son los protocolos con directorios jerárquicos y los protocolos con directorios encadenados.

4 Si nuestro modelo de sistema tiene la memoria dividida en trozos, cada uno asociado a un nodo, entonces el directorio centralizado está en realidad distribuido entre las memorias. En este caso el directorio se encuentra tan distribuido como en un protocolo de directorio distribuido. La diferencia es que en el directorio centralizado, se accede a una porción del directorio basándonos en su localización por su dirección física. En el caso del directorio distribuido, se accede a uno en particular porque su nodo es propietario de la línea de caché.

5 Protocolo de mapeado completo Mantiene un directorio en el cual cada entrada tiene un bit, llamado bit de presencia (para especicar la presencia de copias del bloque de memoria en las caches), por cada una de las caches del sistema. Cada bit determina si la copia del bloque esta presente en la correspondiente cache.

6 Las acciones a realizar en este protocolo son las siguientes: Fallo de lectura. Fallo de escritura. Acierto de escritura. El principal problema del mapeado completo es que el tamaño del directorio es muy grande. Tal y como hemos visto, este tamaño se puede calcular como: Tamaño del directorio = (1 + Numero de caches) × Numero de lineas de memoria Es decir, el tamaño del directorio es proporcional al numero de procesadores multiplicado por el tamaño de la memoria

7 Protocolo de directorio limitado Para evitar el crecimiento cuadratico del mapeado completo es posible restringir el numero de copias de caches activas de forma simultanea de un bloque. De esta forma se limita el crecimiento del directorio hacia un valor constante. El protocolo de coherencia para el protocolo de directorio limitado es exactamente igual que el mapeado completo, con la excepcion del caso en que el numero de peticiones de una lınea en particular sea mayor que i.

8 un protocolo basado en directorio limitado, se representa como Dir i NB. Donde i < N, Dir indica directorio, i es el numero de punteros en el directorio, y X indica el numero de copias que puede haber en el sistema que necesitan tener una referencia centralizada, N es el numero de procesadores y B el numero de bloques de la memoria de cada procesador. Los punteros son codicaciones binarias para identicar a cada procesador, por lo que en un sistema con N procesadores, son necesarios log2 N bits para cada puntero. Con esto, el tamaño del directorio sera: Tamaño del directorio = (1 + Punteros × log2 N) × Bloques de memoria

9 Los protocolos de directorio encadenado mantienen una lista enlazada por punteros entre las caches que tienen una copia de un bloque. La lista se puede recorrer en un sentido o en los dos dependiendo de que tenga uno o dos punteros cada nodo. Una entrada en el directorio apunta a una cache con una copia del bloque correspondiente a esa entrada; esta cache a su vez tiene un puntero que apunta a otra cache que tiene tambien la copia, y ası sucesivamente. Por lo tanto, una entrada en el directorio contiene unicamente un unico puntero que apunta a la cabeza de la lista.

10 Un protocolo interesante, basado en directorio encadenado, es el que presenta el estandar IEEE Scalable Coherent Interface o SCI. Este interface estandar es escalable permitiendo la conexion de hasta 64K procesadores, memorias, o nodos de entrada/salida. Hay un puntero, llamado puntero de cabeza, asociado a cada bloque de memoria. El puntero de cabeza apunta a la primera cache en la lista. Ademas, se asignan a cada cache dos punteros, uno con el predecesor en la lista y otro con el sucesor. Se trata por tanto de una lista con doble enlace.

11 Comparando los protocolos de directorio vistos hasta ahora se puede decir que los protocolos de mapeado completo ofrecen una mayor utilizacion del procesador que los encadenados y estos mas que los de directorio limitado. Sin embargo, un directorio completamente mapeado requiere mucha mas memoria que los otros dos. Por otro lado, la complejidad del directorio encadenado es mayor que la del limitado.

12 a/tema_7.pdf a/tema_7.pdf es/aic_multiproc.pdf es/aic_multiproc.pdf es/ es/ es/aic_indice.pdf es/aic_indice.pdf


Descargar ppt "Se utilizan protocolos de coherencia basados en un directorio al que tienen acceso todos los procesadores y cachés (un nodo que espía lo que otros nodos."

Presentaciones similares


Anuncios Google