Hasso-Plattner-Institut
Hasso-Plattner-Institut
  
Login
 

Frank Feinbube

Ansätze zur Integration von Beschleunigern ins Betriebssystem

Die zunehmende Komplexität von Computerhardware zeigt sich in den neuartigen Technologien und Architekturen, die von den führenden Prozessorherstellern und Computersystemintegratoren eingeführt werden: Systems-On-A-Chip, Beschleunigerkarten und innovative Verbindungsnetzwerke mit nicht­einheitlichen Speicherarchitekturen sind nur einige Beispiele für solche Entwicklungen. Mit diesen neuartigen Technologien und Architekturen werden zunehmend auch neue Programmiermodelle und -paradigmen vorgestellt, die mehrheitlich nur geringfügig von der zugrundeliegenden Hardware abstrahieren. Um mit diesen neuen Programmiermodellen zufriedenstellendes Performanzverhalten zu erreichen, ist es zwingend erforderlich, dass Softwareentwickler ein tiefgreifendes Verständnis der Charakteristiken und Funktionsweisen der vorliegenden Hardware entwickeln und ihre Softwarelösungen gezielt auf diese zuschneiden.

Diese Arbeit widmet sich der Fragestellung, inwieweit die zusätzlichen Ressourcen, die von Beschleunigern wie Grafikkarten ins System eingebracht werden, durch eine geeignete Integration ins Betriebssystem so für den Performanzgewinn von Anwendungen eingesetzt werden können, dass die für die darüberliegenden Schichten sichtbaren Änderungen minimal sind. Dabei liegt der Fokus insbesondere auf den drei traditionellen Betriebssystemressourcen Prozessor, Speicher und Eingabe/Ausgabe-­Verbindungsnetz.

Der erste Beitrag Hybride Parallele Verarbeitung (HyPa-V) widmet sich den Berechnungskapazitäten von Beschleunigern und demonstriert anhand des Beispiels paralleler Schleifen, wie diese eingesetzt werden können, um Programme ohne Anpassung ihrer Programmlogik davon profitieren zu lassen. Die unabhängigen Iterationen der Schleifenkörper werden als Berechnungsaufgaben umgesetzt, die frei im System verteilt und von geeigneten Prozessoren ausgeführt werden.

Im zweiten Beitrag, der Hybriden Seitenauslagerung (HySA), wird der Seitenersetzungsmechanismus des Betriebssystems erweitert, um ruhenden Beschleunigerspeicher zu integrieren. Diese Erweiterung ermöglicht prinzipiell allen Anwendungen, ohne zusätzliche Anpassungen von den zusätzlichen Ressourcen zu profitieren.

Im dritten Beitrag, der Datenverteilungs- und -zugriffsoptimierung (DaZO) wird untersucht, wie Datenzugriffsmuster charakterisiert werden können und wie die Betriebssystemschnittstelle darauf basierend topologiespezifische Datenverteilungsschemas zur Verfügung stellen kann. Anwendungen können diese Schemas einsetzen, um ihre Datenlokalität zu erhöhen und dadurch die Anzahl der Eingabe/Ausgabe-Zugriffe zu reduzieren.