Nowadays, more and more enterprises exploit Big Data technologies in order to extract knowledge from huge datasets. Applications can encompass business analytics, can support decision-making, log-analysis, machine learning. Hence, a reliable and scalable computing solution is highly required for dealing with the quantity and the complexity of the information to process. Hadoop is an already widespread technology, implementing the MapReduce computational model and featuring a resource negotiator, as well as a distributed file system, thus providing a highly scalable parallel computation, ensuring also distribution, fault-tolerance, reliability, and monitoring. Tez is a framework built on top of Hadoop that allows to build applications by setting their workflows as direct acyclic graphs. Even if it is an extremely important task, still there are no tools that fully support developers in activities related to the capacity planning of MapReduce or Tez applications. In order to minimize costs and fulfill the required number of concurrent users, it is important to properly set computational resources to avoid wastes and to guarantee a certain level of performance. For this reason, this thesis proposes a tool to optimize the allocation of resources and to guarantee that execution times of both MapReduce and Tez tasks respect estabilished deadlines. Having such tool available at design-time enables operators to make more informed decisions about the technology to use and to fully exploit the potential offered by the Cloud infrastructure. The core of this work is the development of a greedy algorithm to optimize the allocation of resources and the overall cluster cost in private cloud scenarios. It exploits analytical models to evaluate execution time of MapReduce and Tez jobs and is implemented in three steps: an approximated solution obtained by a machine learning technique is initially obtained. Then, a greedy search optimizes the capacity allocation for individual applications by performing the minimum number of analytical simulations. Finally, a mixed integer model identifies the cluster of minimum costs and the VMs to physical machine assignment.

Oggigiorno, sempre più aziende sfruttano tecnologie Big Data per estrarre conoscenza da enormi dataset. Le applicazioni includono business-analysis in grado di supportare il processo decisionale, log-analysis, il machine learning. Una soluzione di elaborazione altamente affidabile e scalabile è necessaria per elaborare grandi quantità di informazioni complesse. Hadoop è una tecnologia già diffusa che implementa il modello di computazione MapReduce, un negoziatore di risorse e un file system distribuito, fornendo così computazioni parallelizzabili, scalabili, assicurando anche distribuzione, fault-tolerance, affidabilità e monitoraggio. Tez è un framework costruito su Hadoop che permette di creare applicazioni basate su direct acyclic graph. Nonostante sia un aspetto estremamente importante, ancora non ci sono strumenti che supportano pienamente gli sviluppatori in attività legate alla pianificazione delle risorse da assegnare alle applicazioni MapReduce o Tez. Per minimizzare i costi e supportare un numero di utenti concorrenti, è importante impostare correttamente le risorse, evitando sprechi e garantendo un certo livello di prestazioni. Per questo motivo, questa tesi propone uno strumento per ottimizzare l’allocazione delle risorse e per garantire che i tempi di esecuzione di task MapReduce e Tez rispettino le scadenze impostate. Tale strumento, disponibile in fase di progettazione, consente agli operatori di prendere decisioni più consapevoli sulla tecnologia da utilizzare e per sfruttare appieno le potenzialità offerte dalle infrastrutture Cloud. Questo lavoro si basa sullo sviluppo di un algoritmo greedy per ottimizzare l’allocazione delle risorse e il costo globale dei cluster in scenari cloud privato, sfruttando modelli analitici per valutare il tempo di esecuzione dei task MapReduce e Tez. Inizialmente, si ottiene una soluzione approssimata con una tecnica di machine learning. Poi, una ricerca greedy ottimizza l’assegnazione di capacità alle varie applicazioni, eseguendo il numero minimo di simulazioni analitiche. Infine, un mixed integer model identifica il cluster di costo minimo e l’assegnazione delle macchine virtuali su quelle fisiche.

A design-time optimization framework for private Cloud big data systems

RIGOLI, JACOPO
2015/2016

Abstract

