The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - March (2008 vol.19)
pp: 418-431
ABSTRACT
Hierarchical scheduling has been proposed as a scheduling technique to achieve aggregate resource partitioning among related groups of threads and applications in uniprocessor and packet scheduling environments. Existing hierarchical schedulers are not easily extensible to multiprocessor environments because (i) they do not incorporate the inherent parallelism of a multiprocessor system while resource partitioning, and (ii) they can result in unbounded unfairness or starvation if applied to a multiprocessor system in a naive manner. In this paper, we present a novel hierarchical scheduling algorithm designed specifically for multiprocessor environments that overcomes the limitations of existing algorithms in several ways. We present a <i>generalized weight feasibility constraint</i> that specifies the limit on the achievable CPU bandwidth partitioning in a multiprocessor hierarchical framework, and propose a <i>hierarchical weight readjustment</i> algorithm designed to transparently satisfy this feasibility constraint. We then present <i>hierarchical multiprocessor scheduling (H-SMP):</i> a hierarchical CPU scheduling algorithm designed for a symmetric multiprocessor (SMP) platform. The novelty of this algorithm lies in its combination of space- and time-multiplexing to achieve desired bandwidth partition among the nodes of the hierarchical scheduling tree. This algorithm is also characterized by its ability to incorporate existing proportional-share algorithms as auxiliary schedulers to achieve efficient hierarchical CPU partitioning. We evaluate the properties of this algorithm using <i>hierarchical surplus fair scheduling (H-SFS):</i> an instantiation of H-SMP that employs surplus fair scheduling (SFS) as an auxiliary algorithm. This evaluation is carried out through a simulation study that shows that H-SFS provides better fairness properties in multiprocessor environments as compared to existing algorithms and their naive extensions.
INDEX TERMS
Scheduling, Multiprocessor Systems, Hierarchical design
CITATION
Abhishek Chandra, Prashant Shenoy, "Hierarchical Scheduling for Symmetric Multiprocessors", IEEE Transactions on Parallel & Distributed Systems, vol.19, no. 3, pp. 418-431, March 2008, doi:10.1109/TPDS.2007.70755
REFERENCES
[1] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, “Xen and the Art of Virtualization,” Proc. 19th ACM Symp. Operating Systems Principles (SOSP '03), Oct. 2003.
[2] C.A. Waldspurger, “Memory Resource Management in VMware ESX Server,” Proc. Fifth Usenix Symp. Operating System Design and Implementation (OSDI '02), Dec. 2002.
[3] V. Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni, and H. Vin, “Application Performance in the QLinux Multimedia Operating System,” Proc. Eighth ACM Int'l Multimedia Conf. (ACM Multimedia '00), Nov. 2000.
[4] K. Govil, D. Teodosiu, Y. Huang, and M. Rosenblum, “Cellular Disco: Resource Management Using Virtual Clusters on Shared-Memory Multiprocessors,” ACM Trans. Computer Systems, vol. 18, no. 3, pp. 229-262, 2000.
[5] Intel Dual-Core Server Processor, http://www.intel.com/business/bss/products/ serverdual-core.htm, 2006.
[6] IBM xSeries with Dual-Core Technology, http://www.intel.com/business/bss/products/ serverdual-core.htm, 2006.
[7] T.E. Anderson, B.N. Bershad, E.D. Lazowska, and H.M. Levy, “Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism,” ACM Trans. Computer Systems, vol. 10, no. 1, pp. 53-79, Feb. 1992.
[8] G. Banga, P. Druschel, and J. Mogul, “Resource Containers: A New Facility for Resource Management in Server Systems,” Proc. Third Usenix Symp. Operating System Design and Implementation (OSDI '99), pp. 45-58, Feb. 1999.
[9] P. Goyal, X. Guo, and H. Vin, “A Hierarchical CPU Scheduler for Multimedia Operating Systems,” Proc. Second Usenix Symp. Operating System Design and Implementation (OSDI '96), pp. 107-122, Oct. 1996.
[10] J. Bennett and H. Zhang, “Hierarchical Packet Fair Queuing Algorithms,” Proc. ACM SIGCOMM '96, pp. 143-156, Aug. 1996.
[11] A. Demers, S. Keshav, and S. Shenker, “Analysis and Simulation of a Fair Queueing Algorithm,” Proc. ACM SIGCOMM '89, pp. 1-12, Sept. 1989.
[12] K. Duda and D. Cheriton, “Borrowed Virtual Time (BVT) Scheduling: Supporting Latency-Sensitive Threads in a General-Purpose Scheduler,” Proc. 17th ACM Symp. Operating Systems Principles (SOSP '99), pp. 261-276, Dec. 1999.
[13] S.J. Golestani, “A Self-Clocked Fair Queueing Scheme for High-Speed Applications,” Proc. IEEE INFOCOM '94, pp. 636-646, Apr. 1994.
[14] P. Goyal, H.M. Vin, and H. Cheng, “Start-Time Fair Queuing: A Scheduling Algorithm for Integrated Services Packet Switching Networks,” Proc. ACM SIGCOMM '96, pp. 157-168, Aug. 1996.
[15] J. Nieh and M.S. Lam, “The Design, Implementation and Evaluation of SMART: A Scheduler for Multimedia Applications,” Proc. 16th ACM Symp. Operating Systems Principles (SOSP '97), pp. 184-197, Dec. 1997.
[16] B. Caprita, W. Chan, J. Nieh, C. Stein, and H. Zheng, “Group Ratio Round-Robin: O(1) Proportional Share Scheduling for Uniprocessor and Multiprocessor Systems,” Proc. Usenix Ann. Technical Conf. '05, Apr. 2005.
[17] Solaris Resource Manager 1.0: Controlling System Resources Effectively. Sun Microsystems, Inc., http://www.sun.com/software/white-papers wp-srm/, 1998.
[18] C. Waldspurger and W. Weihl, “Stride Scheduling: Deterministic Proportional-Share Resource Management,” Technical Report TM-528, Laboratory for Computer Science, Mass. Inst. of Tech nology, June 1995.
[19] A. Chandra, M. Adler, P. Goyal, and P. Shenoy, “Surplus Fair Scheduling: A Proportional-Share CPU Scheduling Algorithm for Symmetric Multiprocessors,” Proc. Fourth Usenix Symp. Operating System Design and Implementation (OSDI '00), Oct. 2000.
[20] I. Stoica, H. Abdel-Wahab, K. Jeffay, S. Baruah, J. Gehrke, and G. Plaxton, “A Proportional-Share Resource Allocation Algorithm for Real-Time, Time-Shared Systems,” Proc. 17th IEEE Real Time Systems Symp. (RTSS '96), pp. 289-299, Dec. 1996.
[21] C.A. Waldspurger and W.E. Weihl, “Lottery Scheduling: Flexible Proportional-Share Resource Management,” Proc. First Usenix Symp. Operating System Design and Implementation (OSDI '94), Nov. 1994.
[22] R.M. Karp and V. Ramachandran, “Parallel Algorithms for Shared-Memory Machines,” Handbook of Theoretical Computer Science—Volume A: Algorithms and Complexity, pp. 869-941, 1990.
5 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool