Mohammad Ataur Rahman Chowdhury
Florida International University
Mohammad Chowdhury is a Ph.D. candidate in Computer Science at Florida International University’s School of Computing and Information Sciences under the supervision of Dr. Raju Rangaswami. He 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 Bangladesh before joining the SCIS Ph.D. program. He has also done two summer internships in Silicon Valley startups Fusion IO (2014), and Datos IO (2017) during his Ph.D. studies. His research work has been published in major storage conferences and workshops. His research interests include Operating Systems, Storage Systems, and Persistent Memory Devices. His 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 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.