Abstract
This document describes the processor scheduling framework implemented in the Silicon Graphics IRIX Version 5 operating system. This framework provides the standard features and behavior expected of any UNIX time-sharing system, while adding support for four additional disciplines: a fast-response scheme for lowlatency real-time computing, a time-based regime for throughputoriented real-time computing, a multi-thread scheme for parallel computing applications, and several flavors of batch processing. In addition, the scheduling framework adds the notions of processor cache affinity, which attempts to take advantage of data already fetched into a particular processor cache, and processor sets, which allow an additional level of scheduling control on a per-processor basis. These features have been successfully deployed in production environments on machines ranging from single-processor desktop workstations to high-performance supercomputing multi-processors.
Preview
Unable to display preview. Download preview PDF.
References
T. Anderson, E. Lazowska, H. Levy, “The Performance Implications of Thread Management Alternatives for Shared Memory Multiprocessors”, IEEE Transactions on Computers, December 1989.
T. Anderson, B. Bershad, “Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism”, ACM Symposium on Operating System Principles, October 1991.
M. Bach, “The Design of the UNIX Operating System”, Prentice Hall, 1986.
J. Barton, J. Wagner, “Beyond Threads: Resource Sharing in UNIX”, USENIX Winter Conference, February 1988.
D. Black, “Scheduling Support for Concurrency in the Mach Operating System”, IEEE Computer, May 1990.
D. Callahan, B. Smith, “A Future-Based Parallel Language for a General Purpose Highly Parallel Computer”, Proceedings of the 2nd Workshop on Languages and Compilers for Parallel Computing, MIT Press, Cambridge, MA, 1989.
Cray Computer Systems, “Multitasking User Guide”, Technical Note SN-0222, January 1985.
R.T. Dimpsey, R.K. Iyer, “Performance Degradation due to Multiprogramming and System Overheads in Real Workloads”, Proceedings of the 1990 ACM International Conference on Supercomputing, Amsterdam, Holland, June 1990.
R. Draves, et al., “Using Continuations to Implement Thread Management and Communication in Operating Systems”, ACM Symposium on Operating System Principles, October 1991.
Edler et al., “Process Management for Highly Parallel UNIX Systems”, USENIX Workshop on UNIX and Supercomputers, September 1988.
D. Eager, J. Zahorjan, “Chores: Enhanced Run-time Support for Shared-Memory Parallel Computing”, ACM Transactions on Computer Systems, February 1993.
M. Girkar, C.D. Polychronopoulos, “Functional Parallelism in Ordinary Programs”, IEEE Transactions on Parallel and Distributed Computing, March 1992.
S. Leffler, M.K. McKusick, M.J. Karels, J.S. Quarterman, “The Design and Implementation of the 4.3 BSD UNIX Operating System”, Addison-Wesley, 1989.
S.P. Lo, V. Gligor, “A Comparative Analysis of Multiprocessor Scheduling Algorithms”, 7th International Conference on Distributed Computing Systems, September 1987.
C.D. Polychronopoulos, “Multiprocessing vs. Multiprogramming”, Proceedings of the 1989 International Conference on Parallel Processing, St. Charles, IL, August, 1989.
C.D. Polychronopoulos, “Control Flow and Data Flow Come Together”, Technical Report, Center for Supercomputing Research and Development, University of Illinois, November 1990.
C.D. Polychronopoulos, N. Bitar, S. Kleiman, “Nanothreads: A User-level Threads Architecture”, Technical Report #1295, Center for Supercomputing Research and Development, University of Illinois.
M. Scott et al., “Multi-model Parallel Programming in Psyche”, 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, March 1990.
L. Sha, R. Rajkumar, J. Leboczky, “Priority Inheritance Protocols: An Approach to Real-Time Synchronization”, IEEE Transactions on Computers, Vol. 39, No. 9, September 1990.
A. Tucker, A. Gupta, “Process Scheduling Issues for Multiprogrammed Shared Memory Multiprocessors”, ACM Symposium on Operating System Principles, December 1989.
R. Vaswani, J. Zahorjan, “The Implications of Cache Affinity on Processor Scheduling for Multiprogrammed, Shared Memory Multiprocessors”, ACM Symposium on Operating System Principles, October 1991.
M. Vandervoorde, E. Roberts, “WorkCrews: An Abstraction for Controlling Parallelism”, International Journal of Parallel Programming, August 1988.
C. Waldsburger, W. Weihl, “Lottery Scheduling: Flexible Proportional-Share Resource Management”, USENIX Symposium on Operating Systems Design and Implementation, November 1994.
J. Zahorjan, C. McCann, “Processor Scheduling in Shared Memory Multiprocessors”, SIGMETRICS May 1990.
J. Zahorjan et al., “The Effect of Scheduling Discipline on Spin Overhead in Shared Memory Multiprocessors”, IEEE Transactions on Distributed Systems, April 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barton, J.M., Bitar, N. (1995). A scalable multi-discipline, multiple-processor scheduling framework for IRIX. In: Feitelson, D.G., Rudolph, L. (eds) Job Scheduling Strategies for Parallel Processing. JSSPP 1995. Lecture Notes in Computer Science, vol 949. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60153-8_22
Download citation
DOI: https://doi.org/10.1007/3-540-60153-8_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60153-1
Online ISBN: 978-3-540-49459-1
eBook Packages: Springer Book Archive