Skip to main content

Loop-Level Process Control: An effective processor allocation policy for multiprogrammed shared-memory multiprocessors

  • 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

Processor time-sharing is the most common way to increase the overall system utilization for shared-memory multiprocessor systems. However, the performance of individual applications might be sacrificed due to the high overhead of context switching, due to the processing power wasted by busy-waiting synchronization and locking operations, and due to poor cache memory utilization. In this paper, we propose a simple and effective processor allocation scheme, called Loop-Level Process Control (LLPC), for multiprogrammed multiprocessors. At the beginning of each parallel section of each application program, LLPC uses the current system load to determine an upper limit on the number of processes the application can create for that parallel section. Preliminary simulation results using the Perfect Club Fortran benchmarks show that this loop-level process control scheme can produce a high system utilization while maintaining high performance for the individual applications. Another advantage of this strategy is that it is transparent to the programmer and does not require any modifications to the operating system. Consequently, the application can remain portable and compatible.

This work was supported in part by the National Science Foundation under grant no. MIP-9221900.

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. J. Barton and N. Bitar. A scalable multi-discipline, multiple-processor scheduling framework for IRIX. In IPPS'95 Workshop on Job Scheduling Strategies for Parallel Processing, pages 24–40, April 1995.

    Google Scholar 

  2. B. Bauer. Practical Parallel Programming. Academic Press, San Diego, 1992.

    Google Scholar 

  3. M. Berry, D. Chen, P. Koss, D. Kuck, and S. Lo. The Perfect Club benchmarks: effective performance evaluation of supercomputers. International Journal of Supercomputer Applications, pages 5–40, Fall 1989.

    Google Scholar 

  4. Cray Research Inc. CRAY Y-MP, CRAY X-MP EA, and CRAY X-MP Multitasking Programmer's Manual. Eagan, Minnesota, 1991.

    Google Scholar 

  5. R. Dimpsey and R. Iyer. Modeling and measuring multiprogramming and system overheads on a shared-memory multiprocessor: Case study. J. of Parallel and Distributed Computing, 12:402–412, 1991.

    Google Scholar 

  6. D. Feitelson and L. Rudolph. Wasted resources in gang scheduling. In 5th Jerusalem Conf. on Information Technology, pages 127–136, Oct. 1990.

    Google Scholar 

  7. D. Feitelson and L. Rudolph. Gang scheduling performance benefits for fine-grain synchronization. J. of Parallel and Distrib. Computing, 16:306–318, 1992.

    Google Scholar 

  8. A. Gupta, A. Tucker, and S. Urushibara. The impact of operating system scheduling polices and synchronization methods on the performance of parallel applications. In Conf. on the Measurement and Modeling of Comp. Sys., volume 19, pages 120–132, 1991.

    Google Scholar 

  9. S. Leutenegger and M. Vernon. The performance of multiprogrammed multiprocessor scheduling policies. In Conf. on the Measurement and Modeling of Comp. Sys., volume 18, pages 226–236, 1990.

    Google Scholar 

  10. D. Lilja. Exploiting the parallelism available in loops. Computer, 27(2):13–26, February 1994.

    Google Scholar 

  11. V. Naik, S. Setia, and M. Squillante. Performance analysis of job scheduling policies in parallel supercomputing environments. In Supercomputing, pages 824–833, 1993.

    Google Scholar 

  12. C. Natarajan, S. Sharma, and R. Lyer. Impact of loop granularity and selfpreemption on the performance of loop parallel applications on a multiprogrammed shared-memory multiprocessor. In 1994 International Conference on Parallel Processing, volume II, pages 174–178, August 1994.

    Google Scholar 

  13. J. Ousterhout. Scheduling techniques for concurrent systems. In Distributed Computing Systems Conf., pages 22–30, 1982.

    Google Scholar 

  14. C. D. Polychronopoulos, M. Girkar, M. R. Haghighat, C. L. Lee, B. Leung, and D. Schouten. Parafrase-2: An environment for parallelizing, partitioning, synchronizing, and scheduling programs on multiprocessors. In International Conference on Parallel Processing, volume II, pages 39–48, 1989.

    Google Scholar 

  15. Silicon Graphics Inc. Symmetric Multiprocessing Systems. Mountain View, CA 94043, 1993.

    Google Scholar 

  16. A. Tucker and A. Gupta. Process control and scheduling issues for multiprogrammed shared-memory multiprocessors. In 12th ACM Sym. on Operating System Principles, pages 159–166, 1989.

    Google Scholar 

  17. K. Yue and D. Lilja. Parallel loop scheduling for high performance computers. In J. Dongarra and et. al., editors, High Performance Computing: Issues, Methods, and Applications. Elsevier Science B.V., Amsterdam, The Netherlands, 1995.

    Google Scholar 

  18. J. Zahorjan, E. Lazowska, and D. Eager. Spinning versus blocking in parallel systems with uncertainty. In Int. Sem. on Performance of Distributed and Parallel Systems, pages 455–472, 1988.

    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

Yue, K.K., Lilja, D.J. (1995). Loop-Level Process Control: An effective processor allocation policy for multiprogrammed shared-memory multiprocessors. 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_29

Download citation

  • DOI: https://doi.org/10.1007/3-540-60153-8_29

  • 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