Supervisor | Johannes Behl |
Professor | Prof. Dr. Rüdiger Kapitza |
Project | TCLOUDS |
REFIT | |
IBR Group | DS (Prof. Kapitza) |
Type | Master Thesis |
Status | finished |
EinleitungMit der zunehmenden Verlagerung weiter Bereiche unseres Lebens ins Netz der Netze kommt der Verlässlichkeit und Sicherheit der dort angebotenen und verwendeten Dienste eine stetig zunehmende Bedeutung zu. Dem gegenüber steht jedoch die steigende Komplexität der dahinter liegenden Hard- und Softwaresysteme. Nicht nur dies macht es praktisch unmöglich, das Auftreten von Fehlern im laufenden Betrieb von vornherein vollständig auszuschließen. Es gilt somit, Dienste derart umzusetzen, dass sie bis zu einem gewissen Grad tolerant gegen auftretende Fehler sind. In vielen Fällen werden bei diesbezüglichen Vorkehrungen nur bestimmte Klassen von Fehlern berücksichtigt, zum Beispiel Fehler, die ausschließlich zu Abstürzen von Teilsystemen führen. Andere Fehlerklassen, transiente Hardwarefehler beliebiger Art, Angriffe auf Dienste und ihre Kompromittierung, Softwarefehler, die zu unvorhersehbarem Verhalten führen usw., bleiben dabei außen vor. Insbesondere für kritische Dienste wäre es jedoch mehr als nur wünschenswert, wenn diese in der Lage wären, beliebige Fehler zu tolerieren. So genannte byzantinisch fehlertolerante (BFT) Systeme werden benötigt. ProblemBFT-Systeme werden seit geraumer Zeit erforscht. Dadurch stehen einige prototypische Implementierungen zur Verfügung, die jedoch eine ganze Reihe von Problemen aufweisen:
AufgabenstellungGesucht wird daher die Grundlage, mithin das Kommunikationssystem für ein flexibles, das heißt statisch und dynamisch anpassbares, hoch performantes Framework für BFT-Systeme, das effizienten Gebrauch von heutigen und zukünftigen Hard- und Softwarearchitekturen macht. Hierfür sollen mögliche Konzeptionen für ein solches nachrichtenorientiertes Kommunikationssystem systematisch sowohl theoretisch als auch anhand prototypischer Implementierungen untersucht werden. Zuerst müsste der Lösungsraum abgesteckt werden: Asynchroner vs. synchroner, gepufferter vs. ungepufferter, zuverlässiger vs. unzuverlässiger, blockierender vs. nicht blockierender Nachrichtenversand; ereignis- vs. thread-basierte Verarbeitung; Schnittstelle zur Anwendung basierend auf Chunks und Nachrichten mit fixer oder variabler Größe oder gar Objektschnittstellen; Warteschlangen, Ringpuffer oder sonstiges als interne Speicherstrukturen, usw. usf. Die möglichen Lösungen wären anschließend in geeigneter Weise in Java zu implementieren und auf Grundlage eines einfachen Einigungsprotokolls zu evaluieren. Vielversprechende Ansätze würde man zu guter Letzt versuchen, so weit es geht für moderne NUMA-Mehrkernarchitekturen zu optimieren. (Optimierung auf Ebene der Nachrichten, des Speicher-Layouts und der Prozessorbenutzung - Stichworte: Multi-Level-Caches, Garbage Collection, unter Umständen multiskalare Out-of-order-Ausführung) |
Vacancies of TU Braunschweig
Career Service' Job Exchange
Merchandising
Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
P. O. Box: 38092 Braunschweig
GERMANY
Phone: +49 (0) 531 391-0