Abstract

This paper presents a polynomial-time Occam program for automatically mapping parallel programs onto multiprocessor systems. Based on the heuristic strategy of self-adjusting mapping, our program consists of grouping, placement, routing and self-adjusting procedures. Grouping groups the user-defined processes in a parallel program into target tasks with a possible load-balancing. Placement places the target tasks onto the processors in a transputer network. Routing produces edge-disjoint physical communication paths for the logical communication requirements among the placed tasks in the network. Self-adjusting adjusts first the placement scheme when the routing fails and then the grouping scheme when the necessary adjusting for placement is unable to make the routing succeed. These four procedures work co-operatively until a successful process-to-processor mapping has been finally achieved after a series of progressive self-adjustments. For the problem of mapping n processes in an arbitrary task graph onto m processors in a transputer network configured into a torus, the program needs time O(max{ n 2, m 5}) in the worst case on one processor under full adjusting. The time is reduced to O(max{ n 2, m 4}) if the adjusting heuristic is degraded into semi-adjusting, and to O(max{ n 2, m 2}) when the adjusting heuristic is completely eliminated. The latter result holds only for the transputer networks providing message routing and multiplexing. We demonstrate the implementation result and performance evaluation of the program on the Hathi-2 transputer system. The implementation shows that for both regular and irregular task graphs the program works very well and produces satisfactory results.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.