Abstract
Multiprogrammed multiprocessors executing fine-grain parallel programs appear to require new scheduling policies. A promising new idea is gang scheduling, where a set of threads are scheduled to execute simultaneously on a set of processors. This has the intuitive appeal of supplying the threads with an environment that is very similar to a dedicated machine. It allows the threads to interact efficiently by using busy waiting, without the risk of waiting for a thread that currently is not running. Without gang scheduling, threads have to block in order to synchronize, thus suffering the overhead of a context switch. While this is tolerable in coarse-grain computations, and might even lead to performance benefits if the threads are highly unbalanced, it causes severe performance degradation in the fine-grain case. We have developed a model to evaluate the performance of different combinations of synchronization mechanisms and scheduling policies, and validated it by an implementation on the Makbilan multiprocessor. The model leads to the conclusion that gang scheduling is required for efficient fine-grain synchronization on multiprogrammed multiprocessors.
Original language | English |
---|---|
Pages (from-to) | 306-318 |
Number of pages | 13 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 16 |
Issue number | 4 |
DOIs | |
State | Published - Dec 1992 |
Bibliographical note
Funding Information:ParC was developed by Yosi Ben-Asher. Much of the original version of the MAXI system was written by Moshe Ben Ezra and Lior Picherski. We thank the anonymous referees for their comments. We thank Intel Corporation for their generous equipment donation, without which the Makbilan multiprocessor could not be built. This research was funded in part by the US-Israel Binational Science Foundation Grant 88-00045. Dror Feitelson was supported by an Eshkol fellowship from the Ministry of Science and Technology. Israel.