Jürgen Kleinöder

Dr.-Ing. Jürgen Kleinöder

Department Informatik (INF)
Lehrstuhl für Informatik 4 (Systemsoftware)

Raum: Raum 0.043
Martensstr. 1
91058 Erlangen
CIO der Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) und Ltd. Akad. Direktor am Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme)  

Lehre

Sommersemester 2022: Systemprogrammierung 1

Publikationen (Cris)

2011

2007

2005

2002

2001

2000

1999

1998

1997

1996

1994

1992

Forschungsbereiche (Cris)

Forschungsprojekte (Cris)

  • Systemweite Optimalitätsanalyse und Maßschneiderung von Anwendungen mit Worst-Case-Beschränkungen

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: seit 1. November 2022
    Mittelgeber: Deutsche Forschungsgemeinschaft (DFG)

    Energiebeschränkte Echtzeitsysteme, wie beispielsweise implantierbare Medizingeräte, sind heutzutage allgegenwärtig. Diese Systeme erfordern von ihrer Software die Erfüllung der beiden Eigenschaften von sicherer und zugleich energieeffizienter Ausführung von Aufgaben der Software. In Hinblick auf funktionale Sicherheit müssen diese Systeme ihre Aufgaben innerhalb von Laufzeit- und Energieschranken ausführen, da das Überschreiten von Terminen und Energiebudgets zu lebensgefährlichen Konsequenzen führen kann. Statische Programmanalysewerkzeuge ermöglichen hierfür automatisiert das Worst-Case-Verhalten des Systems zu bestimmen, um letztendlich den sicheren Betrieb mit gegebenen Zeit- und Energieressourcen zu garantieren. Jedoch sind existierende statische Analysen nicht in der Lage, das Problem zu adressieren eines ressourceneffizienten Betriebs unter Beibehaltung der Eigenschaft von sicherer Ausführung. Weiterhin ist eine manuelle Maßschneiderung für das Effizienzproblem unpraktikabel durch die große Anzahl an Energiesparmechanismen in modernen Hardwareplattformen. Um dem Betriebssystem zur Laufzeit eine optimale Nutzung der Ressourcen zu ermöglichen bei sicherem Ablauf der Aufgaben, wäre eine ganzheitliche Sicht auf Aufgaben, ihre Ressourcenbeschränkungen und Energiesparmechanismen erforderlich, was vom aktuellen Stand der Forschung nicht erreicht wird.

    Das Forschungsprojekt Watwa bietet einen Ansatz für ganzheitliche Optimalitätsanalysen und Maßschneiderung von Systemen mit Worst-Case-Beschränkungen. Das Grundkonzept umfasst die automatisierte Generierung von funktional gleichwertigen Varianten der Aufgaben unter Ausnutzung vorhandener Energiesparmechanismen der Hardwareplattform. Die dadurch erreichte anwendungsgewahre Maßschneiderung erlaubt das gezielte Ein-/Ausschalten unbenutzter Leistungsverbraucher. Eine anschließende Worst-Case-Analyse bewertet das unterschiedliche zeitliche und energetische Verhalten der Varianten hinsichtlich des Ressourcenbedarfs. Schlussendlich ermöglicht es Watwa durch die Kombination aus Variantengenerierung und Analyse erstmals Hinweise auf optimale Systemabläufe vollständig automatisch zu finden. Optimalität meint hier die möglichst effiziente Ressourcennutzung bei garantierter Einhaltung aller Termine und Energiebudgets. Um analytisch bestimmte Hinweise zur Laufzeit auszunutzen, beinhaltet Watwa die Entwicklung eines Betriebssystems und einer Ablaufplanung, die auf veränderte Umweltbedingungen reagieren und einen effizienten, aber gleichzeitig sicheren Betrieb ermöglichen. Zusammengefasst zielt das Forschungsprojekt auf die Beantwortung folgender zwei Fragen ab: (1) Wie können statische Analysen unter Ausnutzung moderner Energiesparmechanismen Varianten mit optimalem Ressourcenbedarf und sicheren Schranken des Bedarfs erzeugen? (2) Wie können Betriebssysteme statisch bestimmte Hinweise auf mögliche Abläufe und Gerätenutzungen verwenden, um einen effizienten Betrieb unter Sicherheitsgarantien zu ermöglichen?

  • Dynamische Betriebssystemspezialisierung

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: seit 1. Mai 2022
    URL: https://sys.cs.fau.de/research/doss

    Ein Betriebssystem befindet sich zwischen zwei Fronten: Einerseits ("oben") die Maschinenprogramme der Anwendungen mit ihren teils sehr unterschiedlichen funktionalen und nichtfunktionalen Anforderungen und andererseits ("unten") die Rechnerhardware, deren Merkmale und Gerätschaften den Anwendungen idealerweise "ungefiltert" und "geräuschfrei" zur Verfügung gestellt werden sollen. Allerdings kann ein Allzwecksystem in keiner seiner Funktionen so effizient sein wie ein System, das speziell für einen bestimmten Zweck entwickelt wurde und weniger anspruchsvolle Anwendungen dürfen verlangen, dass sie nicht gezwungen werden, für die verbrauchten Ressourcen durch die nicht benötigten Funktionen zu zahlen. So ist es nicht ungewöhnlich, dass große Systeme, einmal in Betrieb genommen, in der Regel häufigen Änderungen unterliegen --- eben gerade auch deshalb, um eine höhere Passgenauigkeit an sich ändernde Anwendungsanforderungen zu erreichen.

    Das ideale Betriebssystem bietet genau das, was für die jeweilige Anwendung benötigt wird --- nicht mehr und nicht weniger, aber eben auch in Abhängigkeit von den Merkmalen der Hardwareplattform. Ein solches Ideal ist jedoch, wenn überhaupt, nur für den Einprogrammbetrieb realistisch. Bei Mehrprogrammbetrieb müssten die verschiedenen Anwendungen schon "hinreichend gleiche" funktionale und nichtfunktionale Anforderungsmerkmale aufweisen, um keine der Anwendungen mit den Gemeinkosten (overhead) zu belasten, die die nicht benötigten Funktionen mit sich bringen. Ein Betriebssystem mit diesen Eigenschaften fällt in die Kategorie Spezialsystem (special purpose operating system), es ist zugeschnitten auf die Bedürfnisse von Anwendungen eines bestimmten Typs.

    Im Gegensatz dazu steht das Allzwecksystem (general purpose operating system), wo letztlich nur zu hoffen ist, dass eine Anwendung nicht mit zu hohen Gemeinkosten durch die nicht benötigten Funktionen belastet wird. Hier kann immerhin versucht werden, das "Hintergrundrauschen" (background noise) im Betriebssystem bei Bedarf zu minimieren --- idealerweise in diesem Fall mit unterschiedlichem "Rabatt" je nach Programmtyp. Das Betriebssystem müsste dann mit weniger anspruchsvollen Anwendungen nicht nur dynamisch von unnötigem Ballast befreit werden und schrumpfen können, sondern auch in die Lage versetzt werden, bei anspruchsvolleren Anwendungen mit dafür nötigen und zusätzlichen Funktionen wieder anzuwachsen. Spezialisierung eines Betriebssystems in Abhängigkeit vom jeweiligen Anwendungsfall bedeutet letztlich funktionelle Abmagerung und Anreicherung, wozu ein geeigneter Systemsoftwareentwurf zwar wünschenswert ist, sich aber gerade bei Altsoftware (legacy system) oft nicht mehr umsetzen lässt.

    Ein Umstand für die Spezialisierung eines Betriebssystems bezieht sich auf explizit "von außen her" initiierte Maßnahmen. Dies betrifft einerseits ausgewählte Systemaufrufe und andererseits Vorgänge wie das Urladen (bootstrap) sowie das Laden von Maschinenprogrammen, Betriebssystemkernmoduln oder von Programmen, die in sandkastenartigen virtuellen Maschinen innerhalb des Betriebssystemkerns zur Ausführung kommen sollen. Diese Form der Spezialisierung ermöglicht ebenfalls die dynamische Generierung von gezielten Schutzmaßnahmen in Folge von besonders vulnerablen Betriebssystemoperationen, wie dem Laden von externen Modulen des Betriebssystemkerns. Der andere ausschlaggebende Umstand für die Spezialisierung eines Betriebssystems bezieht sich auf implizit "von innen heraus" initiierte Maßnahmen. Dies betrifft mögliche Reaktionen eines Betriebssystems auf erst zur Laufzeit wahrnehmbare Änderungen im eigenen Laufzeitverhalten, um daraufhin etwa die Strategien einer Ressourcenverwaltung der jeweiligen Arbeitslast anzupassen und entsprechende Systemsoftware in das bestehende System nahtlos einzupassen.

    Projektfokus ist die dynamische Betriebssystemspezialisierung, ausgelöst durch extrinsische und intrinsische Ereignisse. Im Vordergrund stehen Verfahren und Techniken, die (a) unabhängig von einem bestimmten Programmierparadigma oder Hardwareansatz sind und (b) auf bedarfssynchrone (just in time, JIT) Übersetzung von Teilen des Betriebssystem(kern)s basieren, um im bereits laufenden Betrieb bedarfsweise (on demand) zu ladende oder vorausschauend (anticipatory) zu ersetzende Betriebssystemprogramme den jeweiligen Gegebenheiten an den "Betriebssystemfronten" anzupassen. Untersuchungsgegenstand sind bestehende Allzwecksysteme wie etwa Linux.

  • Nichtflüchtigkeit in energiebewussten Betriebssystemen

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: seit 1. Januar 2022
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)
    URL: https://sys.cs.fau.de/en/research/neon-note

    Der gegenwärtige Trend hin zu schnellem, byteadressierbarem nichtflüchtigem Hauptspeicher (non-volatile memory, NVM) mit Latenzen und einer Schreibfestigkeit näher an SRAM und DRAM als an Flash positioniert NVM als möglichen Ersatz für die etablierten flüchtigen Technologien. Während einerseits die Nichtflüchtigkeit und geringe Leckleistung NVM, neben weiteren vorteilhaften Merkmalen, zum attraktiven Kandidaten für neue Systementwürfe macht, ergeben sich andererseits auch große Herausforderungen insbesondere für die Programmierung solcher Systeme. So bewirken etwa Stromausfälle in Kombination mit NVM zum Schutz des Rechenzustands Kontrollflüsse, die einen sequentiellen Prozess unerwartet in einen nichtsequentiellen Prozess verwandeln können: Ein Programm muss sich mit seinem eigenen Zustand aus früheren unterbrochenen Läufen auseinandersetzen.

    Wenn Programme direkt im NVM zur Ausführung kommen können, wird normaler flüchtiger Hauptspeicher (funktional) überflüssig. Flüchtiger Speicher findet sich dann ausschließlich im Cache und in Geräte-/Prozessoregistern ("NVM-pure"). Ein darauf ausgelegtes Betriebssystem kann auf viele, wenn nicht sämtliche, für gewöhnlich sonst zu realisierende Persistenzmaßnahmen verzichten und dadurch sein Maß an Hintergrundrauschen (background noise) verringern. Im Einzelnen betrachtet lassen sich so der Energiebedarf senken, die Rechenleistung erhöhen und Latenzen verringern. Des Weiteren ist durch den Wegfall oder Vereinfachung dieser Persistenzmaßnahmen ein "NVM-pure" Betriebssystem schlanker als sein funktional identischer Zwilling herkömmlicher Bauart. Dies trägt einerseits zur besseren Analysierbarkeit nichtfunktionaler Eigenschaften des Betriebssystems bei und ergibt andererseits eine kleinere Angriffsoberfläche beziehungsweise vertrauenswürdige Rechenbasis.

    Das Projekt verfolgt einen "NVM-pure" Ansatz. Dabei resultiert ein drohender Stromausfall in einer Unterbrechungsanforderung (power- failure interrupt, PFI), mit der Folge, einen Fixpunkt (checkpoint) des unvermeidbaren volatilen Systemzustands zu erstellen. Zusätzlich werden, um mögliche PFI-Verluste zu tolerieren, sensitive Betriebssystemdatenstrukturen in transaktionaler Weise analog zu Methoden der nichtblockierenden Synchronisation abgesichert. Des Weiteren werden Methoden der statischen Programmanalyse genutzt, um (1) das Betriebssystem von überflüssigen Persistenzmaßnahmen, die sonst nur noch Hintergrundrauschen erzeugen, zu entschlacken, (2) ununterbrechbare Anweisungsfolgen mit zu hohen Unterbrechungslatenzen, die die PFI-basierte Fixpunktsicherung scheitern lassen können, aufzubrechen und (3) die Arbeitsbereiche der dynamischen Analyse des Energiebedarfs zu definieren. Zur Demonstration, dass ein "NVM-pure" Betriebssystem gegenüber seinem funktional gleichen herkömmlichen Zwilling sowohl in zeitlichen als auch energetischen Belangen effizienter operieren kann, laufen die Arbeiten beispielhaft mit Linux.

  • Stromausfallbewusster byteadressierbarer virtueller nichtflüchtiger Speicher (PAVE)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: SPP 2377: Disruptive Memory Technologies
    Laufzeit: seit 5. April 2021
    Mittelgeber: Deutsche Forschungsgemeinschaft (DFG)
    URL: https://sys.cs.fau.de/en/research/pave-note

    Subsysteme für virtuellen Speicher (VM) lassen die Unterschiede zwischen Sekundär- und Hauptspeicher verschwimmen, so dass auf flüchtige und nicht-flüchtige Daten gleichermaßen mit denselben CPU-Instruktionen zugegriffen werden kann. Jedes VM-Subsystem versucht, häufig benötigte Daten in schnellem, flüchtigen Hauptspeicher zu halten, um die hohe Zugriffslatenz des Sekundärspeichers zu vermeiden, unabhängig davon, ob die Daten selbst flüchtig sind oder nicht. Das Aufkommen von byte- adressierbarem NVRAM ändert dieses Muster nicht grundlegend, da diese Technologie aufgrund der höheren Zugriffslatenz derzeit weder DRAM als schnellen Hauptspeicher, noch herkömmlichen Sekundärspeicher aufgrund der höheren Kosten und geringeren Kapazität, ersetzen kann. Daher sollten VM-Subsysteme NVRAM- gewahr gemacht und so erweitert werden, dass alle verfügbaren byte- adressierbaren Speichertechnologien gemäß ihrer jeweiligen Stärken eingesetzt werden können. Mit Hilfe einer in der virtuellen Speicherverwaltung des Betriebssystems verankerten Abstraktion lässt sich erreichen, dass bestehende Software ohne weitere Änderung von NVRAM profitieren kann. Dadurch, dass VM- Subsysteme hochkomplexe und fein abgestimmte Softwaresysteme sind, die teils seit Jahrzehnten immer weiter entwickelt werden, folgen wir einem minimal-invasivem Ansatz, um NVRAM-Unterstützung in ein bereits existierendes VM-Subsystem zu integrieren, anstatt eines von Grund auf neu zu entwickeln. NVRAM soll als unmittelbarer DRAM-Ersatz bei Speicherknappheit dienen, um Prozesse mit großem Speicherbedarf auch bei Ressourcenknappheit lauffähig zu halten. Jedoch müssen aufgrund der höheren NVRAM-Zugriffslatenz auch nicht-flüchtige Daten zeitweise im schnellen, aber flüchtigen DRAM oder in Prozessorcaches bewahrt werden. Unser neues VM- Subsystem - wir passen FreeBSD entsprechend an - ermöglicht deshalb die Wanderung von Seiten zwischen DRAM und NVRAM, sofern es die verfügbaren Ressourcen erlauben. Somit wird DRAM gewissermaßen als ein großer, durch Software verwalteter, flüchtiger Cache für NVRAM genutzt. Daraus ergibt sich in der Folge das Problem von möglichem Datenverlust im Falle eines Stromausfalls. Das VM-Subsystem muss daher seine eigenen Metadaten in einem konsistenten und wiederherstellbaren Zustand halten und in einem solchen Fall modifizierte Seiten aus dem DRAM im NVRAM persistieren, um Datenverluste zu vermeiden. Ersteres erfordert einen hochgradig effizienten transaktionalen Mechanismus zur Veränderungen von komplexen und parallel genutzen Datenstrukturen, die für die VM-Metadaten zum Einsatz kommen. Letzteres hingegen bedeutet, dass unter Umständen große Mengen an modifizierten Seiten mit einem eng begrenzten Restenergie- und Zeitfenster gesichert werden müssen.

  • Robuste, stromsparende eingebettete Datenübertragungsstationen

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: SPP 2378 Resilient Worlds
    Laufzeit: seit 26. März 2021
    Mittelgeber: Deutsche Forschungsgemeinschaft (DFG)

    Innerhalb des sehr weiten Feldes der Resilienz vernetzter Welten konzentriert sich ResPECT auf einen Kernbaustein aller vernetzten Systeme: Sensor- oder Aktor-Knoten in cyber-physischen Systemen. Bis heute wird die Kommunikation als Zusatzfunktionalität eingebetteter Systeme verstanden. Das System an sich wird Störungs-tolerant ausgelegt und kann mit Stromausfällen umgehen oder sogar Hardwareprobleme in gewissem Maße kompensieren. Die Kommunikation jedoch wird in die Konzeption nicht einbezogen, sondern kann die Verlässlichkeit allenfalls nutzen. ResPECT entwickelt daher ein holistisches Betriebssystem- und Kommunikations-Protokoll-Konzept, welches davon ausgeht, dass die Vermittlung von Information (der Erhalt von Steuerdaten für Aktoren oder das Versenden von Sensordaten) die Kernaufgabe fast aller vernetzten Knoten ist. Damit muss diese Aufgabe Teil des Managements des Betriebssystems werden. Grundlage von ResPECT sind zwei Pfeiler: Nicht-flüchtiger Speicher und transaktionaler Betrieb. Nicht-flüchtiger Speicher hat sich in den letzten Jahren zu einem sehr ernst zu nehmenden Element der Speicherhierarchie entwickelt. Selbst eingebettete Plattformen mit ausschließlich nicht-flüchtigem Speicher werden vorstellbar. Netzwerkkommunikation ist, anders als soziale Kommunikation, im Kern transaktional: Daten werden gesammelt und unter Rahmenbedingungen wie Latenz, Fehlertoleranz und Energieverbrauch der Übertragung sowie Alter und damit Wert der zu übertragenden Information vermittelt. Anders als das Betriebssystem unterliegt die Kommunikation jedoch einer Vielzahl äußerer Einflüsse und Störungen. Auch die Dauer einer Störung hat unmittelbaren Einfluss auf z. B. den Erhalt der physischen Verbindung und muss bei Wiederaufnahme berücksichtigt werden. ResPECT wird daher - durch die Zusammenarbeit von Betriebssystem- und Kommunikationsexperten - ein auf Transaktionen basierendes Modell für das Betriebssystem sowie die Kommunikation entwickeln und durch den Einsatz nicht-flüchtiger Speicher dafür Sorge tragen, dass Zustände im Ablauf der Transaktionen zu jedem Zeitpunkt bekannt sind und persistent gespeichert werden. Dieses Beobachten und Speichern muss sehr effizient (sowohl in Bezug auf den Energieverbrauch als auch in Bezug auf die im nicht-flüchtigen Speicher zu speichernden Datenmengen) geschehen und daher als Kernaufgabe des Betriebssystems implementiert werden. Um die Verallgemeinerbarkeit sicher zu stellen und das Modell für viele zukünftige Plattformen nutzbar zu machen, wird sich ResPECT auf IP-Netze fokussieren und Kommunikationsnetze verwenden, welche üblicherweise als WAN, LAN oder PAN (Wide, Local oder Personal Area Network) betrieben werden.

  • Migrationsgewahre Laufzeitumgebung für Echtzeit- Mehrkernsysteme

    (Projekt aus Eigenmitteln)

    Laufzeit: seit 11. August 2020

    Das Vorhaben entwickelt ein neuartiges Paradigma, um Prozessmigration in Mehrkern-Echtzeitsystemen zeitlich vorhersagbar zu gestalten. Kern des Ansatzes ist das Konzept der migrationsgewahren Laufzeitumgebung (migration-aware real-time executive), in welcher Migrationsentscheidungen anstatt auf globalen Lastparametern systematisch auf Grundlage von Hinweisen der unter (strikten) Echtzeitbedingungen ablaufenden Maschinenprogramme der Anwendungsebene getroffen werden. Diese sogenannten Migrationshinweise (migration hints) betreffen zeitliche und räumliche Aspekte von Echtzeitprozessen, sie markieren potentielle Migrationspunkte in dem betreffenden nichtsequentiellen (mehrfädigen) Maschinenprogramm. Sie befähigen das Betriebssystem Entscheidungen zu treffen, die sich möglichst günstig auf die Vorhersagbarkeit und Leistungsfähigkeit des Gesamtsystems auswirken. Konkret nimmt das Vorhaben an, dass anwendungsspezifische Hinweise auf zulässige und besonders günstige Programmpunkte für die Migration eine aufwandsarme Möglichkeit darstellen, um bestehende Echtzeitsysteme und Techniken hinsichtlich Antwortzeit und Planbarkeit zu verbessern. Den Untersuchungsgegenstand stellen Mehrkern-Plattformen mit heterogenen Speicherarchitekturen dar. Im Fokus stehen die durch Migration verursachten Verwaltungsgemeinkosten, welche von Speicherort und Umfang der Migrationsdaten abhängig sind. Diese über die Ausführungszeit variierenden Kosten werden werkzeuggestützt durch Methoden der statischen Analyse zur Entwurfszeit ermittelt und zur Identifikation von Migrationspunkten mit gut vorhersagbaren Kosten genutzt. Ausgehend von existierenden Echtzeitbetriebssystemen entwickelt das Vorhaben migrationsgewahre Varianten, welche das Wissen über diese günstigen Migrationspunkte durch speziell angepasste Schnittstellen und automatisch präparierte Anwendungsprogramme in Form von Migrationshinweisen zur Verfügung gestellt bekommen, um somit zur Laufzeit möglichst positive Entscheidungen für das Gesamtsystem treffen zu können.

  • Energie-, Latenz- und Resilienz-gewahre Vernetzung

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: SPP 1914 „Cyber-Physical Networking (CPN)
    Laufzeit: seit 1. Januar 2020
    Mittelgeber: DFG / Schwerpunktprogramm (SPP)
    URL: https://www.nt.uni-saarland.de/project/latency-and-resilience-aware-networking-larn/
  • Invasives Laufzeitunterstützungssystem (Phase 3)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: Invasives Rechnen
    Laufzeit: 1. Juli 2018 - 30. Juni 2022
    Mittelgeber: DFG / Sonderforschungsbereich / Transregio (SFB / TRR)
    URL: https://invasic.informatik.uni-erlangen.de/en/tp_c1_PhIII.php

    Im Rahmen des SFB/TRR 89 "Invasives Rechnen" erforscht Teilprojekt C1 Systemsoftware für invasiv-parallele Anwendungen. Bereitgestellt werden Methoden, Prinzipien und Abstraktionen zur anwendungsgewahren Erweiterung, Konfigurierung und Anpassung invasiver Rechensysteme durch eine neuartige, hochgradig flexible Betriebssystem-Infrastruktur (OctoPOS). Diese wird zur praktischen Anwendung in ein Unix-Wirtssystem integriert.
    Der generelle Fokus liegt auf der Durchsetzung der geforderten Qualitätskriterien gemischter Kritikalität hinsichtlich Zeitverhalten und Energiebedarf durch anwendungsorientierte Ressourcenallokationsstrategien sowie Mechanismen auf iRTSS-Ebene. Dies beinhaltet eine Ausführungszeitanalyse (worst-case execution time, WCET) für das Agentensystem, um die Leistungskorridore der Ressourcenzuweisung für bestimmte Anwendungsfälle zu identifizieren. Der Schwerpunkt liegt auch auf der Kontrolle von Hintergrundrauschen (d.h., indirektem Overhead) von OctoPOS-Funktionen, die einen transparenten Zugriff (virtuellen gemeinsamen Speicher, VSM) auf die verschiedenen Hauptspeichersubsysteme des für das invasive Rechnen definierten PGAS-Modells (partitionierter globaler Adressraum) bereitstellen.

  • Energiegewahre Ausführungsumgebungen

    (Projekt aus Eigenmitteln)

    Laufzeit: seit 1. Januar 2018
    Die Verarbeitung großer Datenmengen auf verteilten Ausführungsplattformen wie MapReduce oder Heron trägt signifikant zum Energieverbrauch heutiger Datenzentren bei. Das E³-Projekt erforscht wie sich der Stromverbrauch solcher Ausführungsumgebungen senken lässt ohne dabei Performanzeinbußen in Kauf nehmen zu müssen. Hierzu entwickelt das Projekt Ansätze, die darauf abzielen, Ausführungs- und Datenverabeitungsplattformen energiegewahr zu gestalten, und es ihnen zu ermöglichen, Wissen über Anwendungen zur dynamischen Anpassung des Stromverbrauchs der darunterliegenden Hardware zu nutzen. Zur Messung und Steuerung des Energieverbrauchs von Komponenten greifen die energiegewahren E³-Plattformen auf Hardware-Features moderner Prozessoren zurück, die es der System-Software eines Servers erlauben, den Stromverbrauch zur Laufzeit zu erfassen und mittels Durchsetzung oberer Schranken zu begrenzen. Mit Hilfe dieser Vorgehensweise lassen sich Ausführungs- und Datenverabeitungsplattformen realisieren, die auf der einen Seite in Zeiten niedriger und mittlerer Auslastungen Energie sparen, auf der anderen Seite allerdings trotzdem in der Lage sind, in Zeiten hoher Auslastungen ihre volle Rechenleistung auszuschöpfen.
  • Aspektorientierte Echtzeitsystemarchitekturen (Phase 2)

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. August 2017 - 30. September 2020
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)
    URL: https://www4.cs.fau.de/Research/AORTA/
    Das Ziel von AORTA ist die Verbesserung der Vorhersagbarkeit von dynamischen, gemischt-kritischen Echtzeitsystemen durch die Extraktion kritischer Pfade, deren Transformation in statische äquivalente sowie einer zeitgesteuerten Ausführung. Da diese im Vergleich mit ereignisgesteuerten Abläufen jedoch zum Brachliegen von Ressourcen neigt, soll das grundsätzlich optimistische Ausführungsmodell gemischt-kritischer Echtzeitsysteme beibehalten werden und nur im Notfall eine Umschaltung in den statischen Ablauf erfolgen. Damit einher geht die Generalisierung der Ergebnisse der ersten Förderphase auf dynamische Echtzeitsystemarchitekturen und hier insbesondere auf gemischt-kritische Systeme mit komplexen Abhängigkeitsmustern. Untersuchungsgegenstand des Vorhabens sind dabei Echtzeit-Linux-Varianten sowie die Domäne der Steuerungs- und Regelungsanwendungen.Den Schwerpunkt der Projektfortsetzung bilden die Abhängigkeiten zwischen kritischen und nicht-kritischen Ausführungspfaden. Diese potentiellen Problemstellen liegen auf allen Ebenen des Systems: in der Anwendung beispielsweise durch eine Verquickung von nicht-kritischen Komfort- und kritischen Steuerungsfunktionen und einer damit einhergehenden Kopplung. Ebenso im Betriebssystem, zum Beispiel durch Puffer für gemeinsam genutzte Kommunikationsstapel. Diese oft wünschenswerten Kopplungen führen in dynamischen Systemen zu einer Vielzahl von möglichen Ausführungspfaden und damit zu einer dramatischen überapproximation der entsprechenden maximalen Ausführungszeit beziehungsweise Antwortzeit. Die garantierte Einhaltung von Zeitschranken geht daher typischerweise mit einem Verlust der auszeichnenden Effizienz dynamischer Echtzeitsysteme einher. Die Realisierung des Projektziels und damit die Wiederherstellung eines verifizierbaren Zeitverhaltens mit harten Garantien für den kritischen Anwendungskern zur Laufzeit fokussiert auf drei Arbeitsschwerpunkte: Analyse, Maßschneiderung und Mechanismen.Das Vorhaben geht von existierendem Wissen zum Entwurf von gemischt-kritischen Systemen mit harten Zeitgarantien aus. Es trifft die Grundannahme, dass kritische Ausführungspfade eine inhärent deterministische Struktur aufweisen und sich insbesondere deren dynamische Kopplungen mit unkritischen Pfaden auf statische äquivalente abbilden lassen. Hinterfragt wird im Speziellen die Fähigkeit zur Einhaltung harter Zeitgarantien für sicherheitskritische Regelungs- und Steuerungsanwendungen mit einfachen Kommunikationsmustern auf Echtzeit Linux-Varianten sowie die Anwendbarkeit von Konzepten und Techniken zur statischen Analyse, Maßschneiderung und Ablaufplanung aus der ersten Projektphase zu diesem Zweck. Ebenfalls hinterfragt wird im Allgemeinen die Kopplung von Echtzeitsystemarchitektur, Ablaufplanung und Abhängigkeiten in gemischt-kritischen Echtzeitsystemen und darauf aufbauend die generelle Eignung der Entwurfskonzepte von Echtzeit-Linux für einen Wechsel der Echtzeitparadigmen zur Laufzeit.
  • Latenz- und Resilienz-gewahre Vernetzung

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Laufzeit: 1. Januar 2016 - 31. Dezember 2019
    Mittelgeber: DFG / Schwerpunktprogramm (SPP)
    Das Projekt entwickelt Transportkanäle für Cyber-physische Netzwerke. Solche Transportkanäle müssen Latenz- und Resilienz-gewahr sein; d. h. die Latenz, welche die Anwendung sieht, muss vorhersagbar und in gewissen Grenzen, u. a. durch eine Balance von Latenz und Resilienz, garantiert sein. Dies ist nur möglich durch einen neuartigen Transport-Protokollstapel und dessen adäquaten Unterbau (Betriebssystem sowie die Betriebssystem-nahen Ebenen des Protokollstapels). Dazu führt das vorliegende Vorhaben die Disziplinen Betriebssysteme/Echtzeitverarbeitung und Nachrichtentechnik/Informationstechnik zusammen.

    Ziel ist es, den Transportprotokollstapel PRRT (Predictably Reliable Real-Time Transport) zu einem hocheffizienten Multihop-Protokoll mit Domänenseparation weiterzuentwickeln, mit einem ebenfalls zu entwickelnden Echtzeitbetriebssystem- und Netzwerkunterbau auf der Basis eines Latenz-gewahren Betriebssystemkerns mit wartefreier Synchronisation (POSE, "Predictable Operating System Executive") zu versehen und die statistischen Eigenschaften des Gesamtsystems (RNA, "Reliable Networking Atom") in Bezug auf Latenz- und Resilienzgarantien zu optimieren und zu dokumentieren.

    Eine Testumgebung basierend auf Software-definierten Netzen zur Validierung des Systems in echten Weitverkehrsszenarien ist verfügbar. Die entwickelten Komponenten werden anderen Projekten innerhalb der durch das Schwerpunktprogramm organisierten Workshops vorgestellt und stehen diesen für die Gesamtdauer des Schwerpunktprogramms zur Verfügung.

  • Regelgütegewahrer Entwurf von bedarfsgesteuerten Echtzeitregelungssystemen

    (Projekt aus Eigenmitteln)

    Laufzeit: 1. September 2015 - 30. September 2021
    URL: https://www4.cs.fau.de/Research/qronOS/
    Ein maßgebliches Entwurfsziel von sicherheitskritischen Regelungssystemen ist die nachweisbare Einhaltung eines spezifischen Qualitätsziels im Sinne der Regelgüte. Dies bedingt die Bereitstellung einer entsprechenden Dienstgüte durch das darunter liegende Echtzeitbetriebssystem in Form von Ressourcen. Der Zusammenhang zwischen der auf zeitlichen Parametern basierenden Dienstgüte und der resultierenden Regelgüte ist dabei jedoch nicht immer einfach: Der nötige Ausführungsaufwand variiert deutlich mit der Situation und Störanregung und umgekehrt haben die konkreten Ausführungsbedingungen einen qualitativen Einfluss auf die Regelgüte. Um trotz all dieser Zusammenhänge die Einhaltung der Regelgüte zu gewährleisten, werden typischerweise pessimistische Überabschätzungen, insbesondere der maximalen Ausführungskosten, getroffen. Daraus ergibt sich letztlich ein hinsichtlich der bereitgestellten Ressourcen stark überdimensioniertes System, wobei der Grad der Überdimensionierung mit der Komplexität und Dynamik des betrachteten Systems überproportional steigt. Hierdurch ist zu erwarten, dass die bisherigen pessimistischen Entwurfsmuster und Analysetechniken in Zukunft an ihre Grenzen stoßen. Ein Beispiel hierfür sind komplexe, adaptive und gemischt- kritische Fahrassistenz- und Autopilotfunktionen in Fahrzeugen, bei denen eine allgemeingültige Garantie für alle Fahrsituationen und Umweltbedingungen weder zweckmäßig noch realistisch ist. Die skizzierte Problematik ist letztlich nur durch eine interdisziplinäre Betrachtung regelungstechnischer und echtzeitsystemorientierter Aspekte zu lösen. Das Forschungsvorhaben geht von existierendem Wissen zum Entwurf von Echtzeitregelungssystemen mit weichen, festen und harten Zeitgarantien aus. Es wird die Grundannahme getroffen, dass der Rechenzeitbedarf der Anwendung signifikant zwischen typischer und maximaler Störanregung variiert und entsprechend zu situationsabhängigen Reserven führt. Hinterfragt wird der rein auf zeitlichen Eigenschaften basierende Entwurf des Gesamtsystems ohne Berücksichtigung der Dynamik der Regelgüte und die damit einhergehende pessimistische Auslegung. Das Ziel des Vorhabens ist die Vermeidung von Pessimismus beim Entwurf von harten Echtzeitsystemen für Regelungsanwendungen mit strikten Qualitätsgarantien und somit die Auflösung des Zielkonfliktes zwischen der Garantie der Regelgüte und einer hohen mittleren Leistungsfähigkeit des Systems. Der verfolgte Lösungsansatz stützt sich auf einen gemeinsamen Entwurf von Regelungsanwendung und Ausführungsumgebung und umfasst die folgenden drei Kernpunkte: die modellgestützte Bewertung der Regelgüte, eine vorausschauende Ablaufplanung von Regelungsaktivitäten und ein hybrides Ausführungsmodell zur Einhaltung der Garantien.
  • Adaptive Softwareinfrastruktur betriebsmittelbeschränkter vernetzter Systeme (Phase 2)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: FOR 1508: Dynamisch adaptierbare Anwendungen zur Fledermausortung mittels eingebetteter kommunizierender Sensorsysteme
    Laufzeit: 1. August 2015 - 31. Juli 2018
    Mittelgeber: DFG / Forschungsgruppe (FOR)

    Im Kontext der Gesamtvision der Forschergruppe BATS ist es das Ziel des Teilprojekts ARTE (adaptive run-time environment, TP 2) eine flexible Systemsoftwareunterstützung zu entwickeln. Diese soll es ermöglichen, für die Verhaltensbeobachtungen von Fledermäusen (TP 1) verteilte Datenstromanfragen (TP 3) auf einem heterogenen Sensornetzwerk (TP 4), bestehend aus stationären (TP 5) und mobilen (TP 7) Sensornetzwerkknoten, zu etablieren. Eine besondere Herausforderung stellen hierbei die knappen Ressourcen dar, im speziellen Speicher und Energie, sowie die wechselhafte Konnektivität der nur 2 g schweren mobilen Knoten. In Anbetracht dieser vielfältigen und teilweise konfligierenden Anforderungen soll ARTE in Form einer hochkonfigurierbaren Softwareproduktlinie realisiert werden. Ziel ist es, sowohl die unterschiedlichen funktionalen Anforderungen zwischen mobilen und stationären Knoten zu unterstützen, als auch wichtige nichtfunktionale Eigenschaften, wie niedriger Speicherverbrauch und Energieeffizienz. Entsprechend soll schon bei der Entwicklung von ARTE der Konfigurationsraum werkzeuggestützt und gezielt auf nichtfunktionale Eigenschaften untersucht werden, um gemäß der Anforderungen an das Projekt später im Einsatz eine optimierte Auswahl von Implementierungsartefakten zu bieten. Dabei ist explizit die dynamische Anpassbarkeit von Anwendungs- wie auch von Systemfunktionen zu berücksichtigen. Auf funktionaler Ebene wird ARTE Systemdienste in Gestalt einer Middleware bereitstellen, die Anpassung und Erweiterung zur Laufzeit unterstützt und auf Datenstromverarbeitung zugeschnitten ist, um eine ressourceneffiziente und flexible Ausführung von Datenstromanfragen zu ermöglichen.

  • Energiegewahre kritische Abschnitte

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. Januar 2015 - 30. September 2022
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)
    Wettlaufsituationen gleichzeitiger Prozesse innerhalb eines Rechensystems können zu teils unerklärlichen Phänomenen oder gar fehlerhaftem Laufzeitverhalten führen. Ursache sind kritische Abschnitte in nichtsequentiellen Programmen. Den Lösungen zum Schutz kritischer Abschnitte steht im Allgemeinen ein mehrdimensionaler Problemraum gegenüber: (1) prozessorlokale asynchrone Programmunterbrechungen, (2) speichergekoppelte Systeme mehr-/vielkerniger Multiprozessoren mit (2a) kohärentem oder (2b) inkohärentem Zwischenspeicher, (3) nachrichtengekoppelte Systeme mit globalem Adressraum, (4) Interferenz mit der Prozessverwaltung im Betriebssystem. Dabei treffen die Schutzverfahren pessimistische oder optimistische Annahmen über das Auftreten von Zugriffskonflikten.Die Anzahl wettstreitiger Prozesse ist anwendungsfallabhängig und hat einen großen Einfluss auf die Effektivität ihrer Koordination auf allen Ebenen eines Rechensystems. Mehraufwand, Skalierbarkeit und Dediziertheit der Schutzfunktionen bilden dabei entscheidende leistungsbeeinflussende Faktoren. Diese Einflussgröße bedingt nicht nur variierende Prozesslaufzeiten, sondern auch verschiedene Energieverbräuche. Ersteres führt zu Rauschen (noise) oder Schwankung (jitter) im Programmablauf: nichtfunktionale Systemeigenschaften, die besonders problematisch für hochparallele oder echtzeitabhängige Prozesse sind. Demgegenüber hat letzteres einerseits wirtschaftliches Gewicht wie auch ökologische Auswirkungen und tangiert andererseits die Grenzen in der Skalierung vielkerniger Prozessoren (dark silicon).In Abhängigkeit von der strukturellen Komplexität eines kritischen Abschnitts und seiner Wettstreitanfälligkeit zeichnet sich ein Zielkonflikt ab, dem durch analytische und konstruktive Maßnahmen im Vorhaben begegnet werden soll. Untersuchungsgegenstände sind eigene Spezialbetriebssysteme, die in erster Linie zur Unterstützung der parallelen und teils auch echtzeitabhängigen Datenverarbeitung ausgelegt sind, und Linux. Ziel ist die Bereitstellung (a) einer Softwareinfrastruktur zur lastabhängigen, von den Programmabschnitten selbst organisierten änderung des Schutzes vor kritischen Wettläufen gleichzeitiger Prozesse sowie (b) von Werkzeugen zur Aufbereitung, Charakterisierung und Erfassung solcher Abschnitte. Durch erhöhte Prozessaktivität bedingte und sich in Energieverbrauchs- und Temperaturanstiege manifestierende Heißpunkte (hotspots) sollen durch eine abschnittsspezifische Auswahlstrategie auf Abruf oder vorausschauend vermieden oder abgeschwächt werden können. In der zu treffenden Abwägung zur dynamischen Rekonfigurierung eines kritischen Abschnitts fließt der durch die jeweilige Auswahlstrategie verursachte Mehraufwand mit ein, um eine änderung nur dann vorzusehen, wenn auch wirklich praktischer Gewinn gegenüber der ursprünglichen Lösung zu erwarten ist. Vorher-nachher-Vergleiche an den untersuchten Betriebssystemen sollen die Effektivität des entwickelten Ansatzes aufzeigen.
  • Konfigurierbarkeitsgewahre Betriebssystementwicklung

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: seit 1. Mai 2014
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)

    Viele Betriebssysteme sind zur übersetzungszeit hochgradig konfigurierbar. Linux 4.2 bietet beispielsweise mehr als 15.000 konfigurierbare Merkmale zur problemgewahren Anpassung, die technisch auf mehreren Ebenen des Generierungsprozesses (Konfigurationssystem, Build-System, C Präprozessor, Linker, ...) umgesetzt werden. Die resultierende Variabilität wird in der Praxis nicht mehr beherrscht und hat im Falle von Linux bereits zu Tausenden von Defekten geführt.

    Zweck des Vorhabens ist die Erforschung von skalierbaren Methoden, Techniken und Werkzeugen zur Beherrschung der Variabilität in Betriebssystemen und anderer konfigurierbarer Systemsoftware durch eine ganzheitliche und ebenenübergreifende Erfassung, Darstellung, Bewertung und Beeinflussung von Merkmalsimplementen. Die implizit codierten Variabilitätsinformationen sollen durch entsprechende Werkzeuge aus den verschiedenen Implementierungsebenen extrahiert und in ein gemeinsames Modell integriert werden. Merkmalsimplemente werden in einer domänenspezifischen Sprache als ebenenübergreifende "Merkmalseinfassungen" repräsentiert. Eine Merkmalseinfassung ist vergleichbar mit einem Aspekt (AOP), die sich in ihren Auswirkungen jedoch über mehrere Ebenen des Generierungsprozesses und unterschiedliche Artefakt-Typen (C-Quellcode, Build-Skripte, Linker-Anweisungen, ...) erstreckt.

    Ziel des Vorhabens ist die bessere Beherrschbarkeit von Variabilität durch eine variabilitätsgewahre Entwicklung, Analyse, Wartung und Qualitätssicherung von Betriebssystemcode.

  • Systemsoftwareinfrastruktur heterogener Bildsysteme (GRK 1773, HBS, Teilprojekt B.2)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: GRK 1773: Heterogene Bildsysteme
    Laufzeit: 1. Oktober 2012 - 31. Dezember 2018
    Mittelgeber: Deutsche Forschungsgemeinschaft (DFG)
    URL: http://hbs.fau.de/research/area-b-methods-and-tools/project-b-1/

    Das Teilprojekt untersucht architektonische Belange der Systemsoftware für Bildsysteme und entwickelt eine Infrastruktur zum Aufbau anwendungsgewahrer Systemlösungen dieser Domäne. Im Vordergrund stehen dabei:

    1. Die Maßschneiderung und Optimierung der Verschränkung von Anwendungs- und Systemsoftware im Hinblick auf die anwendungspezifischen Interaktionen zwischen Host (Multicore-PC) und Spezialzweckhardware (GPU/DSP).
    2. Die Beherrschung der aus diesem Ansatz resultierenden Variabilität in der Systemsoftware.

    B2 adressiert als Brückenprojekt die Reduktion der Interaktionskosten zwischen Anwendungen (Projektbereich C) und Hardware (Projektbereich A) im Hinblick auf nichtfunktionale Eigenschaften. Dies wird zum Beispiel von Teilprojekt C1 bzgl. Latenz und Energieverbrauch gefordert; C4 profitiert von der anwendungsgewahren Optimierung der Systemsoftware in Hinblick auf verschränkte CPU/GPU-Algorithmen. Die in B3 entwickelte domänenspezifische Programmiermethodik nutzt die in B2 entwickelten Systemabstraktionen für die effiziente Verschattung der Heterogenität.

    Im Fokus des Teilprojekts liegt die Entwicklung einer problemorientierten Laufzeitexekutive für heterogene Vielkernprozessoren, mit Blickpunkt auf die betriebsmittelgewahre Simultanverarbeitung *(resource-aware multi- processing, RAMP)* von Anwendungen heterogener Bildsysteme. Der dabei entstehende Minimalkern ist zunächst GPU- und RAM-zentrisch ausgelegt.

  • Softwarekontrollierte Konsistenz und Kohärenz für vielkernige Prozessorarchitekturen

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. September 2012 - 31. März 2021
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)

    Die erzielbare Rechenleistung einzelner Prozessoren stößt gegenwärtig an ihre technologischen Grenzen, eine weitere Leistungssteigerung ist nur durch den Einsatz vieler Rechenkerne zu erreichen. Während Prozessorarchitekturen mit bis zu 16 Kernen den aktuellen Stand der Technik bei marktüblichen Produkten markieren, sind vereinzelt schon Systeme mit 100 Rechenkernen erhältlich. Zukünftig sind hier Architekturen mit über tausend Rechenkernen zu erwarten. Zur besseren Skalierbarkeit sind in diese Prozessoren extrem leistungsfähige Kommunikationsnetzwerke integriert (network on chip, NoC), sodass sie de facto die Eigenschaften eines verteilten Systems mit denen eines NUMA-Systems vereinen. Die extrem niedrige Latenz und hohe Bandbreite dieser Netzwerke eröffnet die Möglichkeit, Verfahren der Replikation und Konsistenzerhaltung von der Hardware in Betriebs- und Laufzeitsysteme zu verlagern und so notorischen Problemen wie falscher Mitbenutzung von Speicherzellen (false sharing), dem Flattern von Zwischenspeicherzeilen (cache thrashing) und Engpässen in der Speicherbandbreite flexibel zu begegnen.

    Ziel des Vorhabens ist es daher, zunächst einen minimalen, ereignisgetriebenen Konsistenzkern (concistency kernel, COKE) für solche vielkernigen Prozessoren zu entwerfen, der die notwendigen Elementaroperationen für softwarekontrollierte Konsistenzerhaltungsprotokolle für höhere Schichten zur Verfügung stellt. Auf der Basis dieses Kerns werden diverse "Konsistenzmaschinen" entworfen, die verschiedene Speichersemantiken für software- und seitenbasierten gemeinsamen Speicher ermöglichen.

  • Softwareinfrastruktur betriebsmittelbeschränkter vernetzter Systeme (Phase 1)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: FOR 1508: Dynamisch adaptierbare Anwendungen zur Fledermausortung mittels eingebetteter kommunizierender Sensorsysteme
    Laufzeit: 1. August 2012 - 31. Juli 2015
    Mittelgeber: DFG / Forschungsgruppe (FOR)
  • Effiziente verteilte Koordinierung

    (Projekt aus Eigenmitteln)

    Laufzeit: seit 1. Januar 2012
    URL: https://www4.cs.fau.de/Research/EDC/

    Koordinierungsdienste wie ZooKeeper stellen zentrale Bausteine heutiger Datenzentrumsinfrastrukturen dar, da sie Prozessen verteilter Anwendungen Mechanismen zur Verfügung stellen, um Nachrichten auszutauschen, Anführerwahlen durchzuführen, Rechner- oder Prozessausfälle zu erkennen, oder Konfigurationsdaten auf zuverlässige Art und Weise zu speichern. Aufgrund ihrer hervorgehobenen Rolle als Stabilitätsanker für Client-Anwendungen müssen Koordinierungsdienste hohe Anforderungen hinsichtlich Widerstandsfähigkeit und Performanz erfüllen. Nur so lässt sich garantieren, dass ein Koordinierungsdienst weder zur Schwachstelle noch zum Flaschenhals des Gesamtsystems wird.

    Um den Defiziten existierender Systeme entgegen zu wirken, entwickelt das EDC-Projekt Ansätze, die es Koordinierungsdiensten ermöglichen ihren strengen Stabilitäts- und Performanzvorgaben nachzukommen. Neben diversen anderen Aspekten umfasst dies die Toleranz sowohl gutartiger als auch bösartiger Fehler, die Integration von Mechanismen zur dynamischen Erweiterung der Funktionalität mit dem Ziel der Minimierung des Kommunikations- bzw. Synchronisierungsaufwands, und den Entwurf von Systemarchitekturen zur effektiven und effizienten Nutzung von Mehrkernrechnern. Trotz der Konzentration des Projekts auf Koordinierungsdienste ist zu erwarten, dass die entwickelten Konzepte und Techniken auch in anderen Domänen Anwendung finden können, beispielsweise im Kontext von replizierten Datenspeichersystemen.

  • Aspektorientierte Echtzeitsystemarchitekturen (Phase 1)

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. August 2011 - 31. August 2016
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)
    URL: https://www4.cs.fau.de/Research/AORTA/

    Eine zentrale Rolle bei der Entwicklung von Echtzeitsystemen spielt die verwendete Echtzeitsystemarchitektur, in der sie nämlich Mechanismen widerspiegelt, um kausale und temporale Abhängigkeiten zwischen verschiedenen, gleichzeitigen Aufgaben eines Echtzeitsystems zu implementieren. Zwei gegensätzliche Pole solcher Architekturen stellen zeit- und ereignisgesteuerte Systeme dar. In ersteren werden Abhängigkeiten bevorzugt auf temporale Mechanismen abgebildet: Aufgabenfragmente werden zeitlich so angeordnet, dass beispielsweise gegenseitiger Ausschluss oder Produzenten-Konsumenten-Abhängigkeiten eingehalten werden. In letzteren werden solche Abhängigkeiten mit Hilfe von Synchronisationskonstrukten wie Semaphore oder Schlossvariablen explizit koordiniert. Die Echtzeitsystemarchitektur beeinflusst also die Entwicklung eines Echtzeitsystems auf Ebene der Anwendung und kann dort als stark querschneidende, nicht-funktionale Eigenschaft aufgefasst werden. Diese Eigenschaft beeinflusst darüber hinaus die Implementierung weiterer wichtiger nicht-funktionaler Eigenschaften von Echtzeitsystemen, etwa Redundanz oder Speicherverbrauch. Basierend auf einer geeigneten Repräsentation der kausalen und temporalen Abhängigkeiten auf der Ebene der Anwendung sollen im Rahmen des beantragen Projekts Mechanismen entwickelt werden, um die Echtzeitsystemarchitektur und damit weitere nicht-funktionale Eigenschaften von Echtzeitsystemen gezielt zu beeinflussen.

  • Latenzgewahrheit in Betriebssystemen für massiv-parallele Prozessoren

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. Mai 2011 - 30. April 2020
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)

    Thema des Vorhabens ist die effiziente Nutzung von Kernen homogener oder heterogener massiv-paralleler Prozessoren für Betriebssystemprozesse im Namen von ablaufenden (nichtsequentiellen) Anwendungsprogrammen. Im Vordergrund stehen konstruktive Ansätze zur Vorbeugung, Vermeidung und Verbergung von Latenzen, hervorgerufen beim Zugriff konkurrierender Prozesse auf gemeinsame Betriebsmittel und bei Ausführung von Systemfunktionen. Schwerpunktmäßig untersucht werden optimistische Verfahren der Interprozesssynchronisation im Zusammenspiel mit vorausschauenden Maßnahmen zur Bindung von Kontrollflüssen an dedizierten, freien oder weniger ausgelasteten Kernen des ausführenden Prozessors. Es werden Bindungsoptionen von Betriebssystemfunktionen an Prozessorkerne entwickelt, aspektorientiert programmiert und hinsichtlich Effizienz bewertet. Die von Grund auf durchgeführte Implementierung eines parallelen, nachrichtenversendenden Betriebssystemkerns dient der Bewertung der entwickelten Lösungen am Objekt selbst und liefert darüber hinausgehend auch Vorlagen zur Verbesserung der internen Parallelität und Skalierbarkeit konventioneller Betriebssysteme. Eine Funktionsintegration mit Komponenten eines Linux-Kerns ist daher ebenfalls angestrebt.

  • Trustworthy Clouds - Privacy and Resilience for Internet-scale Critical Infrastructure

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: Trustworthy Clouds - Privacy and Resilience for Internet-scale Critical Infrastructure
    Laufzeit: 1. Oktober 2010 - 1. Oktober 2013
    Mittelgeber: EU - 7. RP / Cooperation / Verbundprojekt (CP)
  • Verlässlichkeitsaspekte für konfigurierbare eingebettete Betriebssysteme

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: SPP 1500: Entwurf und Architekturen verlässlicher Eingebetteter Systeme
    Laufzeit: 1. Oktober 2010 - 30. September 2017
    Mittelgeber: DFG / Schwerpunktprogramm (SPP)
    Future hardware designs for embedded systems will exhibit more parallelism at the price of being less reliable. This bears new challenges for system software, especially the operating system, which has to use and provide software measures to compensate for unreliable hardware. However, dependability in this respect is a nonfunctional concern that affects and depends on all parts of the system. Tackling it in a problem-oriented way by the operating system is an open challenge: (1) It is still unclear, which combination of software measures is most beneficial to compensate certain hardware failures – ideally these measures should be understood as a matter of configuration and adaptation. (2) To achieve overall dependability, the implementation of these measures, even though provided by the operating system, cannot be scoped just to the operating-system layer – it inherently crosscuts the whole software stack. (3) To achieve cost-efficiency with respect to hardware and energy, the measures have, furthermore, to be tailored with respect to the actual hardware properties and reliability requirements of the application. We address these challenges for operating-system design by a novel combination of (1) speculative and resource-efficient fault-tolerance techniques, which can (2) flexibly be applied to the operating system and the application by means of aspect-oriented programming, driven by (3) a tool-based (semi-)automatic analysis of the application and operating-system code, resulting in a strictly problem-oriented tailoring of the latter with respect to hardware-fault tolerance.
  • IT-Sicherheit bei invasivem Rechnen (C05)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: TRR 89: Invasives Rechnen
    Laufzeit: 1. Juli 2010 - 30. Juni 2022
    Mittelgeber: DFG / Sonderforschungsbereich / Transregio (SFB / TRR)
    Untersucht werden Anforderungen und Mechanismen zum Schutz vor böswilligen Angreifern für ressourcengewahre rekonfigurierbare Hardware/Software-Architekturen. Der Fokus liegt auf der Umsetzung von Informationsflusskontrolle mittels Isolationsmechanismen auf Anwendungs-, Betriebssystems- und Hardwareebene. Ziel der Untersuchungen sind Erkenntnisse über die Wechselwirkungen zwischen Sicherheit und Vorhersagbarkeit kritischer Eigenschaften eines invasiven Rechensystems.
  • Invasives Laufzeitunterstützungssystem (iRTSS) (C01)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: TRR 89: Invasives Rechnen
    Laufzeit: 1. Juli 2010 - 30. Juni 2022
    Mittelgeber: DFG / Sonderforschungsbereich / Transregio (SFB / TRR)

    Teilprojekt C1 erforscht Systemsoftware für invasiv-parallele Anwendungen. Bereitgestellt werden Methoden, Prinzipien und Abstraktionen zur anwendungsgewahren Erweiterung, Konfigurierung und Anpassung invasiver Rechensysteme durch eine neuartige, hochgradig flexible Betriebssystem-Infrastruktur. Diese wird zur praktischen Anwendung in ein Unix-Wirtssystem integriert. Untersucht werden (1) neue Entwurfs- und Implementierungsansätze nebenläufigkeitsgewahrer Betriebssysteme, (2) neuartige AOP-ähnliche Methoden für die statische und dynamische (Re-)konfigurierung von Betriebssystemen sowie (3) agentenbasierte Ansätze für die skalierbare und flexible Verwaltung von Ressourcen.

  • Adaptive responsive Eingebettete Systeme (ESI 2)

    (Drittmittelfinanzierte Gruppenförderung – Teilprojekt)

    Titel des Gesamtprojektes: ESI-Anwendungszentrum für die digitale Automatisierung, den digitalen Sport und die Automobilsensorik der Zukunft
    Laufzeit: 1. Januar 2010 - 31. Dezember 2018
    Mittelgeber: Bayerisches Staatsministerium für Wirtschaft und Medien, Energie und Technologie (StMWIVT) (ab 10/2013)
    URL: https://www4.cs.fau.de/Research/ARES/
    Das Projekt ARES befasst sich mit der Entwicklung von adaptiven Eingebetteten Echtzeitrechensystemen welche Echtzeitsignalverarbeitung und Berücksichtigung der zur Verfügung stehenden Energie garantieren:

    Eingebettete System stützen sich häufig auf eine komplexe Sensorik für die Erfassung der Umwelt. Ein integraler Bestand dieser Systeme ist eine nicht minder komplexe Signalverarbeitung und Regelung. Da ihre Funktion maßgeblich von der rechtzeitigen Bereitstellung der Ergebnisse abhängt, gehören sie zur Klasse der Echtzeitsysteme. Eine übliche Grundannahme ist dabei die äquidistante und gleichzeitige Ausführung aller Modellelemente. Das bedeutet, dass die Abtastung aller Sensoren, die Berechnung sowie das Setzen der Stellwerte ohne zeitliche Verzögerung erfolgen soll. Diese Annahmen sind nicht direkt umsetzbar und stellen insbesondere für die in Leistung und Energieverbrauch begrenzten tief eingebetteten Systeme ein zunehmendes Problem dar. Ziel des Projekts ist daher einerseits die Optimierung des eingesetzten Echtzeitbetriebssystems hinsichtlich dessen Ressourcenbedarfs um die entstehenden Latenzen zu minimieren und damit eine höhere modelltreue zu erreichen. Andererseits soll auch das Entwurfsmodell verfeinert, geeigneten Anpassungen bei der Ablaufplanung durchgeführt und Schnittstellen zwischen Anwendung und Echtzeitbetriebssystem bereitgestellt werden. Insgesamt soll die Leistungsfähigkeit der Hardware besser ausgenutzt werden und gleichzeitig die Signalqualität und Regelgüte erhalten bleiben. Dieses Ziel ist ein erster Schritt zur Entwicklung energieeffizienter Systeme, da erst die Entspannung der Echtzeittermine eine energiegewahre Ablaufplanung ermöglicht.

    Energiespeicher und Energieversorgung eingebetteter Systeme sind stringenten Einschränkungen unterworfen, insbesondere wenn solche Systeme am Körper getragen werden: Begrenztes Gewicht, limitierte Größe und eingeschränkte Laufzeit stellen große Herausforderungen an die Entwicklung von System- und Anwendungssoftware. Ein zentraler Aspekt liegt daher auf dem effizienten Umgang mit der zur Verfügung stehenden Energieressourcen. Aus Sicht des Softwareentwurfs ist der Energieverbrauch dabei eine querschneidende, nicht-funktionale Eigenschaft, die sowohl durch die eingesetzte Systemsoftware, als auch durch die eigentliche Anwendungssoftware beeinflusst wird. Ziel dieses Arbeitspakets ist es, bestehende Verfahren zur dynamischen Verwaltung der Energie mit Ansätzen zur statischen Optimierung der eigentlichen Anwendungssoftware zu kombinieren. Während dynamische Energiesparmechanismen zur Laufzeit vom Betriebssystem gesteuert werden, unterstützen statische Methoden den Entwurf energiegewahrer Software. Für die erfolgreiche Kombination dieser zwei Ansätze werden neue Werkzeuge entwickelt, um den Entwurf von Softwarekomponenten zu ermöglichen, die auf optimale Nutzung vorhandener Energieressourcen ausgerichtet sind. Der Entwurf solcher energiegewahrer Softwarekomponenten führt letztendlich zu längeren Laufzeiten der eingebetteten Systeme. Der energiegewahre Entwurf und die ressourcenschonende Ausführung bilden die Grundlage für die optimale Ausnutzung der vorhandenen Energie in einer Vielzahl von Anwendungsszenarien.

  • Betriebsunterstützung für ressourceneffiziente, einbruchstolerante Systeme unter Verwendung von Virtualisierung

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: seit 1. Oktober 2009
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)
    URL: https://www4.cs.fau.de/Research/REFIT/

    Internetgestützte Dienste nehmen eine immer zentralere Rolle in unserer Gesellschaft ein und lösen zunehmend konventionelle Infrastrukturen ab. Gleichzeitig steigt die Komplexität entsprechender Dienste und der für ihren Betrieb erforderlichen Software. Trotz zahlreicher verbesserter Entwicklungstechniken treten jedoch immer wieder Software-Fehler auf. Zudem lassen sich Schwachstellen aus der Entfernung ausnützen. Im günstigsten Fall führt dies zum sofortigen Dienstausfall, Realität ist jedoch auch die Verbreitung von verfälschten Daten. Ziel des Vorhabens ist die Bereitstellung von Betriebs- und Entwicklungsunterstützung für ressourceneffiziente, einbruchstolerante Dienste. Basis hierfür bildet die Verwendung von Virtualisierungstechnik, die es ermöglicht, mehrere Dienstinstanzen, isoliert durch einen vertrauenswürdigen Hypervisor, parallel auf einem Rechner zu betreiben. Dies spart Ressourcen gegenüber konventioneller Replikation und bietet die Basis für zu erforschende Optimierungen (z.B. deterministische mehrfädige Ausführung). Die entwickelte Systemunterstützung soll am Beispiel einer Web-basierten Mehrschichtarchitektur in Bezug auf Performance und Ressourcenverbrauch im Vergleich zu nicht-replizierten und konventionell replizierten Varianten evaluiert werden. Abschließend soll eine Basisinfrastruktur entstehen, die eine einfache Installation von einbruchstoleranten Diensten ermöglicht und ihren Betrieb, zum Beispiel im Kontext von Cloud Computing, praktikabel gestaltet.

  • Variabilitätsverwaltung in Betriebssystemen

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. November 2008 - 31. Oktober 2011
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)

    Topic of the project is variability of system software evoked by the non- functional properties of operating-system functions, which emerges from (a) different implementations of the same system function to make an appearance of certain non-functional properties and (b) the using level of those implementations in order to compensate for effects of these properties. Program sequences taking care of a case-dependent compensation of effects at places of their ramification in system software will be described by means of problem-specific fittings using a domain-specific programming language (DSL): a fitting is similar to an aspect (AOP) but can be brought in the system software fine-grained and at extra declared program points. Fusion of implementations and ramification places of selected non-functional properties is done by a tool (fitting compiler) to process fittings in a case-specific manner. This way, architectural concerns of an operating system related to e.g. synchronisation, preemption (of execution threads), and operating mode are going to be treated. Applicability of this approach is validated on the basis of proprietary (CiAO) and non-proprietary (eCos, Linux) developments. In order alleviate risk of wrong decisions in the configuration process, multi-criteria assessment of functional identical but in non-functional terms different operating-system products will be carried out.

  • Variabilitätsverwaltung in Betriebssystemen

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. Oktober 2008 - 31. Oktober 2011
    Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)

    Thema des Vorhabens ist die durch nichtfunktionale Eigenschaften von Betriebssystemfunktionen hervorgerufene Variabilität von Systemsoftware: (a) die durch verschiedene Implementierungen derselben Systemfunktion verursachte Variabilität, um gewisse nichtfunktionale Eigenschaften in Erscheinung treten zu lassen, und (b) die auf der ”benutzenden Ebene“ dieser Implementierungen auftretende Variabilität, um die Auswirkungen bestimmter nichtfunktionaler Eigenschaften zu kompensieren. Programmsequenzen zur fallabhängigen Kompensation von Effekten an solchen Auswirkungsstellen in der Systemsoftware werden durch problemspezifisch ausgelegte Fittinge in einer domänenspezifischen Programmiersprache (DSL) beschrieben: Ein Fitting ähnelt einem Aspekt (AOP), er kann jedoch feingranular an beliebige und extra ausgewiesene Programmstellen in die Systemsoftware eingebracht werden. Die Verschmelzung der Implementierungen und Auswirkungsstellen von ausgewählten nichtfunktionalen Eigenschaften nimmt ein Werkzeug (Fittingkompilierer) vor, das fallspezifisch die Fittinge verarbeitet. Behandelt werden so u.a. architektonische Belange eines Betriebssystems zur Synchronisation, Verdrängung (von Ausf¨uhrungssträngen) und Rechnerbetriebsart. Der Ansatz wird an Eigen- (CiAO) und Fremdentwicklungen (eCos, Linux) auf seine Eignung hin validiert. Um das ”Risiko“ von Fehlentscheidungen im Kompositionsprozess zu verringern, wird eine multikriterielle Bewertung von funktional zwar identischen jedoch in nichtfunktionaler Hinsicht verschiedenen Betriebssystemprodukten vorgenommen.

  • Evaluationsplattform für eingebettete und sicherheitskritische Systemsoftware in Forschung und Lehre

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 1. Oktober 2007 - 31. Juli 2014
    Mittelgeber: Siemens AG

    Der I4Copter hat seinen Ursprung im CoSa Projekt, wo er als Demonstrator für echt sicherheitskritische Systemsoftware eingesetzt wird. Stärker als zu Anfang angenommen erwies sich das Projekt während der Entwicklung des Prototypen als Herausforderung, sowohl im Sinne der Systemkomplexität als auch in den Anwendungsmöglichkeiten. So stellt die für die Regelung, Navigation und Kommunikation notwendige Software eine umfassende und anspruchsvolle Anwendung für die zugrunde liegende Systemsoftware dar. Aus diesem Grund hat sich der I4Copter schnell als anschauliche Plattform für die verschiedensten Aspekte der Forschungsaktivitäten im Bereich der Systemsoftware etabliert. Dadurch profitieren auch andere Forschungsprojekte, wie zum Beispiel CiAO, von den Möglichkeiten als Demonstrator und Evaluationsplattform. Neben der Software beinhaltet die Entwicklung eines Quadrokopters eine Reihe von weiteren Herausforderungen anderer Ingenieursdisziplinen wie zum Beispiel der Konstruktions-, Fertigungs- und Regelungstechnik. Dadurch hat sich der I4Copter von einem informatik zu einem echt interdisziplinären Projekt entwickelt und umfasst heute starke Partner aus anderen Bereichen der Forschung. So zeigt sich auch eindrucksvoll der Nutzen und die Notwendigkeit solch interdisziplinärer Projekte für eine praxisnahe Lehre, dies gilt im Besonderen auch für die kombinierter Studiengänge (z.B. Mechatronik oder Computational Engineering)

     

Kurzbiographie

Jürgen Kleinöder is CIO of the Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Germany and Senior Academic Director at the Department of Computer Science 4 (Chair for Distributed Systems and Operating Systems). He is  Deputy Managing Director of the Department of Computer Science and Managing Director of the Transregional Collaborative Research Center „Invasive Computing“ (SFB/TRR 89).

He completed his Master’s Degree (Diplom-Informatiker) in 1987 and his Ph.D. (Dr.-Ing.) in 1992 at the University of Erlangen. Between 1986 and 1989 he worked on UNIX operating-system support for multiprocessor architectures. From 1988 to 1991 he was member of the project groups for the foundation of a Bavarian University Network and the German IP network.

He is currently interested in all aspects of distributed object-oriented operating-system architectures; particularly in concepts for application-specific adaptable operating-system and run-time-system software (middleware).

He is member of the ACM, Eurosys and the German GI. From 2001 – 2008 he was chair of the special interest group „operating systems“ in the GI.