Multiprogramming and the performance of parallel programs
MUHAMMAD S. T. BENTEN, Harry F. Jordan · SIAM Conference on Parallel Processing for Scientific Computing · 1987
Parallel processing has proven to be the way to break the speed limit of computing imposed by hardware technologies. Currently, there is a wide range of multiprocessors that are no longer only dedicated number crunching machines but, rather, general purpose computers that run multiprogrammed operating systems. This thesis addresses the problem of running parallel programs on these multiprogrammed multiprocessors. On these machines, the number of running processes may exceed the total number of CPU's, which will severly affect the performance of parallel programs and slow down their execution. In this thesis, parallel algorithms, sources of performance degradations and the theory of parallel programming are investigated. Based on these investigations, a new parallel programming methodology is presented that can be used to write parallel programs that tolerate the suspension of processes. These programs will utilize available running processes to make computational progress without waiting for suspended processes. This tolerance is a result of coordinating parallel programming activities with the operating system's state of processes. The new methodology is implemented as an extension to the Force parallel programming language, which enhances the portability of parallel programs to a wide range of multiprogrammed multiprocessors.