Semi-automatic Process Decomposition for Non- shared Memory Machines
Charles H. Koelbel, Piyush Mehrotra · Purdue e-Pubs (Purdue University System) · 1988
To achieve high performance on non•shared memory machines one must carefully distribute the data and the work so as to keep the workload balanced while minimizing the access to non-local data.Process decomposition is the operation of writing an algorithm as a collection of tasks, each operating primarily on its own portion of the data, to carry out the computation in parallel.In this paper we consider a semi-automatic approach to process decomposition in which the compiler, guided by advice from the user, automatically transforms sequential programs into such a set of interacting tasks.This approach is illustrated with a Gaussian elimination example which is transformed into a task system maximizing locality of memory reference.