The advent of Chip-MultiProcessor (CMP) architectures in computing platforms allows the co-location of applications, which run simultaneously on the same chip. These architectures are at the base of distributed computing platforms, and in particular of today’s cloud environments. These environments manage a diverse and hardly predictable workload, which causes computational resources to experience increasing phenomena of contention, as applications running on the different cores may interfere with each other in using several hardware resources. Therefore, isolation of applications becomes a key aspect to ensure performance and Quality of Service (QoS) in such environments. Among various components, the Last Level Cache (LLC) is one of the resources where contention is experienced most, and is fundamental to ensure applications’ performance. Although contention is a well known phenomenon in the research, even the most recent commodity CMPs do not provide effective mechanisms to alleviate it, and no widely accepted solution yet exists. Page coloring is a technique well known in the literature that allows partitioning the LLC of commodity processors. This technique exploits the position of data in main memory to control how they are mapped into the LLC. The evolution of CMP architectures has increased the number of cache levels and introduced important modifications, while how page coloring works on these cache hierarchies has not been studied in detail. This work aims to investigate the possible advantages, limitations and trade-offs that derive from the usage of page coloring on such architectures. In particular, recent CMPs by Intel, namely those of the Sandy Bridge family, adopt a hash-based LLC addressing scheme. This addressing scheme changes how data are mapped to the LLC and, consequently, the effectiveness of page coloring. Considering such changes, this work aims to adapt page coloring to the latest Intel’s architecture, which power cloud platforms. In our vision, cloud workloads can benefit from page coloring, leveraging isolation of applications in LLC to fulfill QoS requirements. To prove our vision, we realized Rainbow , an implementation of page coloring in the Linux kernel that partitions modern LLCs for user-defined sets of applications. We evaluated Rainbow with a set of computational-intensive benchmarks to show its effectiveness, and finally discussed the achievements of this work, its limitations and possible future research.

L’avvento delle architetture Chip-MultiProcessor (CMP) nelle piattaforme di computazione permette la co-locazione di appli- cazioni, che eseguono contemporaneamente sullo stesso chip. Queste architetture sono alla base delle piattaforme di calcolo distribuito, in particolare dei recenti ambienti di cloud-computing. Questi ambienti gestiscono un insieme di applicazioni variegato e difficilmente predicibile, che causa crescenti fenomeni di contesa sulle risorse condivise, dal momento che le applicazioni che eseguono su cores differenti possono interferire fra di loro nell’utilizzo di diverse risorse hardware. Perciò, l’isolamento delle applicazioni diventa un aspetto fondamentale per assicurare le prestazioni e la qualità del servizio, o Quality of Service (QoS), in tali ambienti. Fra vari componenti, la cache di ultimo livello, o Last Level Cache (LLC), è una delle risorse più contese, ed è fondamentale per assicurarne le prestazioni delle applicazioni. Nonostante tale fenomeno sia ben noto nella ricerca, anche i più recenti CMP comunemente reperibili sul mercato server non offrono meccanismi efficaci per alleviarla, e nessuna soluzione con largo consenso esiste ancora. Page coloring è una tecnica ben nota nella letteratura che permette di partizionare ls LLC dei comuni processori server. Questa tecnica sfrutta il posizionamento dei dati nella memoria centrale per controllare la loro posizione nella LLC. L’evoluzione delle architetture CMP ha accresciuto il numero di livelli di cache e introdotto importanti modifiche, mentre il funzionamento del page coloring su tali gerarchie di cache non è stato studiato dettagliatamente. Questo lavoro si prefigge di investigare i possibili vantaggi, limitazioni e compromessi che derivano dall’utilizzo del page coloring su queste architetture. In particolare, i recenti CMPs di Intel, ossia quelli della famiglia Sandy Bridge, adottano un indirizzamento della LLC basato su hash. Questo schema di indirizzamento cambia come i dati vengono mappati nella LLC e, di conseguenza, l’efficacia del page coloring. Considerando tali cambiamenti, questo lavoro si prefigge di adattare il page coloring alle più recenti architetture Intel, che equipaggiano le piattaforme cloud. Secondo la nostra visione, le applicazioni cloud possono trarre beneficio dal page coloring, sfruttando l’isolamento delle applicazione nella LLC per soddisfare requisiti di QoS. Per dimostrare la nostra intuizione, abbiamo realizzato Rainbow , un’implementazione del page coloring per il kernel Linux che partiziona le moderne LLCs per insiemi di applicazioni definiti dall’utente. Abbiamo valutato Rainbow con un insieme di applicazioni di riferimento computazionalmente intensive per mostrare la sua efficacia, per discutere infine i risultati di questo lavoro, i limiti e possibilità di ricerca futura.

An efficient software cache hierarchies partitioning system for predictable performance

SCOLARI, ALBERTO
2013/2014

Abstract

