Uso de Combinación de Vías para mejorar la Eficiencia de las Cachés de Directorio
Main Authors: | Rubén Titos-Gil, Antonio Flores, Ricardo Fernández-Pascual, Alberto Ros, Manuel E. Acacio |
---|---|
Format: | Proceeding Journal |
Terbitan: |
, 2017
|
Subjects: | |
Online Access: |
https://zenodo.org/record/894443 |
Daftar Isi:
- El mercado de los procesadores de propósito general pone a nuestra disposición hoy día chips con cientos de núcleos de procesamiento, al tiempo que aparecen los primeros prototipos con miles de núcleos. El mantenimiento de la coherencia ante un número de núcleos tan elevado en dichas architecturas manycore exige un cuidadoso diseño del directorio, usado para llevar cuenta de la localización de los bloques de memoria en los niveles privados de caché de cada núcleo. En este trabajo proponemos una organización del directorio basada en el concepto de combinación de vías. En concreto, nuestra propuesta emplea un puntero por entrada, que es óptimo para el caso común en el que un bloque tiene un único compartidor. Para aquellas direcciones de bloques que requieren más de un puntero, hemos observado que en la mayoría de casos existen vías vacías en el mismo conjunto que pueden ser utilizadas para almacenar más punteros. De esta forma, nuestra propuesta minimiza la sobrecarga de almacenamiento sin perder la flexibilidad para adaptarse a diferentes grados de compartición, y sin la complejidad de otras técnicas previamente propuestas. Mediante simulaciones detalladas de una arquitectura con 128 núcleos, mostramos que el directorio de vías combinadas consigue un rendimiento muy cercano al de un directorio sparse que usa de vectores de bits, y supera el de otras propuestas escalables del estado del arte.