Fraunhofer IIS – This tech blog describes the concept of energy-efficient orchestration of containers in distributed embedded systems. It uses technologies that effectively support software virtualization and application orchestration. »Containerd« provides a lightweight implementation for containers, while K3s is a version of the Kubernetes framework specifically designed for resource-constrained embedded systems.
This tech blog describes the concept of energy-efficient orchestration of containers in distributed embedded systems. It uses technologies that effectively support software virtualization and application orchestration. »Containerd« provides a lightweight implementation for containers, while K3s is a version of the Kubernetes framework specifically designed for resource-constrained embedded systems.
The processor systems of radio units in a 5G radio access network and a powerful edge server serve as test systems. In classic multi-access edge computing (MEC), applications are executed on edge servers. In order to increase energy efficiency, free resources on the distributed embedded systems in the radio units are to be used to run applications in partial load operation.
To save energy, nodes with lower energy requirements must be prioritized when distributing the applications, which reduces the energy consumption of the applications. By concentrating the applications on more efficient nodes, less efficient systems that have been relieved of load can be switched off.
The task of the k8s scheduler is to select a suitable node for an application that is being newly installed or reorchestrated. The default scheduler in k8s accomplishes this task by finding the first best node that meets the application’s memory and computing resource requirements without considering energy efficiency.
The new scheduler, on the other hand, prefers nodes with the lowest energy requirements. In order to be able to assess the energy efficiency of the nodes, parameters determined offline are attached to the nodes as metadata. The power consumption as a function of the CPU load is modeled as a linear curve.
Using this data, the scheduler calculates the energy requirement of an application according to its CPU resource requirements and selects the node with the lowest energy requirement to place the application. This is done both when installing a new application and when moving an application.
An energy manager serves as the central component in energy-efficient orchestration. It acts as a supervisor for energy-efficient orchestration and calculates the optimum distribution of applications when the free computing resources in the cluster change. It then parameterizes the scheduler accordingly and triggers reorchestration.