De Palma, Giuseppe
(2020)
Serverless Computing Platforms with Customizable Load Balancers.
[Laurea magistrale], Università di Bologna, Corso di Studio in
Informatica [LM-DM270], Documento ad accesso riservato.
Documenti full-text disponibili:
|
Documento PDF (Thesis)
Full-text accessibile solo agli utenti istituzionali dell'Ateneo
Disponibile con Licenza: Salvo eventuali più ampie autorizzazioni dell'autore, la tesi può essere liberamente consultata e può essere effettuato il salvataggio e la stampa di una copia per fini strettamente personali di studio, di ricerca e di insegnamento, con espresso divieto di qualunque utilizzo direttamente o indirettamente commerciale. Ogni altro diritto sul materiale è riservato
Download (1MB)
| Contatta l'autore
|
Abstract
Serverless computing is a paradigm where programmers write and
compose stateless functions, leaving to Serverless infrastructure
providers the duty to manage their
deployment and scaling. Although the convenience of being relieved from handling the infrastructure and scaling is very appealing, there can be situations
where it becomes a trade-off with efficiency. In this work we discuss several factors that
current offerings don't take into account, but have
an impact on efficiency and efficacy. When an inbound request to execute a function reaches the infrastructure of a provider, the latter needs to
decide on which of its available computation nodes it should schedule the function.
One way to improve serverless scheduling is through data locality. Intuitively, functions that access and elaborate data are faster to execute when scheduled on nodes near the data.
Furthermore developers can have more control on the single nodes with self managed clusters, and can apply further optimizations for the different kind of resources to improve performance. In this work we present an extension of OpenWhisk, an open source project for serverless computing. It allows a more fine-grained control over function's scheduling. This extension provides developers with a declarative language they can use
to specify priority policies for their functions. The
scheduler uses those policies to find the node that best fits the constraints specified by the developer for a given function. We demonstrate the impact of data locality in a hybrid cluster context, where nodes were part of different local networks far from each other and we describe an use-case combining IoT, Edge and Cloud Computing
architectures showing that we can capture the needs of different execution
platforms. It is also useful to demonstrate that in such cases it is not needed to have specifically-designed platforms to
host Serverless functions.
Abstract
Serverless computing is a paradigm where programmers write and
compose stateless functions, leaving to Serverless infrastructure
providers the duty to manage their
deployment and scaling. Although the convenience of being relieved from handling the infrastructure and scaling is very appealing, there can be situations
where it becomes a trade-off with efficiency. In this work we discuss several factors that
current offerings don't take into account, but have
an impact on efficiency and efficacy. When an inbound request to execute a function reaches the infrastructure of a provider, the latter needs to
decide on which of its available computation nodes it should schedule the function.
One way to improve serverless scheduling is through data locality. Intuitively, functions that access and elaborate data are faster to execute when scheduled on nodes near the data.
Furthermore developers can have more control on the single nodes with self managed clusters, and can apply further optimizations for the different kind of resources to improve performance. In this work we present an extension of OpenWhisk, an open source project for serverless computing. It allows a more fine-grained control over function's scheduling. This extension provides developers with a declarative language they can use
to specify priority policies for their functions. The
scheduler uses those policies to find the node that best fits the constraints specified by the developer for a given function. We demonstrate the impact of data locality in a hybrid cluster context, where nodes were part of different local networks far from each other and we describe an use-case combining IoT, Edge and Cloud Computing
architectures showing that we can capture the needs of different execution
platforms. It is also useful to demonstrate that in such cases it is not needed to have specifically-designed platforms to
host Serverless functions.
Tipologia del documento
Tesi di laurea
(Laurea magistrale)
Autore della tesi
De Palma, Giuseppe
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Indirizzo
CURRICULUM A: TECNICHE DEL SOFTWARE
Ordinamento Cds
DM270
Parole chiave
Serverless,Cloud Computing,Apache OpenWhisk,Load Balancer,Scheduler,Scala,Custom Scheduling,Kubernetes,Docker,Server,Cluster
Data di discussione della Tesi
27 Maggio 2020
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
De Palma, Giuseppe
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Indirizzo
CURRICULUM A: TECNICHE DEL SOFTWARE
Ordinamento Cds
DM270
Parole chiave
Serverless,Cloud Computing,Apache OpenWhisk,Load Balancer,Scheduler,Scala,Custom Scheduling,Kubernetes,Docker,Server,Cluster
Data di discussione della Tesi
27 Maggio 2020
URI
Statistica sui download
Gestione del documento: