Student | (visible for staff only) |
Supervisor | Arthur Martens |
Professor | Prof. Dr. Rüdiger Kapitza |
Project | DNV Memory |
IBR Group | DS (Prof. Kapitza) |
Type | Bachelor Thesis |
Status | finished |
MotivationDie Hauptspeicher heutiger Computer basieren auf flüchtigen RAM-Bausteinen. Wird der Hauptspeicher von seiner Spannungsversorgung getrennt (z.B. durch einen Stromausfall), so sind alle Daten, die sich zu dem Zeitpunkt im Hauptspeicher befinden, verloren. Dies ist insbesondere in verteilten Systemen wo Datenintegrität wichtig ist nicht hinnehmbar. Um die Integrität der Daten zu gewährleisten werden üblicherweise Transaktionslogs und Checkpoints verwendet. Da hierbei Daten auf die Festplatte geschrieben werden müssen oft dies zu einer signifikanten Leistungsminderung. Abhilfe versprechen neue persistente Hauptspeicher- technologien, engl. Non-Volatile Random Access Memory (NVRAM). NVRAM weist ähnliche Charakteristiken wie heutige DRAM Speicherbausteine auf (byte-Adressierbarkeit, Zugriffsraten), benötigt hierfür aber keine permanente Spannungsversorgung. Aufgrund des hohen Kostenfaktors und verschiedener Hardwareseitiger Limitierung ist nicht damit zu rechnen, dass in naher Zukunft Systeme vollständig mit NVRAM ausgestattet sein werden. Stattdessen sind hybride Lösungen mit einer Kombination aus traditionellen und nichtflüchtigen RAM zu erwarten. Dies stellt Systeme vor die Herausforderung, wie mit zwei unterschiedlichen Sorten von Hauptspeichern umzugehen ist und welche Schnittstellen man dem Programmierer zur Verfügung stellt. Eine Möglichkeit den persistenten Hauptspeicher zu nutzen ist ihn über einen dedizierten HEAP bereitzustellen. Hierfür muss das Betriebssystem dem Benutzer die Möglichkeit geben Persistente Seiten anzulegen und sie im Bedarfsfall wiederzufinden (z.B. nach einem Stromausfallbedingten Absturz). In Unixoiden Systemen übernimmt der MMAP-Systemaufruf die Verwaltung von Hauptspeicherseiten. Jedoch erfüllt MMAP nicht die Anforderungen die für persistente Hauptspeicherseiten nötig sind. AufgabenstellungIm Rahmen dieser Bachelorarbeit soll, angelehnt an den MMAP-Systemaufruf, ein eigener NVMMAP-Systemaufruf entwickelt werden. Die NVMMAP-Systemaufruf soll, wie die MMAP-Systemaufruf in der Lage sein den Physikalischen Speicherbereich eines Geräts in den virtuellen Adressbereich des Benutzers abzubilden. Innerhalb des Kernelspace ist es die Aufgabe von NVMMAP den Persistenten Speicher auf Seitengranularität zu verwalten und gegenüber verschiedenen Benutzern abzuschirmen. Der wichtigste Unterschied zu MMAP ist jedoch, dass der NVMMAP-Systemaufruf sogenannten anonymen Zuordnungen genügend Information persistent speichert oder herausgibt, so dass nach einem Neustart des Systems die Zuordnung ohne großen Aufwand wiederhergestellt werden kann. Um dies zu realisieren muss zunächst ermittelt werden, ob die NVMMAP-Systemaufruf als Kernelmodul implementiert werden kann oder, ob der Linux-Kernel an sich verändert werden muss. Weiterhin muss geklärt werden welche Informationen NVMMAP an den Benutzer herausgeben muss um eine Zuordnung später wiederherstellen zu können und welche Informationen hierfür innerhalb von NVMMAP gespeichert werden müssen. Kern der Arbeit ist dann die Implementierung von NVMMAP für ein Linux Betriebssystem. Abschließend sollen die korrekte Funktionsweise sowie die Geschwindigkeit der Implementierte Lösung untersucht werden. |
Vacancies of TU Braunschweig
Career Service' Job Exchange
Merchandising
Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
P. O. Box: 38092 Braunschweig
GERMANY
Phone: +49 (0) 531 391-0