UW-Madison Logo

The ADvanced Systems Laboratory (ADSL)

Performance Isolation

We have investigated performance isolation in storage systems: can the system ensure that the performance of one application is not affected by the I/O patterns of others? We introduce three pioneering approaches to ensure such isolation, both within a single machine and in a distributed storage setting.
  • Physical Disentanglement in a Container-Based File System (OSDI '14). We change the on-disk structure of a file system to support isolation, through a new ``cube'' abstraction. By placing all relevant data and metadata into separate cubes, applications (and guest operating systems) can ensure performance isolation properties between competing clients.
  • Split-Level I/O Scheduling (SOSP '15) We study the Linux I/O stack and show intrinsic problems in achieving isolation and other fairness properties; specificaly, we show the Linux ``fair share'' I/O scheduler to be fundamentally flawed. We introduce a solution, the Split I/O scheduler, that provides suitable integration between the file system and block-level I/O scheduler to realize various scheduling policies.
  • Principled Schedulability Analysis for Distributed Storage Systems using Thread Architecture Models (OSDI '18). We examine the difficulty of implementing isolation in scalable distributed storage systems, and show how the thread architectures of current systems inhibit the realization of desired properties. By restructuring the approach to concurrency within each, we show how isolation and other scheduling approaches can be implemented.