2015 · 54 citations · 42 references
ComputingComputer EngineeringComputer ScienceDatabasesOperating SystemsStorage SystemsBlock StorageCachingCpu SchedulingStorage ManagementIsolationPage CachePerformance IsolationStorage Access Latency OptimizationStorage Performance IsolationStorage Performance OptimizationStorage Stack Architecture
We introduce split-level I/O scheduling, a new framework that splits I/O scheduling logic across handlers at three layers of the storage stack: block, system call, and page cache. We demonstrate that traditional block-level I/O schedulers are unable to meet throughput, latency, and isolation goals. By utilizing the split-level framework, we build a variety of novel schedulers to readily achieve these goals: our Actually Fair Queuing scheduler reduces priority-misallocation by 28x; our Split-Deadline scheduler reduces tail latencies by 4x; our Split-Token scheduler reduces sensitivity to interference by 6x. We show that the framework is general and operates correctly with disparate file systems (ext4 and XFS). Finally, we demonstrate that split-level scheduling serves as a useful foundation for databases (SQLite and PostgreSQL), hypervisors (QEMU), and distributed file systems (HDFS), delivering improved isolation and performance in these important application scenarios.
42
An introduction to disk drive modeling
Chris Ruemmler, John Wilkes · Computer · 1994 · 829 citations
The HP AutoRAID hierarchical storage system
John Wilkes, Richard Golding, Carl Staelin et al. · ACM Transactions on Computer Systems · 1996 · 396 citations · Full text