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.
Preview
Unable to display preview. Download preview PDF.
References
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.
B. Bauer. Practical Parallel Programming. Academic Press, San Diego, 1992.
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.
Cray Research Inc. CRAY Y-MP, CRAY X-MP EA, and CRAY X-MP Multitasking Programmer's Manual. Eagan, Minnesota, 1991.
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.
D. Feitelson and L. Rudolph. Wasted resources in gang scheduling. In 5th Jerusalem Conf. on Information Technology, pages 127–136, Oct. 1990.
D. Feitelson and L. Rudolph. Gang scheduling performance benefits for fine-grain synchronization. J. of Parallel and Distrib. Computing, 16:306–318, 1992.
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.
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.
D. Lilja. Exploiting the parallelism available in loops. Computer, 27(2):13–26, February 1994.
V. Naik, S. Setia, and M. Squillante. Performance analysis of job scheduling policies in parallel supercomputing environments. In Supercomputing, pages 824–833, 1993.
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.
J. Ousterhout. Scheduling techniques for concurrent systems. In Distributed Computing Systems Conf., pages 22–30, 1982.
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.
Silicon Graphics Inc. Symmetric Multiprocessing Systems. Mountain View, CA 94043, 1993.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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