The multi-core revolution highlights the Last Level Cache (LLC) as a key component which affects the behaviour of the entire system. An efficient LLC data management keeps data closer to the cores, thus minimizing the expensive memory accesses. Besides, the increasing core count coupled with the introduction of the on-chip networks as the standard interconnect makes the Non Uniform Cache Access (NUCA) architectures a viable solution to improve the LLC capacity and performance. Considering huge multi-cores, the LLC is usually physically split in banks spread across the chip and shared among the cores. Therefore, the data placement and replacement policies play a critical function. However, the limitations of the baseline NUCA solution, that usually exploits an LLC static data mapping, i.e. Static NUCA (SNUCA), have been pointed out. The Dynamic NUCA (DNUCA) architectures allow an adaptive placement of the LLC data which can improve the overall system performance while minimizing the communication requirements. Two mechanisms are common to all the existing DNUCA architectures. The lookup mechanism retrieves a cache line into the LLC, since the block placement is time-dependant. Moreover, a dynamic data placement mechanism allows to optimally place a block. Several DNUCA architectures have been proposed, while a comprehensive analysis of the overheads due to the additional required mechanisms is still missing. The thesis explores such mechanisms also providing a complete analysis on the relationship between the application behaviour and the DNUCA design stages. The mechanisms are evaluated considering both the performance and the additional generated traffic viewpoints. Moreover, a complete DNUCA architecture with the migration support has been developed and analysed. In particular, the MESI coherence protocol has been augmented and integrated to work with the DNUCA mechanisms. Moreover, a novel lookup mechanism mechanism is presented. The obtained results highlight the non-negligible impact of the applications to the cache hierarchy as well as the huge overhead introduced by the lookup schemes, thus imposing a careful evaluation of the actual need for a DNUCA architecture.

La rivoluzione portata dai multi-core evidenzia come l’ultimo livello di cache (LLC) sia una componente chiave che influenza l’intero sistema. Una gestione efficace dei dati, li deve mantere vicini ai core, riducendo al minimo i costosi accessi in memoria. Inoltre , il numero crescente di core insieme all’introduzione delle NoC come interconnect standard rende le architetture NUCA (Non Uniform Cache Access ) una soluzione fondamentale al fine di incrementare le performance e la capacità della cache. L’ultimo livello di cache è solitamente fisicamente distribuito nei vari banchi ed è condiviso tra tutti i core. Perciò, le politiche di mapping e di rimpiazzo dei dati rivestono un ruolo determinante. Tuttavia, lo Static NUCA (SNUCA), soluzione di base che solitamente utilizza un mapping statico per l’ultimo livello di cache, ha dimostrato di avere forti limiti. Le architetture DNUCA (Dynamic NUCA) consentono un posizionamento adattivo dei blocchi in LLC, offrendo la possibilità di incrementare le prestazioni dell’intero sistema. In tutte le soluzioni DNUCA sono necessari due meccanismi. Il primo è quello di ricerca dei blocchi in LLC, data la possibilità di un blocco di essere posizionato in diversi banchi. Il secondo è il meccanismo che permette di allocare dinamicamente il blocco. Mentre sono state proposte diverse architetture, un’analisi globale dei riscontri dei meccanismi non è stata ancora affrontata. Questa tesi fornisce un’esplorazione e un’analisi completa di tali meccanismi, in relazione anche al comportamento delle applicazioni. I meccanismi sono stati valutati sia dal punto di vista delle performance, sia da quello del traffico aggiuntivo introdotto nella NoC. Inoltre, una architettura DNUCA provvista di supporto per la migrazione dei blocchi è stata sviluppata e analizzata. In particolare, il protocollo di coerenza MESI è stato esteso con i meccanismi richiesti da un sistema DNUCA. Inoltre, viene presentato un nuovo meccanismo di ricerca in LLC. I risultati ottenuti evidenziano come l’impatto delle applicazioni sulla gerarchia di cache e l’enorme costo dei meccanismi di ricerca non sia trascurabile e metta in discussione le stesse architetture DNUCA.

Exploring future DNUCA architectures by bridging the application behaviour and the coherence protocol support

BELLUSCHI, MAURO
2015/2016

Abstract

