Canova, Simone
(2024)
Scheduling optimization in Kubernetes.
[Laurea], Università di Bologna, Corso di Studio in
Informatica [L-DM270], Documento ad accesso riservato.
Documenti full-text disponibili:
Abstract
Con l’avvento del Cloud Computing, sono emersi nuovi prodotti software, con l’obbiettivo di semplificare tutte le fasi di creazione di un prodotto integrato con il Cloud, dal design al deployment. Uno di questi prodotti è Kubernetes, un Container Orchestrator. Kubernetes ha rivoluzionato il processo di creazione e mantenimento di applicazioni in Cloud, creando nuove architetture software, come i Microservizi o l’architettura Serverless. Ci concentriamo sul suo scheduler, un componente critico di Kubernetes, poiché responsabile di allocare le risorse per i microservizi. In questa tesi, commentiamo il funzionamento di Kubernetes, ed in particolar modo il suo scheduler, e proponiamo un possibile miglioramento per esso. In questa tesi, presentiamo un possibile miglioramento allo scheduler, che rende possibile scheduling ottimale quando lo scheduler di default non è in grado di trovare sufficienti risorse per allocare i microservizi richiesti. Per fare ciò, usiamo due solver ottimali, Z3 e OrTools. Mostriamo come solo OrTools sia adatto a questo compito, poiché Z3 risulta troppo inefficiente, e con cluster con al più 16 Nodi, questo approccio fornisce buoni risultati.
Abstract
Con l’avvento del Cloud Computing, sono emersi nuovi prodotti software, con l’obbiettivo di semplificare tutte le fasi di creazione di un prodotto integrato con il Cloud, dal design al deployment. Uno di questi prodotti è Kubernetes, un Container Orchestrator. Kubernetes ha rivoluzionato il processo di creazione e mantenimento di applicazioni in Cloud, creando nuove architetture software, come i Microservizi o l’architettura Serverless. Ci concentriamo sul suo scheduler, un componente critico di Kubernetes, poiché responsabile di allocare le risorse per i microservizi. In questa tesi, commentiamo il funzionamento di Kubernetes, ed in particolar modo il suo scheduler, e proponiamo un possibile miglioramento per esso. In questa tesi, presentiamo un possibile miglioramento allo scheduler, che rende possibile scheduling ottimale quando lo scheduler di default non è in grado di trovare sufficienti risorse per allocare i microservizi richiesti. Per fare ciò, usiamo due solver ottimali, Z3 e OrTools. Mostriamo come solo OrTools sia adatto a questo compito, poiché Z3 risulta troppo inefficiente, e con cluster con al più 16 Nodi, questo approccio fornisce buoni risultati.
Tipologia del documento
Tesi di laurea
(Laurea)
Autore della tesi
Canova, Simone
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
Kubernetes,Z3,OrTools,Scheduling,Cloud Computing
Data di discussione della Tesi
10 Luglio 2024
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Canova, Simone
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
Kubernetes,Z3,OrTools,Scheduling,Cloud Computing
Data di discussione della Tesi
10 Luglio 2024
URI
Gestione del documento: