<div class="csl-bib-body">
<div class="csl-entry">Raith, P. A. (2021). <i>Container scheduling on heterogeneous clusters using machine learning-based workload characterization</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2021.82862</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2021.82862
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/16871
-
dc.description.abstract
Edge Intelligence ist ein neues Paradigma, welches Nutzern ermöglicht KI-Applikationen zu verwenden, die eine sehr geringe Latenz benötigen. Edge Computing ermöglicht solche Szenarien. Rechenressourcen werden in der Nähe von Nutzern positioniert, um die nötige Latenz zu garantieren. Diese heterogenen Cluster bestehen aus verschiedenen Geräten, die unterschiedliche Fähigkeiten haben. Zu diesen Geräten gehören: CPU/GPU-basierte Geräte bis hin zu anwendungsspezifischen Beschleunigern. Cloud Rechenzentren sind im Vergleich dazu relativ homogen. Diese Heterogenität stellt ein Problem für Anwendungsentwickler da: sie müssen sich für Geräte entscheiden. Serverless Computing kann eine Lösung für dieses Problem darstellen. Dieses Paradigma versteckt die Infrastruktur und Anwendungsentwickler können Funktionen hochladen. Diese werden anschließend vom System automatisch auf Geräten gestartet. Diese beiden Paradgima werden zu Serverless Edge Computing verknüpft. Das Problem ist: Serverless Plattformen verwenden Scheduler, die ursprünglich für homogene Cluster entwickelt wurden. Daher stellen heterogene Cluster eine Herausforderung für diese Scheduler dar.In dieser Arbeit, präsentieren wir eine Lösung, die mit Hilfe von Anforderungen, von Applikationen, angemessene Geräte findet. Dieser Lösungsversuch wird mit Hilfe von KI-basierter Applikationen-Charakterisierung handhabbar gemacht. Wir verwenden existierende Serverless Plattformen: Kubernetes und OpenFaaS. OpenFaaS ist eine Function-as-a-Service Plattform und verwendet intern Kubernetes, um Anwendung auf Geräten zu platzieren. Der Scheduler von Kubernetes verwendet simple Heuristiken, um Geräte für Anwendungen zu finden. Wir machen den Scheduler aufmerksam auf Applikationen und und schafen das durch drei Erweiterungen. Diese Erweiterungen fokussieren sich auf folgende Punkte: (1) Performance, (2) Ressourcen Staus und (3) das Finden angemessener Geräte für Applikationen. Dies ermöglichen wir durch: (1) umfangreiche Applikationstests auf Geräten bei denen wir Performance und Ressourcenverbrauch messen, (2) eine anschließende Applikations-Charakterisierung und (3) durch Lösen des Problems, Anforderungen für Applikationen zu ermitteln.Wir evaluieren unsere Arbeit mit Hilfe von Simulationen und drei unterschiedlichen Szenarien. Unsere Anwendungen fokussieren sich auf KI-Anwendungen. Unsere Resultate zeigen, dass wir die Ausführungszeit in Edge Computing Szenarien im Durchschnitt um 33% bis 68% senken. Weiters, wir verringern die Verschlechterung von Ausführungszeit, aufgrund von Ressourcen Staus, um 25% bis 57%.
de
dc.description.abstract
Edge Intelligence is a paradigm that promises to bring highly-responsive AI applications to the end users. Edge computing is the main enabler paradigm for this scenario, where computational resources are pushed from the cloud to the edge of the network. These heterogeneous clusters consist of devices that offer different capabilities, which range from general purpose CPUs, to GPUs, to application specific hardware accelerators. Cloud systems are comparatively homogeneous in terms of computing infrastructure. This heterogeneity poses a problem for users, which have to decide the hardware for their applications. To mitigate this issue, serverless computing may be a solution to this problem.Serverless computing helps abstract the underlying infrastructure from users away - allowing users to simply upload functions and offers the convenience of automatic scaling and pay-per-use cost model. Research proposes the idea of merging both paradigms, resulting in serverless edge computing. The problem is, that current serverless computing platforms use schedulers that were developed for homogeneous clusters. Therefore, heterogeneous clusters pose a challenge for serverless container schedulers to find optimal placements for containers. In this thesis, we propose a solution that matches application requirements with appropriate node capabilities made tractable with the help of machine-learning based workload characterization. Our approach builds on existing serverless platforms such as Kubernetes and OpenFaaS. OpenFaaS is a Function-as-a-Service platform that uses Kubernetes as its deployment platform. The Kubernetes scheduler uses simple heuristics to schedule containers to cluster nodes. We extend the scheduler to make it workload-aware by adding three scheduling constraints that focus on: (1) performance, (2) preventing resource contention and (3) matching applications with appropriate nodes.We enable these constraints by (1) extensive profiling, (2) subsequent workload characterization and (3) solving the problem of matching applications with appropriate nodes. We evaluate our approach by running simulations with three different scenarios and focus on AI-based applications. The results show that in edge computing scenarios the Function Execution Time (a key performance indicator) can be reduced by 33% to 68%. Moreover, performance degradation, caused by resource contention, can be reduced by 45% to 57%.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
edge
de
dc.subject
faas
de
dc.subject
function-as-a-service
de
dc.subject
serverless
de
dc.subject
iot
de
dc.subject
docker
de
dc.subject
kubernetes
de
dc.subject
container
de
dc.subject
orchestration
de
dc.subject
scheduling
de
dc.subject
machine-learning
de
dc.subject
hardware beschleuniger
de
dc.subject
applikations charakterisierung
de
dc.subject
ressourcen staus
de
dc.subject
gruppierung
de
dc.subject
edge intelligence
de
dc.subject
edge
en
dc.subject
faas
en
dc.subject
function-as-a-service
en
dc.subject
serverless
en
dc.subject
iot
en
dc.subject
docker
en
dc.subject
kubernetes
en
dc.subject
container
en
dc.subject
orchestration
en
dc.subject
scheduling
en
dc.subject
machine-learning
en
dc.subject
hardware accelerators
en
dc.subject
workload characterization
en
dc.subject
resource contention
en
dc.subject
clustering
en
dc.subject
edge intelligence
en
dc.title
Container scheduling on heterogeneous clusters using machine learning-based workload characterization
en
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.identifier.doi
10.34726/hss.2021.82862
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Philipp Alexander Raith
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
dc.contributor.assistant
Rausch, Thomas
-
tuw.publication.orgunit
E194 - Institut für Information Systems Engineering
-
dc.type.qualificationlevel
Diploma
-
dc.identifier.libraryid
AC16147287
-
dc.description.numberOfPages
111
-
dc.thesistype
Diplomarbeit
de
dc.thesistype
Diploma Thesis
en
tuw.author.orcid
0000-0003-3293-9437
-
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
tuw.advisor.staffStatus
staff
-
tuw.assistant.staffStatus
staff
-
tuw.advisor.orcid
0000-0001-6872-8821
-
tuw.assistant.orcid
0000-0001-5988-9041
-
item.openaccessfulltext
Open Access
-
item.openairecristype
http://purl.org/coar/resource_type/c_bdcc
-
item.grantfulltext
open
-
item.mimetype
application/pdf
-
item.languageiso639-1
en
-
item.openairetype
master thesis
-
item.fulltext
with Fulltext
-
item.cerifentitytype
Publications
-
crisitem.author.dept
E194-02 - Forschungsbereich Distributed Systems
-
crisitem.author.orcid
0000-0003-3293-9437
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering