COKE - Consistency Kernel - Softwarekontrollierte Konsistenz und Kohärenz für vielkernige Prozessorarchitekturen
Zusammenfassung der Projektergebnisse
Zentrales Ziel der ersten Phase des Coke-Projektes war die Untersuchung und Realisierung von Modellen für flexible dynamische Teilhaberschaften und den damit verbundenen Konsistenzerhaltungsmechanismen im Kontext von Vielkernprozessoren ohne kohärente Zwischenspeicher. In der zweiten Phase sollten diese Arbeiten fortgeführt und auf partitionierte globale Adressräume (partitioned global address spaces, PGAS) ausgedehnt werden. Dabei sollte verstärkt der erforderliche Energieverbrauch untersucht werden, da dieser nicht nur einen erheblichen Einfluss auf Umwelt- und Betriebskosten hat, sondern aufgrund der Abwärmeproblematik auch einen direkten Einfluss auf die Leistungsfähigkeit des Prozessors ausübt. Inspiriert waren die Arbeiten durch den seinerzeit vorhergesagten und von Intel mit dem MARC Programm initiierten Trend, dass in Zukunft Vielkernprozessoren mit hunderten von Kernen keine herkömmliche Kohärenz von Zwischenspeichern mehr vorsähen und daher das Problem der Teilhaberschaften mit replizierten Daten durch geeignete Systemsoftware gelöst werden müssen. Diese Annahme hat sich nicht bewahrheitet, die diesbezüglichen Prozessorlinien von Intel wurden komplett eingestellt, auch sonstige Vielkernarchitekturen blieben Exoten. Da auch die vorhandene experimentelle Hardware (Intel SCC) nicht mehr betreibbar war, wurde das Projekt auf allgemeine der Konsistenz dienenden Ereignispropagations- und Synchronisationsmechanismen für herkömmliche größere Systeme mit gemeinsamem Speicher refokussiert. Aufgrund des größeren allgemeinen Interesses wurden diese Mechanismen u.a. zusätzlich in einen Linux-Kern integriert, um sie anhand realer Konsistenzprobleme (u.a. TLB shootdown) evaluieren zu können. Die Propagationsmechanismen sind deutlich effizienter als die aktuell in Linux verwendeten, die Evaluation zeigte aber, dass der Anteil an der Gesamtlaufzeit der untersuchten Aktivitäten zu gering ist, um einen signifikanten Vorteil für Anwendungen zu erzielen. In Bezug auf die untersuchten Sysnchronisationsmechanismen haben sich jedoch sowohl die sperrenfreien Warteschlangen als auch die leichtgewichtige Nowa-Plattform gegenüber den existierenden Lösungen als überlegen erwiesen. Die Energieproblematik wurde nach der Refokussierung in einem allgemeineren Kontext gestellt als ursprünglich vorgesehen. Aus diesen Untersuchungen sind sowohl Werkzeuge zur statischen Energieverbrauchsanalyse als auch ein Rahmenwerk zur Energieverbrauchsmessung für heterogene Mehr- und Viellkernsysteme hervorgegangen. Insgesamt konnten trotz der ungünstigen Randbedingungen (thematische Refokussierung, Corona) unter Einbezug der themennahen Arbeiten 30 Abhandlungen publiziert werden.
Projektbezogene Publikationen (Auswahl)
-
Earl: Energy-aware reconfigurable locks. In Special Issue on Embedded Operating Systems Workshop 2019 (EWiLi’19), volume 17, pages 24–29, New York, NY, USA, Feb. 2020. ACM, ACM SIGBED Review
S. Reif, P. Raffeck, H. Janker, L. Gerhorst, T. Hönig, and W. Schröder-Preikschat
-
Control-flow migration for data-locality optimisation in multi-core real-time systems. In Proceedings of the 41st IEEE Real-Time Systems Symposium (RTSS 2020), Brief Presentations: Work-in-Progress, pages 371–374. IEEE Computer Society, 2020
S. Reif, P. Raffeck, P. Ulbrich, and W. Schröder-Preikschat
-
Pinpoint the joules: Unifying runtime-support for energy measurements on heterogeneous systems. In Proceedings of the 2020 IEEE/ACM International Workshop on Runtime and Operating Systems for Supercomputers (ROSS), pages 31–40. IEEE Xplore, 2020
S. K¨hler, B. Herzog, T. Hönig, L. Wenzel, M. Plauth, J. Nolte, A. Polze, and W. Schröder-Preikschat
-
Annotate once — analyze anywhere: Context-aware WCET analysis by user-defined abstractions. In Proceedings of the 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES’21), pages 54–66. ACM, 2021
S. Schuster, P. W¨gemann, P. Ulbrich, and W. Schröder-Preikschat
-
Neverlast: An NVM-centric operating system for persistent edge systems. In Proceedings of the 12th ACM SIGOPS Asia-Pacific Workshop on Systems (APSys ’21), pages 146–153. ACM, Aug. 2021
C. Eichler, H. Hofmeier, S. Reif, T. Hönig, J. Nolte, and W. Schröder-Preikschat
-
Neverlast: Towards the design and implementation of the NVM-based everlasting operating system. In Proceedings of the 54th Hawai’i International Conference on System Sciences (HICSS-54), pages 7227–7236, Honolulu, HI, USA, 2021. University of Hawai’i at Manoa, ScholarSpace
C. Eichler, H. Hofmeier, S. Reif, T. Hönig, J. Nolte, and W. Schröder-Preikschat
-
Nowa: A wait-free continuation-stealing concurrency platform. In Proceedings of the 35th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2021), pages 360–371. IEEE, 2021
F. Schmaus, N. Pfeiffer, T. Hönig, J. Nolte, and W. Schröder-Preikschat
-
Fast and portable concurrent FIFO queues with deterministic memory reclamation. IEEE Transactions on Parallel and Distributed Systems, 33(3):604–616, 2022
O. Giersch and J. Nolte