Cloud computing is now the de-facto standard for the deployment of complex and scalable applications and systems at scale. In the last few years, cloud computing applications shifted from the monolithic architecture to a more flexible microservice-based architecture with the so-called cloud-native ecosystem. This shift allowed to separate concerns among different development teams, increased the scalability of the cloud applications and allowed to develop, test, and deploy each functionality almost independently from the rest of the system. Cloud-native applications fostered even more the growth of cloud computing and, for this reason, cloud providers have to manage an unprecedented amount of applications for a huge amount of users. This trend poses new challenges in the management of data-centers. In particular, the expected energy usage of data-centers will reach 8% of the whole energy consumption of the world by 2030. Moreover, power consumption represents 20% of the Total Cost of Ownership (TCO) of a data-center. If we consider that the CPU is currently the most power-hungry component of a server, there is the need to optimize how cloud applications are executed within cloud infrastructures to keep the cloud-computing growth sustainable. Within this context, the goal of this thesis work is the design and development of power management techniques able to sustain the performances requested by cloud-native applications and workloads while reducing as much as possible the power consumption such applications generate. Given the complexity that microservice-based applications bring, we decided to design a fully automated system to manage power consumption and performance leveraging the Observe Decide Act (ODA) autonomic control loop. This allowed us to focus on how to measure and monitor in a fine grain way performance and power consumption, on how to allocate power and performance, and on how to actuate the control decisions defined by the ODA loop. Within this thesis, we designed a fully black-box approach to attribute power consumption, measure resource usage, and monitor network performance. Such black-box approach imposes less overhead on the monitored applications than the state of the art in the field and provides less than 5% relative error for most of the collected metrics. We leveraged these metrics to define reactive control policies able to maintain CPU usage and latency near a user-specified target. Then, we enforced in a timely and precise way the power budgets derived by the performance constraints. The CPU usage ODA loop allows reducing by 25% on average the power consumption with a 5% Service Level Agreement (SLA) violation on average. The latency-aware ODA loop allows reducing by 37.13% on average the power consumption with a control error of 12.5% and of 1.5ms on average.

Il cloud computing rappresenta lo standard di fatto per il deployment di applicazioni e sistemi complessi e scalabili di grand dimensioni. Negli ultimi anni le applicazioni cloud sono passate dall’architettura a monolite a un’architettura più flessibile basata su microservizi, dando vita al cosiddetto ecosistema cloud-native. Questa evoluzione ha permesso di separare le responsibilità dei diversi team di sviluppo, ha aumentato la scalabilità delle applicazioni cloud e ha permesso di sviluppare, testare e fare deploy di ogni funzionalità in maniera quasi indipendente dal resto del sistema. Questa evoluzione ha favorito ancora di più la crescita del cloud computing e, per questo motivo, i cloud provider si trovano oggi a gestire una quantità sempre maggiore di applicazioni per un numero enorme di utenti. Questa tendenza pone nuove sfide nella gestione dei data-center. In particolare, il consumo di energia previsto per i data-center raggiungerà l’8% dell’intero consumo energetico mondiale entro il 2030. Inoltre, il consumo di energia rappresenta ad oggi il 20% del costo totale di proprietà di un data-center. Se consideriamo che la CPU è attualmente il componente che consuma più energia in un server, è necessario ottimizzare il modo in cui le applicazioni vengono eseguite all’interno di queste infrastrutture per mantenere sostenibile la crescita del cloud computing nel tempo. In questo contesto, l’obiettivo di questo lavoro di tesi è la progettazione e lo sviluppo di tecniche di gestione dei consumi in grado di sostenere le prestazioni richieste dalle applicazioni e dai carichi di lavoro cloud-native riducendo il più possibile il consumo di potenza generato da tali applicazioni. Data la complessità introdotta dalle applicazioni a microservizi, abbiamo deciso di progettare un sistema completamente automatizzato per gestire il consumo di energia e le prestazioni sfruttando il concetto di Observe Decide Act (ODA) loop. Questo ci ha permesso di concentrarci su come misurare e monitorare a grana fine le prestazioni e il consumo di potenza, su come allocare potenza e prestazioni, e su come attuare le decisioni definite dal sistema ODA. In questa tesi abbiamo progettato un approccio completamente black-box per attribuire il consumo di potenza a ciascun elemento del sistema, misurare l’utilizzo delle risorse e monitorare le prestazioni della rete. L’approccio di monitoraggio proposto impone meno overhead alle applicazioni rispetto allo stato dell’arte nel campo e garantisce meno del 5% di errore relativo per la maggior parte delle metriche raccolte. Abbiamo poi sfruttato queste metriche per definire politiche di controllo reattivo in grado di mantenere l’utilizzo della CPU e la latenza vicino a un target specificato dall’utente. Quindi, abbiamo applicato in modo tempestivo e preciso i budget di potenza derivati dai vincoli di performance. L’ ODA loop basato sull’utilizzo della CPU consente di ridurre in media del 25% il consumo di potenza con una violazione media del 5% dei Service Level Agreements (SLAs). L’ODA loop basato sulla latenza consente invece di ridurre in media del 37,13% il consumo di potenza con un errore di controllo del 12,5% e di 1,5ms in media.

On the management of power and performance trade-offs in distributed cloud-native infrastructures

Brondolin, Rolando
2019/2020

Abstract

