Scalability, Fairness, and Availability in Modern Storage Systems: Challenges, Solutions, and Outlook
The storage subsystem is a fundamental performance bottleneck in running data-intensive enterprise and cloud applications. Recent system design, application, and technology trends that require more storage capacity, I/O bandwidth, performance predictability, and data availability out of the storage subsystem make it an even more important system bottleneck. At the same time, non-volatile memories (NVMs), as the basic building blocks of the modern high-performance storage devices, are experiencing serious technology scaling challenges that make the maintenance and enhancement of their performance and capacity significantly costly with conventional design techniques.
In this talk, we first discuss major challenges facing modern storage systems in the presence of increasing demand for lower data access time and higher storage capacity. We then discuss our proposed solutions to alleviate these challenges. We will touch on several key topics: 1) scalability challenges of modern flash-based storage systems and our novel solution to address these challenges, 2) how to accurately model the new sophisticated features of modern SSDs such as the NVMe host interface protocols, 3) unfairness and quality-of-service issues of modern off-the-shelf Solid-State Drives (SSDs) in shared environments, 4) enabling fair and high-performance I/O request scheduling in modern NVMe SSDs, 5) fault-tolerance and data availability challenges of modern NVM-based main memories, 6) enabling high-availability for NVM-based main memories via two novel efficient data replication techniques.