2013 · 35 citations · 24 references
ComputingComputer EngineeringComputer ScienceOperating SystemsSchedulingStorage SystemsBlock StorageDisk Storage SystemsMemory Hierarchy OptimizationSolid-state Drive ArchitectureDisk I/o PerformanceDisk SchedulingDispatchingI/o Request SchedulingProcess ParallelismScheduler DesignSequential Access PerformanceSolid-state Drive Performance
This paper presents a novel block I/O scheduler specifically for SSDs. The scheduler leverages the internal rich parallelism resulting from SSD's highly parallelized architecture. It speculatively divides the entire SSD space into different subregions and dispatches requests into those subregions in a round-robin fashion at the Linux kernel block layer. In the meanwhile, to reduce the severe read-write interference problem associated with SSDs, the scheduler only dispatches a batch of unidirectional requests to the disk driver for each subregion's scheduling opportunity. Furthermore, to take advantage of SSD'S better sequential performance over random patterns, the scheduler sorts the pending requests while they are awaiting in the dispatching queues as those HDD-oriented schedulers do. The experimental results with a variety of workloads have demonstrated that the new I/O scheduler not only improves the user-perceived performance, but also enhances the underlying SSD's lifetime via reducing the block erase operations during the running processes.
24
Aayush Gupta, Youngjae Kim, Bhuvan Urgaonkar · 2009 · 735 citations
David G. Andersen, Jason Franklin, Michael Kaminsky et al. · 2009 · 566 citations