Process control and scheduling issues for multiprogrammed shared-memory multiprocessors
- 1 November 1989
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in ACM SIGOPS Operating Systems Review
- Vol. 23 (5) , 159-166
- https://doi.org/10.1145/74851.74866
Abstract
Shared-memory multiprocessors are frequently used in a time-sharing style with multiple parallel applications executing at the same time. In such an environment, where the machine load is continuously varying, the question arises of how an application should maximize its performance while being fair to other users of the system. In this paper, we address this issue. We first show that if the number of runnable processes belonging to a parallel application significantly exceeds the effective number of physical processors executing it, its performance can be significantly degraded. We then propose a way of controlling the number of runnable processes associated with an application dynamically, to ensure good performance. The optimal number of runnable processes for each application is determined by a centralized server, and applications dynamically suspend or resume processes in order to match that number. A preliminary implementation of the proposed scheme is now running on the Encore Multimax and we show how it helps improve the performance of several applications. In some cases the improvement is more than a factor of two. We also discuss implications of the proposed scheme for multiprocessor schedulers, and how the scheme should interface with parallel programming languages.Keywords
This publication has 7 references indexed in Scilit:
- Characterization of parallelism and deadlocks in distributed digital logic simulationPublished by Association for Computing Machinery (ACM) ,1989
- Multicomputers: message-passing concurrent computersComputer, 1988
- Parallel implementation of OPS5 on the encore multiprocessor: Results and analysisInternational Journal of Parallel Programming, 1988
- Hierarchical cache/bus architecture for shared memory multiprocessorsPublished by Association for Computing Machinery (ACM) ,1987
- MULTILISP: a language for concurrent symbolic computationACM Transactions on Programming Languages and Systems, 1985
- Queue-based multi-processing LISPPublished by Association for Computing Machinery (ACM) ,1984
- Thoth, a portable real-time operating systemCommunications of the ACM, 1979