Projekte
Unsere aktuellen geförderten Forschungsprojekte:
-
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)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.
-
Nichtflüchtigkeit in energiebewussten Betriebssystemen
(Drittmittelfinanzierte Einzelförderung)
Laufzeit: seit 1. Januar 2022
Mittelgeber: DFG-Einzelförderung / Sachbeihilfe (EIN-SBH)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.
-
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.
-
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.
-
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.