Florida International University
Mohammad Chowdhury is a Ph.D. candidate at Florida International University’s School of Computing and Information Sciences under the supervision of Dr. Raju Rangaswami. Mohammad received his B.Sc. in Computer Science and Engineering in October 2009 from Bangladesh University of Engineering and Technology, Bangladesh. Mohammad worked as a Software Engineer for three years in his country before joining the SCIS Ph.D. program. Mohammad’s research interests include Operating Systems, Storage Systems, and Persistent Memory Devices. Mohammad’s current research focuses on building an OS subsystem for supporting next generation “Persistent Memory” devices.
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 thesis, we propose to analyze different types of applications to identify their dependence on memory mapped data usage, and propose PM specific optimizations for three real-world applications belonging to different application classes. The three classes of applications along with the region system demonstrate a comprehensive end-to-end software stack for consuming the PM devices.