Databases on NVRAM
- Typ der Arbeit: Bachelorarbeit
- Status der Arbeit: abgeschlossen
- Projekte: ParPerOS
- Betreuer: Alexander Halbuer, Daniel Lohmann
- Bearbeiter: Matthias Wormann
- Ende der Arbeit: 02. Oct 2023
New non-volatile random access memory (NVRAM) fills the gap between DRAM and storage devices like SSDs. It functions like conventional main memory with byte-addressability and fast access times but provides persistency and large capacities.
Database applications can greatly benefit from non-volatile memory. Data is directly accessible and therefore does not require expensive (de-)serialization from/to disk. Classically, databases implement mechanisms to ensure data integrity for data stored on disks. NVRAM can be configured as a traditional storage device so existing implementations can deal with it. While this approach ensures data integrity, it does not utilize the full potential because file systems are designed to work with block devices and, therefore, can not take advantage of byte-addressable NVRAM.
Our new memory primitive, called morsel, is an alternative abstraction of physical memory specially designed for NVRAM. It provides crash consistency for its internal management data structures, meaning that the memory object is always in a consistent state even after a system crash, even though it can not give any guarantees for the stored data. Your task would be the adaption of an existing database implementation to use a morsel as an underlying memory provider to extend the data integrity guarantees to the data level.
Topics: parallel programming, memory ordering, C/C++