Transparente Erweiterung von GPGPU-Speicher durch Hauptspeicher

  • Type:Bachelor Thesis
  • Date:13.08.2014
  • Supervisor:

    Prof. Dr. Frank Bellosa, Jens Kehne

  • Graduand:Jonathan Metter
  • Links:PDF
  • Abstract:

    GPGPUs eignen sich zur Beschleunigung einer Vielzahl von Anwendungen und sind daher auch für Cloud Umgebungen interessant, in denen die Grafikkarte virtualisiert und auf mehrere Benutzer aufgeteilt wird. Nicht nur in diesem Szenario ist es schwer zu vermeiden, dass die Anwendungen mehr Speicher anfordern, als auf der Grafikkarte vorhanden ist. Wir halten es für nötig, dass Betriebssysteme diesen Fall behandeln, anstatt die Verwaltung des schnellen, aber kleinen, Videospeichers der Anwendung zu überlassen. Vorhandene Methoden zur Speicherverwaltung benötigen direkte Kontrolle über den Befehlsstrom zwischen Anwendung und Grafikkarte, während sich der Overhead für die Virtualisierung durch Verzicht auf diese direkte Kontrolle reduzieren lässt.

    In dieser Bachelorabeit begegnen wir diesem Widerspruch, indem wir eine Methode vorstellen, die auch ohne direkte Kenntnis und Kontrolle über die Anwendung, für die Anwendung transparent, Videospeicher durch Hauptspeicher ersetzt um Kapazitätsüberschreitungen zu behandeln. Neben unserem eigenen Verfahren stellen wir alternative Ansätze zur Speicherverwaltung von GPGPUs vor und beschreiben die Verwaltung von Videospeicher in bestehenden Open- Source Treibern im Zusammenhang mit der Architektur von Grafikkarten der Nvidia- „Fermi“ Generation.

    Wir haben unser Verfahren in einem Prototypen implementiert. Mit Hilfe dieses Prototypen untersuchen wir, in welchem Maße verschiedene GPGPU- Anwendungen durch das Swapping ausgebremst werden. Unser Prototyp ist in der Lage Speichermangel vor der Anwendung zu verbergen und den VRAM gleichmäßig auf mehrere Anwendungen aufzuteilen. Unsere Experimente zeigen, dass der Overhead für das Swapping von Buffern, auf die selten zugegriffen wird, gering ausfällt.

    BibTex:

    @mastersthesis{metter14gpgpu-speicher,
     author = {Jonathan Metter},
     title = {Transparente Erweiterung von GPGPU-Speicher durch Hauptspeicher},
     type = {Bachelor Thesis},
     year = 2014,
     month = aug # "13",
     school = {Operating Systems Group, Karlsruhe Institute of Technology (KIT), Germany}
    }