Recently resource management has gained a key role across various scenarios, from crisis response to natural disaster mitigation, from everyday life tasks to macro economics. Evaluating resource consumption appears to be complex, mainly due to the scarce observability of the phenomenon itself. Moreover, given the wide range of application fields, we have observed the birth of many ad-hoc approaches, but it is still difficult to find a general framework to face this problem. It is important to build a methodology that is generic enough to provide all the tools necessary for in-depth complete analyses, without developing another machine learning library; conversely, this methodology should guide the user throughout the modelling process. In this context we propose MARC, an as-a-Service scalable framework and platform for resource consumption modelling, with the aim to provide a tool chain that allows to model resources consumption, obtaining precise information exploitable for resource management and optimization. In our methodology, three different aspects of resource consumption are modelled using a solid set of mathematical techniques: an ARX model for the process handling the resource, a Discrete Markov Model for the evolution of the resource’s user behaviour and Time Series Analysis for modelling the influence of the environment in which the resource is consumed. All these information are then combined into a unified framework able to handle various resource consumption trends. Our approach has been evaluated in two different case studies. Firstly, we have replicated the study from which this work is born: energy consumption evaluation in mobile devices; secondly, our methodology has been tested on a totally different and open problem: the evaluation and attribution of power requirements and energy consumption of different virtual tenants, running over the Xen Hypervisor. The study, implementation and validation of our framework has been developed within the NECSTLab at Politecnico di Milano, while the virtualization case study has been analysed in collaboration with the SWARM Laboratory at the University of California Berkeley.