The advent of Chip-MultiProcessor (CMP) architectures in computing platforms allows the co-location of applications, which run simultaneously on the same chip. These architectures are at the base of distributed computing platforms, and in particular of today’s cloud environments. These environments manage a diverse and hardly predictable workload, which causes computational resources to experience increasing phenomena of contention, as applications running on the different cores may interfere with each other in using several hardware resources. Therefore, isolation of applications becomes a key aspect to ensure performance and Quality of Service (QoS) in such environments. Among various components, the Last Level Cache (LLC) is one of the resources where contention is experienced most, and is fundamental to ensure applications’ performance. Although contention is a well known phenomenon in the research, even the most recent commodity CMPs do not provide effective mechanisms to alleviate it, and no widely accepted solution yet exists. Page coloring is a technique well known in the literature that allows partitioning the LLC of commodity processors. This technique exploits the position of data in main memory to control how they are mapped into the LLC. The evolution of CMP architectures has increased the number of cache levels and introduced important modifications, while how page coloring works on these cache hierarchies has not been studied in detail. This work aims to investigate the possible advantages, limitations and trade-offs that derive from the usage of page coloring on such architectures. In particular, recent CMPs by Intel, namely those of the Sandy Bridge family, adopt a hash-based LLC addressing scheme. This addressing scheme changes how data are mapped to the LLC and, consequently, the effectiveness of page coloring. Considering such changes, this work aims to adapt page coloring to the latest Intel’s architecture, which power cloud platforms. In our vision, cloud workloads can benefit from page coloring, leveraging isolation of applications in LLC to fulfill QoS requirements. To prove our vision, we realized Rainbow , an implementation of page coloring in the Linux kernel that partitions modern LLCs for user-defined sets of applications. We evaluated Rainbow with a set of computational-intensive benchmarks to show its effectiveness, and finally discussed the achievements of this work, its limitations and possible future research.
BARTOLINI, DAVIDE BASILIO
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2015
2013/2014
L’avvento delle architetture Chip-MultiProcessor (CMP) nelle piattaforme di computazione permette la co-locazione di appli- cazioni, che eseguono contemporaneamente sullo stesso chip. Queste architetture sono alla base delle piattaforme di calcolo distribuito, in particolare dei recenti ambienti di cloud-computing. Questi ambienti gestiscono un insieme di applicazioni variegato e difficilmente predicibile, che causa crescenti fenomeni di contesa sulle risorse condivise, dal momento che le applicazioni che eseguono su cores differenti possono interferire fra di loro nell’utilizzo di diverse risorse hardware. Perciò, l’isolamento delle applicazioni diventa un aspetto fondamentale per assicurare le prestazioni e la qualità del servizio, o Quality of Service (QoS), in tali ambienti. Fra vari componenti, la cache di ultimo livello, o Last Level Cache (LLC), è una delle risorse più contese, ed è fondamentale per assicurarne le prestazioni delle applicazioni. Nonostante tale fenomeno sia ben noto nella ricerca, anche i più recenti CMP comunemente reperibili sul mercato server non offrono meccanismi efficaci per alleviarla, e nessuna soluzione con largo consenso esiste ancora. Page coloring è una tecnica ben nota nella letteratura che permette di partizionare ls LLC dei comuni processori server. Questa tecnica sfrutta il posizionamento dei dati nella memoria centrale per controllare la loro posizione nella LLC. L’evoluzione delle architetture CMP ha accresciuto il numero di livelli di cache e introdotto importanti modifiche, mentre il funzionamento del page coloring su tali gerarchie di cache non è stato studiato dettagliatamente. Questo lavoro si prefigge di investigare i possibili vantaggi, limitazioni e compromessi che derivano dall’utilizzo del page coloring su queste architetture. In particolare, i recenti CMPs di Intel, ossia quelli della famiglia Sandy Bridge, adottano un indirizzamento della LLC basato su hash. Questo schema di indirizzamento cambia come i dati vengono mappati nella LLC e, di conseguenza, l’efficacia del page coloring. Considerando tali cambiamenti, questo lavoro si prefigge di adattare il page coloring alle più recenti architetture Intel, che equipaggiano le piattaforme cloud. Secondo la nostra visione, le applicazioni cloud possono trarre beneficio dal page coloring, sfruttando l’isolamento delle applicazione nella LLC per soddisfare requisiti di QoS. Per dimostrare la nostra intuizione, abbiamo realizzato Rainbow , un’implementazione del page coloring per il kernel Linux che partiziona le moderne LLCs per insiemi di applicazioni definiti dall’utente. Abbiamo valutato Rainbow con un insieme di applicazioni di riferimento computazionalmente intensive per mostrare la sua efficacia, per discutere infine i risultati di questo lavoro, i limiti e possibilità di ricerca futura.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
AlbertoScolari_thesis.pdf

accessibile in internet per tutti

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