This paper addresses the issue of being unable to test scheduling algorithms for heterogeneous Kubernetes clusters when having no access to the required hardware to deploy a heterogeneous cluster.
Specifically, the paper introduces Q8S, a tool for deploying heterogeneous Kubernetes cluster on top of OpenStack.
Q8S receives a set of specifications for a cluster and then proceeds to request VM nodes from OpenStack before setting up the Kubernetes cluster on the nodes.
In order to support heterogeneous nodes, Q8S installs QEMU as a virtualization engine on top of the OpenStack VMs to emulate the desired hardware specification.
Q8S enables researchers of scheduling algorithms for Kubernetes, specifically, of scheduling algorithms for heterogeneous Kubernetes clusters to test their research.
Setting up a physical heterogeneous Kubernetes cluster requires access to different types of hardware, for instance, nodes with CPUs with x86 architecture and nodes with ARM architecture.
However, as x86 nodes are by far most commonly available and ARM nodes might only be available in very limited number and also be contested by other researchers at the same facility.
Therefore, enabling at least initial testing to be performed in a virtual environment enables researchers to perform initial improvements before moving to the actual physical hardware.
It should also be noted that emulating hardware requires the respective nodes to translate all system calls to the CPU from the emulated architecture to the actual host architecture.
This incurs a significant performance cost, which must be respected when attempting to gather data or train machine learning models on an emulated cluster.
To see all the details of the architecture and working of Q8S, I recommend checking out the paper, which can be found here: https://doi.org/10.3390/a18060324