The multi-core revolution highlights the Last Level Cache (LLC) as a key component which affects the behaviour of the entire system. An efficient LLC data management keeps data closer to the cores, thus minimizing the expensive memory accesses. Besides, the increasing core count coupled with the introduction of the on-chip networks as the standard interconnect makes the Non Uniform Cache Access (NUCA) architectures a viable solution to improve the LLC capacity and performance. Considering huge multi-cores, the LLC is usually physically split in banks spread across the chip and shared among the cores. Therefore, the data placement and replacement policies play a critical function. However, the limitations of the baseline NUCA solution, that usually exploits an LLC static data mapping, i.e. Static NUCA (SNUCA), have been pointed out. The Dynamic NUCA (DNUCA) architectures allow an adaptive placement of the LLC data which can improve the overall system performance while minimizing the communication requirements. Two mechanisms are common to all the existing DNUCA architectures. The lookup mechanism retrieves a cache line into the LLC, since the block placement is time-dependant. Moreover, a dynamic data placement mechanism allows to optimally place a block. Several DNUCA architectures have been proposed, while a comprehensive analysis of the overheads due to the additional required mechanisms is still missing. The thesis explores such mechanisms also providing a complete analysis on the relationship between the application behaviour and the DNUCA design stages. The mechanisms are evaluated considering both the performance and the additional generated traffic viewpoints. Moreover, a complete DNUCA architecture with the migration support has been developed and analysed. In particular, the MESI coherence protocol has been augmented and integrated to work with the DNUCA mechanisms. Moreover, a novel lookup mechanism mechanism is presented. The obtained results highlight the non-negligible impact of the applications to the cache hierarchy as well as the huge overhead introduced by the lookup schemes, thus imposing a careful evaluation of the actual need for a DNUCA architecture.
ZONI, DAVIDE
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-set-2016
2015/2016
La rivoluzione portata dai multi-core evidenzia come l’ultimo livello di cache (LLC) sia una componente chiave che influenza l’intero sistema. Una gestione efficace dei dati, li deve mantere vicini ai core, riducendo al minimo i costosi accessi in memoria. Inoltre , il numero crescente di core insieme all’introduzione delle NoC come interconnect standard rende le architetture NUCA (Non Uniform Cache Access ) una soluzione fondamentale al fine di incrementare le performance e la capacità della cache. L’ultimo livello di cache è solitamente fisicamente distribuito nei vari banchi ed è condiviso tra tutti i core. Perciò, le politiche di mapping e di rimpiazzo dei dati rivestono un ruolo determinante. Tuttavia, lo Static NUCA (SNUCA), soluzione di base che solitamente utilizza un mapping statico per l’ultimo livello di cache, ha dimostrato di avere forti limiti. Le architetture DNUCA (Dynamic NUCA) consentono un posizionamento adattivo dei blocchi in LLC, offrendo la possibilità di incrementare le prestazioni dell’intero sistema. In tutte le soluzioni DNUCA sono necessari due meccanismi. Il primo è quello di ricerca dei blocchi in LLC, data la possibilità di un blocco di essere posizionato in diversi banchi. Il secondo è il meccanismo che permette di allocare dinamicamente il blocco. Mentre sono state proposte diverse architetture, un’analisi globale dei riscontri dei meccanismi non è stata ancora affrontata. Questa tesi fornisce un’esplorazione e un’analisi completa di tali meccanismi, in relazione anche al comportamento delle applicazioni. I meccanismi sono stati valutati sia dal punto di vista delle performance, sia da quello del traffico aggiuntivo introdotto nella NoC. Inoltre, una architettura DNUCA provvista di supporto per la migrazione dei blocchi è stata sviluppata e analizzata. In particolare, il protocollo di coerenza MESI è stato esteso con i meccanismi richiesti da un sistema DNUCA. Inoltre, viene presentato un nuovo meccanismo di ricerca in LLC. I risultati ottenuti evidenziano come l’impatto delle applicazioni sulla gerarchia di cache e l’enorme costo dei meccanismi di ricerca non sia trascurabile e metta in discussione le stesse architetture DNUCA.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2016_09_Belluschi.pdf

accessibile in internet per tutti

Descrizione: Testo della tesi
Dimensione 6.69 MB
Formato Adobe PDF
6.69 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/126685