Negli ultimi anni il problema della gestione delle risorse ha assunto un’importanza sempre maggiore, diffondendosi in svariati ambiti non strettamente legati alla scarsità di risorse. Infatti, una gestione intelligente non è più necessaria solo in casi in cui la disponibilità di una risorsa sia limitata, come ad esempio in situazioni di emergenza o calamità naturali, ma è anche un aspetto molto importante che guida decisioni sia sul breve sia sul lungo periodo. L’attuale crescita smisurata nei consumi ha portato all’urgenza della definizione di politiche di risparmio e di uso intelligente delle risorse a nostra disposizione. Questo problema non è di facile soluzione: prima di tutto, colui che amministra la risorsa potrebbe non avere una visione completa dei modi e dei tempi in cui questa è utilizzata, e tanto meno può essere in grado di intuire come verrà utilizzata in futuro, senza il supporto di tecniche adeguate; inoltre, situazioni che evolvono repentinamente richiedono che vi sia una conoscenza su come una risorsa impatta sul processo che la trasforma che sia approfondita e il più completa possibile, ma che soprattutto sia già disponibile in momenti cruciali, in modo da poter prendere decisioni istantanee e corrette, avendo appreso dai comportamenti passati. Data la grande varietà di casi applicativi in cui questa informazione è importante, sono nate numerose metodologie che tuttavia affrontano il problema limitandosi esclusivamente al campo applicativo in questione; al meglio della nostra conoscenza, non è ancora stato fatto uno sforzo che porti a trattare il consumo di risorse come un fenomeno ben definito e a se stante. È importante quindi costruire una metodologia sufficientemente generica che sia in grado di fornire tutti gli strumenti necessari per le analisi sopra indicate, ma che tuttavia non si presenti come l’ennesima libreria di machine learning, delineando un approccio che possa guidare l’utente all’interno del processo di modellizzazione. In questo contesto proponiamo MARC, una piattaforma scalabile organizzata come un servizio, con lo scopo di fornire una serie di strumenti che un utente possa impiegare per modellizzare il consumo di una risorsa, e quindi avere informazioni precise che possano essere utilizzate per intraprendere un percorso di ottimizzazione e riduzione dei consumi. Tre pilastri hanno guidato la definizione della metodologia proposta in questo lavoro di tesi: generalità, estendibilità e precisione. Il nostro approccio si propone di risolvere il problema di modellizzazione senza dipendere, nella sua struttura, da una conoscenza pregressa dello specifico ambito applicativo, ma partendo da un accostamento ed una combinazione di una serie di strumenti matematici di assodata valenza che diano all’utente uno strumento che, opportunatamente configurato, si adatti sul caso specifico. Marcando i concetti di generalità ed estendibilità, abbiamo lavorato affinché l’infrastruttura fosse organizzata per integrare eventuali operazione aggiuntive, in modo da impedire che la metodologia, con il passare del tempo, possa perdere di applicabilità. Per quanto concerne la precisione, ogni singola fase del nostro approccio fornisce all’utente non solo i risultati computati, ma anche una serie di figure di merito specifiche ed approfondite che possano qualificare la bontà dei risultati ottenuti. Inoltre, la piattaforma fornisce informazioni dettagliate riguardanti la durata delle varie fasi di computazione, in modo da permettere all’utente di scegliere il giusto compromesso tra precisione dei risultati e tempistiche per formularli. La metodologia si suddivide in tre fasi principali: inizialmente i dati vengono puliti e preparati per poter essere utilizzati nella fase di stima del modello. La seconda fase costituisce il cuore di tutta la metodologia e si propone di modellizzare il consumo di una risorsa seguendo un approccio divide et impera: per prima cosa, tramite un modello di autoregressione lineare, viene stimato un modello del processo che converte effettivamente la risorsa in un prodotto finale, individuando, in questo modo, le diverse configurazioni di utilizzo della risorsa; successivamente, mediate la generazione di un modello discreto di Markov, viene catturata l’interazione tra risorsa e il suo utilizzatore – sia esso un utente umano oppure un altro sistema – in modo da comprendere come le diverse configurazioni si evolvono nel tempo. Infine, le influenze esterne al sistema che possono modificare il funzionamento della risorsa vengono modellizzate mediante uno studio delle serie temporali e rappresentate grazie a generatori di segnali che ne potranno simulare il comportamento. Nell’ultima fase, i modelli prodotti vengono combinati in modo da poter ottenere diverse curve caratteristiche di consumo della risorsa. Al fine di rendere fruibile questa metodologia abbiamo successivamente sviluppato un’infrastruttura che fosse facilmente parallelizzabile, distribuita e strutturata per essere interrogata come un servizio. Modularità e distribuzione rendono l’infrastruttura scalabile, sia in termini prestazionali che ricollegandosi al concetto di estendibilità che caratterizza la nostra metodologia. In futuro, sarà quindi possibile integrare nuove operazioni specifiche e modificare il flusso di computazione. Altro aspetto molto importante su cui ci siamo concentrati durante la stesura del codice è stata la scelta di uno stile di programmazione che permettesse di ottenere un parallelismo spinto ed una gestione intelligente delle risorse computazionali a disposizione dell’infrastruttura. Da qui la scelta di un approccio completamente funzionale per quel che riguarda la componente di logica, adottando poi il modello ad attori per quanto concerne la gestione della sincronizzazione delle diverse parti parallele e la loro distribuibilità. Il giusto grado di parallelizzazione è stato analizzato, implementando funzioni di autoscaling in grado di comprende l’allocazione ottima delle risorse per ottenere il parallelismo desiderato senza incorrere nelle implicazioni negative che ne derivano da un uso smisurato. La validazione del nostro approccio si è sviluppata in tre diverse fasi: inizialmente abbiamo validato la correttezza e la robustezza del nostro approccio mediante l’analisi di simulazioni su dati generati sinteticamente, che ripropongono molteplici combinazioni delle differenti caratteristiche di ogni componente di un generico fenomeno di consumo. Successivamente abbiamo validato la generalità della metodologia. A tal proposito, sono stati analizzati due diversi casi di studio, legati all’Information and Communication Technology (ICT): modellizzazione del consumo energetico della batteria nell’ambito dei dispositivi mobili, e valutazione del consumo di potenza di macchine virtuali all’interno di un sistema cloud virtualizzato tramite lo Xen Hypervisor. I risultati ottenuti ci permettono di affermare che il nostro approccio sia effettivamente generale ed efficiente nel modellizzare i comportamenti di consumo di risorse, essendo stato in grado sia di riprodurre lo studio riportato nel progetto MPower con minori tempi di computazione, sia di ottenere, per quanto riguarda il caso di studio della virtualizzazione, risultati comparabili o migliori a quelli attualmente pubblicati nello stato dell’arte, con un errore inferiore al 5% rispetto alla dinamica di potenza della macchina. Considerando il caso di studio sulla virtualizzazione, i nostri risultati costituiscono un ottimo punto di partenza verso la definizione di politiche di scheduling intelligenti all’interno di un’infrastruttura cloud che siano in grado di individuare quali task siano in grado di coesistere all’interno della stessa macchina senza interferire.

A scalable framework for resource consumption modelling : the MARC approach

DAMIANI, ANDREA;CORNA, ANDREA
2014/2015

Abstract

