Title
Split-level I/O scheduling
Abstract
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.
Year
DOI
Venue
2015
10.1145/2815400.2815421
SOSP
Field
DocType
Citations 
Deadline scheduler,Fixed-priority pre-emptive scheduling,I/O scheduling,Computer science,Scheduling (computing),Real-time computing,Page cache,System call,Operating system,Round-robin scheduling,Fair queuing
Conference
15
PageRank 
References 
Authors
0.67
30
9