TU Darmstadt / ULB / TUbiblio

Extending the Kubernetes scheduler for network resource awareness

Kosiewski, Thomas (2024)
Extending the Kubernetes scheduler for network resource awareness.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00026364
Bachelorarbeit, Erstveröffentlichung, Verlagsversion

Kurzbeschreibung (Abstract)

Kubernetes (K8s) has emerged as the de facto standard for distributed container workload orchestration in cloud and on-premises environments. Due to its open-source nature, strong separation of duty, and well-defined interfaces, Kubernetes creates abstraction layers between cluster operators, compute & storage providers, networking providers, and workload authors. Developers can deploy their applications without needing thorough experience in the abovementioned fields to deploy and scale their applications. Instead, they can collaborate by utilizing existing resources and configurations and have their workloads run and distributed according to the specifications in the workload definitions.

In the current Kubernetes environment, scheduling decisions are based on CPU and memory requirements, neglecting other crucial resources such as network bandwidth. As the adoption of networking-intensive applications and workloads progresses, the need for network-aware scheduling becomes more pressing, as issues such as network congestion and overall system stability can degrade over time.

This thesis aims to improve the scheduler and ecosystem by incorporating plug-andplay extensions to the current scheduler and proposing a new scheduler that utilizes a different scheduling approach and incorporates algorithms from resource constraint project scheduling to find optimizations for the Kubernetes scheduling problems.

Experiments indicate that our solution outperforms the existing Kubernetes scheduler in solution quality and correctness, performing qualitatively higher resource distribution and guarantees. By deploying representative samples of network-demanding workloads in simulations, the extended scheduler ensured resource requirements for pods, while the default Kubernetes scheduler failed to do so. This improvement introduces a negligible computing cost to the scheduler. In addition, it avoids network congestion, idle cpu time, and overall higher resource usage on the machines, increasing network throughput and reducing application lags, avoiding slowdowns of two to three times the necessary time if networking resources were met.

Typ des Eintrags: Bachelorarbeit
Erschienen: 2024
Autor(en): Kosiewski, Thomas
Art des Eintrags: Erstveröffentlichung
Titel: Extending the Kubernetes scheduler for network resource awareness
Sprache: Englisch
Referenten: Wolf, Prof. Dr. Felix ; Ahmad, Dr. Aasem
Publikationsjahr: 22 Februar 2024
Ort: Darmstadt
Kollation: 53 Seiten
DOI: 10.26083/tuprints-00026364
URL / URN: https://tuprints.ulb.tu-darmstadt.de/26364
Zugehörige Links:
Kurzbeschreibung (Abstract):

Kubernetes (K8s) has emerged as the de facto standard for distributed container workload orchestration in cloud and on-premises environments. Due to its open-source nature, strong separation of duty, and well-defined interfaces, Kubernetes creates abstraction layers between cluster operators, compute & storage providers, networking providers, and workload authors. Developers can deploy their applications without needing thorough experience in the abovementioned fields to deploy and scale their applications. Instead, they can collaborate by utilizing existing resources and configurations and have their workloads run and distributed according to the specifications in the workload definitions.

In the current Kubernetes environment, scheduling decisions are based on CPU and memory requirements, neglecting other crucial resources such as network bandwidth. As the adoption of networking-intensive applications and workloads progresses, the need for network-aware scheduling becomes more pressing, as issues such as network congestion and overall system stability can degrade over time.

This thesis aims to improve the scheduler and ecosystem by incorporating plug-andplay extensions to the current scheduler and proposing a new scheduler that utilizes a different scheduling approach and incorporates algorithms from resource constraint project scheduling to find optimizations for the Kubernetes scheduling problems.

Experiments indicate that our solution outperforms the existing Kubernetes scheduler in solution quality and correctness, performing qualitatively higher resource distribution and guarantees. By deploying representative samples of network-demanding workloads in simulations, the extended scheduler ensured resource requirements for pods, while the default Kubernetes scheduler failed to do so. This improvement introduces a negligible computing cost to the scheduler. In addition, it avoids network congestion, idle cpu time, and overall higher resource usage on the machines, increasing network throughput and reducing application lags, avoiding slowdowns of two to three times the necessary time if networking resources were met.

Freie Schlagworte: bin packing, distributed algorithms, Kubernetes, resource constrained project scheduling problem, scheduler, Quality of Service
Status: Verlagsversion
URN: urn:nbn:de:tuda-tuprints-263646
Sachgruppe der Dewey Dezimalklassifikatin (DDC): 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Parallele Programmierung
Hinterlegungsdatum: 22 Feb 2024 13:04
Letzte Änderung: 12 Mär 2024 07:48
PPN:
Referenten: Wolf, Prof. Dr. Felix ; Ahmad, Dr. Aasem
Zugehörige Links:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen