NCQ vs. I/O scheduler: Preventing unexpected misbehaviors

  • Authors:
  • Young Jin Yu;Dong In Shin;Hyeonsang Eom;Heon Young Yeom

  • Affiliations:
  • Distributed Computing System Lab., Seoul National University, Seoul;Distributed Computing System Lab., Seoul National University, Seoul;Distributed Computing System Lab., Seoul National University, Seoul;Distributed Computing System Lab., Seoul National University, Seoul

  • Venue:
  • ACM Transactions on Storage (TOS)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Native Command Queueing (NCQ) is an optimization technology to maximize throughput by reordering requests inside a disk drive. It has been so successful that NCQ has become the standard in SATA 2 protocol specification, and the great majority of disk vendors have adopted it for their recent disks. However, there is a possibility that the technology may lead to an information gap between the OS and a disk drive. A NCQ-enabled disk tries to optimize throughput without realizing the intention of an OS, whereas the OS does its best under the assumption that the disk will do as it is told without specific knowledge regarding the details of the disk mechanism. Let us call this expectation discord, which may cause serious problems such as request starvations or performance anomaly. In this article, we (1) confirm that expectation discord actually occurs in real systems; (2) propose software-level approaches to solve them; and (3) evaluate our mechanism. Experimental results show that our solution is simple, cheap (no special hardware required), portable, and effective.