Betriebssysteme · Institut für Systemarchitektur · Fakultät Informatik · TU Dresden



07. 6. 2013

Towards Consolidate-to-Idle


Johannes Steinmetz

TU Dresden

Verteidigung der Diplomarbeit

Auch in Echtzeitsystemen werden zur Verbesserung der Systemleistung Mehrprozessorsysteme eingesetzt. Diese - ohne Gefährdung der Echtzeitbedingungen - auf niedrigen Energieverbrauch hin zu optimieren ist eine Aufgabe mit verschiedenen Aspekten - auch innerhalb der verwendeten Systemsoftware. Ein zentraler Punkt eines Echtzeit-fähigen Computersystems und Gegenstand vielfältiger Forschung ist der eingesetzte CPU-Zeit Scheduler. Im Gegensatz zum üblichen "Race-to-Idle" wird beim Schedulingparadigma "Consolidate-to-Idle" versucht, zugunsten längerer Schlafzeiten die anfallenden Jobs auf nur einigen Prozessorkernen auszuführen. Zeitgleiche Abarbeitung auf allen verfügbaren Ressourcen stellt dabei eine längstmöglich zu vermeidende Ausweichstrategie dar, welche die Deadlinezusagen der Echtzeitjobs absichert.

Meine Diplomarbeit untersucht Randbedingungen dieses neuen Schedulingparadigmas und versucht anhand einer praktischen Implementierung eine Einordnung von "Consolidate-to-Idle" zu ermöglichen. Taskmodell und Messintrumentierung sind dazu in den Linux Kern integriert worden und ermöglichen Einblicke in praktische Probleme und erste Ergebnisse.

07. 6. 2013

Grand Central Dispatch on L4Re


Jan Bierbaum

TU Dresden

Verteidigung der Diplomarbeit

Mit dem Einzug von Mehrkernprozessoren in Standard-Hardware bis hin zu eingebetteten Systemen stellt sich für Entwickler zunehmend die Aufgabe, ihre Anwendungen optimal an derartige Umgebungen anzupassen.

"Grand Central Dispatch" (GCD) stellt dabei eine interessante neue Möglichkeit für die Erschließung von Nebenläufigkeit innerhalb eines Prozesses dar: Aus Sicht des Entwicklers treten hier einfach nutzbare Warteschlangen an die Stelle einzelner Threads. Die erforderliche Thread-Verwaltung, ein wesentlicher Teil der nötigen Synchronisation sowie die Anpassung an das vorliegende System sind dabei vollständig durch die GCD-Infrastruktur gekapselt. Block-Literale (kurz "Blöcke") - eine Implementierung von Lambda-Funktionen für die C-Sprachfamilie - erleichtern die Arbeit des Entwicklers zusätzlich.

Im Rahmen der Diplomarbeit wurden die Voraussetzungen geschaffen, um GCD sowie Blöcke unter L4Re direkt verwenden zu können. Darüber hinaus geben an zwei ausgewählten Anwendungen durchgeführte Messungen Aufschluß über die Leistungsfähigkeit der so entstandenen GCD-Infrastruktur.

Der Vortrag wird zunächst die beteiligten Technologien kurz vorstellen, um dann im Hauptteil wesentliche Details der Implementierung unter L4Re sowie die Ergebnisse der erwähnten Leistungsmessungen näher zu beleuchten.

28. Oct 2020
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·