Multicasting using Multidestination-Worms Conforming to Base Routing Schemes 1 Dhabaleswar K. Panda and Pradeep Prabhakaran Department of Computer and Information Science Ohio State University Columbus , OH 43210-1277 Tel : -LRB- 614 -RRB- -292 -5199 , Fax : -LRB- 614 -RRB- -292 -2911 Email : fpanda,prabhakag@cis.ohio-state.edu Contact Author : Dhabaleswar K. Panda Abstract Multicast schemes proposed for wormhole-routed networks so far are either Hamiltonian path-based or unicast-based . The former requires dedicated virtual channels to avoid deadlock with unicast messages in the system . The latter scheme , while allowing intermingling of multicast messages with unicast ones , incurs more latency due to absorb-and-retransmit strategy at intermediate nodes . In this paper , we propose a new multidestination-worm-based scheme where a single worm is used to transmit a message from a source node to a set of destination nodes , which are reachable from it using a single path while confirming to the base routing scheme . Since the movement of these worms is controlled by the base routing scheme of the network , there is no need for any added virtual channel than required by the base routing scheme itself . Algorithms are presented to create such worms for any multicast destination set for popular routing schemes like e-cube , planar-adpative , and maximally-fully-adpative using turn model . We show that as routing adaptivity increases , less number of worms with longer path lengths are sufficient to cover a given destination set . The approach provides a new solution to avoid deadlock problem in combining unicast and multicast messages on a wormhole-routed network without added virtual channels . 1Manuscript submitted on Sept 20 , 1993 for The International Parallel Processing Symposium , 1994 . This research is supported in part by the National Science Foundation Grant # MIP-9309627 . All rights reserved by the authors until publication . Contents 1 Introduction 1 2 Multicasting with Multidestination Worm 2 2.1 The Concept : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2.2 Differences with Hamiltonian Path-based Scheme : : : : : : : : : : : : : : : 4 2.3 Comparison with Unicast based multicast : : : : : : : : : : : : : : : : : : : 4 3 Multicast Scheme 4 3.1 Worm creation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 3.2 Worm Propagation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 4 Worm Creation for Existing Routing Schemes 5 4.1 E-cube Routing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 4.2 Planar Adaptive Routing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 4.3 Maximally-fully Adaptive Routing -LRB- Turn model -RRB- : : : : : : : : : : : : : : : : 10 4.3.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 4.4 The algorithm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 4.4.1 Dynamic Programming solution : : : : : : : : : : : : : : : : : : : : : 11 4.4.2 Detailed steps : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 5 Evaluation 13 6 Conclusion 13 1 Introduction Multicast represents the most complex communication pattern on a multicomputer system -LSB- 2 , 10 , 15 -RSB- . It is shown to be useful -LSB- 13 -RSB- in parallel algorithms , data replication , barrier synchronization , and implementation of distributed shared memory paradigm on a directnetwork-based parallel system . In general , optimal solution to multicasting is NP-complete and remains so even with some restrictions -LSB- 12 -RSB- . Several heuristics have been proposed in the literature for packet-switched hypercubes -LSB- 9 , 15 -RSB- . Since the current generation systems are moving towards using wormhole-routing -LSB- 4 , 14 -RSB- , many solutions are being proposed to efficiently implement multicasting on these systems while blending with the underlying topology and routing scheme . Since tree-based schemes lead to deadlock on wormhole-routed systems -LSB- 10 -RSB- , pathbased schemes have been proposed in the past -LSB- 11 , 16 -RSB- . These schemes use additional virtual channels in addition to those required by the base routing scheme . The base routing schemes , in this paper , are defined to be the wormhole routing schemes which can support arbitrary point-to-point message passing in a deadlock-free manner . Some representative base routing schemes are e-cube -LSB- 4 -RSB- , planar-adaptive -LSB- 3 -RSB- , and classes of fully-adaptive ones -LSB- 1 , 5 , 6 , 8 -RSB- . Under Hamiltonian-path implementation , multicast messages are routed over the virtual channels used for constructing the Hamiltonian path . The unicast -LRB- single destination -RRB- messages are routed over -LRB- virtual/physical -RRB- channels according to the base routing scheme . For systems supporting only base routing , the path-based schemes can not be used at all . Even adding separate virtual channels for path-based multicasting , the latency of unicast messages increases in the presence of multicast messages due to the demand multiplexing of a set of virtual channels over a physical channel -LSB- 7 -RSB- . In order to alleviate these disadvantages , McKinley and his research group have proposed -LSB- 13 -RSB- a unicast-based multicast scheme , where multicast messages are propagated using software multicast trees . It requires only the base routing support and incurs dlog2 -LRB- d -RRB- e startups for a destination set of size d . The set of intermediate destinations need to partition the destination sets received from their parents into subsets and forward them to their children . Though this forwarding is done in a contention-free manner in order to reduce multicast latency , the intermediate processors -LRB- receivers of the multicast -RRB- have to get disturbed from their computational task in order to partition the destination set and initiate the message forwarding . This has potential to have an adverse effect on the parallel execution time of the associated program . This leads an interesting problem whether a multicasting scheme can be developed which reduces computational burden from the intermediate destinations and conforms to the base routing scheme in order to avoid extra virtual channels in the system . In this paper , we propose a solution to this problem by using a new concept of multidestination worm . These worms are similar to the worms used in Hamiltonian-path based scheme . However , the destination set of a worm is created and ordered at the source node in such a way that it can reach the specified destinations using the base routing scheme in an ordered fashion . This allows the multidestination worms to be mixed with single-destination unicast messages without deadlock . At the router of each intermediate destination , the message is concurrently consumed as well as forwarded . This implementation , unlike softwarebased multicast tree approach , does not disturb the associated processors of intermediate nodes in their computational activities . Since a multidestination worm moves on a path , the path length -LRB- covering the destination nodes in its header -RRB- affects the multicast latency . Similarly , the number of worms created at the source to cover a given multicast set determines the number of startups . In this paper , we present a framework to create multidestination worms in such a way that both the number of worms and average path length per worm are minimized . We present worm-creation algorithms for popular routing schemes like ecube -LSB- 4 -RSB- , planar-adaptive -LSB- 3 -RSB- , and maximally-fully-adaptive scheme based on turn model -LSB- 8 -RSB- . We show that as the adaptivity increases , less number of worms can be created with longer path lengths to cover a given destination set . This also indicates that for a given technology -LRB- the ratio of communication startup time to propagation time -RRB- and routing adaptivity , a tradeoff can be made between the number of worms and their path length . The paper is organized as follows . We introduce the concept of multidestination worm in section 2 . Section 3 describes how to implement multicasting using these worms . Worm creation algorithms for various routing strategies are presented in section 4 . A comparative evaluation of the effectiveness of these algorithms is presented in section 5 . Section 6 provides conclusion and future directions of this research . 2 Multicasting with Multidestination Worm In this section , we introduce the concept of multidestination worm and compare it with Hamiltonian-path based and unicast-based multicast schemes . 2.1 The Concept Our objective is to utilize the base routing scheme for multicast . This can be achieved if the source node sends messages such that all the destination nodes of a given multicast set are covered by atleast one message . The generated messages need to be compatible with the base routing scheme . These messages can be routed together with unicast messages , and do not require additional virtual channels.Figure 1 illustrates an example about how to cover a given set of multicast destinations using multidestination worms for different routing strategies . It is to be noted that paths traversed by multidestination worms need to be valid paths under the base routing scheme . Since the generated messages conform to the base routing scheme , they can not result in deadlock since the base routing scheme is assumed to be deadlock free . This leads to the following observation : Observation 1 Multicast scheme using multidestination worms is deadlock free . S -LRB- a -RRB- -LRB- b -RRB- -LRB- c -RRB- Source Destinations Valid multicast worm Invalid worm Figure 1 : Example multicasting using multidestination worms for -LRB- a -RRB- e-cube , -LRB- b -RRB- planar adaptive , and -LRB- c -RRB- fully adaptive routing schemes . 2.2 Differences with Hamiltonian Path-based Scheme The existing multicast scheme based on Hamiltonian path -LSB- 11 , 16 -RSB- provides an ordering between the channels to avoid deadlock . This defines a path connecting all nodes . For a given multicast destination set , the worm gets propagated on high or low channels to cover all destination nodes . To be deadlock free , this scheme requires additional virtual channels in addition to those required by the base routing scheme . Any unicast message using the base routing scheme can not be routed through these channels . 2.3 Comparison with Unicast based multicast According to the existing unicast based multicast scheme -LSB- 13 -RSB- , the source sends the message to a set of nodes.Each of these nodes absorbs the message and generates messages for another set of nodes.This operation proceeds in a tree like fashion . This involves a startup delay at each step . However , our proposed scheme has startup delay only at the source . It also attemps to minimize the number of worms to be sent -LRB- and hence the startup delay -RRB- . We also minimize the average path length in the case of e-cube and maximally fully adaptive routing schemes . It allows mixing of unicast and multidestination messages . 3 Multicast Scheme In the following sections we describe the creation and propagation of multicast worms . 3.1 Worm creation Let s be the source and D = fd1 ; d2 : : : dng be the destination set.The algorithm partitions the destination set into sets D1 : : : Dk such that each subset can be covered by a single message compatible with the base routing scheme . Each of the message generated contains a list of destinations to which the message should be sent . 3.2 Worm Propagation Let a worm with destination set fd1 ; d2 ; : : : ; dng arrive at the router of processor p . If the first element in the destination list -LRB- d1 -RRB- is processor p itself , it concurrently reads the message into an input port and forwards the worm to d2 , after setting its destination set to fd2 ; d3 ; : : : ; dng . Other wise , it just forwards the message to the first element in the destination set . Since each intermediate node only forwards the worm , there is no startup delay involved at the intermediate nodes . This scheme requires 2kv consumption ports for each processor for a k-ary mesh with v virtual channels to avoid indirect deadlock through virtual channels . However , since low dimension meshes are preferred compared to high dimension meshes in recent machines , this is not a serious disadvantage from a practical point of view . For example , 2D mesh with e-cube routing will need four consumption ports.Eight consumption ports are needed for 2D mesh supporting fully adaptive routing . m3 m2 m1 dk d1 ... . d2 d2d3m1 Output channel Input channel m2 Consumption port d2d3 ... m1m2 Router forp1 Figure 2 : Worm propagation through a router . 4 Worm Creation for Existing Routing Schemes In this section we present algorithms for creating multidestination worms conforming to base routing schemes . We consider three popular routing schemes : e-cube -LSB- 4 -RSB- , planar -LSB- 3 -RSB- and maximally fully adaptive -LSB- 8 -RSB- . The algorithms are presented for 2D meshes . They can easily be extended to higher dimensional systems . 4.1 E-cube Routing We use a two-step approach . Let s be the source with coordinates -LRB- xs ; ys -RRB- and fd1 ; d2 ; d3 ; : : : ; dng be the destination set . Assume that the E-Cube routing routes messages in the x dimension first and then along the y dimension . We classify the destination set based on their coordinates into the following four sets : 1 . Upper right UR : set of nodes -LRB- x1 ; y1 -RRB- with x1 > xs and y1 > ys 2 . Lower right LR : set of nodes -LRB- x2 ; y2 -RRB- with x2 > xs and y2 < = ys 3 . Upper left UL : set of nodes -LRB- x3 ; y3 -RRB- with x3 < = xs and y3 > ys 4 . Lower left LL : set of nodes -LRB- x4 ; y4 -RRB- with x4 < = xs and y4 < = ys It can be noted that a column x is not empty if there is at least one element of the destination set in that column.In the next step , we use the following procedure to create the respective worms : Procedure E-cube-multicast -LRB- UR , LR , UL , LL -RRB- For each set UR , LR , UL , LL do For each column x do f If x is not empty Create a worm covering all nodes whose y coordinate is greater than or equal to ys . Create a worm covering all nodes whose y coordinate is less than ys . g Figure 1 shows an example for the messages generated for a given source and destination set . In the worst case this algorithm requires to send two messages for each column -LRB- x -RRB- , requiring 2n messages for a 2 ? 2 mesh of size n . This is also the lower bound for any multicast algorithm based on the E-cube routing . Theorem 1 E-cube-multicast generates the minimum number of worms required for multicast using worms conforming to ecube routing scheme . Also , the total length of all the messages is the minimum . The number of multidestination worms generated is minimum because if there is a destination node above -LRB- below -RRB- the source , it requires atleast one worm , according to the E-cube routing scheme.Any set of worms following the ecube scheme should have at least one worm from the source to the nodes with the maximum distance above and below the source for each column . The above algorithm generates exactly one such worm with the minimum length and hence also results in minimum total length for the worms . 4.2 Planar Adaptive Routing We create worms for planar adaptive routing proposed by -LSB- 3 -RSB- . The destination set can be partitioned into four sets UR ; LR ; UL and LL as in the case of E-cube routing . Each of the above sets can now be modelled as a partially ordered set based on the routing constraints . Let the coordinates of node v be -LRB- x1 ; y1 -RRB- and that of node u be -LRB- x2 ; y2 -RRB- . The partial order relation is : 1 . Set UR : -LRB- u OE v -RRB- if and only if -LRB- x1 < = x2 -RRB- and -LRB- y1 < = y2 -RRB- 2 . Set LR : -LRB- u OE v -RRB- if and only if -LRB- x1 < = x2 -RRB- and -LRB- y1 > = y2 -RRB- 3 . Set UL : -LRB- u OE v -RRB- if and only if -LRB- x1 > = x2 -RRB- and -LRB- y1 < = y2 -RRB- 4 . Set LL : -LRB- u OE v -RRB- if and only if -LRB- x1 > = x2 -RRB- and -LRB- y1 > = y2 -RRB- For the above partial order relation , we can build a partial order graph , which has a directed edge -LRB- u ; v -RRB- from u to v if and only if u OE v as shown in Fig. 3 . Source Figure 3 : Partial order graph for creating multidestination worms on planar - adaptive . In the second step , we propose the following procedure to build a star shaped graph with the source as the root . It considers each node in topological order , starting with the source based on the above partial order relation and attaches it to the closest leaf of the graph built so far . This results in a set of paths leading from the source . A worm can be assigned to each of the path , resulting in a minimum set of multicast worms satisfying the planar adaptive routing constriants . Procedure Planar-adaptive -LRB- UR ; UL ; LR ; LL ; s -RRB- f s is the source . The algorithm builds a tree T -LRB- V ; E -RRB- , where V is the set of vertices and E is the set of edges , such that the path from the source to each leaf corresponds to a multicast worm g for each partition UR ; UL ; LR ; LL do the following : 1 . construct a partially ordered graph P for the destination nodes based on the relation ; 2 . mark the source node as visited ; Let U = fsg ; T : = -LRB- s ; nil -RRB- ; f T is the tree built so far and U is the list of vertices considered in the current stage g while there are more unmarked nodes , do steps 3 to 5 . 3 . K : = fl1 ; l2 ; : : : ; ltg , the set of immediate successors of all nodes in U in the partial order graph P such that all the predecessors of li have been marked as visited , for all i ; 4 . Set the ancestor of each node in K to a leaf of T such that the partial order relation is satisfied and the distance from the leaf to the node is the minimum . If no leaf node exist such that the partial order relation is satisfied , make the source s the ancestor of the node . 5 . U : = K 6 . The destination lists of the multicast worms are obtained by taking the reverse of the paths obtained by travelling from the leaf nodes to the root , following the ancestor relation . Thus , the number of multidestination worms from the source required for multicast is the same as the number of leaves in the graph constructed in step 1 of the algorithm . Theorem 2 Procedure planar-adaptive finds the minimum number of worms required for multicast for a given source and destination set . Proof : Since each node is attached to a leaf in step -LRB- 4 -RRB- according to the partial order relation , the worms created by extracting a path from the source to a leaf does not violate the planar adaptive routing restrictions . Since each node in the destination set is covered by a worm , the set of worms created by the algorithm corresponds to a multicast for the given source and destination set . The proof that it computes the minimum number of worms is by induction on the number of levels in the tree T . It can be seen that the algorithm goes through the tree level by level and computes the ancestor nodes for each node at a level . Lemma 1 No pair of nodes in the vertex list K in step -LRB- 3 -RRB- of the algorithm are related by the partial order relation . Proof : Suppose n1 OE n2 , where n1 ; n2 2 K. But , step -LRB- 3 -RRB- lists a node only if all its ancestors have been listed . This means that n2 can not be listed along with n1 , a contradiction . Thus , no pair of nodes in K are related . Induction Basis For nodes in level 1 of the tree T , the algorithm generates the minimum number of worms covering them . This is true since no pair of nodes in K , the list of nodes in level 1 are related and hence , any multicast requires as many worms as the number of nodes in K . Since the algorithm generates exactly one worm for each node in K at level 1 , the number of worms generated by the algorithm is the minimum for level 1 . Induction Hypothesis Assume that the algorithm generates the minimum number of worms for nodes in all levels until level l. Induction step Let Kl and Ul correspond to K and U lists computed by the algorithm for level l. Kl is the set of nodes at level l and Ul is the set of nodes in level l + 1 of T . Since no two nodes in Kl are related -LRB- lemma 1 -RRB- , each worm to a node n1 in level l can be extended to node n2 in level l + 1 if and only if n1 OE n2.Also , since a worm can not branch into two , a worm to any node in level l can be extended to maximum one node in level l + 1 . Thus , any multicast requires atleast W = jKlj + jUlj ? jRj worms if jUlj > jRj or W = jKlj if jUlj < = jRj . where R is the set of nodes in Kl which are related by OE relation to some node in Ul . Step -LRB- 4 -RRB- of the algorithm results in exactly W number of worms at level l + 1 since it attaches each node n2 in level l + 1 to a worm ending at n1 in level l only when n1 OE n2 and no other node in level l + 1 has already been attached to n1 -LRB- Fig. 4 -RRB- . Otherwise , it creates a new worm from the source to n2 . Thus , assuming that the algorithm generates the minimum number of worms for all nodes until level l , it generates the minimum number of worms for all node until level l + 1 . Thus , by induction , the algorithm generates the minimum number of worms for nodes in all levels in T , and hence the minimum number of worm required for multicast . graph edge stage l +1 stage l worms to nodes in stage l +1 worms to nodes until stage l Figure 4 : Creation of worms in planar adaptive based multicast algorithm . 4.3 Maximally-fully Adaptive Routing -LRB- Turn model -RRB- 4.3.1 Introduction An instance of the maximally fully adaptive routing scheme -LSB- 8 -RSB- has two sets of virtual channels . One set of virtual channels allows only west first routing and the other allows only east last routing . Zero degree turns are allowed from the northward y channels of East last channels to those of the West first channels . The following algorithm utilizes the monotonicity property of any worm with respect to any vertical line to create a minimum length path connecting the source and the destinations . Let the path generated be < q1 ; q2 ; : : : ; qu ; s ; r1 ; r2 ; : : : ; rt > . This path is split into one or two worms starting with the source s depending on whether it is at one end of the path or within the path , respectively . Each of the paths has the property that it either moves strictly to the east -LRB- with out any turn to the west -RRB- , or it moves west and makes exactly one turning to the east . The former case clearly conforms to the west first scheme and can be routed in the west first channel . The latter first takes the east last channel and at the west most node , takes a zero degree turn from the northward y channel corresponding to the east last channel to the increasing y channel corresponding to the west first channel and continues in the west first channel . S zero degree turn from east last to west first channel worm along West first channel worm along East last channel source destination Figure 5 : Multidestination worms for an example source and destination set for maximally fully adaptive algorithm 4.4 The algorithm Lemma 2 Any path taken by a unicast message in maximally fully adaptive algorithm as described above has the restriction that any vertical line can cross the path in atmost two places . That is , it is monotonic with respect to the y-axis . Any vertical line can intersect a message in the west first channel and a message in the east last channel in maximum one point each . Since a message can travel along the east last channel and then cross over to the west first channel , it can intersect a vertical line at maximum two points . The above property allows us to use a dynamic programming solution to find the minimum length path connecting the source and the destination nodes such that the resulting path conforms to the routing restrictions . Since the multicast message is again equivalent to a unicast message from a routing point of view , there can not be any deadlock . 4.4.1 Dynamic Programming solution Assume that the columns are numbered from 1 to k from left to right , where k is the size of the mesh . Consider any column of the mesh . There can be one or two paths crossing the column form left to right if there are some nodes in the destination set to the right of the column.The algorithm is briefly described below : Starting with the rightmost column it moves left and for each column does the following : 1 . for each node in the column , find the shortest path such that it satisfies the monotonicity restriction and passes through all the nodes in the destination set within and to the right of the column , using the information computed and stored in the next column to the right during previous computations -LRB- for the right most column , the shortest path starting from each node is initialised to nil before execution of this procedure -RRB- . 2 . for each pair of nodes in the column find , similarly , the shortest pair of paths such that monotonicity restriction is satisfied and the pair of paths passes through all nodes in the destination set to the right of the column . 3 . store the the paths computed in the previous two steps . After the above process , the shortest path -LRB- pair of paths -RRB- starting from some node in the destination set in the leftmost column gives the shortest path -LRB- pair of paths -RRB- satisfying the restrictions and covering all the nodes in the destination set . 4.4.2 Detailed steps Definition 1 The exit point for a node n1 in a column c is defined as the node e1 in c such that there exists a path starting from n1 and passing through e1 which covers the nodes in the current and succeeding columns . Definition 2 The exit pair for a node pair -LRB- n1 ; n2 -RRB- in a column c is defined as the node -LRB- e1 ; e2 -RRB- in c such that there exists a pair of paths starting from n1 and n2 passing through e1 and e2 respectively which covers the nodes in the current and succeeding columns . Definition 3 The successor node of a node n1 in column c -LRB- denoted by succ -LRB- n1 -RRB- -RRB- is defined as the node n2 in column c + 1 such that the shortest path from n1 , covering all the destination nodes in the columns to the right of c -LRB- inclusive -RRB- , satisfying the monotonicity restriction passes through n2 . The successor pair of a pair of nodes is defined analogously . Let S -LRB- p ; c -RRB- be the length of the shorest path starting from node p in column c which satisfies the monotonicity restriction , which covers all the destination nodes in the columns in and to the right of c , and let P -LRB- p1 ; p2 ; c -RRB- be the length of the shortest pair of paths starting at p1 and p2 , satisfying the monotonicity restriction and covering all the destination nodes in and to the right of c. Procedure mad-multicast -LRB- -RRB- Starting with the rightmost column , move left column by column and for each column c do the following : 1 . for each node p1 in c , find the exit node e ; S -LRB- p1 ; c -RRB- = min -LRB- dist -LRB- p1 ; e -RRB- for right most column dist -LRB- p1 ; e -RRB- + dist -LRB- e ; q1 -RRB- + S -LRB- q1 ; c + 1 -RRB- for others where q1 2 column c + 1 . set succ -LRB- p1 ; c -RRB- to be q1 . 2 . for each node pair -LRB- p1 ; p2 -RRB- in c , find the exit pair -LRB- e1 ; e2 -RRB- ; P -LRB- p1 ; p2 ; c -RRB- = 8 >> >> >> >> >> > < >> >> >> >> >> > : dist -LRB- p1 ; e1 -RRB- + dist -LRB- p2 ; e2 -RRB- for right most column min 8 >> >> >> >> < >> >> >> >> : dist -LRB- p1 ; e1 -RRB- + dist -LRB- p2 ; e2 -RRB- + dist -LRB- e1 ; q1 -RRB- + S -LRB- q1 ; c + 1 -RRB- dist -LRB- p1 ; e1 -RRB- + dist -LRB- p2 ; e2 -RRB- + dist -LRB- e2 ; q2 -RRB- + S -LRB- q2 ; c + 1 -RRB- dist -LRB- p1 ; e1 -RRB- + dist -LRB- p2 ; e2 -RRB- + dist -LRB- e2 ; q2 -RRB- + dist -LRB- e1 ; q1 -RRB- + P -LRB- q1 ; q2 ; c + 1 -RRB- for others where q1 ; q2 2 column c + 1 set succ -LRB- p1 ; p2 ; c -RRB- to be q1 or q2 or -LRB- q1 ; q2 -RRB- depending on which of the above three alternatives give the minimum path length . 3 . Take any node belonging to the destination set in the first stage and go through each of the stages in succession , selecting the successor pair -LRB- or single node -RRB- having the minimum weight . This gives the overall minimum length path . Theorem 3 Mad-multicast finds the set of worms whose total length is the minimum , satisfying the restrictions of the routing scheme . Proof : Any worm satisfying the routing constraints has to satisfy the monotonicity restriction -LRB- and vice versa -RRB- and Mad-multicast finds the minimum length path satisfying the monotonicity restriction . Thus the algorithm finds the set of worms whose total length is the minimum , satisfying the restrictions of the routing scheme . 5 Evaluation To evaluate the efficiency of our proposed algorithms , we implemented them and tested them with random number of destination nodes for a 16 ? 16 mesh . We kept the position of source fixed at the center of the mesh . The size of the destination set was varied from very small to large by generating random destinations . For each destination set , we ran experiments to get average results . We compared the average number of worms and average length of each worm across three routing schemes . Figures 6 and 7 gives the average number of worms needed and average worm length . It can be seen that the number of worms required for planar adaptive algorithm is smaller than that for ecube routing . but , the average path length is almost the same for planar adaptive and ecube routing . The turn model only requires two worms irrespective of the destination set size . The average path length for maximally fully adaptive algorithm is smaller compared to that of the hamiltonian path based multicast . It indicates that with increase in adaptivity in routing , the path length of multidestination worm can be traded-off with number of worms -LRB- affecting communication startup -RRB- . 6 Conclusion We have proposed a new frame work for multicast in 2D meshes using multidestination worms which are routed according to the base routing scheme . Unlike Hamiltonian-path based scheme , this does n't require any extra virtual channel . This scheme is superior to the unicastbased solution because it does not disturb intermediate receivers to spend startup time cost . This scheme also allows mixing of unicast messages with multidimensional worms without deadlock . We have derived algorithms to create such worms for ccmmon routing schemes . A comparative evaluation indicates that as the routing adaptivity increases , the path length can be traded off with the number of worms . In this paper , we have concentrated on multicast only . It will be interesting to see whether global combine operations , broadcasting , and synchronization can be implemented efficiently using this new framework . X Graph ecube planar turn worm-length number-of-worms 2.00 4.00 6.00 8.00 10.00 12.00 14.00 16.00 18.00 20.00 22.00 24.00 26.00 28.00 30.00 32.00 50.00 100.00 150.00 200.00 250.00 Figure 6 : Average number of multidestination worms needed to cover the destination set for various routing schemes . ecube planar hamiltonian fully adaptive path length number of destinations 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00 100.00 110.00 120.00 130.00 50.00 100.00 150.00 200.00 250.00 Figure 7 : Average length of a multidestination worm to cover the given destination set for various routing schemes . References -LSB- 1 -RSB- R. V. Boppana and S. Chalasani . New Wormhole Routing Algorithms for Multicomputers . In International Parallel Processing Symposium , pages 419 -LCB- 423 , 1993 . -LSB- 2 -RSB- G. T. Byrd , N. P. Saraiya , and B. A. Delagi . Multicast Communication in Multiprocessor Systems . In International Symposium on Computer Architecture , pages I :196 -LCB- 200 , 1989 . -LSB- 3 -RSB- A. A. Chien and J. H. Kim . Planar-Adaptive Routing : Low-Cost Adaptive Networks for Multiprocessors . In Proceedings of the International Symposium on Computer Architecture , pages 268 -LCB- 277 , 1992 . -LSB- 4 -RSB- W. J. Dally and C. L. Seitz . Deadlock-Free Message Routing in Multiprocessor Interconnection Networks . IEEE Transactions on Computers , pages 547 -LCB- 553 , May 1987 . -LSB- 5 -RSB- J. Duato . Deadlock-Free Adaptive Routing Algorithms for Multicomputers : Evaluation of a New Algorithm . In Proceedings of the Symposium on Parallel and Distributed Processing , pages 840 -LCB- 847 , 1991 . -LSB- 6 -RSB- S. Felperin , L. Gravano , G. Pifarre , and J. L. Sanz . Fully-adaptive Routing : Packet Switching Performance and Wormhole Algorithms . In Supercomputing , pages 654 -LCB- 663 , 1991 . -LSB- 7 -RSB- P. T. Gaughan and S. Yalamanchilli . Analytical Models of Bandwidth Allocation in Pipelined k-ary n-cubes . In International Parallel Processing Symposium , pages 395 -LCB- 400 , 1993 . -LSB- 8 -RSB- C. J. Glass and L. Ni . Maximally Fully Adaptive Routing in 2D Meshes . In Proceedings of the International Conference on Parallel Processing , pages I :101 -LCB- 104 , 1992 . -LSB- 9 -RSB- Y. Lan , A.-H . Esfahanian , and L. Ni . Multicast in Hypercube Multiprocessors . Journal of Parallel and Distributed Computing , 8:30 -LCB- 41 , 1990 . -LSB- 10 -RSB- X. Lin , P. K. McKinley , and L. M. Ni . Deadlock-free Multicast Wormhole Routing in Multicomputer Networks . In Proceedings of the International Symposium on Computer Architecture , pages 116 -LCB- 124 , 1991 . -LSB- 11 -RSB- X. Lin , P. K. McKinley , and L. M. Ni . Performance Evaluation of Multicast Wormhole Routing in 2D-Mesh Multicomputers . In Proceedings of the International Conference on Parallel Processing , pages I :435 -LCB- 442 , 1991 . -LSB- 12 -RSB- X. Lin and L. M. Ni . Multicast Communication in Multicomputer Networks . In International Conference on Parallel Processing , pages 114 -LCB- 118 , 1990 . -LSB- 13 -RSB- P. K. McKinley , H. Xu , A.-H . Esfahanian , and L. M. Ni . Unicast-based Multicast Communication in Wormhole-routed Direct Networks . In Proceedings of the International Conference on Parallel Processing , pages II :10 -LCB- 19 , 1992 . -LSB- 14 -RSB- L. Ni and P. K. McKinley . A Survey of Wormhole Routing Techniques in Direct Networks . IEEE Computer , pages 62 -LCB- 76 , Feb. 1993 . -LSB- 15 -RSB- J.-P . Sheu and M.-Y . Su . A Multicast Algorithm for Hypercube Processors . In Proceedings of the International Conference on Parallel Processing , pages III :18 -LCB- 22 , 1992 . -LSB- 16 -RSB- Yu-Chee Tseng and D. K. Panda . A Trip-based Multicasting Model for Wormholerouted Networks with Virtual Channels . In International Parallel Processing Symposium , pages 276 -LCB- 283 , 1993 .

B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O

k-ary n-cube systems
path-based schemes
wormhole-routing