Fraunhofer IIS – Dieser Tech-Blog beschreibt das Konzept der energieeffizienten Orchestrierung von Containern in verteilten Embedded Systemen, wobei Technologien wie »Containerd« und K3s für Software-Virtualisierung und Anwendungsorchestrierung eingesetzt werden. Zur Steigerung der Energieeffizienz werden Knoten mit geringerem Energiebedarf bevorzugt und weniger effiziente Systeme abgeschaltet. Ein Energiemanager berechnet die optimale Verteilung der Anwendungen und parametriert den Scheduler, um eine energieeffiziente Reorchestrierung zu ermöglichen.
Dieser Tech-Blog beschreibt das Konzept der energieeffizienten Orchestrierung von Containern in verteilten Embedded Systemen. Dabei kommen Technologien zum Einsatz, die Software-Virtualisierung und Anwendungsorchestrierung effektiv unterstützen. »Containerd« bietet eine leichtgewichtige Implementierung für Container, während K3s eine speziell für ressourcenbegrenzte Embedded Systeme entwickelte Version des Kubernetes-Frameworks darstellt.
Als Testsysteme dienen die Prozessorsysteme von Radio Units in einem 5G Radio Access Network sowie ein leistungsfähiger Edge-Server. Im klassischen Multi-Access-Edge-Computing (MEC) werden Anwendungen auf Edge-Servern ausgeführt. Um die Energieeffizienz zu steigern, sollen im Teillastbetrieb freie Ressourcen auf den verteilten Embedded Systemen in den Radio Units zur Ausführung von Anwendungen genutzt werden.
Zur Energieeinsparung müssen bei der Verteilung der Anwendungen Knoten mit geringerem Energiebedarf bevorzugt werden, wodurch der Energieverbrauch der Anwendungen gesenkt wird. Durch die Konzentration der Anwendungen auf effizientere Knoten können weniger effiziente Systeme, die entlastet wurden, abgeschaltet werden.
Die Aufgabe des k8s Schedulers besteht darin, einen geeigneten Knoten für eine Anwendung auszuwählen, die neu installiert oder reorchestriert wird. Der Standard-Scheduler in k8s erfüllt diese Aufgabe, indem er den erstbesten Knoten sucht, der die Anforderungen der Anwendung an Speicher- und Rechenressourcen erfüllt, ohne dabei die Energieeffizienz zu berücksichtigen.
Der neuartige Scheduler hingegen bevorzugt Knoten mit dem geringsten Energiebedarf. Um die Energieeffizienz der Knoten beurteilen zu können, werden offline ermittelte Parameter als Metadaten an die Knoten angeheftet. Die Leistungsaufnahme in Abhängigkeit von der CPU-Auslastung wird dabei als linearer Verlauf modelliert.
Mithilfe dieser Daten berechnet der Scheduler den Energiebedarf einer Anwendung entsprechend deren Anforderungen an CPU-Ressourcen und wählt den Knoten mit dem geringsten Energiebedarf aus, um die Anwendung zu platzieren. Dies erfolgt sowohl bei der Neuinstallation als auch bei der Verschiebung einer Anwendung.
Ein Energiemanager dient als zentrale Komponente bei der energieeffizienten Orchestrierung. Er fungiert als Supervisor für die energieeffiziente Orchestrierung und berechnet bei Änderungen der freien Rechenressourcen im Cluster die optimale Verteilung der Anwendungen. Anschließend parametriert er den Scheduler entsprechend und stößt eine Reorchestrierung an.