To achieve better throughput, many hard drive manufacturers use internal queues and scheduling to take advantage of vendor-specific characteristics and knowledge. While this trend seems promising, the control of service time from the view of the operating system is weakened, posing challenges for scheduling requests that have real-time requirements. Also, the diversity of disk drives makes extracting detailed timing characteristics and its generalization for all hard drives very difficult. This paper demonstrates three techniques we developed under Linux to bound real-time request response times for disks with internal queues and schedulers. One is to use the disk’s built-in starvation prevention scheme. The second is to prevent requests from being sent to the disk when real-time requests are waiting to be served. The third, limits the length of the on-disk queue in addition to the second technique. Our results show the ability to guarantee a wide range of desired response times wh...
Mark J. Stanovich, Theodore P. Baker, An-I Andy Wa