Designing Operating Systems for Data-Intensive Heterogeneous Systems
Biography: Sudarsun is a postdoctoral research associate at the University of Wisconsin-Madison, where he works on operating systems and storage research. His postdoctoral advisors are Prof. Andrea Arpaci-Dusseau and Prof. Remzi Arpaci-Dusseau. Sudarsun received a Ph.D. in Computer Science from Georgia Tech in 2016 under the guidance of the late Prof. Karsten Schwan and Prof. Ada Gavrilovska. Sudarsun's research focus is at the intersection of hardware and software, building operating systems and system software for next-generation memory and storage technologies. Results from his work have appeared at premier operating systems and architecture venues, including EuroSys, FAST, ISCA, HPCA, PACT, IPDPS, and others. In addition, his work during his summer internships at HP Labs, Intel Labs, and Adobe Labs resulted in 3 patents related to nonvolatile memory and resource management. Sudarsun has taught several graduate and undergraduate-level courses and he was nominated for the Georgia Tech-wide Outstanding Teaching Assistant Award.
Abstract: The dramatic growth in the volume of data and the disproportionately slower advancements in memory scalability and storage performance have plagued application performance in the last decade. Emerging heterogeneous memory technologies such as nonvolatile memory (NVM) promise to alleviate both memory capacity and storage problems; however, realizing the true potential of these technologies requires rethinking of software systems in a way that it hasn’t before. My research has developed fundamental principles and redesigned operating systems (OSes), runtimes, file systems, and applications to address both main memory capacity scaling and storage performance challenges. In my talk, I first present our approach to scaling main memory capacity across heterogeneous memory by redesigning the OS virtual memory subsystem as opposed to the file system used by current systems. Our design makes OS virtual memory data structures and abstractions heterogeneity-aware and intelligently captures application's use of memory for efficient data placement. I then briefly discuss our approach to reducing software bottlenecks of storage by moving the file system into the storage hardware. I finally conclude my talk with a future vision of unifying converging memory and storage technologies into an application-transparent data-tier fully managed by OS, hardware, and user-level runtimes.