Recently resource management has gained a key role across various scenarios, from crisis response to natural disaster mitigation, from everyday life tasks to macro economics. Evaluating resource consumption appears to be complex, mainly due to the scarce observability of the phenomenon itself. Moreover, given the wide range of application fields, we have observed the birth of many ad-hoc approaches, but it is still difficult to find a general framework to face this problem. It is important to build a methodology that is generic enough to provide all the tools necessary for in-depth complete analyses, without developing another machine learning library; conversely, this methodology should guide the user throughout the modelling process. In this context we propose MARC, an as-a-Service scalable framework and platform for resource consumption modelling, with the aim to provide a tool chain that allows to model resources consumption, obtaining precise information exploitable for resource management and optimization. In our methodology, three different aspects of resource consumption are modelled using a solid set of mathematical techniques: an ARX model for the process handling the resource, a Discrete Markov Model for the evolution of the resource’s user behaviour and Time Series Analysis for modelling the influence of the environment in which the resource is consumed. All these information are then combined into a unified framework able to handle various resource consumption trends. Our approach has been evaluated in two different case studies. Firstly, we have replicated the study from which this work is born: energy consumption evaluation in mobile devices; secondly, our methodology has been tested on a totally different and open problem: the evaluation and attribution of power requirements and energy consumption of different virtual tenants, running over the Xen Hypervisor. The study, implementation and validation of our framework has been developed within the NECSTLab at Politecnico di Milano, while the virtualization case study has been analysed in collaboration with the SWARM Laboratory at the University of California Berkeley.
FERRONI, MATTEO
TROVO', FRANCESCO
ING - Scuola di Ingegneria Industriale e dell'Informazione
27-apr-2016
2014/2015
Negli ultimi anni il problema della gestione delle risorse ha assunto un’importanza sempre maggiore, diffondendosi in svariati ambiti non strettamente legati alla scarsità di risorse. Infatti, una gestione intelligente non è più necessaria solo in casi in cui la disponibilità di una risorsa sia limitata, come ad esempio in situazioni di emergenza o calamità naturali, ma è anche un aspetto molto importante che guida decisioni sia sul breve sia sul lungo periodo. L’attuale crescita smisurata nei consumi ha portato all’urgenza della definizione di politiche di risparmio e di uso intelligente delle risorse a nostra disposizione. Questo problema non è di facile soluzione: prima di tutto, colui che amministra la risorsa potrebbe non avere una visione completa dei modi e dei tempi in cui questa è utilizzata, e tanto meno può essere in grado di intuire come verrà utilizzata in futuro, senza il supporto di tecniche adeguate; inoltre, situazioni che evolvono repentinamente richiedono che vi sia una conoscenza su come una risorsa impatta sul processo che la trasforma che sia approfondita e il più completa possibile, ma che soprattutto sia già disponibile in momenti cruciali, in modo da poter prendere decisioni istantanee e corrette, avendo appreso dai comportamenti passati. Data la grande varietà di casi applicativi in cui questa informazione è importante, sono nate numerose metodologie che tuttavia affrontano il problema limitandosi esclusivamente al campo applicativo in questione; al meglio della nostra conoscenza, non è ancora stato fatto uno sforzo che porti a trattare il consumo di risorse come un fenomeno ben definito e a se stante. È importante quindi costruire una metodologia sufficientemente generica che sia in grado di fornire tutti gli strumenti necessari per le analisi sopra indicate, ma che tuttavia non si presenti come l’ennesima libreria di machine learning, delineando un approccio che possa guidare l’utente all’interno del processo di modellizzazione. In questo contesto proponiamo MARC, una piattaforma scalabile organizzata come un servizio, con lo scopo di fornire una serie di strumenti che un utente possa impiegare per modellizzare il consumo di una risorsa, e quindi avere informazioni precise che possano essere utilizzate per intraprendere un percorso di ottimizzazione e riduzione dei consumi. Tre pilastri hanno guidato la definizione della metodologia proposta in questo lavoro di tesi: generalità, estendibilità e precisione. Il nostro approccio si propone di risolvere il problema di modellizzazione senza dipendere, nella sua struttura, da una conoscenza pregressa dello specifico ambito applicativo, ma partendo da un accostamento ed una combinazione di una serie di strumenti matematici di assodata valenza che diano all’utente uno strumento che, opportunatamente configurato, si adatti sul caso specifico. Marcando i concetti di generalità ed estendibilità, abbiamo lavorato affinché l’infrastruttura fosse organizzata per integrare eventuali operazione aggiuntive, in modo da impedire che la metodologia, con il passare del tempo, possa perdere di applicabilità. Per quanto concerne la precisione, ogni singola fase del nostro approccio fornisce all’utente non solo i risultati computati, ma anche una serie di figure di merito specifiche ed approfondite che possano qualificare la bontà dei risultati ottenuti. Inoltre, la piattaforma fornisce informazioni dettagliate riguardanti la durata delle varie fasi di computazione, in modo da permettere all’utente di scegliere il giusto compromesso tra precisione dei risultati e tempistiche per formularli. La metodologia si suddivide in tre fasi principali: inizialmente i dati vengono puliti e preparati per poter essere utilizzati nella fase di stima del modello. La seconda fase costituisce il cuore di tutta la metodologia e si propone di modellizzare il consumo di una risorsa seguendo un approccio divide et impera: per prima cosa, tramite un modello di autoregressione lineare, viene stimato un modello del processo che converte effettivamente la risorsa in un prodotto finale, individuando, in questo modo, le diverse configurazioni di utilizzo della risorsa; successivamente, mediate la generazione di un modello discreto di Markov, viene catturata l’interazione tra risorsa e il suo utilizzatore – sia esso un utente umano oppure un altro sistema – in modo da comprendere come le diverse configurazioni si evolvono nel tempo. Infine, le influenze esterne al sistema che possono modificare il funzionamento della risorsa vengono modellizzate mediante uno studio delle serie temporali e rappresentate grazie a generatori di segnali che ne potranno simulare il comportamento. Nell’ultima fase, i modelli prodotti vengono combinati in modo da poter ottenere diverse curve caratteristiche di consumo della risorsa. Al fine di rendere fruibile questa metodologia abbiamo successivamente sviluppato un’infrastruttura che fosse facilmente parallelizzabile, distribuita e strutturata per essere interrogata come un servizio. Modularità e distribuzione rendono l’infrastruttura scalabile, sia in termini prestazionali che ricollegandosi al concetto di estendibilità che caratterizza la nostra metodologia. In futuro, sarà quindi possibile integrare nuove operazioni specifiche e modificare il flusso di computazione. Altro aspetto molto importante su cui ci siamo concentrati durante la stesura del codice è stata la scelta di uno stile di programmazione che permettesse di ottenere un parallelismo spinto ed una gestione intelligente delle risorse computazionali a disposizione dell’infrastruttura. Da qui la scelta di un approccio completamente funzionale per quel che riguarda la componente di logica, adottando poi il modello ad attori per quanto concerne la gestione della sincronizzazione delle diverse parti parallele e la loro distribuibilità. Il giusto grado di parallelizzazione è stato analizzato, implementando funzioni di autoscaling in grado di comprende l’allocazione ottima delle risorse per ottenere il parallelismo desiderato senza incorrere nelle implicazioni negative che ne derivano da un uso smisurato. La validazione del nostro approccio si è sviluppata in tre diverse fasi: inizialmente abbiamo validato la correttezza e la robustezza del nostro approccio mediante l’analisi di simulazioni su dati generati sinteticamente, che ripropongono molteplici combinazioni delle differenti caratteristiche di ogni componente di un generico fenomeno di consumo. Successivamente abbiamo validato la generalità della metodologia. A tal proposito, sono stati analizzati due diversi casi di studio, legati all’Information and Communication Technology (ICT): modellizzazione del consumo energetico della batteria nell’ambito dei dispositivi mobili, e valutazione del consumo di potenza di macchine virtuali all’interno di un sistema cloud virtualizzato tramite lo Xen Hypervisor. I risultati ottenuti ci permettono di affermare che il nostro approccio sia effettivamente generale ed efficiente nel modellizzare i comportamenti di consumo di risorse, essendo stato in grado sia di riprodurre lo studio riportato nel progetto MPower con minori tempi di computazione, sia di ottenere, per quanto riguarda il caso di studio della virtualizzazione, risultati comparabili o migliori a quelli attualmente pubblicati nello stato dell’arte, con un errore inferiore al 5% rispetto alla dinamica di potenza della macchina. Considerando il caso di studio sulla virtualizzazione, i nostri risultati costituiscono un ottimo punto di partenza verso la definizione di politiche di scheduling intelligenti all’interno di un’infrastruttura cloud che siano in grado di individuare quali task siano in grado di coesistere all’interno della stessa macchina senza interferire.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2016_04_Corna_Damiani.PDF

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis text
Dimensione 8.35 MB
Formato Adobe PDF
8.35 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/120701