This Article 
 Bibliographic References 
 Add to: 
High Throughput Disk Scheduling with Fair Bandwidth Distribution
September 2010 (vol. 59 no. 9)
pp. 1172-1186
Paolo Valente, Università Di Modena, Modena
Fabio Checconi, Scuola Superiore, Sant' Anna, Pisa
Mainstream applications—such as file copy/transfer, Web, DBMS, or video streaming—typically issue synchronous disk requests. As shown in this paper, this fact may cause work-conserving schedulers to fail both to enforce guarantees and provide a high disk throughput. A high throughput can be, however, recovered by just idling the disk for a short time interval after the completion of each request. In contrast, guarantees may still be violated by existing time-stamp-based schedulers because of the rules they use to tag requests. Budget Fair Queuing (BFQ), the new disk scheduler presented in this paper, is an example of how disk idling, combined with proper back-shifting of request time stamps, may allow a time-stamp-based disk scheduler to preserve both guarantees and a high throughput. Under BFQ, each application is always guaranteed—over any time interval and independently of whether it issues synchronous requests—a bounded lag with respect to its reserved fraction of the total number of bytes transferred by the disk device. We show the single-disk performance of our implementation of BFQ in the Linux kernel through experiments with real and emulated mainstream applications.

[1] S. Iyer and P. Druschel, "Anticipatory Scheduling: A Disk Scheduling Framework to Overcome Deceptive Idleness in Synchronous I/O," Proc. 18th ACM Symp. Operating Systems Principles, Oct. 2001.
[2] G. Lawton, "Powering Down the Computing Infrastructure," Computer, vol. 40, no. 2, pp. 16-19, Feb. 2007.
[3] B.L. Worthington, G.R. Ganger, and Y.N. Patt, "Scheduling Algorithms for Modern Disk Drives," Proc. ACM SIGMETRICS, pp. 241-251, 1994.
[4] A.L.N. Reddy and J. Wyllie, "Disk Scheduling in a Multimedia I/O System," Proc. First ACM Int'l Conf. Multimedia (MULTIMEDIA '93), pp. 225-233, 1993.
[5] L. Reuther and M. Pohlack, "Rotational-Position-Aware Real-Time Disk Scheduling Using a Dynamic Active Subset (DAS)," Proc. 24th IEEE Int'l Real-Time Systems Symp. (RTSS '03), p. 374, 2003.
[6] A. Molano, K. Juvva, and R. Rajkumar, "Real-Time Filesystems. Guaranteeing Timing Constraints for Disk Accesses in RT-Mach," Proc. 18th IEEE Real-Time Systems Symp., pp. 155-165, Dec. 1997.
[7] L. Rizzo and P. Valente, "Hybrid: Achieving Deterministic Fairness and High Throughput in Disk Scheduling," Proc. CCCT '04, 2004.
[8] J. Bruno, J. Brustoloni, E. Gabber, B. Ozden, and A. Silberschatz, "Disk Scheduling with Quality of Service Guarantees," Proc. IEEE Int'l Conf. Multimedia Computing and Systems (ICMCS '99), vol. 2, p. 400, 1999.
[9] A. Gulati, A. Merchant, and P.J. Varman, "Pclock: An Arrival Curve Based Approach for QoS Guarantees in Shared Storage Systems," SIGMETRICS Performance Evaluation Rev., vol. 35, no. 1, pp. 13-24, 2007.
[10] A. Gulati, A. Merchant, M. Uysal, and P.J. Varman, "Efficient and Adaptive Proportional Share I/O Scheduling," technical report, Hewlett-Packard, , Nov. 2007.
[11] 2007/video/talks123.pdf, 2010.
[12] W. Jin, J.S. Chase, and J. Kaur, "Interposed Proportional Sharing for a Storage Service Utility," Proc. SIGMETRICS '04/Performance '04, pp. 37-48, 2004.
[13] 08linux-disk-scheduler-benchmarking.html, 2010.
[14] J.C.R. Bennett and H. Zhang, "Hierarchical Packet Fair Queueing Algorithms," IEEE/ACM Trans. Networking, vol. 5, no. 5, pp. 675-689, Oct. 1997.
[15] D. Stephens, J. Bennett, and H. Zhang, "Implementing Scheduling Algorithms in High-Speed Networks," IEEE J. Selected Areas Comm., vol. 17, no. 6, pp. 1145-1158, June 1999.
[16] , 2008.
[17] D. Stiliadis and A. Varma, "A General Methodology for Designing Efficient Traffic Scheduling and Shaping Algorithms," Proc. IEEE INFOCOM, vol. 1, pp. 326-335, 1997.
[18] "Proofs of Theorems 1 and 2," technical report, bfq-techreport.pdf.
[19] P. Valente, "Extending ${\rm WF}^2{\rm Q+}$ to Support a Dynamic Traffic Mix," Proc. First Int'l Workshop Advanced Architectures and Algorithms for Internet Delivery and Applications 2005 (AAA-IDEA '05), pp. 26-33, June 2005.
[20] S. Daigle and J. Strosnider, "Disk Scheduling for Multimedia Data Streams," Proc. IS&T/SPIE, pp. 212-293, 1994.
[21] P.J. Shenoy and H.M. Vin, "Cello: A Disk Scheduling Framework for Next Generation Operating Systems," SIGMETRICS Performance Evaluation Rev., vol. 26, no. 1, pp. 44-55, 1998.
[22] T.P.K. Lund and V. Goebel, "APEX: Adaptive Disk Scheduling Framework with QoS Support," Multimedia Systems, vol. 11, no. 1, pp. 45-59, 2005.
[23] A.L.N. Reddy, J. Wyllie, and K.B.R. Wijayaratne, "Disk Scheduling in a Multimedia I/O System," ACM Trans. Multimedia Computing, Comm. and Applications, vol. 1, no. 1, pp. 37-59, 2005.
[24] M. Wachs, M. Abd-El-Malek, E. Thereska, and G.R. Ganger, "Argon: Performance Insulation for Shared Storage Servers," Proc. Fifth USENIX Conf. File and Storage Technologies, 2007.
[25] B. Kao and H. Garcia-Molina, "An Overview of Real-Time Database Systems," Advances in real-time systems, pp. 463-486 Prentice-Hall, 1995.
[26] C.L. Liu and J.W. Layland, "Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment," J. ACM, vol. 20, no. 1, pp. 46-61, 1973.
[27] http://www.videolan.orgvlc/, 2010.

Index Terms:
Scheduling, secondary storage, quality of service.
Paolo Valente, Fabio Checconi, "High Throughput Disk Scheduling with Fair Bandwidth Distribution," IEEE Transactions on Computers, vol. 59, no. 9, pp. 1172-1186, Sept. 2010, doi:10.1109/TC.2010.105
Usage of this product signifies your acceptance of the Terms of Use.