Persistent Memory, in the form of byte-addressable Non-Volatile Memories (NVMs), provides a low-cost and high-capacity main memory, and provides the ability to store and retain data even when the system is powered off, along with improved performance over traditional storage. Persistent Memory Direct Access (DAX) enables applications to perform byte-addressable operations such as load and store. Filesystem-DAX can store persistent data in NVMs with system call overheads. In order to reduce filesystem overheads, this study utilizes Persistent Memory Object (PMO) as an abstraction for persistent data containers on Non-Volatile Memory (NVM). Persisting data in Persistent Memory Object requires that the system supports atomic transaction and crash consistency. This study proposes PMO Sync implementation to achieve atomic transaction and crash consistency in Persistent Memory Object. We evaluate three different instructions support: CLFLUSH, CLFLUSHOPT, CLWB; two persistency models, and two atomic update mechanisms: undo logging and shadow copy as a basis of PMO Sync and introduce PMO Sync Table to keep track of modified data. We abstract memory operation, persistency model, and atomic update mechanism as PMO Sync call to persist updates to NVM. PMO Sync reduces performance overheads by avoiding flush and fence operations for every write and providing atomic transaction and gives flexibility to programmer to persist changes. Experimental results show that the PMO Sync implementation reduces execution time and the number of writes compared to undo logging and shadow copy mechanisms.
If this is your thesis or dissertation, and want to learn how to access it or for more information about readership statistics, contact us at STARS@ucf.edu.
Master of Science (M.S.)
College of Engineering and Computer Science
Length of Campus-only Access
Masters Thesis (Open Access)
Wahiduddin, Faishal, "Evaluating PMO Sync Implementation for Persistent Memory Object" (2021). Electronic Theses and Dissertations, 2020-. 578.