Entwurf eines Hardware-Transaktionsspeichers für den Einsatz in eingebetteten Systemen
Bild- und Sprachverarbeitung, Computergraphik und Visualisierung, Human Computer Interaction, Ubiquitous und Wearable Computing
Zusammenfassung der Projektergebnisse
Hardware-Transaktionsspeicher ist ein Hardwaremechanismus, welcher die Laufzeit von Anwendungen auf Multi-Cores durch optimistische Synchronisation verbessern und deren Entwicklung vereinfachen kann. Im Rahmen dieses Projektes wurde der Einsatz von Hardware-Transaktionsspeicher auf eingebetteten Systemen untersucht. Bei dieser Untersuchung wurden einige Hemmnisse identifiziert. Klassische Hardware-Transaktionsspeicher unterliegen oft einer Größenbeschränkung. Dies kann zu Problemen zu führen, falls unerwartet große Datenmengen anfallen. Zum Beispiel muss ein autonomes Auto alle Passanten in seiner Umgebung erfassen können, selbst wenn eine unerwartet große Gruppe die Straße überquert. Wir haben eine Lösung in Form einer Transaktionsverwaltung implementiert, welche auch solche Extremfälle verarbeiten kann. Außerdem stellen wir eine Priorisierung bereit, durch welche es möglich ist, wichtige Aufgaben, wie z. B. die Steuerung der Bremsen, gegenüber Unerheblichen, wie z. B. dem Radio, zu bevorzugen. Die Transaktionsverwaltung kann auch Livelocks verhindern, in denen Transaktionen sich wiederholt gegenseitig abbrechen und so zu einem Einfrieren des Systems führen. Außerdem wurde ein neuartiger Mechanismus entwickelt, der es dem System erlaubt, Störungen, die z. B. durch Strahlung entstehen können, zu tolerieren. Dieser Fehlertoleranzmechanismus kann insbesondere auch auf heterogenen Multi-Cores, welche aus leistungsstarken und energieeffizienten Kernen bestehen, eingesetzt werden. Dadurch ist er besonders gut für den Einsatz in modernen eingebetteten Systemen, wie sie z. B. in autonomen Autos zum Einsatz kommen, geeignet, da diese eine hohe Rechenleistung erfordern, während sie von einem Akku mit Energie versorgt werden. Außerdem kann unser Ansatz im Störungsfall in einen fehlerfreien Zustand zurückkehren und die Ausführung von dort fortsetzen. Viele klassische Ansätze können im Störungsfall lediglich die Ausführung stoppen und in einem sicheren Zustand verharren. Letztendlich muss der Nutzer dann einen Neustart durchführen. Je nach Anforderungen des eingebetteten Systems kann der Einsatz von Hardware-Transaktionsspeicher sinnvoll sein. Durch unsere Transaktionsverwaltung wird die Entwicklung vereinfacht. Unseren Fehlertoleranzansatz ermöglicht den Einsatz solcher Systeme auch in sicherheitskritischen Anwendungsfällen. Das Gesamtsystem kann eine hohe Leistung bei gleichzeitig geringem Energiebedarf bereitstellen.
Projektbezogene Publikationen (Auswahl)
-
„Redundant Execution on Heterogeneous Multi-cores Utilizing Transactional Memory“. In: International Conference on Architecture of Computing Systems (ARCS). Springer. 2018, S. 155–167
Rico Amslinger, Sebastian Weis, Christian Piatka, Florian Haas und Theo Ungerer
-
„Hardware Multiversioning for Fail-Operational Multithreaded Applications“. In: 32nd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). IEEE. 2020, S. 20–27
Rico Amslinger, Christian Piatka, Florian Haas, Sebastian Weis, Theo Ungerer und Sebastian Altmeyer
-
„Investigating Transactional Memory for High Performance Embedded Systems“. In: International Conference on Architecture of Computing Systems (ARCS). Springer. 2020, S. 97–108
Christian Piatka, Rico Amslinger, Florian Haas, Sebastian Weis, Sebastian Altmeyer und Theo Ungerer
-
„Loosely-Coupled Fail-Operational Execution on Embedded Heterogeneous Multi-Cores“. Diss. University of Augsburg, 2021
Rico Amslinger