Nowadays, more and more enterprises exploit Big Data technologies in order to extract knowledge from huge datasets. Applications can encompass business analytics, can support decision-making, log-analysis, machine learning. Hence, a reliable and scalable computing solution is highly required for dealing with the quantity and the complexity of the information to process. Hadoop is an already widespread technology, implementing the MapReduce computational model and featuring a resource negotiator, as well as a distributed file system, thus providing a highly scalable parallel computation, ensuring also distribution, fault-tolerance, reliability, and monitoring. Tez is a framework built on top of Hadoop that allows to build applications by setting their workflows as direct acyclic graphs. Even if it is an extremely important task, still there are no tools that fully support developers in activities related to the capacity planning of MapReduce or Tez applications. In order to minimize costs and fulfill the required number of concurrent users, it is important to properly set computational resources to avoid wastes and to guarantee a certain level of performance. For this reason, this thesis proposes a tool to optimize the allocation of resources and to guarantee that execution times of both MapReduce and Tez tasks respect estabilished deadlines. Having such tool available at design-time enables operators to make more informed decisions about the technology to use and to fully exploit the potential offered by the Cloud infrastructure. The core of this work is the development of a greedy algorithm to optimize the allocation of resources and the overall cluster cost in private cloud scenarios. It exploits analytical models to evaluate execution time of MapReduce and Tez jobs and is implemented in three steps: an approximated solution obtained by a machine learning technique is initially obtained. Then, a greedy search optimizes the capacity allocation for individual applications by performing the minimum number of analytical simulations. Finally, a mixed integer model identifies the cluster of minimum costs and the VMs to physical machine assignment.
CIAVOTTA, MICHELE
GIANNITI, EUGENIO
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2016
2015/2016
Oggigiorno, sempre più aziende sfruttano tecnologie Big Data per estrarre conoscenza da enormi dataset. Le applicazioni includono business-analysis in grado di supportare il processo decisionale, log-analysis, il machine learning. Una soluzione di elaborazione altamente affidabile e scalabile è necessaria per elaborare grandi quantità di informazioni complesse. Hadoop è una tecnologia già diffusa che implementa il modello di computazione MapReduce, un negoziatore di risorse e un file system distribuito, fornendo così computazioni parallelizzabili, scalabili, assicurando anche distribuzione, fault-tolerance, affidabilità e monitoraggio. Tez è un framework costruito su Hadoop che permette di creare applicazioni basate su direct acyclic graph. Nonostante sia un aspetto estremamente importante, ancora non ci sono strumenti che supportano pienamente gli sviluppatori in attività legate alla pianificazione delle risorse da assegnare alle applicazioni MapReduce o Tez. Per minimizzare i costi e supportare un numero di utenti concorrenti, è importante impostare correttamente le risorse, evitando sprechi e garantendo un certo livello di prestazioni. Per questo motivo, questa tesi propone uno strumento per ottimizzare l’allocazione delle risorse e per garantire che i tempi di esecuzione di task MapReduce e Tez rispettino le scadenze impostate. Tale strumento, disponibile in fase di progettazione, consente agli operatori di prendere decisioni più consapevoli sulla tecnologia da utilizzare e per sfruttare appieno le potenzialità offerte dalle infrastrutture Cloud. Questo lavoro si basa sullo sviluppo di un algoritmo greedy per ottimizzare l’allocazione delle risorse e il costo globale dei cluster in scenari cloud privato, sfruttando modelli analitici per valutare il tempo di esecuzione dei task MapReduce e Tez. Inizialmente, si ottiene una soluzione approssimata con una tecnica di machine learning. Poi, una ricerca greedy ottimizza l’assegnazione di capacità alle varie applicazioni, eseguendo il numero minimo di simulazioni analitiche. Infine, un mixed integer model identifica il cluster di costo minimo e l’assegnazione delle macchine virtuali su quelle fisiche.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2016_12_Rigoli.pdf

non accessibile

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