
Zielsetzung
Selbstoptimierende Systeme sind in der Lage, sich eigenständig an geänderte Umweltbedingungen und Anforderungen des Benutzers anzupassen. Unser Ziel ist es, die Informationsverarbeitung selbstoptimierender mechatronischer Systeme so zu konzipieren, dass sie die zur Verfügung stehenden Ressourcen möglichst effizient nutzt. Dazu werden die auszuführenden Dienste den aktuellen Anforderungen entsprechend auf die einzelnen Rechenknoten im System verteilt. Durch die dynamische Änderung der Diensteverteilung ändern sich auch die Kommunikationsanforderungen und insbesondere die Echtzeitanforderungen des mechatronischen Systems. Im Rahmen des Teilprojektes C2 des
SFB 614 entwickeln wir ein Echtzeit-Kommunikationssystem (RCOS), das diesen Anforderungen gerecht wird.
Konzept
Grundlage unseres RCOS sind Netzwerkknoten, die in einer Linientopologie angeordnet sind. Jeder Knoten in diesem Netzwerk besitzt mindestens zwei Netzwerkschnittstellen, die ihn mit seinen Nachbarn verbinden sowie einen eingebetteten Prozessor. Die Knoten müssen zwei verschiedene Arten von Netzverkehr verarbeiten. Einerseits Datenströme, die von dem eingebetteten Prozessor gesendet oder empfangen werden, andererseits Ströme, die unverändert durchgeleitet werden müssen. Ist der Verkehr zwischen den Netzwerkschnittstellen relativ schwach ausgeprägt, mit keinen oder geringen Echtzeitanforderungen, so können die Schnittstellen sehr einfach aufgebaut werden und benötigen relativ wenig Ressourcen. In diesem Fall ist es jedoch Aufgabe der Software, die Datenpakete weiterzuleiten, wodurch der Prozessor, der Speicher und der Systembus belastet werden.
Erhöhen sich die Kommunikationsanforderungen beispielsweise aufgrund eines neu hinzugekommenen Dienstes mit hohen Echtzeitanforderungen, können Prozessor und Systembus durch eine Rekonfiguration der Schnittstellen entlastet werden. Dazu werden die separaten Netzwerkschnittstellen durch einen integrierten Hardware-Switch ersetzt. Dieser ist aufgrund seiner komplexeren Struktur aufwändiger, aber er verarbeitet den durchzuleitenden Verkehr selbständig und kann ein größeres Datenaufkommen bewältigen. Die für den Hardware-Switch zusätzlich benötigten Ressourcen stehen anderen Anwendungen dann allerdings nicht mehr zur Verfügung.

Rekonfigurierbarer Switch: Austausch von zwei separaten Netzwerkschnittstellen durch einen integrierten Switch
Prototypische Umsetzung
Mit Hilfe unseres Rapid Prototyping System RAPTOR2000 haben wir das RCOS prototypisch umgesetzt und in einer realen Netzwerkumgebung getestet. Auf einem Feld-programmierbaren Gate-Array (FPGA) wurden die beiden Netzwerkschnittstellen implementiert und im Betrieb gegeneinander ausgetauscht.
Um die Echtzeitfähigkeit des Kommunikationssystems garantieren zu können, dürfen während des Austausches der Netzwerkschnittstellen keine Datenpakete verloren gehen. Aus diesem Grund wurde im Fachgebiet Schaltungstechnik ein Verfahren entwickelt, in dem die Sende- und Empfangsports der Netzwerkschnittstellen während der vorgeschriebenen Übertragungspausen des eingesetzten Ethernet-Protokolls einzeln umgeschaltet werden. Dazu müssen zum Zeitpunkt des Umschaltens beide Switch-Varianten gleichzeitig im FPGA implementiert sein. Durch dieses Verfahren wird sichergestellt, dass alle Pakete, die sich noch in den Puffern der Netzwerkschnittstellen befinden, übertragen werden können.

Prototypische Realisierung eines rekonfigurierbaren Switches auf dem RAPTOR2000 System

