Guarantee a specific quality of service in big data applications is a complex problem due to several factors including the size of the growing data set, the heterogeneity of the data contained in them, the increasing complexity of applications and the highly distributed environment. The quality of service in this domain can be defined by introducing the concept of a deadline, that is, the desired duration for the execution of your application. Ensuring a particular deadline depends on various factors that lead back to the problem of resource allocation and the scheduling problem of applications. Currently the allocation of resources is based on an infrastructural level metrics (e.g. CPU usage) and does not consider any of the service quality. To solve this problem it will present a new self-adapting system for fine-grained allocation of resources. In particular the objective is to make applications based on acyclic graphs aware of their state and self adaptive by means of fine-grain core allocation. This paper presents three main contributions: a model based on control theory for adaptation planning, a new architecture and processing model for Spark based on container and VM, a heuristic to calculate the deadline for node of the graph and check the feasibility of the deadline submitted by the user. This work was evaluated using eight applications: five use the Spark core, two use the library of machine learning and one use the library GraphX. In all twenty four experiments performed our self-adaptive system has been able to reach the deadline with less than 1 % error.
Garantire una specifica qualità del servizio in applicazioni big data è un problema complesso a causa di diversi fattori tra cui le dimensioni sempre maggiori dei data set, l'eterogeneità dei dati contenuti in essi, l'aumento della complessità delle applicazioni e dal ambiente altamente distribuito. La qualità del servizio in questo dominio può essere definita introducendo la nozione di deadline, cioè la durata desiderata per l'esecuzione della propria applicazione. Garantire una particolare deadline dipende da vari fattori che si riconducono al problema di allocazione delle risorse e al problema di scheduling delle applicazioni. Attualmente l'allocazione delle risorse si basa su metriche a livello infrastrutturale (p.es. l'utilizzo della CPU) e non considera nessuna qualità del servizio. Per risolvere questo problema si presenterà un nuovo sistema auto adattivo per l'allocazione a grana fine di risorse. In particolare l'obiettivo è quello di rendere applicazioni basate su grafi aciclici consapevoli del loro stato e auto adattive mediante allocazione di core. Questo lavoro presenta tre contributi principali: un modello basato sulla teoria del controllo per la pianificazione dell'adattamento, una nuova architettura e modello di processing per Spark basato su container e VM, una euristica per calcolare le deadline per nodo del grafo e controllare la fattibilità della deadline sottomessa dall'utente. Questo lavoro è stato valutato usando otto applicazioni: cinque usano il core di Spark, due la libreria di machine learning e una la libreria di GraphX. In tutti e ventiquattro gli esperimenti eseguiti il nostro sistema auto-adattivo è stato in grado di raggiungere la deadline con meno del 1% di errore.
CSpark. Allocazione dinamica a grana fine di risorse per applicazioni Big Data con requisiti di qualità
GAZZETTA, MATTEO
2016/2017
Abstract
Guarantee a specific quality of service in big data applications is a complex problem due to several factors including the size of the growing data set, the heterogeneity of the data contained in them, the increasing complexity of applications and the highly distributed environment. The quality of service in this domain can be defined by introducing the concept of a deadline, that is, the desired duration for the execution of your application. Ensuring a particular deadline depends on various factors that lead back to the problem of resource allocation and the scheduling problem of applications. Currently the allocation of resources is based on an infrastructural level metrics (e.g. CPU usage) and does not consider any of the service quality. To solve this problem it will present a new self-adapting system for fine-grained allocation of resources. In particular the objective is to make applications based on acyclic graphs aware of their state and self adaptive by means of fine-grain core allocation. This paper presents three main contributions: a model based on control theory for adaptation planning, a new architecture and processing model for Spark based on container and VM, a heuristic to calculate the deadline for node of the graph and check the feasibility of the deadline submitted by the user. This work was evaluated using eight applications: five use the Spark core, two use the library of machine learning and one use the library GraphX. In all twenty four experiments performed our self-adaptive system has been able to reach the deadline with less than 1 % error.File | Dimensione | Formato | |
---|---|---|---|
2016_12_Gazzetta.pdf
solo utenti autorizzati dal 02/12/2017
Descrizione: Testo della tesi
Dimensione
3.07 MB
Formato
Adobe PDF
|
3.07 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/131951