Sunteți pe pagina 1din 4

Arquitectura e Ingeniera de Computadores.

Curso 2008-2009

Problemas Tema 8

Hoja de Problemas 4 (Problemas Tema 8)


1. Est relacionado el problema de la coherencia cache con los registros del procesador? 2. La siguiente figura muestra la variacin de la tasa de fallos de una aplicacin en funcin del tamao de la lnea de cache en un sistema multiprocesador.
Tasa de Fallos

Tamao de Lnea de Cache

Considrese los tres tamaos de lnea etiquetados en la figura como A, B y C. Bajo que circunstancias (si las hay) proporcionara mejor rendimiento (tiempo de ejecucin) utilizar el tamao de lnea: 1. A en lugar del tamao B o el C 2. B en lugar del tamao A o el C 3. C en lugar del tamao A o el B Qu aspecto (forma, posicin) cabra esperar para la misma figura en un sistema uniprocesador? 3. En el protocolo de coherencia MESI estndar: a. Indica cuales son las transacciones de bus relevantes y dibuja las transiciones de estado a las que dan lugar. b. Dibuja las transiciones de estado originadas por peticiones locales del procesador. 4. En el protocolo de coherencia Dragon: a. Indica cuales son las transacciones de bus relevantes y dibuja SOLO las transiciones de estado a las que dan lugar. b. Dibuja las transiciones de estado originadas por peticiones locales del procesador.

Arquitectura e Ingeniera de Computadores. Curso 2008-2009

Problemas Tema 8

5. Indica claramente las diferencias entre los siguientes protocolos de coherencia vistos en clase: Snoopy, MSI, MESI y Dragn en trminos de su nmero de estados, poltica de escritura de cache y poltica para mantener la coherencia.
Num. Estados Snoopy MSI MESI DRAGON Poltica Escritura de cache Poltica para mantener coherencia

Adems, indica que aporta cada protocolo frente al anterior. 6. Para cada una de las cadenas de referencias a memoria que se muestran a continuacin, comparar el costo de ejecutarlas en un multiprocesador de bus compartido que soporta (a) el protocolo MESI y (b) el protocolo DRAGON. Explicar las diferencias de rendimiento observadas en trminos de las caractersticas de las cadenas y de los protocolos de coherencia Cadena 1: r1 w1 r1 w1 r2 w2 r2 w2 r3 w3 r3 w3 Cadena 2: r1 r2 r3 w1 w2 w3 r1 r2 r3 w1 Cadena 3: r1 r2 r3 r3 w1 w1 w1 w1 w2 w3 Todas las referencias en las cadenas son a la misma posicin. r/w indica lectura o escritura y el dgito se refiere al procesador que hace la referencia. Asume que todas las caches estn inicialmente vacas, y usa el siguiente modelo de coste: Un acierto de cache el lectura/escritura: 1 ciclo Fallos que requieren una transaccin del bus simple: 60 ciclos Fallos que requieren una transferencia de un bloque de cache: 90 ciclos Suponer que se utiliza en todos los casos caches con asignacin en escritura (write allocate). 7. Para cada una de las cadenas de referencias a memoria que se muestran a continuacin, compara el coste de ejecutarlas en un multiprocesador de bus compartido que soporta (a) el protocolo MESI y (b) el protocolo DRAGON. Indica el resultado en forma de una tabla por cadena y protocolo que muestre la evolucin de los estados de las caches en el tiempo; donde cada columna es un acceso y cada fila el estado de la cache de un procesador. Cadena 1: r2 r1 r2 w1 r1 w1 r2 w2 r3 w3 Cadena 2: r3 r2 r1 w1 w1 w3 r2 r2 r3 w1 Todas las referencias en las cadenas son a la misma posicin. r/w indica lectura o escritura y el dgito se refiere al procesador que hace la referencia. Asume que todas las caches estn inicialmente vacas, y usa el siguiente modelo de coste: Un acierto de cache el lectura/escritura: 1 ciclo
2

Arquitectura e Ingeniera de Computadores. Curso 2008-2009

Problemas Tema 8

