Skip to main content

A scalable multi-discipline, multiple-processor scheduling framework for IRIX

  • Conference paper
  • First Online:
Job Scheduling Strategies for Parallel Processing (JSSPP 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 949))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. Anderson, E. Lazowska, H. Levy, “The Performance Implications of Thread Management Alternatives for Shared Memory Multiprocessors”, IEEE Transactions on Computers, December 1989.

    Google Scholar 

  2. T. Anderson, B. Bershad, “Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism”, ACM Symposium on Operating System Principles, October 1991.

    Google Scholar 

  3. M. Bach, “The Design of the UNIX Operating System”, Prentice Hall, 1986.

    Google Scholar 

  4. J. Barton, J. Wagner, “Beyond Threads: Resource Sharing in UNIX”, USENIX Winter Conference, February 1988.

    Google Scholar 

  5. D. Black, “Scheduling Support for Concurrency in the Mach Operating System”, IEEE Computer, May 1990.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. Cray Computer Systems, “Multitasking User Guide”, Technical Note SN-0222, January 1985.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. R. Draves, et al., “Using Continuations to Implement Thread Management and Communication in Operating Systems”, ACM Symposium on Operating System Principles, October 1991.

    Google Scholar 

  10. Edler et al., “Process Management for Highly Parallel UNIX Systems”, USENIX Workshop on UNIX and Supercomputers, September 1988.

    Google Scholar 

  11. D. Eager, J. Zahorjan, “Chores: Enhanced Run-time Support for Shared-Memory Parallel Computing”, ACM Transactions on Computer Systems, February 1993.

    Google Scholar 

  12. M. Girkar, C.D. Polychronopoulos, “Functional Parallelism in Ordinary Programs”, IEEE Transactions on Parallel and Distributed Computing, March 1992.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. S.P. Lo, V. Gligor, “A Comparative Analysis of Multiprocessor Scheduling Algorithms”, 7th International Conference on Distributed Computing Systems, September 1987.

    Google Scholar 

  15. C.D. Polychronopoulos, “Multiprocessing vs. Multiprogramming”, Proceedings of the 1989 International Conference on Parallel Processing, St. Charles, IL, August, 1989.

    Google Scholar 

  16. C.D. Polychronopoulos, “Control Flow and Data Flow Come Together”, Technical Report, Center for Supercomputing Research and Development, University of Illinois, November 1990.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. M. Scott et al., “Multi-model Parallel Programming in Psyche”, 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, March 1990.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. A. Tucker, A. Gupta, “Process Scheduling Issues for Multiprogrammed Shared Memory Multiprocessors”, ACM Symposium on Operating System Principles, December 1989.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. M. Vandervoorde, E. Roberts, “WorkCrews: An Abstraction for Controlling Parallelism”, International Journal of Parallel Programming, August 1988.

    Google Scholar 

  23. C. Waldsburger, W. Weihl, “Lottery Scheduling: Flexible Proportional-Share Resource Management”, USENIX Symposium on Operating Systems Design and Implementation, November 1994.

    Google Scholar 

  24. J. Zahorjan, C. McCann, “Processor Scheduling in Shared Memory Multiprocessors”, SIGMETRICS May 1990.

    Google Scholar 

  25. J. Zahorjan et al., “The Effect of Scheduling Discipline on Spin Overhead in Shared Memory Multiprocessors”, IEEE Transactions on Distributed Systems, April 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Dror G. Feitelson Larry Rudolph

Rights and permissions

Reprints 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

Publish with us

Policies and ethics