Distributed multi-destination routing in hypercube multiprocessors

An efficient interprocessor communication mechanism is essential to the performance of hypercube multiprocessors. All existing hypercube multiprocessors basically support one-to-one interprocessor communication only. However, multi-destination communication (multicast), which is highly demanded in executing many data parallel algorithms, is not directly supported by existing hypercube multiprocessors. A multicast algorithm should attempt to inform each destination in a minimum number of time steps while generating a least amount of traffic. This problem is formally modeled as a graph theoretical problem, the Optimal Multicast Tree problem. We conjecture that the optimal multicast tree problem remains NP-hard even for hypercube topology. A heuristic greedy multicast algorithm which guarantees a minimized message delivery time is proposed. Simulation results show that the performance of the greedy algorithm is very close to optimal solution. Routing of multicast messages is done in a distributed manner.