Mejora del rendimiento y la escalabilidad de los multiprocesadores de memoria compartida-distribuida basados en directorios

  1. ACACIO SANCHEZ, MANUEL EUGENIO
Dirixida por:
  1. José Duato Marín Director
  2. José Manuel García Carrasco Co-director

Universidade de defensa: Universidad de Murcia

Fecha de defensa: 27 de marzo de 2003

Tribunal:
  1. Mateo Valero Cortés Presidente/a
  2. Pedro Juan López Rodríguez Secretario/a
  3. Emilio López Zapata Vogal
  4. Ramón Beivide Palacio Vogal
  5. D. Hill Mark Vogal
Departamento:
  1. Ingeniería y Tecnología de Computadores

Tipo: Tese

Teseo: 95442 DIALNET

Resumo

A pesar de que a través del uso de protocolos de coherencia de caché basados en directorios podemos llevar a cabo la realización de multiprocesadores de memoria compartida escalables y de alto rendimiento, más allá de los límites de los protocolos basados en fisgoneo, existen una serie de factores que limitan el número máximo de nodos que una máquina cc-NUMA puede ofrecer con una buena relación coste/rendimiento. Dos de estos factores son la sobrecarga de circuitería que supone el uso de los directorios, principalmente la cantidad de memoria necesaria para almacenar esta información, y las largas latencias de los fallos de L2 que caracterizan alos multiprocesadores cc-NUMA actuales. En la presente tesis presentamos una serie de propuestas cuyo objetivo es el de paliar estos dos problemas. En primer lugar presentamos una nueva organización para el directorio, que hemos denominado directorio de dos niveles, a través de la cual se consigue reducir de forma significativa la sobrecarga de memoria introducida por la información de directorio sin que ello suponga una pérdida de rendimiento. Además, presentamos el concepto de agrupamiento multicapa y derivamos tres nuevos códigos de compartición comprimidos con menores requerimientos en cuanto a memoria se refiere que los propuestos con anterioridad. A continuación añadimos a la arquitectura de directorio de dos niveles un tercer nivel que integramos, junto con una caché para datos compartidos, dentro de chip del procesador como una forma de acelerar significativamente los fallos de L2. Esta nueva arquitectura de nodo que derivamos a partir de una clasificación de los fallos de L2 en función del trabajo realizado por el directorio para resolverlos, consigue obtener importantes reducciones en la componente de la latencia debida al directorio para todas las categorias de la clasificación. Por último, presentamos también dos técnicas basadas en el uso de predicto