An Architecture-Independent Graphical Tool for Automatic Contention-Free Process-to-Processor Mapping

Mapping of parallel programs onto parallel computers for efficient execution is a fundamental problem of great significance in parallel processing. This paper presents an architecture-independent software tool for contention-free mapping of arbitrary parallel programs onto parallel computers with arbitrary configurations. This mapping tool is based on an efficient heuristic algorithm that runs in time O(n3+m4) in the worst case for mapping n tasks onto m processors, where m ≪ n in most practical cases. It is fully implemented and incorporated into a graph editing system to produce a graphical mapping tool which enables its user to monitor and control the mapping process. The user can assist the mapping process or employ the algorithm to map automatically. Our mapping tool has been tested and its performance evaluated extensively. Experimental results show that our tool combines user intuition and mapping heuristics effectively to make it a powerful mapping tool which is practical to use. Our mapping tool can be easily extended for use in the more general case when the link contention-degree is bounded to a fixed system-specified value without increasing its complexity.

[1]  Sanjay V. Rajopadhye,et al.  OREGAMI: Tools for mapping parallel computations to parallel architectures , 1991, International Journal of Parallel Programming.

[2]  J. Ramanujam,et al.  Cluster partitioning approaches to mapping parallel programs onto a hypercube , 1987, Parallel Comput..

[3]  Ioannis G. Tollis,et al.  Algorithms for Drawing Graphs: an Annotated Bibliography , 1988, Comput. Geom..

[4]  H. Shen,et al.  Self-Adjusting Mapping: A Heuristic Mapping Algorithm for Mapping Parallel Programs on to Transputer Networks , 1992, Comput. J..

[5]  Matthias F. Stallmann,et al.  Hypercube embedding heuristics: An evaluation , 1990, International Journal of Parallel Programming.

[6]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[7]  Virginia Mary Lo,et al.  Heuristic Algorithms for Task Assignment in Distributed Systems , 1988, IEEE Trans. Computers.

[8]  Denis Trystram,et al.  Parallel algorithms and architectures , 1995 .

[9]  Michael Himsolt Graph^Ed: An Interactive Garpg Editor , 1989, STACS.

[10]  Takanobu Baba,et al.  A network-topology independent task allocation strategy for parallel computers , 1990, Proceedings SUPERCOMPUTING '90.

[11]  Hong Shen,et al.  Divide-and-conquer mapping of parallel programs onto hypercube computers , 1997, J. Syst. Archit..

[12]  Michael G. Norman,et al.  Models of machines and computation for mapping in multicomputers , 1993, CSUR.

[13]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[14]  Hong Shen Fast path-disjoint routing in transputer networks , 1991 .

[15]  Shahid H. Bokhari,et al.  A Network Flow Model for Load Balancing in Circuit-Switched Multicomputers , 1993, IEEE Trans. Parallel Distributed Syst..

[16]  Heinz Mühlenbein,et al.  Mapping Strategies in Message Based Multiprocessor Systems , 1987, PARLE.

[17]  Francine Berman,et al.  On Mapping Parallel Algorithms into Parallel Architectures , 1987, J. Parallel Distributed Comput..