Parallel task assignment by graph partitioning
A technique is described that performs the mapping of tasks to processors in parallel. The technique first partitions a task graph into subgraphs and then applies mapping algorithms on the individual subgraphs in parallel. The assignment of all subgraphs are combined in the final phase to form the assignment for the entire task graph. This technique has a number of important advantages including (1) enabling the use of more expensive algorithms on the subgraphs, (2) allowing different mapping techniques to be applied to different parts of the task graph, (3) reducing the space requirements during mapping and (4) accommodating modifications to a program without remapping of the entire task graph. Simulation results demonstrate that parallelism can be found in the mapping process and the scheduling performance of our technique using scheduling heuristics is either close or better than when the same mapping algorithm is applied to the entire graph.
- 1.B. W. Kernighan and S. Lin, “An Efficient heuristic Procedure for Partitioning Graphs,” Bell System Technical Journal, Vol. 49, no. 2, PP. 291–306, Feb., 1970.Google Scholar
- 2.C. Shen and W. Tsai, “A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion,” IEEE Trans. Computers, Vol. C-34, no. 3, PP. 197–203, March, 1985.Google Scholar
- 3.M. Girkar and C. Polychronopoulos, “Partitioning Programs for Parallel Execution,” Proceedings of ACM Supercomputing Conference, PP. 216–229, 1988.Google Scholar
- 4.K. Efe, “Heuristic Models of Task Assignment Scheduling in Distributed System,” Computer, Vol. 15, no. 6, PP. 50–56, June, 1982.Google Scholar