In the multi-core era, the Last Level Cache (LLC) is a critical, shared, platform resource from the performance, the energy and the chip area viewpoints. The trend of increasing the LLC size to reduce the contention between different running applications highlights the cache partitioning schemes as viable technique to efficiency and dynamically allocate the LLC space to the application from the energy-performance perspective. Although the cache underutilization represents a standing issue that motivates the power-off of the portion of the unused LLC to save energy. Such a solution is viable within monolithic LLC design, while becomes unfeasible when the LLC is physically split in multiple small banks for which the power gating can only be exploited at bank level. By enforcing the power gating mechanism at bank level, a Dynamic Not Uniform Cache Access (DNUCA) architecture is enforced thus imposing a novel coherence protocol to ensure the cache coherence. The thesis proposes FlexiCache, a novel cache architecture that allows to dynamically power-OFF and -ON different LLC banks. A novel MESI-based inclusive coherence protocol is presented to support the LLC bank powering-off capabilities. Moreover, the power gating policy as well as the additional logic to gather the platform information are also discussed. In particular, the in depth benchmark analysis allows to design an application agnostic architecture. Last, a complete feasibility analysis is provided to further strengthen the validity of the proposed solution. FlexiCache has been validated on a simulated 16-core architecture executing representative applications from the Parsec3.0 suite. FlexiCache requires 30% less energy, on average, with respect to the traditional MESI protocol with an average performance overhead within 5%.

Nell'epoca dei multi-core, l'ultimo livello di Cache (LLC) è una risorsa condivisa critica dal punto di vista energetico, prestazionale e in termini di spazio che occupa all'interno del chip. La tendenza ad aumentare la dimensione della cache per ridurre la contesa tra diverse applicazioni in esecuzione ha messo in luce il partizionamento della cache come tecnica per allocare efficientemente e dinamicamente lo spazio alle singole applicazioni. Infatti il sottoutilizzo della cache rappresenta un problema attuale, motivando lo spegnimento di alcune sue parti al fine di salvare energia. Tale soluzione è possibile con cache monolitiche, mentre diventa impraticabile con cache fisicamente divise in tanti piccoli banchi, per cui la riduzione del consumo può essere eseguita solo a granularità di banco; a tale livello si rende necessaria l'uso di un'architettura DNUCA (Dynamic Not Uniform Cache Access), quindi un nuovo protocollo che assicuri la coerenza della cache. La tesi propone FlexiCache, una nuova architettura per le cache in grado di spegnere e accendere banchi di cache. Viene presentato un nuovo protocollo di coerenza basato sul MESI, che supporta la possibilità di spegnere banchi di cache. Inoltre, vengono discusse una politica per il risparmio energetico, così come la logica addizionale per ottenere le informazioni di sistema. In particolare, una dettagliata analisi dei banchmark permette di progettare un'architettura agnostica dall'applicazione. Per ultimo, viene fornita una completa analisi di fattibiltà, per rafforzare ulteriormente la validità della soluzione proposta. FlexiCache è stata valutata su un'architettura a 16 core eseguendo un sottoinsieme delle applicazioni appartenenti alla suite Parsec3.0. FlexiCache richiede in media il 30% in meno di energia rispetto a un protocollo MESI tradizionale, con un degrado prestazionale minore del 5%.

A novel cache coherence protocol to adaptively power gating LLC banks in tile-based multi-cores

COLOMBO, LUCA
2015/2016

Abstract

In the multi-core era, the Last Level Cache (LLC) is a critical, shared, platform resource from the performance, the energy and the chip area viewpoints. The trend of increasing the LLC size to reduce the contention between different running applications highlights the cache partitioning schemes as viable technique to efficiency and dynamically allocate the LLC space to the application from the energy-performance perspective. Although the cache underutilization represents a standing issue that motivates the power-off of the portion of the unused LLC to save energy. Such a solution is viable within monolithic LLC design, while becomes unfeasible when the LLC is physically split in multiple small banks for which the power gating can only be exploited at bank level. By enforcing the power gating mechanism at bank level, a Dynamic Not Uniform Cache Access (DNUCA) architecture is enforced thus imposing a novel coherence protocol to ensure the cache coherence. The thesis proposes FlexiCache, a novel cache architecture that allows to dynamically power-OFF and -ON different LLC banks. A novel MESI-based inclusive coherence protocol is presented to support the LLC bank powering-off capabilities. Moreover, the power gating policy as well as the additional logic to gather the platform information are also discussed. In particular, the in depth benchmark analysis allows to design an application agnostic architecture. Last, a complete feasibility analysis is provided to further strengthen the validity of the proposed solution. FlexiCache has been validated on a simulated 16-core architecture executing representative applications from the Parsec3.0 suite. FlexiCache requires 30% less energy, on average, with respect to the traditional MESI protocol with an average performance overhead within 5%.
ZONI, DAVIDE
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-apr-2017
2015/2016
Nell'epoca dei multi-core, l'ultimo livello di Cache (LLC) è una risorsa condivisa critica dal punto di vista energetico, prestazionale e in termini di spazio che occupa all'interno del chip. La tendenza ad aumentare la dimensione della cache per ridurre la contesa tra diverse applicazioni in esecuzione ha messo in luce il partizionamento della cache come tecnica per allocare efficientemente e dinamicamente lo spazio alle singole applicazioni. Infatti il sottoutilizzo della cache rappresenta un problema attuale, motivando lo spegnimento di alcune sue parti al fine di salvare energia. Tale soluzione è possibile con cache monolitiche, mentre diventa impraticabile con cache fisicamente divise in tanti piccoli banchi, per cui la riduzione del consumo può essere eseguita solo a granularità di banco; a tale livello si rende necessaria l'uso di un'architettura DNUCA (Dynamic Not Uniform Cache Access), quindi un nuovo protocollo che assicuri la coerenza della cache. La tesi propone FlexiCache, una nuova architettura per le cache in grado di spegnere e accendere banchi di cache. Viene presentato un nuovo protocollo di coerenza basato sul MESI, che supporta la possibilità di spegnere banchi di cache. Inoltre, vengono discusse una politica per il risparmio energetico, così come la logica addizionale per ottenere le informazioni di sistema. In particolare, una dettagliata analisi dei banchmark permette di progettare un'architettura agnostica dall'applicazione. Per ultimo, viene fornita una completa analisi di fattibiltà, per rafforzare ulteriormente la validità della soluzione proposta. FlexiCache è stata valutata su un'architettura a 16 core eseguendo un sottoinsieme delle applicazioni appartenenti alla suite Parsec3.0. FlexiCache richiede in media il 30% in meno di energia rispetto a un protocollo MESI tradizionale, con un degrado prestazionale minore del 5%.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2017_4_Colombo.pdf

Open Access dal 07/04/2018

Descrizione: Testo della tesi
Dimensione 4.55 MB
Formato Adobe PDF
4.55 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/133907