- IT&Production - https://www.it-production.com -

Näher an die harte Echtzeit

CPU-Pinning in der Cloud

Näher an die harte Echtzeit

Im Gegensatz zur klassischen Produktions-IT bieten Cloud-Systeme höhere Rechen- und Speicherkapazitäten. Für Anwendungen mit deterministischen Anforderungen gelten diese Infrastrukturen aber als ungeeignet. Dabei können viele Hürden mit der richtigen Konfiguration und der Nutzung von TSN überwunden werden.

(Bild: Fraunhofer-Institut für Produktionstechnologie IPT) [1]

(Bild: Fraunhofer-Institut für Produktionstechnologie IPT)

Cloud-Infrastrukturen verarbeiten große Datenmengen und rechenintensive KI-Algorithmen mit Bravur. Doch können diese Systeme auch für echtzeitkritische Anwendungen in der Produktion eingesetzt werden? Wäre eine dynamische Steuerung und Überwachung der Produktionsprozesse aus produktionsnahen Cloud-Systemen möglich? Und wie würde eine Integration von Cloud-Systemen in die Produktion aussehen? In der Studie ‚Virtualisierung für den hardwareunabhängigen Einsatz von industriellen Anwendungen‘ im Rahmen des International Center for Networked, Adaptive Production (ICNAP) am Fraunhofer IPT wurde der Einsatz und die Eignung von Cloud-Systemen für echtzeitkritische Anwendungen in der Produktion untersucht. Die Produktion hat klare Anforderungen an echtzeitfähige Systeme. Sie müssen zeitlich fest definiert reagieren, etwa bei der Übertragung, Verarbeitung und Bereitstellung von Daten. Cloud-Systeme können das oft nicht leisten. Echtzeitkritische Anwendungen sind in der Regel an die Hardware gebunden. Werden diese Anwendungen nicht genutzt, bleiben Systeme und Rechenressourcen ungenutzt. Liefen echtzeitkritische Anwendungen in die Cloud, ließen sich Anwendungen dynamisch auf freie Rechen- und Speicherkapazitäten verteilen. Auch der Skalierung von Anwendungen fiele leichter. In der dynamischen und adaptiven Produktion werden somit vorhandene Ressourcen optimal ausgenutzt.

Determinismus in der Cloud

Um echtzeitkritische Anwendungen auf Cloud-Systemen auszuführen, muss die virtualisierte Anwendung die Rechenaufgaben in einer vorgegebenen Zeit erledigen können. Zusätzlich muss die Kommunikation der Cloud-Systeme zu den Endgeräten deterministisch sein. In Cloud-Systemen werden oft unterschiedliche Anwendungen parallel betrieben. Die Hardwareressourcen werden dabei meist ohne Priorisierung zugeteilt. Für die echtzeitfähige Anwendung müssen also eine Priorisierung und die Zuweisung möglich sein. Die Echtzeitanwendung muss in einer festgelegten Zeitspanne uneingeschränkten Zugriff auf die Hardware haben.

Hardware fest zugewiesen

Ein Hypervisor weist virtualisierten Systeme verfügbare Hardwareressourcen dynamisch zu. Das sogenannte CPU-Pinning ist eine Methode, um den virtuellen CPU-Kernen der virtualisierten Systeme physikalische CPU-Kerne fest zuzuordnen. Durch den direkten und reservierten Zugriff auf die Hardware kann das virtualisierte System verlässlich ohne den Einfluss durch andere Anwendungen ausgeführt werden. Eine weitere Voraussetzung für virtualisierte Echtzeitanwendungen ist die echtzeitfähige Kommunikation. Hierfür werden in der Automatisierungstechnik Feldbussysteme eingesetzt. Diese erfordern den Aufbau eines separaten Kommunikationsnetzwerks. Oft ist eine Anbindung des Feldbus-Netzwerks an das IT-Netzwerk unmöglich, da unterschiedliche Protokolle verwendet werden. Konvergente Netze sind mit heute existierenden Feldbussystemen nicht möglich. Dies erschwert die Integration von Cloud-Systemen und den virtualisierten Echtzeitanwendungen in die Produktion. Eine Technologie zur Bewältigung dieser Herausforderungen ist Time Sensitive Networking (TSN). Mit TSN als Erweiterung des Ethernet-Standards lässt sich die deterministische Datenübertragung über Ethernet-Netzwerke umsetzen. Zunächst müssen hierfür die virtualisierten Anwendungen TSN unterstützen. Zusätzlich muss das Cloud-System TSN-fähige Netzwerkkarten verbaut haben, welche den virtualisierten Systemen zugeordnet sein müssen.

Ergebnisse der Studie

In der ICNAP-Studie wurde der Einsatz von Echtzeitanwendungen auf Public-Cloud- und Private-Cloud-Systemen, sowie Edge-Geräten untersucht. Public Cloud-Systeme fern der Produktion sind nicht für deterministische Anwendungen geeignet, aufgrund der fehlenden Flexibilität bei der Konfiguration des Hypervisors und der Anbindung an TSN-Netzwerke. Private Cloud Systeme bieten diese Möglichkeit hingegen. Auch der Betrieb von Echtzeitanwendungen auf Industrie-PCs mit ausreichend starken CPUs ist möglich. Dabei kann die direkte Verbindung zum Endgerät Latenzzeiten verringern. In der Studie wurde eine Testumgebung mit der Fraunhofer Edge Cloud aufgebaut, um die Unterschiede in der Latenz von virtualisierten Anwendungen im Gegensatz zu tatsächlichen Echtzeitsystemen zu ermitteln. Durch die Konfiguration des Betriebssystems und des Hypervisors lässt sich die Ausführungsdauer von virtualisierten Anwendungen um bis zu 80 Prozent senken. Somit ist ein Cloud-System in der Lage, sowohl die niedrigen Latenzen als auch eine deterministische Ausführbarkeit zu erreichen.

Fazit

Durch CPU-Pinning kann der Hypervisor so konfiguriert werden, dass eine eindeutige Zuweisung von Rechenressourcen, also CPU-Kernen, zu den virtualisierten Systemen erfolgt. Eine echtzeitfähige Anwendung kann somit parallel zu anderen Anwendungen ausgeführt werden. Der Unterschied besteht in der Priorisierung auf Hardware-Ebene. Diese Konfiguration von Betriebssystemen und Hypervisor erfordert direkten Zugriff auf das Cloud-System, zusätzlich ist zur Sicherung der deterministischen Datenübertragung ein TSN-Netzwerk sowie eine TSN-fähige Cloud notwendig.