Suche
Aktuell:
16. Mai 2013
Hohe Auszeichnung für Paderborner Informatikprofessor Dr. Friedhelm Meyer auf der Heide
Prof. Dr. Friedhelm Meyer auf der Heide vom Heinz Nixdorf Institut der Universität Paderborn wurde als neues Mitglied in ...
DERty DREAMS
DruckenDistributed Extensible Application Management System: Selbstoptimierung, Lastverteilung, Organic Computing
Eingebettete Systeme werden in den letzten Jahren immer häufiger eingesetzt, übernehmen dabei ständig vielseitigere Aufgaben und werden vermehrt untereinander vernetzt. Beispiele hierfür finden sich in Autos, PDAs, Mobiltelefonen oder Sensornetzwerken. Echtzeitbetriebssysteme (RTOS: Real-Time Operating System) für diese Systeme werden dabei stets umfangreicher und übernehmen immer komplexere Aufgaben. Um Flexibilität sowie Effizienz zu erreichen, ist es notwendig das RTOS modular, dynamisch konfigurierbar und - wenn benötig - verteilt zu entwerfen.
Detaillierte Informationen
Selbstoptimierung
In Zusammenarbeit mit der Fachgruppe von Prof. Rückert ist es das Ziel des Projektes C2 des SFB 614 ein RTOS für selbstoptimierende Systeme bereitzustellen. Eine Herausforderung für das RTOS stellt diese Anwendungsklasse durch stark unterschiedliche oder sich ändernde Anforderungsprofile dar. Um optimaler Dienstgeber für diese Anwendungsklasse zu sein wird der Ansatz verfolgt das RTOS dynamisch zur Laufzeit ressourceneffizient anzupassen. Das RTOS analysiert die aktuellen Rahmenbedingungen und optimiert sich selbst ständig durch Rekonfigurierung. Hierbei ist zu gewährleisten, dass trotz Rekonfigurierung zu jeder Zeit ein sicherer Betrieb garantiert werden kann, der die deterministische Bearbeitung aller sicherheitsrelevanten Aufgaben unter Einhaltung gegebener Zeitschranken garantiert. Bestandteil des selbstoptimierenden RTOS ist ein flexibler Ressourcen-Manager. Dieser optimiert die Verteilung der Ressourcen auf die Anwendungen und Dienste im System. Speziell ermöglicht er temporär nicht genutzte Ressourcen von Diensten und Anwendungen auf einem Knoten anderen Anwendungen nutzbar zu machen. Ein spezieller Mechanismus, der dem Verhalten des menschlichen Körpers in Stresssituationen nachempfunden ist, ermöglicht eine flexible Freisetzung von Ressourcen zur Behandlung von Notfällen von selbstoptimierenden Mechatronischen Systemen.
In aktuellen Arbeiten werden Konzepte erarbeitet, die Ressourcen für selbstoptimierende Agenten transparent auch anderen Knoten eines Controllernetzwerks zur Verfügung stellt. Hierfür wird das Konzept der lokalen Optimierung einer Betriebssysteminstanz auf ein RTOS-Netzwerk erweitert. Der verfolgte Ansatz basiert auf dezentralen Armeisenalgorithmen. Ein weiterer Schwerpunkt ist die Entwicklung eines in das RTOS integrierten Verifikationsmechanismus, der in der Lage ist, die Sicherheit von Anwendungen und Diensten des Betriebssystems auch unter Rekonfigurierung und Optimierung zur Laufzeit zu gewährleisten.
Moderne eingebettete Systeme (z.B. Handys und PDAs) erfordern in zunehmendem Maße Rechenleistung und Flexibilität, da eine einzelne Plattform unterschiedliche Arten von Anwendungen unterstützen soll. Dazu muss es möglich sein diese Anwendungen dynamisch in das System integrieren zu können. Um solch ein System zu ermöglichen bietet sich die so genannte hybride Architektur an, die CPUs und FPGAs umfasst. Das verwendete RTOS muss dazu geeignete Methoden und eine Verwaltungsinfrastruktur bieten, die es erlaubt die vorhandenen Ressourcen effizient zu verwalten. Resultierend aus einer engen Zusammenarbeit mit dem DERty-RuSt-Team wurde unser RTOS DREAMS um eine solche hybride Architektur erweitert. Für die optimale Nutzung der verfügbaren Ressourcen ist das Echtzeit-Betriebssystem DREAMS in der Lage sich selbst, basierend auf der zugrunde liegenden hybriden Architektur und den Anforderungen der Anwendungen, zu rekonfigurieren.
1. Der Kohlweißling dient als Vorbild für künstliche Systeme. (Foto: Fotolia Paylessimage)
2. Inspiriert von der Schwarmintelligenz der Blattschneideameise forschen wir an neuen Ansätzen der Selbstorganisation und Selbstkoordination von technischen Systemen. (Foto: Alex Wild)
Organic Computing
Ein großes Spektrum neuer Anwendungen wird durch die Entwicklung Eingebetteter Systeme für Energie-beschränkte, drahtlose Netzwerke ermöglicht. Eingebettete Systeme mit kleinem Footprint können über ein Gebiet verteilt werden, um ein drahtloses Sensornetzwerk zu bilden. In unserer Fachgruppe entwerfen wir ein Betriebssystem namens NanoOS, welches diese Art von Netzwerken unterstützt. Um den Hardwarebeschränkungen gerecht zu werden, werden die Betriebssystemdienste auf die Knoten verteilt und gemeinsam genutzt. Abgesehen von den Hardwarebeschränkungen gibt es zwei weitere große Herausforderungen, die die Entwicklung unseres NanoOS beeinflussen. Erstens können sich die Knoten, auf denen unser Betriebssystem läuft, schnell bewegen. Zweitens haben die migrierten OS Dienste oft Realzeitanforderungen. Der ersten Herausforderung begegnen wir durch eine Dienstmigration, die dynamisch auf Veränderungen im Netzwerk reagiert. Die Entscheidung, welcher Dienst auf welchen Knoten migriert werden soll, wird auf der Basis von Selbstoptimierungsalgorithmen aus dem Bereich des Organic Computing getroffen, wobei Verhaltensmuster, wie sie in der Natur beobachtet werden können, benutzt werden. Der Vorteil derartiger Algorithen ist, dass sie auf lokalen Informationen und Interaktionen basieren und deshalb nur eine relativ geringe Menge an Ressourcen benötigen. Gleichzeitig erleichtern sie die Entwicklung eines Systems, welches sich dynamisch an seine Umgebung anpasst. In solch einem Szenario kann also etwa die Nahrungssuche von Ameisen als Inspiration für unsere Techniken dienen. Um NanoOS für große Netzwerke skalierbar zu machen, haben wir einen Cluster-Algorithmus entwickelt, der ebenfalls auf Selbstorganisation setzt. Sowohl die Begrenzungen energie- und ressourcenbeschränkter dynamischer Netzwerke als auch die zweite Herausforderung (Realzeitanforderungen der migrierten Dienste) erfordern eine effiziente und priorisierbare Nutzung der drahtlosen Kanäle. Daher hat unsere Benutzung von Algorithmen aus dem Bereich des Organic Computing das Ziel, neben dem Verbindungsmanagement und Routing auch QoS Anforderungen zu genügen.
Eine weitere Arbeit erforscht topologische und algorithmische Aspekte in drahtlosen Telefonienetzwerken. Es sind besondere Herausforderungen damit verbunden, Funktionalität, mit denen Benutzer von drahtgebunden Systemen vertraut sind, für drahtlose Netzwerke hardwarebeschränkter mobiler Knoten zu entwerfen und zu implementieren. Diese Arbeit wird in enger Zusammenarbeit mit Siemens Communications in München und Witten durchgeführt.
Lastverteilung
Gridcomputing ist heutzutage eine weitverbreitete Methode, um hochkomplexe Berechnungen durchführen zu können. Dabei werden eine Vielzahl leistungsstarker Rechenressourcen zur gemeinsamen Nutzung gekoppelt. Zur Optimierung datenparalleler Anwendungen wurde die Grid-Middleware mLB entwickelt. mLB (meta Load Balancer) ist ein Werkzeug, das Anwendungen, die für den Einsatz auf parallelen Architekturen entwickelt wurden, bei der Lastverteilung unterstützt. mLB analysiert dafür zur Laufzeit die heterogene, dynamische Struktur der Grid-Umgebung und ist somit in der Lage, unmittelbar auf sich verändernde Situationen, wie z. B. unterschiedliche Auslastung der vorhandenen Ressourcen, zu reagieren. Die Last der Anwendung wird entsprechend der zur Verfügung stehenden Kapazitäten auf die einzelnen Recheneinheiten verteilt. Die Entscheidung, zwischen welchen Recheneinheiten Last verschoben wird, begründet sich dabei auf eine hierarchische Struktur. Diese wird anhand der Informationen aus der Netzwerkanalyse aufgebaut und spiegelt somit die aktuelle Netzwerksituation wider. Ein Ziel ist dabei, Last möglichst zwischen Einheiten mit schnellen Kommunikationsverbindungen zu verschieben. Dieses führt zur Minimierung von Lastverteilungskosten, insbesondere Migrationskosten. Die Verteilung der Last entsprechend der Leistungsfähigkeit der Recheneinheiten führt zur Optimierung der Rechenzeiten der Anwendung. Somit wurde durch mLB ein verteiltes, dynamisches und adaptives Werkzeug entwickelt, das sich durch einfache Handhabung auszeichnet und ein effizientes Laufzeitverhalten von Anwendungen im Grid ermöglicht.
Ein anderer innovativer Forschungsbereich ist das so genannte High Performance Reconfigurable Computing (HPRC). Das besondere daran ist die Heterogenität der Recheneinheiten, da sowohl Prozessoren als auch FPGAs gemeinsam eingesetzt werden. Und genau diese Heterogenität stellt eine große Herausforderung bei der Entwicklung von Methoden, die eine effiziente Ausführung von Anwendungen gewährleisten, dar. Dazu wird eine Betriebssystemerweiterung entwickelt, die zur Laufzeit dezentral anhand der Systemauslastung und Anwendungscharakteristika entscheidet, welche funktionalen Einheiten der Anwendung auf welchen Recheneinheiten ausgeführt werden.



