Verteilte Systeme
Verteilte Systeme zeichnen sich dadurch aus, dass sie aus mehreren, weitestgehend eigenständigen und über ein Netzwerk miteinander verbundenen Komponenten bestehen, die einen gemeinsamen Dienst anbieten. Abhängig von der konkreten Ausprägung kann es sich hierbei beispielsweise um die auf wenige Rechner begrenzte redundante Speicherung kleiner Dateien handeln, oder aber auch um die massiv parallele Verarbeitung großer Datenmengen im Rahmen weltumspannender Cloud-Anwendungen. Während sich durch die Verteiltheit eines Systems einerseits neue Möglichkeiten eröffnen, wie etwa eine Verbesserung der Fehlertoleranzeigenschaften durch Replikation von Daten oder Berechnungen, ergeben sich andererseits zusätzliche Herausforderungen, wie zum Beispiel die effiziente Bereitstellung von Diensten bei einer Verteilung auf mehrere geografische Standorte. Ziel der Forschungsaktivitäten des Lehrstuhls ist die Entwicklung von Konzepten und Techniken, die es Systemen erlauben, die sich durch Verteilung bietenden Chancen zu nutzen und dabei die zur Verfügung stehenden Ressourcen so effizient wie möglich einzusetzen.
Projekte:
E³: Energiegewahre Ausführungsumgebungen
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…
REFIT: Betriebsunterstützung für ressourceneffiziente, einbruchstolerante Systeme unter Verwendung von Virtualisierung
Durch Einführung von Redundanz ist es möglich verteilte Systeme zu bauen, die nicht nur Ausfälle einzelner Komponenten tolerieren können, sondern beliebiges Fehlverhalten. Leider ist diese Robustheit beim Rückgriff auf existierende Ansätze nur auf Kosten eines stark erhöhten Ressourcenverbrauchs zu erreichen, so dass der erforderliche Mehraufwand den eigentlichen Nutzen oftmals übersteigt. Der Fokus des Projekts „Resource-Efficient Fault and Intrusion Tolerance (REFIT)“ liegt darauf Protokolle und Systeme zu entwickeln, die Fehlertoleranz und Ressourceneffizienz miteinander in Einklang bringen. Zentrale Herangehensweise ist hierbei, die Redundanz während des Normalbetriebs eines System auf das Nötigste zu beschränken und zur Tolerierung von Fehlern erforderliche Ressourcen nur im Rahmen der Fehlerbehandlung zu belegen.
EDC: Effiziente verteilte Koordinierung
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 Widerst…
BFT2Chain: Entwurf und Validierung skalierbarer Byzantinisch fehlertoleranter Einigungsalgorithmen für Blockchains
Distributed Ledger Technologies (DLTs), oft auch als Blockchains bezeichnet, ermöglichen die Realisierung zuverlässiger und angriffsresilienter Dienste ohne zentrale Infrastruktur. Die verbreiteten "Proof-of-Work"-Mechanismen für DLTs leiden jedoch unter hohen Latenzen von Operationen und enormen Energiekosten. Byzantinisch fehlertolerante (BFT) Einigungsalgorithmen stellen eine potentiell bessere Alternative zu Proof-of-Work dar. Jedoch bringen aktuelle BFT-Protokolle auch Herausforderungen mit sich, die ihre praktische Verwendung in Produktivsystemen noch einschränken. Dieses Forschungsvorhaben adressiert diese Herausforderungen, indem es (1) die Skalierbarkeit von BFT-Protokollen verbessert, ohne ihre Resilienz einzuschränken, (2) durch Modellierung die zu erwartende Performanz und das zeitliche Verhalten der Protokolle auch unter Angriffen und in Abhängigkeit der Rahmenparameter des Protokolls vorhersehbarer macht, sowie (3) den Entwurfsprozesses von validen, automatisiert prüfbaren BFT-Systemen von Spezifikation bis hin zum Einsatz in einer Blockchain-Infrastruktur unterstützt. Beim Thema Skalierbarkeit geht es darum, praxistaugliche Lösungen zu finden, die auch Herausforderungen wie Wiederanlauf nach größeren Ausfällen oder Upgrades sowie Rekonfigurationen zur Laufzeit berücksichtigen. Auch möchten wir eine resiliente Kommunikationsschicht konzipieren, die die Wahl einer geeigneten Kommunikationstopologie vom eigentlichen BFT-Einigungsalgorithmus entkoppelt und somit dessen Komplexität reduziert. Dies soll durch die Verwendung von vertrauenswürdigen Hardwarekomponenten unterstützt werden. Anknüpfend wollen wir an der Kombination dieser Konzepte mit kryptographischen Primitiven forschen, um die Skalierbarkeit weiter zu verbessern. Mit Hilfe von systematischen Modellierungstechniken möchten wir die Effizienz von skalierbaren, komplexen BFT-Protokollen (beispielsweise hinsichtlich Durchsatz und Latenz von Operationen) schon vor einem Deployment analysieren können, wenn man die Systemgröße, Rechenleistung von Knoten und grundlegende Eigenschaften der Kommunikationsverbindungen kennt. Auch möchten wir an robusten Gegenmaßnahmen forschen, die in groß-skalierbaren Blockchain-Systemen helfen, gezielte Angriffe abzuwehren. Das dritte Ziel ist es, die systematische und valide Umsetzung in ein praktisches System zu unterstützen, gegliedert in einem konstruktiven, modularen Ansatz, bei dem ein validierbares BFT-Protokoll aus kleineren, validierbaren Bausteinen komponiert wird, die Inkorporation automatisierter Testverfahren auf Grundlage eines heuristischen Algorithmus, der den komplexen Suchraum von Fehlverhalten in BFT-Systemen beherrschbarer macht und ein Werkzeug für automatisiertes Deployment mit einhergehendem Benchmarking und Stress-Testing in einem groß-skalierten DLT-System.
Kontaktpersonen:
Beteiligte Wissenschaftler:
Publikationen:
SplitBFT: Improving Byzantine Fault Tolerance Safety Using Trusted Compartments
23rd ACM/IFIP International Middleware Conference, Middleware 2022 (Quebec, QC, 7. November 2022 - 11. November 2022)
In: Middleware 2022 - Proceedings of the 23rd ACM/IFIP International Middleware Conference 2022
DOI: 10.1145/3528535.3531516 , , , , , :
Byzantine Fault-Tolerant State-machine Replication from a Systems Perspective
In: ACM Computing Surveys 54 (2021), Art.Nr.: 24
ISSN: 0360-0300
DOI: 10.1145/3436728 :
Stream-based State Machine Replication
In: Proceedings of the 17th European Dependable Computing Conference (EDCC '21) 2021
DOI: 10.1109/edcc53658.2021.00024 , :
Resilient Cloud-based Replication with Low Latency
21st International Middleware Conference, Middleware 2020 (, 7. Dezember 2020 - 11. Dezember 2020)
In: Middleware 2020 - Proceedings of the 2020 21st International Middleware Conference 2020
DOI: 10.1145/3423211.3425689
URL: https://www4.cs.fau.de/Publications/2020/eischer_20_middleware.pdf , :
Strome: Energy-Aware Data-Stream Processing
Distributed Applications and Interoperable Systems (Madrid, 18. Juni 2018 - 21. Juni 2018)
In: Proceedings of the 18th International Conference on Distributed Applications and Interoperable Systems (DAIS '18) 2018
DOI: 10.1007/978-3-319-93767-0_4 , , , :
Resource-efficient Byzantine Fault Tolerance
In: IEEE Transactions on Computers, Washington, DC, USA: IEEE Computer Society, 2016, S. 2807-2819 (IEEE Transactions on Computers, Bd.65(9))
DOI: 10.1109/TC.2015.2495213
URL: https://www4.cs.fau.de/Publications/2015/distler_15_ieeetc.pdf , , :