Emerging non-volatile memory technologies,especially flash-based solid state drives(SSDs),have increasingly been adopted in the storage stack.They provide numerous advantages over traditional mechanically rotating har...Emerging non-volatile memory technologies,especially flash-based solid state drives(SSDs),have increasingly been adopted in the storage stack.They provide numerous advantages over traditional mechanically rotating hard disk drives(HDDs)and have a tendency to replace HDDs.Due to the long existence of HDDs as primary building blocks for storage systems,however,much of the system software has been specially designed for HDD and may not be optimal for non-volatile memory media.Therefore,in order to realistically leverage its superior raw performance to the maximum,the existing upper layer software has to be re-evaluated or re-designed.To this end,in this paper,we propose PASS,an optimized I/O scheduler at the Linux block layer to accommodate the changing trend of underlying storage devices toward flash-based SSDs.PASS takes the rich internal parallelism in SSDs into account when dispatching requests to the device driver in order to achieve high performance.Specifically,it partitions the logical storage space into fixed-size regions(preferably the component package sizes)as scheduling units.These scheduling units are serviced in a round-robin manner and for every chance that the chosen dispatching unit issues only a batch of either read or write requests to suppress the excessive mutual interference.Additionally,the requests are sorted according to their visiting addresses while waiting in the dispatching queues to exploit high sequential performance of SSD.The experimental results with a variety of workloads have shown that PASS outperforms the four Linux off-the-shelf I/O schedulers by a degree of 3%up to41%,while at the same time it improves the lifetime significantly,due to reducing the internal write amplification.展开更多
基金supported by the National Basic Research Program(973)of China(No.2004CB318203) the National High-Tech R&D Program(863)of China(No.2009AA01A402)+1 种基金the Natural Science Foundation of Hubei Province,China(No.2013CFB035)the Key Science Research Project of Hubei Education Office in China(No.D20141301)
文摘Emerging non-volatile memory technologies,especially flash-based solid state drives(SSDs),have increasingly been adopted in the storage stack.They provide numerous advantages over traditional mechanically rotating hard disk drives(HDDs)and have a tendency to replace HDDs.Due to the long existence of HDDs as primary building blocks for storage systems,however,much of the system software has been specially designed for HDD and may not be optimal for non-volatile memory media.Therefore,in order to realistically leverage its superior raw performance to the maximum,the existing upper layer software has to be re-evaluated or re-designed.To this end,in this paper,we propose PASS,an optimized I/O scheduler at the Linux block layer to accommodate the changing trend of underlying storage devices toward flash-based SSDs.PASS takes the rich internal parallelism in SSDs into account when dispatching requests to the device driver in order to achieve high performance.Specifically,it partitions the logical storage space into fixed-size regions(preferably the component package sizes)as scheduling units.These scheduling units are serviced in a round-robin manner and for every chance that the chosen dispatching unit issues only a batch of either read or write requests to suppress the excessive mutual interference.Additionally,the requests are sorted according to their visiting addresses while waiting in the dispatching queues to exploit high sequential performance of SSD.The experimental results with a variety of workloads have shown that PASS outperforms the four Linux off-the-shelf I/O schedulers by a degree of 3%up to41%,while at the same time it improves the lifetime significantly,due to reducing the internal write amplification.