Document Type
Dissertation
Degree
Doctor of Philosophy (PhD)
Major/Program
Computer Science
First Advisor's Name
Raju Rangaswami
First Advisor's Committee Title
Committee chair
Second Advisor's Name
Giri Narasimhan
Second Advisor's Committee Title
Committee member
Third Advisor's Name
Jason Liu
Third Advisor's Committee Title
Committee member
Fourth Advisor's Name
Leonardo Bobadilla
Fourth Advisor's Committee Title
Committee member
Fifth Advisor's Name
Gang Quan
Fifth Advisor's Committee Title
Committee member
Keywords
Persistent Memory, Storage Systems, Operating Systems, Persistent Containers
Date of Defense
3-28-2018
Abstract
Modern operating systems have been designed around the hypotheses that (a) memory is both byte-addressable and volatile and (b) storage is block addressable and persistent. The arrival of new Persistent Memory (PM) technologies, has made these assumptions obsolete. Despite much of the recent work in this space, the need for consistently sharing PM data across multiple applications remains an urgent, unsolved problem. Furthermore, the availability of simple yet powerful operating system support remains elusive.
In this dissertation, we propose and build The Region System – a high-performance operating system stack for PM that implements usable consistency and persistence for application data. The region system provides support for consistently mapping and sharing data resident in PM across user application address spaces. The region system creates a novel IPI based PMSYNC operation, which ensures atomic persistence of mapped pages across multiple address spaces. This allows applications to consume PM using the well understood and much desired memory like model with an easy-to-use interface. Next, we propose a metadata structure without any redundant metadata to reduce CPU cache flushes. The high-performance design minimizes the expensive PM ordering and durability operations by embracing a minimalistic approach to metadata construction and management.
To strengthen the case for the region system, in this dissertation, we analyze different types of applications to identify their dependence on memory mapped data usage, and propose user level libraries LIBPM-R and LIBPMEMOBJ-R to support shared persistent containers. The user level libraries along with the region system demonstrate a comprehensive end-to-end software stack for consuming the PM devices.
Identifier
FIDC006534
ORCID
https://orcid.org/0000-0001-5375-0786
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 4.0 License.
Recommended Citation
Chowdhury, Mohammad Ataur Rahman, "Rethinking the I/O Stack for Persistent Memory" (2018). FIU Electronic Theses and Dissertations. 3572.
https://digitalcommons.fiu.edu/etd/3572
Included in
Computer and Systems Architecture Commons, Data Storage Systems Commons, OS and Networks Commons, Software Engineering Commons, Systems Architecture Commons
Rights Statement
In Copyright - Non-Commmercial Use Permitted. URI: http://rightsstatements.org/vocab/InC-NC/1.0/
This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. In addition, no permission is required from the rights-holder(s) for non-commercial uses. For other uses you need to obtain permission from the rights-holder(s).