8000 GitHub - AUT-Cloud-Lab/ecmus: A dynamic, migration based Kubernetes scheduler for cloud-assisted edge clusters
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A dynamic, migration based Kubernetes scheduler for cloud-assisted edge clusters

Notifications You must be signed in to change notification settings

AUT-Cloud-Lab/ecmus

Repository files navigation

KubeDSM (named ecmus before)

KubeDSM is a Kubernetes scheduler module designed to operate on cloud-assisted edge clusters. The following figure displays an overview of the cluster:

Paper

You can find more details about this scheduler and the experiments in our paper. You can access the paper here: KubeDSM.

Goal

KubeDSM's goal is to minimize user response time by using edge resources as much as possible. To do so, KubeDSM is dynamically migrating pods from cloud to edge. Also, it will migrate pods between edge nodes, to reduce resource fragmentation. This will help the upcoming pods to fit better in the edge. The scheduler is also able to do batch scheduling (i.e. scheduling multiple pods simultaneously). You can see the scheduler's component diagram in the figure below:

Algorithm

The underlying scheduling algorithm takes advantage of the edge cluster's small resource size to make almost optimal decisions to maximize its goal function (Quality Of Service, QoS). The algorithm's data flow diagram:

The nature of the edge environment is error-prone and the scheduler is developed to be resilient to this. The scheduler is able to *heal* its state whenever it gets into a malfunctioned state, and it expects errors and interruptions to happen in each step.

Experiment

The scheduler's performance has been experimented with various generated multi-pattern workloads for hours in a heterogeneous edge cluster connected to a cloud node. The results show that KubeDSM achieved a 50% reduction in user response time, a 20% increase in resource utilization, and fulfilled 100% of theoretically satisfiable QoS constraints.

Helper projects

The following is the list of the projects developed alongside KubeDSM for this research:

  • Genny: Genny generates scenarios based on the given config. It is used to generate normal distributed and wavy scenarios.
  • DrStress: DrStress implements the given scenario to generate workload for the scheduler.
  • MineDraft: MineDraft extracts draft diagrams and tables from the metrics aggregated during the scenario execution, these drafts are further used to analyze and create diagrams for the paper.
  • Sencillo: As Kubernetes default scheduler does not perform well in heterogeneous edge clusters, several scheduling algorithms are implemented in Sencillo to compete with KubeDSM in the experiments.

About

A dynamic, migration based Kubernetes scheduler for cloud-assisted edge clusters

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0