In the era of Cloud Computing, applications and computational power are provided in an as a Service (aaS) fashion, reducing the need of buying, build- ing and maintaining proprietary systems. In the last few years, many services moved from being proprietary and built in loco, to the as a Service paradigm. This was possible thanks to virtualization techniques, which allowed multiple applications to easily run on the same machine. However, the burden of costs optimization is left to the Cloud Provider, that still faces the problem of consolidating multiple workloads on the same infrastructure. As power consumption remains one of the most impacting costs of any digital system, several approaches have been explored in literature to cope with power caps, trying to maximize the performance of the hosted applications. These approaches were usually classified in two macro families, the software and hardware techniques. The former family is typically adopted when the goal consists in minimizing the power consumption, while providing the best possible performance for the running workloads. These approaches are characterized by obtaining high efficiency, but lacks in timeliness. Instead, the latter family is exploited when there are strict constraints regarding the power budget and the main goal consists in respecting them, while trying to maximize the performance of the running applications. In this case, the main characteristic consists in respecting the concept of timeliness, totally neglecting the concept of efficiency. In this thesis, we present results and opportunities obtained towards a performance-aware power capping orchestrator for the Xen hypervisor, that exploit a novel emerging family introduced in the literature: the hybrid approach. This fresh set of techniques aims to adopt synergically and concurrently both hardware and software approaches in order to achieve at the same time the concept of efficiency and timeliness, mask- ing the weak spots of the two common approaches when adopted alone. The proposed solution, called XeMPUPiL, uses the Intel RAPL hardware interface to set a strict limit on the processor’s power consumption, while a software-level ODA control loop performs an exploration of the available resource allocations to find the most power efficient one for the running workload. We show how the XeMPUPiL methodology is able to allow the definition of two different policies: achieving higher performance under different power caps and minimizing power consumption while respecting a given SLA for almost all the different classes of benchmarks analyzed (e.g., CPU-, memory- and IO-bound).

Al giorno d’oggi stiamo assistendo all’affermazione di un nuovo paradigma computazionale: il cloud computing. In questa nuova era, detta epoca dell’aaS, le applicazione e i servizi non vengono più eseguiti su macchine di proprietà, ma bensì su macchine (spesso virtuali) di fornite da terzi: i così detti cloud provider. Dal punto di vista degli utenti questo permette loro di accedere a queste risorse computazionali in maniera elastica e scalabile, permettendo di dimensionare facilmente le loro necessità computazionali a seconda delle variazioni del mercato o anche solo all’interno della giornata lavorativa, riducendo in questa maniera i costi e i danni economici in caso di errore nella stima delle risorse ri- chieste. D’altra parte questo "nuovo mondo" ha spostato tutti quelli che erano i costi di gestione delle macchine fisiche sulle spalle dei cloud provider. Inoltre l’attrattiva che questo nuovo paradigma porta con se, ha spinto sempre più clienti ad adottare approcci basati sul cloud computing. L’incremento di utenti affacciatesi a questo paradigma ha portato al sorgere di due sfide per i gestori del cloud, in particolare due sfide riguardanti la gestione dei datacenter. In modo da rispondere alla crescente domanda i gestori di datacenter devono aumentare la loro potenza computazionale e per farlo sono costretti ad aumentare il numero di server presenti nelle loro strutture rischiando quindi di saturare e sforare lo spazio fisico della struttura oppure di non rispettare i contratti con i fornitori energetici, incappando in penali o blackout. Per risolvere questi problemi diverse tecniche di ottimizzazioni delle risorse all’interno di un datacenter e di gestione dei carichi di lavoro sono stati promossi. Su tutti spiccano le tecniche di virtualizzazione, ormai diventate una prassi adottata da tutti i cloud provider. In questo modo è possibile sfruttare una macchina fisica da più utenti, aumentandone così l’efficienza. In questo scenario, il consumo di potenza rimane uno dei costi principali di ogni sistema digitale. Diversi approcci hanno provato, in letteratura, ad affrontare il problema dei consumi e limiti di potenza, provando a massimizzare le prestazioni delle applicazioni ospitate. Questi approcci sono comunemente classificati in due macro famiglie, quella software e quella hardware. La prima è tipicamente adottata quando l’obiettivo consiste in minimizzare il consumo di potenza e allo stesso tempo fornendo le performance migliori per i carichi di lavoro del sistema. Questa famiglia è caratterizzata dall’ottenimento di alta efficienza, ma dalla mancanza di tempestività. Al contrario, la seconda famiglia è usata quando ci sono vincoli stringenti riguardanti il budget di potenza e l’obiettivo principale consiste nel rispettarlo e contemporaneamente provare a massimizzare le performance delle applicazioni in esecuzione. In questo caso, la caratteristica principale consiste nel rispettare il concetto di tempestività, trascurando completamente il concetto di efficienza. In questa tesi presentiamo una metodologia così detta ibrida, che cerca di sfruttare contemporaneamente sia un approccio software (un ciclo di controllo ODA) e un approccio hardware (Intel RAPL) in modo da nascondere i punti deboli dei due approcci quando presi singolarmente, ottenendo in questo modo sia efficienza the tempestività. Lo sviluppo di questa metodologia sfocia nel design di un orchestratore performance-aware e in grado di effettuare power capping sviluppato per l’hypervisor Xen, come prova di concetto. La soluzione proposta, chiamata XeMPUPiL, sfrutta la tecnologia RAPL di Intel tramite le sue interfacce hardware per definire un limite stringente sui consumi di potenza del processore, mentre a livello software un ciclo di controllo basato su strategia ODA si occupa di un’esplorazione delle possibili configurazioni riguardanti l’allocazione delle risorse ai vari carichi di lavoro, in modo da trovare quella corrispondente alla più power efficient. Per sfruttare al tecnologia RAPL siamo andati a sviluppare un tool stack che lavora a tutti e 3 i livelli della canonica pila di un ambienta virtualizzato, cioè: livello hardware, livello hypervisor e livello Virtual Machines (VMs). Per far questo abbiamo usato una serie di meccanismi propri delle tecnologie di virtualizzazione in modo da ottenere privilegi sull’hardware, le così dette hypecall (simili per comportamento alle syscall in un Operating System (OS) comune). Questo tools stack è poi stato sfruttato nella fase di Attuazione del ciclo di controllo ODA in modo da definire e far rispettare il power cap. Sempre in questo stadio andiamo inoltre ad attuare la configurazione delle risorse decisa per questa iterazione del ciclo di controllo, ripartendo le risorse virtuali delle VMs su quelle fisiche. Nella fase di Osservazione invece siamo andati a sviluppare un sistema di monitoring agnostico che valuta come stanno performando le VM eseguite nel sistema tramite metriche hardware quali il numero di IR, recuperate dai Model Specific Registers (MSRs). Infine, nella fase Decisionale andiamo ad esplorare, tramite ricerca binaria in intervallo chiuso, la prossima configurazione delle risorse da esplorare in modo da massimizzare le risorse. In questa tesi mostreremo XeMPUPiL è in grado di raggiungere performance migliori sotto differenti power cap per diverse tipologie di carico analizzate (e.g., CPU-, memory- and IO-bound). Inoltre mostriamo anche come è possibile sfruttare la stessa metodologia per ribaltare il problema e quindi dato un SLA da rispettare cercare di minimizzare i consumi di potenza del sistema.

XeMPUPiL. Towards a performance aware power capping orchestrator for the Xen hypervisor

ARNABOLDI, MARCO
2016/2017

Abstract

In the era of Cloud Computing, applications and computational power are provided in an as a Service (aaS) fashion, reducing the need of buying, build- ing and maintaining proprietary systems. In the last few years, many services moved from being proprietary and built in loco, to the as a Service paradigm. This was possible thanks to virtualization techniques, which allowed multiple applications to easily run on the same machine. However, the burden of costs optimization is left to the Cloud Provider, that still faces the problem of consolidating multiple workloads on the same infrastructure. As power consumption remains one of the most impacting costs of any digital system, several approaches have been explored in literature to cope with power caps, trying to maximize the performance of the hosted applications. These approaches were usually classified in two macro families, the software and hardware techniques. The former family is typically adopted when the goal consists in minimizing the power consumption, while providing the best possible performance for the running workloads. These approaches are characterized by obtaining high efficiency, but lacks in timeliness. Instead, the latter family is exploited when there are strict constraints regarding the power budget and the main goal consists in respecting them, while trying to maximize the performance of the running applications. In this case, the main characteristic consists in respecting the concept of timeliness, totally neglecting the concept of efficiency. In this thesis, we present results and opportunities obtained towards a performance-aware power capping orchestrator for the Xen hypervisor, that exploit a novel emerging family introduced in the literature: the hybrid approach. This fresh set of techniques aims to adopt synergically and concurrently both hardware and software approaches in order to achieve at the same time the concept of efficiency and timeliness, mask- ing the weak spots of the two common approaches when adopted alone. The proposed solution, called XeMPUPiL, uses the Intel RAPL hardware interface to set a strict limit on the processor’s power consumption, while a software-level ODA control loop performs an exploration of the available resource allocations to find the most power efficient one for the running workload. We show how the XeMPUPiL methodology is able to allow the definition of two different policies: achieving higher performance under different power caps and minimizing power consumption while respecting a given SLA for almost all the different classes of benchmarks analyzed (e.g., CPU-, memory- and IO-bound).
BRONDOLIN, ROLANDO
ING - Scuola di Ingegneria Industriale e dell'Informazione
3-ott-2017
2016/2017
Al giorno d’oggi stiamo assistendo all’affermazione di un nuovo paradigma computazionale: il cloud computing. In questa nuova era, detta epoca dell’aaS, le applicazione e i servizi non vengono più eseguiti su macchine di proprietà, ma bensì su macchine (spesso virtuali) di fornite da terzi: i così detti cloud provider. Dal punto di vista degli utenti questo permette loro di accedere a queste risorse computazionali in maniera elastica e scalabile, permettendo di dimensionare facilmente le loro necessità computazionali a seconda delle variazioni del mercato o anche solo all’interno della giornata lavorativa, riducendo in questa maniera i costi e i danni economici in caso di errore nella stima delle risorse ri- chieste. D’altra parte questo "nuovo mondo" ha spostato tutti quelli che erano i costi di gestione delle macchine fisiche sulle spalle dei cloud provider. Inoltre l’attrattiva che questo nuovo paradigma porta con se, ha spinto sempre più clienti ad adottare approcci basati sul cloud computing. L’incremento di utenti affacciatesi a questo paradigma ha portato al sorgere di due sfide per i gestori del cloud, in particolare due sfide riguardanti la gestione dei datacenter. In modo da rispondere alla crescente domanda i gestori di datacenter devono aumentare la loro potenza computazionale e per farlo sono costretti ad aumentare il numero di server presenti nelle loro strutture rischiando quindi di saturare e sforare lo spazio fisico della struttura oppure di non rispettare i contratti con i fornitori energetici, incappando in penali o blackout. Per risolvere questi problemi diverse tecniche di ottimizzazioni delle risorse all’interno di un datacenter e di gestione dei carichi di lavoro sono stati promossi. Su tutti spiccano le tecniche di virtualizzazione, ormai diventate una prassi adottata da tutti i cloud provider. In questo modo è possibile sfruttare una macchina fisica da più utenti, aumentandone così l’efficienza. In questo scenario, il consumo di potenza rimane uno dei costi principali di ogni sistema digitale. Diversi approcci hanno provato, in letteratura, ad affrontare il problema dei consumi e limiti di potenza, provando a massimizzare le prestazioni delle applicazioni ospitate. Questi approcci sono comunemente classificati in due macro famiglie, quella software e quella hardware. La prima è tipicamente adottata quando l’obiettivo consiste in minimizzare il consumo di potenza e allo stesso tempo fornendo le performance migliori per i carichi di lavoro del sistema. Questa famiglia è caratterizzata dall’ottenimento di alta efficienza, ma dalla mancanza di tempestività. Al contrario, la seconda famiglia è usata quando ci sono vincoli stringenti riguardanti il budget di potenza e l’obiettivo principale consiste nel rispettarlo e contemporaneamente provare a massimizzare le performance delle applicazioni in esecuzione. In questo caso, la caratteristica principale consiste nel rispettare il concetto di tempestività, trascurando completamente il concetto di efficienza. In questa tesi presentiamo una metodologia così detta ibrida, che cerca di sfruttare contemporaneamente sia un approccio software (un ciclo di controllo ODA) e un approccio hardware (Intel RAPL) in modo da nascondere i punti deboli dei due approcci quando presi singolarmente, ottenendo in questo modo sia efficienza the tempestività. Lo sviluppo di questa metodologia sfocia nel design di un orchestratore performance-aware e in grado di effettuare power capping sviluppato per l’hypervisor Xen, come prova di concetto. La soluzione proposta, chiamata XeMPUPiL, sfrutta la tecnologia RAPL di Intel tramite le sue interfacce hardware per definire un limite stringente sui consumi di potenza del processore, mentre a livello software un ciclo di controllo basato su strategia ODA si occupa di un’esplorazione delle possibili configurazioni riguardanti l’allocazione delle risorse ai vari carichi di lavoro, in modo da trovare quella corrispondente alla più power efficient. Per sfruttare al tecnologia RAPL siamo andati a sviluppare un tool stack che lavora a tutti e 3 i livelli della canonica pila di un ambienta virtualizzato, cioè: livello hardware, livello hypervisor e livello Virtual Machines (VMs). Per far questo abbiamo usato una serie di meccanismi propri delle tecnologie di virtualizzazione in modo da ottenere privilegi sull’hardware, le così dette hypecall (simili per comportamento alle syscall in un Operating System (OS) comune). Questo tools stack è poi stato sfruttato nella fase di Attuazione del ciclo di controllo ODA in modo da definire e far rispettare il power cap. Sempre in questo stadio andiamo inoltre ad attuare la configurazione delle risorse decisa per questa iterazione del ciclo di controllo, ripartendo le risorse virtuali delle VMs su quelle fisiche. Nella fase di Osservazione invece siamo andati a sviluppare un sistema di monitoring agnostico che valuta come stanno performando le VM eseguite nel sistema tramite metriche hardware quali il numero di IR, recuperate dai Model Specific Registers (MSRs). Infine, nella fase Decisionale andiamo ad esplorare, tramite ricerca binaria in intervallo chiuso, la prossima configurazione delle risorse da esplorare in modo da massimizzare le risorse. In questa tesi mostreremo XeMPUPiL è in grado di raggiungere performance migliori sotto differenti power cap per diverse tipologie di carico analizzate (e.g., CPU-, memory- and IO-bound). Inoltre mostriamo anche come è possibile sfruttare la stessa metodologia per ribaltare il problema e quindi dato un SLA da rispettare cercare di minimizzare i consumi di potenza del sistema.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2017_10_Arnaboldi.pdf

Open Access dal 15/09/2018

Descrizione: PDF della Tesi
Dimensione 1.71 MB
Formato Adobe PDF
1.71 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/136067