Recently, Solid State Drives (SSDs) become an alternative storage to traditional magnetic hard disk drives (HDDs) for
rapid performance in desktop, laptop, and enterprise fields, because the performance, reliability, durability and power
efficiency ...
Recently, Solid State Drives (SSDs) become an alternative storage to traditional magnetic hard disk drives (HDDs) for
rapid performance in desktop, laptop, and enterprise fields, because the performance, reliability, durability and power
efficiency of SSD are better than those of HDDs. Current I/O scheduler is optimized for rotational magnetic storages. Thus
the I/O scheduler needs to be modified to utilize the I/O characteristics of SSD.
This thesis analyzes the performance variation of Linux I/O scheduler according to the size of I/O requests, which is the
scheduling priority, when the buffer size of SSD is fixed. The results of this analysis can be utilized to design the
scheduling policy of I/O scheduler for SSD.
An I/O scheduling simulator is designed for this study, and it is dispatching I/O requests by order of data size and
priority to the block devices. The I/O scheduling simulator has LISF (Largest I/O Size First) and SISF (Smallest I/O Size
First) queues for reordering I/O requests based on their I/O request size. These queues are used to change of dispatching
priority based on the predetermined I/O size. When the dispatching priority is set to the buffer size of SSD, the simulator
puts higher priority to the I/O requests whose size is close to the dispatching priority.
The simulation has been performed by changing the dispatching priority 0 MB to 4 MB on an SSD of 512 KB buffer
size, and applying six benchmark workloads. The simulation results suggest that changing dispatching priority according to
the I/O request size of current workload would be better rather than fixing the dispatching priority to a certain size.