Parallel programs are characterized by their speedup behavior. As more processors are allocated to a particular parallel program, the program (potentially) executes faster. However, there is often a point of diminishing returns, beyond which extra allocated processors cannot be used effectively. Extra processors would be better utilized by allocating them to another program. Thus, given a set of processors in a multiprocessor system, and a set of parallel programs, a partitioning problem naturally arises which seeks to allocate processors to programs optimally. The problem addressed in this paper is dynamic partitioning. When the number of executable parallel programs changes, the optimal partition sizes also change. To realize the new partition settings, a dynamic repartitioning of all processors is triggered. When extra processors suddenly become available to a running program due to a program departure, or when processors suddenly are taken away from a running program due to a program arrival, a nontrivial repartitioning overhead occurs. Depending upon the specific environment, this overhead cost may negate any potential repartitioning benefit. To gain insight into this dynamic partitioning problem, a specific system, a specific workload, and a specific analytical model are studied. The specific system is an INMOS transputer system consisting of an IIP Vectra front-end, an INMOS B004 evaluation board with a single T414 transputer, and an EB8-10 board with eight T800 transputers. The specific workload consists of parallel versions of a classical N-body problem and a classical search problem. The specific analytical model is a Markov model which is parameterized using the concept of program execution signatures. The sensitivity analysis experiments both validate the model and indicate the characteristics of those workloads which benefit from dynamic partitioning.
Read full abstract