Processor allocation for horizontal and vertical parallelism and related speedup bounds
The main aim of the paper is to study allocation of processors to parallel programs executing on a multiprocessor system, and the resulting speedups. First, the authors consider a parallel program as a sequence of steps where each step consists of a set of parallel operations. General bounds on the speedup on a rho-processor system are derived based on this model. Measurements of code parallelism for the LINPACK numerical package are presented to support the belief that typical numerical programs contain much potential parallelism that can be discovered by a good restructuring compiler. Next, a parallel program is represented as a task graph whose nodes are do across loops (i.e., loops whose iterations can be partially overlapped). It is shown how processors can be allocated to exploit horizontal and vertical parallelism in such graphs. Two processor allocation heuristic algorithms (WP and PA) are presented. PA is the heart of the WP and is used to obtain efficient processor allocations for a set of independent parallel tasks. WP allocates processors to general task graphs. Finally, a general formula for the speedup of a DO across loop is given that is more accurate than the known formula.
- Research Organization:
- Center for Supercomputing Research and Development, Univ. of Illinois, Urbana, IL 61801
- OSTI ID:
- 6626865
- Journal Information:
- IEEE Trans. Comput.; (United States), Journal Name: IEEE Trans. Comput.; (United States) Vol. C-36:4; ISSN ITCOB
- Country of Publication:
- United States
- Language:
- English
Similar Records
Partitioning and allocation of functional programs for data flow processors
An Integrated Approach to Locality-Conscious Processor Allocation and Scheduling of Mixed-Parallel Applications