Optimal processor assignment for a class of pipelined computations
- 1 April 1994
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 5 (4) , 439-445
- https://doi.org/10.1109/71.273050
Abstract
The availability of large-scale multitasked parallel architectures introduces the followingprocessor assignment problem. We are given a long sequence of data sets, each of whichis to undergo processing by a collection of tasks whose intertask data dependencies forma series-parallel partial order. Each individual task is potentially parallelizable, with aknown experimentally determined execution signature. Recognizing that data sets can bepipelined through the task structure, the problem is to find a "good" assignment ofprocessors to tasks. Two objectives interest us: minimal response time per data set,given a throughput requirement, and maximal throughput, given a response timerequirement. Our approach is to decompose a series-parallel task system into its essential"serial" and "parallel" components; our problem admits the independent solution andrecomposition of each such component. We provide algorithms for the series analysis, and use an algorithm due to Krishnamurti and Ma for the parallel analysis. For a p processor system and a series-parallel precedence graph with n constituent tasks, we give a O(np/sup 2/) algorithm that finds the optimal assignment (over a broad class ofassignments) for the response time optimization problem; we find the assignmentoptimizing the constrained throughput in O(np/sup 2/ log p) time. These techniques areapplied to a task system in computer vision.Keywords
This publication has 26 references indexed in Scilit:
- Optimal partitioning of cache memoryIEEE Transactions on Computers, 1992
- The DARPA image understanding benchmark for parallel computersJournal of Parallel and Distributed Computing, 1991
- Dynamic partitioning in a transputer environmentPublished by Association for Computing Machinery (ACM) ,1990
- On mapping systolic algorithms onto the hypercubeIEEE Transactions on Parallel and Distributed Systems, 1990
- Complexity of Scheduling Parallel Task SystemsSIAM Journal on Discrete Mathematics, 1989
- Scheduling algorithms for PIPE (pipelined image-processing engine)Journal of Parallel and Distributed Computing, 1988
- Allocating programs containing branches and loops within a multiple processor systemIEEE Transactions on Software Engineering, 1986
- The Recognition of Series Parallel DigraphsSIAM Journal on Computing, 1982
- Multiprocessor Scheduling with the Aid of Network Flow AlgorithmsIEEE Transactions on Software Engineering, 1977
- Discrete Optimization Via Marginal AnalysisManagement Science, 1966