Abstract:
|
Publicaciones previas revelan que el flujo de referencias que llega a la cache compartida (SLLC) de un chip multiprocesador muestra poca localidad temporal. Sin embargo, muestra localidad de reuso, es decir, los bloques referenciados varias veces tienen más probabilidad de ser referenciados en un futuro. Esto provoca que, si se realiza una gestión convencional, el uso de la cache es ineficiente. Existen varias propuestas que abordan este problema para caches inclusivas, pero pocas que se centren en caches exclusivas. En este trabajo se propone un nuevo mecanismo de selección de contenidos para caches exclusivas que aprovecha la localidad de reuso que presentan los accesos a la SLLC. Consiste en incluir un Detector de Reuso entre cada cache L2 y la SLLC. Su misión es detectar bloques sin reuso para evitar que sean insertados en la SLLC. Esta propuesta se evalúa con un conjunto de cargas multiprogramadas ejecutando en un simulador detallado de un sistema con 8 procesadores en chip y su jerarquía de memoria. Los resultados muestran que el Detector de Reuso permite incrementar el rendimiento por encima de otras propuestas recientes como CHAR o la Reuse Cache. Por ejemplo, para una configuración del Detector de Reuso balanceada entre coste y prestaciones, se obtiene un 8,5% de reducción de la tasa de fallos de la SLLC y un incremento del IPC de un 2,5%, frente a un sistema base con reemplazo TC-AGE. |