Eliminating Request Starvation due to Expectation Discrepancy between NCQ and I/O Scheduler

NCQ와 입출력 스케줄러의 기대 불일치로 인한 입출력 요청의 굶주림 현상 제거

  • 유영진 (서울대학교 전기컴퓨터공학) ;
  • 신동인 (서울대학교 전기컴퓨터공학) ;
  • 정임영 (서울대학교 전기컴퓨터공학) ;
  • 염헌영 (서울대학교 전기컴퓨터공학)
  • Published : 2009.05.15

Abstract

Native Command Queueing is a technology to maximize throughput of disk system by reordering requests in its command queue. Recent S-ATA 2 standard specifies a protocol for the purpose of dealing with NCQ feature, making most vendors implementing it in their disk devices. However, the new feature, NCQ, may lead to information gap between OS and disk drive. 05 considers that disk will service I/O requests in the order as OS has dispatched. Unfortunately, it isn't true any more since NCQ would simply ignore the policy of OS and reorder the sequence OS has expected. Let us define the term as expectation-discord. Due to the discord, serious performance anomalies or starvation of requests may occur in I/O subsystem. In this paper, we confirm that the expectation-discord actually brings about starvation of requests. We propose a solution to settle it. Our solution is very simple, effective, cheap(not requiring any hardware modification) and portable across various OS. Experimental results show that our solution can balance throughput and response time very well.

Native Command Queueing(이하 NCQ)는 디스크 드라이브 내의 명령어 큐에 존재하는 요청들의 순서를 재조정하여 throughput을 최대화하는 기술이다. NCQ는 최신 S-ATA 2의 표준 스펙에 포함되었고, 다수의 디스크 벤더들이 자사의 디스크 모델에 이를 구현하고 있다. 하지만 이 새로운 기술이 운영체제와 디스크 드라이브간의 정보 차이를 유발할 가능성이 있다. 운영체제는 자신이 지시한 순서대로 디스크가 입출력 요청을 서비스할 것이라 생각하지만, NCQ가 지원되는 디스크는 이를 무시하고 throughput을 최대화할 목적으로만 요청을 처리할 것이다. 이것을 기대 불일치라 부를 수 있다. 이로 인해 성능에 이상한 현상이 발생하거나, 입출력 요청이 심각하게 굶주릴 가능성이 있다. 본 논문에서는 기대 불일치로 인한 입출력 요청의 굶주림 현상을 실제로 확인하고, 이를 해결하기 위한 해결책을 제시한다. 이 해결책은 간단하고, 특별한 하드웨어의 추가나 변경을 요구하지 않으며, 이식성이 좋다. 이를 실험 결과를 통해 확인하도록 한다.

Keywords

References

  1. Gregory R. Ganger, “Blurring the Line Between Oses and Storage Devices,” Technical Report CMU-CS-01-166, 2001
  2. Mike Mesnier and Gregory R. Ganger and Erik Riedel, “Object-Based Storage,” IEEE communi-cations Magazine, Vol.41, No.8, pp. 84-90, 2003 https://doi.org/10.1109/MCOM.2003.1222722
  3. G. Sivathanu and S. Sundararaman and E. Zadok, “Type-Safe Disks,” Proceedings of the 7th Sympo-sium on Operating Systems Design and Imple-mentation (OSDI'06), 2006
  4. Dong In Shin and Young Jin Yu and Heon Young Yeom, “Shedding Light in the Black Box: Struc-tural Modeling of Modern Disk Drives,” 15th An-nual Meeting of the IEEE International Sympo-sium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, 2007 https://doi.org/10.1109/MASCOTS.2007.60
  5. L. Huang and T. Chiueh, “Implementation of a rotation latency sensitive disk scheduler,” SUNY, Stony Brook Technical Report ECSL-TR81, 2000
  6. Knut Grimsrud, “SATA-lO: Features Moves SATA Into Smaller Form Factors,” Intel Developer Forum (IDF) Techinical Talk, 2007
  7. S. Chen and J. A. Stankovic and J. F. Kurose and D. Towsley, “Performance Evaluation of Two New Disk Scheduling Algorithms for Real-Time Systems,” Journal of Real-Time Systems, Vol.3, pp. 307-336, 1991 https://doi.org/10.1007/BF00364960
  8. Muthian Sivathanu and Vijayan Prabhakaran and Florentina I. Popovici and Timothy E. Denehy and Andrea C. Arpaci-Dussseau and Remzi H. Arpaci-Dusscau, “Semantically-Smart Disk Systems,” 2nd USENIX Conference on File and Storage Techno-logies(FAST), 2003
  9. Erik Riedel and Garth A. Gibson and Christos Faloutsos, “Active Storage for Large-Scale Data Mining and Multimedia,” Proceedings of the 24th international Conference on Very Large Databases(VLDB’98), 1998
  10. Christopher Lumb and Jiri Schindler and Gregory R. Ganger and Erik Riedel and David F. Nagle, “Towards Higher Disk Head Utilization: Extrac-ting “Free” Bandwidth From Busy Disk Drives,” Proc. of the 4th Symposium on Operating Systems Design and Implementation, 2000