Fallos que requieren una transaccin del bus simple: 60 ciclos Fallos que requieren una transferencia de un bloque de cache: 90 ciclos Suponer que se utiliza en todos los casos caches con asignacin en escritura (write allocate). Explica las diferencias de rendimiento observadas en trminos de las caractersticas de las cadenas y de los protocolos de coherencia 8. Considrese un multiprocesador tipo UMA de 3 vas (3 procesadores) que utiliza un protocolo de coherencia de tipo Dragn. En cada procesador se est ejecutando uno de los siguientes procesos:
/* --(P1)-- */ for (i=0;i<64;i++){ A=f(X[i]); unlock(S1); lock(S2); /* --(P2)-- */ for (i=0;i<64;i++) { lock(S1); B=g(A); unlock(S2); unlock(S3); lock(S4); /* --(P3)-- */ for (i=0;i<64;i++) { lock(S3); Y[i]=h(B); unlock(S4);

Suponiendo que: Cada procesador tiene una cache de 8KB con emplazamiento asociativo, bloques de 32 bytes, post-escritura y asignacin en escritura. Las variables globales A y B son tipo double (8 bytes) y estn almacenadas en distintos bloques de memoria. Los arrays X e Y contienen 64 elementos de tipo double (8 bytes). El contador i es de tipo short (2 bytes) y es local a cada proceso (permanece siempre almacenado en un registro del procesador). Las variables globales S1, S2, S3 y S4 son tambin de tipo short (2 bytes) y sus valores iniciales son: S1=S3=1 y S2=S4=0. La adquisicin (lock) y liberacin (unlock) de cerrojos se implementa mediante test-test&set. a. Indicar las transacciones de bus originadas (i) por cada par unlock-lock y (ii) por la ejecucin completa de los tres procesos (no es preciso distinguir el caso especial i=0 ) b. Repetir el apartado anterior suponiendo un protocolo MESI e indicar el trfico de datos originado en el bus. 9. Considrese un multiprocesador tipo UMA de 3 vas (3 procesadores) que utiliza un protocolo de coherencia de tipo MESI. En cada procesador se est ejecutando uno de los siguientes procesos:
/* --(P1)-- */ for (i=0;i<64;i++){ A=f(X[i]); unlock(S1); lock(S2); /* --(P2)-- */ for (i=0;i<64;i++) { lock(S1); B=g(A); unlock(S2); unlock(S3); lock(S4); /* --(P3)-- */ for (i=0;i<64;i++) { lock(S3); Y[i]=h(B); unlock(S4);

}
Suponiendo que:

Arquitectura e Ingeniera de Computadores. Curso 2008-2009

Problemas Tema 8

Cada procesador tiene una cache de 16KB con emplazamiento asociativo, bloques de 64 bytes, post-escritura y asignacin en escritura. Las variables globales A y B son tipo double (8 bytes) y estn almacenadas en distintos bloques de memoria. Los arrays X e Y contienen 64 elementos de tipo double (8 bytes). El contador i es de tipo short (2 bytes) y es local a cada proceso (permanece siempre almacenado en un registro del procesador). Las variables globales S1, S2, S3 y S4 son tambin de tipo short (2 bytes) y sus valores iniciales son: S1=S3=1 y S2=S4=0. La adquisicin (lock) y liberacin (unlock) de cerrojos se implementa mediante test-test&set.

a. Indicar las transacciones de bus originadas por cada par unlock-lock. b. Indicar las transacciones de bus originadas por la ejecucin completa de los tres procesos (no es preciso distinguir el caso especial i=0 ). 10. Supongamos un protocolo de Directorio simple tipo MSI (informacin de directorio = bit de presencia + bit de modificacin) en un sistema de 1024 procesadores y bloques de memoria de 64 bytes. a) Describir brevemente (a modo de algoritmo si es posible) las operaciones que se realizan en el caso de Fallo de lectura a un bloque en estado compartido. b) Cul es la sobrecarga de memoria asociada al directorio?

11. Sea un sistema multiprocesador de memoria compartida tipo UMA donde los n procesadores ejecutan el siguiente cdigo: for i= 1 to m P[1](write, x); P[2.n](read, x); end for El tamao de lnea de cache es 8 palabras de 8 bytes; y de la orden de control es 6 bytes, tanto para solicitud de lnea en caso de fallo como para invalidacion (por medio de BusRdX) y actualizacin. Indicar en funcin de m y n, el trfico (en bytes) generado por un protocolo de actualizacin y uno de invalidacin. No se debe considerar el caso especial i=1.

S-ar putea să vă placă și