Skip to main content
eScholarship
Open Access Publications from the University of California

UC San Diego

UC San Diego Electronic Theses and Dissertations bannerUC San Diego

Advanced Software Techniques for Emerging Memory Technologies

Abstract

Emerging memory technologies, such as persistent memory and ultra-low- latency SSDs, change the tradeoffs system designers must consider. As storage, they offer considerably faster persistence than traditional SSDs and hard disks. As memory, they expand the capacity of main memory in a single machine at a lower price than conventional, expensive DRAM. Despite these advantages, efficiently leveraging them remains challenging in a variety of software stacks including file systems, databases, graph processing systems, and serverless computing.

This dissertation first presents a comprehensive study that reveals the impact of state-of-the-art persistent memory (PMem) storage systems on IO-intensive applications and explores how those applications can best leverage the performance of PMem. It examines various performance problems that PMem introduces at both the file system and application level, and suggests potential optimization paths while discussing their different tradeoffs.

Second, the dissertation introduces SubZero, a novel file system API that allows fast and easy access to files residing in PMem file systems. SubZero offers mmap()-like performance for both read and write while providing similar isolation semantics as read() and write(), taking the best of both worlds from file-oriented and memory- oriented IO for efficient access to PMem-resident files.

Third, it presents Blaze, a new out-of-core graph processing framework op- timized for ultra-low-latency SSDs. While current out-of-core systems cannot fully leverage the high IOPs these devices can deliver due to the high CPU overhead, Blaze achieves high performance on these SSDs with its novel, lightweight parallel value propagation technique using a highly concurrent bin data structure, overcoming the limitations of traditional parallel graph computation techniques such as synchronization or message passing.

Finally, it introduces TOSS, our ongoing effort to support a cost-efficient server- less offering based on memory tiering. TOSS aims to maximize the use of slow memory (e.g., PMem, CXL memory) for the execution of serverless functions while achieving similar performance to the executions solely backed by fast memory (e.g., DRAM). Our evaluation shows that TOSS can offload a significant portion of guest VM memory pages to slow memory while achieving minimal slowdown on a variety of serverless workloads.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View