Cloud computing is now the de-facto standard for the deployment of complex and scalable applications and systems at scale. In the last few years, cloud computing applications shifted from the monolithic architecture to a more flexible microservice-based architecture with the so-called cloud-native ecosystem. This shift allowed to separate concerns among different development teams, increased the scalability of the cloud applications and allowed to develop, test, and deploy each functionality almost independently from the rest of the system. Cloud-native applications fostered even more the growth of cloud computing and, for this reason, cloud providers have to manage an unprecedented amount of applications for a huge amount of users. This trend poses new challenges in the management of data-centers. In particular, the expected energy usage of data-centers will reach 8% of the whole energy consumption of the world by 2030. Moreover, power consumption represents 20% of the Total Cost of Ownership (TCO) of a data-center. If we consider that the CPU is currently the most power-hungry component of a server, there is the need to optimize how cloud applications are executed within cloud infrastructures to keep the cloud-computing growth sustainable. Within this context, the goal of this thesis work is the design and development of power management techniques able to sustain the performances requested by cloud-native applications and workloads while reducing as much as possible the power consumption such applications generate. Given the complexity that microservice-based applications bring, we decided to design a fully automated system to manage power consumption and performance leveraging the Observe Decide Act (ODA) autonomic control loop. This allowed us to focus on how to measure and monitor in a fine grain way performance and power consumption, on how to allocate power and performance, and on how to actuate the control decisions defined by the ODA loop. Within this thesis, we designed a fully black-box approach to attribute power consumption, measure resource usage, and monitor network performance. Such black-box approach imposes less overhead on the monitored applications than the state of the art in the field and provides less than 5% relative error for most of the collected metrics. We leveraged these metrics to define reactive control policies able to maintain CPU usage and latency near a user-specified target. Then, we enforced in a timely and precise way the power budgets derived by the performance constraints. The CPU usage ODA loop allows reducing by 25% on average the power consumption with a 5% Service Level Agreement (SLA) violation on average. The latency-aware ODA loop allows reducing by 37.13% on average the power consumption with a control error of 12.5% and of 1.5ms on average.
PERNICI, BARBARA
DANIEL, FLORIAN
28-ott-2020
Il cloud computing rappresenta lo standard di fatto per il deployment di applicazioni e sistemi complessi e scalabili di grand dimensioni. Negli ultimi anni le applicazioni cloud sono passate dall’architettura a monolite a un’architettura più flessibile basata su microservizi, dando vita al cosiddetto ecosistema cloud-native. Questa evoluzione ha permesso di separare le responsibilità dei diversi team di sviluppo, ha aumentato la scalabilità delle applicazioni cloud e ha permesso di sviluppare, testare e fare deploy di ogni funzionalità in maniera quasi indipendente dal resto del sistema. Questa evoluzione ha favorito ancora di più la crescita del cloud computing e, per questo motivo, i cloud provider si trovano oggi a gestire una quantità sempre maggiore di applicazioni per un numero enorme di utenti. Questa tendenza pone nuove sfide nella gestione dei data-center. In particolare, il consumo di energia previsto per i data-center raggiungerà l’8% dell’intero consumo energetico mondiale entro il 2030. Inoltre, il consumo di energia rappresenta ad oggi il 20% del costo totale di proprietà di un data-center. Se consideriamo che la CPU è attualmente il componente che consuma più energia in un server, è necessario ottimizzare il modo in cui le applicazioni vengono eseguite all’interno di queste infrastrutture per mantenere sostenibile la crescita del cloud computing nel tempo. In questo contesto, l’obiettivo di questo lavoro di tesi è la progettazione e lo sviluppo di tecniche di gestione dei consumi in grado di sostenere le prestazioni richieste dalle applicazioni e dai carichi di lavoro cloud-native riducendo il più possibile il consumo di potenza generato da tali applicazioni. Data la complessità introdotta dalle applicazioni a microservizi, abbiamo deciso di progettare un sistema completamente automatizzato per gestire il consumo di energia e le prestazioni sfruttando il concetto di Observe Decide Act (ODA) loop. Questo ci ha permesso di concentrarci su come misurare e monitorare a grana fine le prestazioni e il consumo di potenza, su come allocare potenza e prestazioni, e su come attuare le decisioni definite dal sistema ODA. In questa tesi abbiamo progettato un approccio completamente black-box per attribuire il consumo di potenza a ciascun elemento del sistema, misurare l’utilizzo delle risorse e monitorare le prestazioni della rete. L’approccio di monitoraggio proposto impone meno overhead alle applicazioni rispetto allo stato dell’arte nel campo e garantisce meno del 5% di errore relativo per la maggior parte delle metriche raccolte. Abbiamo poi sfruttato queste metriche per definire politiche di controllo reattivo in grado di mantenere l’utilizzo della CPU e la latenza vicino a un target specificato dall’utente. Quindi, abbiamo applicato in modo tempestivo e preciso i budget di potenza derivati dai vincoli di performance. L’ ODA loop basato sull’utilizzo della CPU consente di ridurre in media del 25% il consumo di potenza con una violazione media del 5% dei Service Level Agreements (SLAs). L’ODA loop basato sulla latenza consente invece di ridurre in media del 37,13% il consumo di potenza con un errore di controllo del 12,5% e di 1,5ms in media.
File allegati
File Dimensione Formato  
phd_thesis_brondolin_web_published.pdf

accessibile in internet per tutti

Descrizione: Tesi di dottorato
Dimensione 2.01 MB
Formato Adobe PDF
2.01 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/169428