| Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin |
| Full text |
Pdf
(442 KB)
|
Source
|
Principles and Practice of Parallel Programming
archive
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
table of contents
Raleigh, NC, USA
SESSION: Task mapping and scheduling
table of contents
Pages 65-74
Year of Publication: 2009
ISBN:978-1-60558-397-6
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 56, Downloads (12 Months): 282, Citation Count: 0
|
|
|
ABSTRACT
Fairness is an essential requirement of any operating system scheduler. Unfortunately, existing fair scheduling algorithms are either inaccurate or inefficient and non-scalable for multiprocessors. This problem is becoming increasingly severe as the hardware industry continues to produce larger scale multi-core processors. This paper presents Distributed Weighted Round-Robin (DWRR), a new scheduling algorithm that solves this problem. With distributed thread queues and small additional overhead to the underlying scheduler, DWRR achieves high efficiency and scalability. Besides conventional priorities, DWRR enables users to specify weights to threads and achieve accurate proportional CPU sharing with constant error bounds. DWRR operates in concert with existing scheduler policies targeting other system attributes, such as latency and throughput. As a result, it provides a practical solution for various production OSes. To demonstrate the versatility of DWRR,we have implemented it in Linux kernels 2.6.22.15 and 2.6.24, which represent two vastly different scheduler designs. Our evaluation shows that DWRR achieves accurate proportional fairness and high performance for a diverse set of workloads.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
S. K. Baruah, N. K. Cohen, C. G. Plaxton, and D. A. Varvel. Proportionate progress: A notion of fairness in resource allocation. Algorithmica, 15(6):600--625, June 1996.
|
| |
2
|
S. K. Baruah, J. E. Gehrke, C. G. Plaxton, I. Stoica, H. Abdel-Wahab, and K. Jeffay. Fair on-line scheduling of a dynamic set of tasks on a single resource. Information Processing Letters, 64(1):43--51, Oct. 1997.
|
| |
3
|
J. C. R. Bennett and H. Zhang. WF 2 Q: Worst-case fair weighted fair queueing. In Proceedings of IEEE INFOCOM '96, pages 120--128, Mar. 1996.
|
 |
4
|
Josep M. Blanquer , Banu Özden, Fair queuing for aggregated multiple links, Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications, p.189-197, August 2001, San Diego, California, United States
|
| |
5
|
John Bruno , Eran Gabber , Banu Özden , Abraham Silberschatz, The eclipse operating system: providing quality of service via reservation domains, Proceedings of the annual conference on USENIX Annual Technical Conference, p.20-20, June 15-19, 1998, New Orleans, Louisiana
|
| |
6
|
Bogdan Caprita , Wong Chun Chan , Jason Nieh , Clifford Stein , Haoqiang Zheng, Group ratio round-robin: O(1) proportional share scheduling for uniprocessor and multiprocessor systems, Proceedings of the annual conference on USENIX Annual Technical Conference, p.36-36, April 10-15, 2005, Anaheim, CA
|
 |
7
|
Bogdan Caprita , Jason Nieh , Clifford Stein, Grouped distributed queues: distributed queue, proportional share multiprocessor scheduling, Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing, July 23-26, 2006, Denver, Colorado, USA
[doi> 10.1145/1146381.1146396]
|
| |
8
|
|
| |
9
|
Abhishek Chandra , Micah Adler , Pawan Goyal , Prashant Shenoy, Surplus fair scheduling: a proportional-share CPU scheduling algorithm for symmetric multiprocessors, Proceedings of the 4th conference on Symposium on Operating System Design & Implementation, p.4-4, October 22-25, 2000, San Diego, California
|
 |
10
|
A. Demers , S. Keshav , S. Shenker, Analysis and simulation of a fair queueing algorithm, Symposium proceedings on Communications architectures & protocols, p.1-12, September 25-27, 1989, Austin, Texas, United States
|
 |
11
|
|
 |
12
|
|
| |
13
|
S. J. Golestani. A self-clocked fair queueing scheme for broadband applications. In Proceedings of IEEE INFOCOM '94, pages 636--646, June 1994.
|
 |
14
|
Pawan Goyal , Xingang Guo , Harrick M. Vin, A hierarchial CPU scheduler for multimedia operating systems, Proceedings of the second USENIX symposium on Operating systems design and implementation, p.107-121, October 29-November 01, 1996, Seattle, Washington, United States
|
| |
15
|
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
| |
19
|
I. Leslie, D. McAuley, R. Black, T. Roscoe, P. Barham, D. Evers, R. Fairbairns, and E. Hyden. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal on Selected Areas in Communications, 14(7):1280--1297, Sept. 1996.
|
 |
20
|
|
 |
21
|
|
| |
22
|
C. W. Mercer, S. Savage, and H. Tokuda. Processor capacity reserves: Operating system support for multimedia applications. In Proceedings of the First IEEE International Conference on Multimedia Computing and Systems, pages 90--99, May 1994.
|
| |
23
|
J. B. Nagle. On packet switches with infinite storage. IEEE Transactions on Communications, 35(4):435--438, Apr. 1987.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
| |
28
|
|
| |
29
|
|
| |
30
|
David C. Steere , Ashvin Goel , Joshua Gruenberg , Dylan McNamee , Calton Pu , Jonathan Walpole, A feedback-driven proportion allocator for real-rate scheduling, Proceedings of the third symposium on Operating systems design and implementation, p.145-158, February 1999, New Orleans, Louisiana, United States
|
| |
31
|
I. Stoica , H. Abdel-Wahab , K. Jeffay , S. K. Baruah , J. E. Gehrke , C. G. Plaxton, A proportional share resource allocation algorithm for real-time, time-shared systems, Proceedings of the 17th IEEE Real-Time Systems Symposium, p.288, December 04-06, 1996
|
| |
32
|
|
| |
33
|
|
|