DOI QR코드

DOI QR Code

Multi-core Scalable Fair I/O Scheduling for Multi-queue SSDs

멀티큐 SSD를 위해 멀티코어 확장성을 제공하는 공정한 입출력 스케줄링

  • 조민정 (숭실대학교 융합소프트웨어학과) ;
  • 강형석 (숭실대학교 정보통신공학과) ;
  • 김강희 (숭실대학교 스마트시스템소프트웨어학과)
  • Received : 2016.12.01
  • Accepted : 2017.01.20
  • Published : 2017.05.15

Abstract

The emerging NVMe-based multi-queue SSDs provides a high bandwidth by parallel I/O, i.e., each core performs I/O through its dedicated queue in parallel with other cores. To provide a bandwidth share for each application with I/O, a fair-share scheduler that provides a bandwidth share to each core is required. In this study, we proposed a multi-core scalable fair-queuing algorithm for multi-queue SSDs. The algorithm adopts randomization to minimize the inter-core synchronization overheads and provides a weight-proportional bandwidth share to each core. The results of our experiments indicated that the proposed algorithm gives accurate bandwidth partitioning and outperforms the existing FlashFQ scheduler, regardless of the number of cores for a Linux kernel with block-mq.

최근에 제안된 NVMe 기반의 멀티큐 SSD는 여러 개의 코어들이 전담 큐들을 통해 병렬적으로 입출력을 수행함으로써 높은 SSD 대역폭을 제공한다. 이러한 멀티큐 SSD에 대해서 입출력 응용마다 대역폭 지분을 제공하기 위해서는 각 코어에게 대역폭 지분을 제공하는 것이 요구되며, 이를 위한 공정지분 스케줄링이 필요하다. 본 논문은 멀티큐 SSD를 위해 멀티코어 확장성을 제공하는 공정 큐잉 알고리즘을 제안한다. 제안하는 알고리즘은 무작위 선택 기법을 이용하여 코어간 동기화 오버헤드를 최소화하고 각 코어가 가중치에 비례하는 대역폭을 수신하도록 한다. 실험 결과, 제안하는 알고리즘은 block-mq를 사용하는 커널에서 정확한 대역폭 분할 효과를 보여주며, 코어 개수에 상관 없이 기존 FlashFQ 스케줄러보다 우수한 성능을 보여준다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. NVM Express, Inc. NVM Express: Non-Volatile Memory Express Standard, version 1.2. Specification, 2014.
  2. S. Park and K. Shen, "FIOS: A Fair, Efficient Flash I/O Scheduler," Proc. of the 10th USENIX Conference on File and Storage Technologies, USENIX FAST'12, pp. 1-13, San Jose, CA, USA, 2012.
  3. K. Shen and S. Park, "FlashFQ: A Fair Queueing I/O Scheduler for Flash-Based SSDs," Proc. of the 2013 USENIX Conference on Annual Technical Conference, USENIX ATC'13, pp. 67-78, San Jose, CA, USA, 2013.
  4. B. Jun and D. Shin, "Workload-Aware Budget Compensation Scheduling for NVMe Solid State Drives," Proc. of the 4th IEEE Non-Volatile Memory System and Application Symposium, NVMSA'15, pp. 1-6, Hong Kong, 2015.
  5. M. Bjorling, J. Axboe, D. Nellans, and P. Bonnet, "Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems," Proc. of the 6th International Systems and Storage Conference, SYSTOR'13, pp. 1-10, Haifa, Israel, 2013.
  6. W. Jin, J. S. Chase, and J. Kaur, "Interposed Proportional Sharing for a Storage Service Utility," Proc. of the Joint International Conference on Measurement and Modeling of Computer Systems, Vol. 32, No. 1, pp. 37-48, Jun. 2004.
  7. P. Goyal, H. M. Vin, and H. Cheng, "Start-Time Fair Queueing: A Scheduling Algorithm for Integrated Services Packet Switching Networks," IEEE/ACM Transactions on Networking, Vol. 5, No. 5, pp. 690-704, Oct. 1997. https://doi.org/10.1109/90.649569
  8. Fio: Flexible IO Tester. [Online]. Available: https://github.com/axboe/fio (downloaded 2016, Dec. 1)