Node-Independent Spanning Trees in Gaussian Networks
Zaid Hussain, Bader AlBdaiwi, Anton Cerny

TL;DR
This paper introduces constructions of node-independent spanning trees in Gaussian networks, enabling fault-tolerant and secure message routing with improved performance due to their smaller diameter.
Contribution
The paper presents novel methods for constructing node-independent spanning trees specifically in dense Gaussian networks, along with routing and fault-tolerant algorithms.
Findings
Constructed node-independent spanning trees in Gaussian networks.
Designed routing algorithms for fault-tolerance and security.
Developed parallel algorithms for tree construction.
Abstract
Message broadcasting in networks could be carried over spanning trees. A set of spanning trees in the same network is node independent if two conditions are satisfied. First, all trees are rooted at node . Second, for every node in the network, all trees' paths from to are node-disjoint, excluding the end nodes and . Independent spanning trees have applications in fault-tolerant communications and secure message distributions. Gaussian networks and two-dimensional toroidal networks share similar topological characteristics. They are regular of degree four, symmetric, and node-transitive. Gaussian networks, however, have relatively lesser network diameter that could result in a better performance. This promotes Gaussian networks to be a potential alternative for two-dimensional toroidal networks. In this paper, we present constructions for node independent spanning…
| Node | Path | |
|---|---|---|
| – | ||||
| – | – | |||
| – | – | – | ||
| – | – | – | ||
| – | – | – | ||
| – | – | |||
| – | – | |||
| – | – | |||
| – | – | – | ||
| – | – | – | – | |
| – | – | – | ||
| – |
| If | then | ||
| else | |||
| If | then | ||
| else | |||
| If | then | ||
| else | |||
| If | then | ||
| else | |||
| If | then | ||
| If | then | ||
| else | |||
| else | |||
| If | then | ||
| else | |||
| If | then | ||
| else | |||
| If | then | ||
| else | |||
| If | then | ||
| else |
| Node in | Parent | Child |
|---|---|---|
| – | ||
| – | ||
| – | ||
| – | ||
| – | ||
| – | ||
| – | ||
| – |
| 1+2i | 2+3i | 3+4i | 4+5i | 5+6i | 6+7i | 7+8i | 8+9i | 9+10i | |
|---|---|---|---|---|---|---|---|---|---|
| No Faulty | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 1 Faulty | 2 | 3.333 | 4.5 | 5.6 | 6.666 | 7.714 | 8.75 | 9.777 | 10.8 |
| 2 Faulty | 2 | 3.515 | 4.847 | 6.061 | 7.213 | 8.329 | 9.421 | 10.498 | 11.563 |
| 3 Faulty | 2 | 3.618 | 5.094 | 6.417 | 7.658 | 8.849 | 10.009 | 11.145 | 12.266 |
| 1+2i | 2+3i | 3+4i | 4+5i | 5+6i | 6+7i | 7+8i | 8+9i | 9+10i | |
|---|---|---|---|---|---|---|---|---|---|
| No Faulty | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 1 Faulty | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
| 2 Faulty | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
| 3 Faulty | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Node-Independent Spanning Trees in Gaussian Networks
**Z. Hussain1, B. AlBdaiwi1, and A. Cerny2
1**Computer Science Department
Kuwait University
Kuwait
2Department of Information Science
Kuwait University
Kuwait
Abstract
Message broadcasting in networks could be carried over spanning trees. A set of spanning trees in the same network is node independent if two conditions are satisfied. First, all trees are rooted at node . Second, for every node in the network, all trees’ paths from to are node-disjoint, excluding the end nodes and . Independent spanning trees have applications in fault-tolerant communications and secure message distributions.
Gaussian networks and two-dimensional toroidal networks share similar topological characteristics. They are regular of degree four, symmetric, and node-transitive. Gaussian networks, however, have relatively lesser network diameter that could result in a better performance. This promotes Gaussian networks to be a potential alternative for two-dimensional toroidal networks.
In this paper, we present constructions for node independent spanning trees in dense Gaussian networks. Based on these constructions, we design routing algorithms that can be used in fault-tolerant routing and secure message distribution. We also design fault-tolerant algorithms to construct these trees in parallel.
Keywords: Circulant Graphs, Gaussian Networks, Spanning Trees, Independent Spanning Trees, Fault-Tolerant Routing.
1 Introduction
A parallel computing system interconnection topology decides the system fault-tolerance capabilities as well as the system over all communication efficiency. There are many researches on interconnection networks such as hypercube [12][13], generalized hypercube [5], mesh, –ary –cube [6], torus [8], REFINE [4], and RMRN [2][3] networks; more examples of interconnection netowkrs can be found in [9][11].
An efficient interconnection topology called Gaussian network has been studied in [21][22]. Gaussian networks and two-dimensional toroidal networks share similar topological properties. They are symmetric, node-transitive, and regular degree four. Gaussian networks, however, have relatively lesser diameter which suggests that they could be a potential alternative for two-dimensional toroidal networks. Gaussian networks have been studied in [7][10][16], and they are briefly reviewed in Section 2.
In parallel computing as well as in distributed systems, a network can be represented as a graph where nodes and edges represent processors and communication links among the processors, respectively. A path from a node to a node in a graph is a sequence of edges, which connects a sequence of nodes from to . Two such paths are said to be independent if their nodes are disjoint except for the end nodes and , i.e. there are no common intermediate nodes in the two paths. A spanning tree is a connected loop-free subgraph of graph containing all the nodes of graph . Spanning trees rooted at node are said to be independent if the paths from to any other node in any two of the trees are independent.
Node independent spanning trees used to resolve important issues in network applications such as fault-tolerant broadcasting [17][19] and secure message distribution [23][24]. These applications are briefly described below:
- •
Consider the existence of node independent spanning trees rooted at node in network . Assume that contains at most faulty nodes. Then, can broadcast a message to every non-faulty node in by broadcasting the message over all the trees. Since the number of faulty nodes is less than , at least one of the node disjoint paths from to is fault free.
- •
Node independent spanning trees could be used in secure message distribution over a fault-free network as follows. A message can be divided into packets where each packet is sent by node to its destination using a different spanning tree. Thus, each node in the network receives at most one of the packets except the destination node that receives all the packets [20][24][25].
In [1], AlBdaiwi et. al. two edge-disjoint node-independent spanning trees were constructed in dense Gaussian network. Such network contains the maximum number of nodes for a given diameter [22], where the depth of each tree is , . Based on those constructions, algorithms were provided for fault-tolerant routing and secure message distribution where the source node can be any node in the network.
In [15], we gave algorithms for constructing four node independent spanning trees in a dense Gaussian network of depth working in steps where the trees are not necessarily edge-disjoint. In this paper, we extend our work and present a –steps construction algorithm. Furthermore, we develop routing algorithms based on these trees that can be used in fault-tolerant communication and secure message distribution.
The rest of this paper is organized as follows. The Gaussian network is reviewed in Section 2. In Section 3, we introduce a construction of four node independent spanning trees in Gaussian networks. Based on the constructed trees, routing algorithms from a given source node to a given destination node are described in Section 4. Section 5 presents parallel algorithms for constructing the four node independent spanning trees, and Section 6 presents simulation analysis for these algorithms. Finally, The paper is concluded in Section 7.
2 Background
Gaussian networks are regular symmetric networks of degree 4. These networks are based on quotient rings of Gaussian integers where [14]. is an Euclidean domain. The nodes of the network are elements of the residue class modulo some , where is considered as a network generator. The norm of a Gaussian network generated by , is the total number of nodes in this network. A dense diameter-optimal Gaussian network denoted by , where , is a diameter Gaussian network that contains the maximum number of nodes. Note that always generates the maximum possible number of nodes within diameter since GCD.
Gaussian networks can be represented in several different ways as described in [18]. In this paper, we deal with graphs isomorphic to dense diameter-optimal Gaussian networks. We denote , . Each node in the graph is labeled as where . Two nodes and are adjacent if and only if is equal to or . As described in [21], the number of nodes at distance from any single node in a dense Gaussian network is for . Figure 1 shows an example of Gaussian network generated by .
The wraparound edges in Figure 1 can be illustrated as straight lines by tiling the Gaussian network on an infinite grid as depicted in Figure 2. Consider the boundary node . Its , , and edges are wraparound links that are connected to the boundary nodes , , and , respectively. We have kept these edges as wraparounds to show the equivalence of the two illustrations. Note that the different gray color nodes are related to different network tiles.
3 Spanning Trees in
In this section we describe four spanning trees rooted at node [math] in , , and we will show that they are pairwise node independent in Section 4. Any two spanning trees rooted at [math] are node independent when . However, a motivation of our research is to tolerate transient node failures, and thus it is assumed that .
Lemma 1
In , , there are at most four pairwise node independent spanning trees rooted at node [math].
Proof 3.2**.**
Let there be five such trees. Consider a node at distance from the node [math]. In each of the trees there is a path of length at least 2 from the root [math] to . By the pigeonhole principle, there are two of the trees where such path starts by the same edge. Such two trees are not node-independent.
To define our four trees, we will introduce some auxiliary notations. Recall that . Let denote the set of all vertical edges in . Clearly, . We define the counter clockwise 90 rotation mapping on as . The rotation is a bijection on . We extend this mapping to the set ; for we define . For a subgraph of we denote .
Now we are ready to describe four trees - see Figures 3–6. In fact, we will define the tree only, since the remaining three trees can be described as . It is therefore sufficient to define the edge set as follows:
[TABLE]
Lemma 3.3**.**
* are spanning trees in .*
Proof 3.4**.**
Since is a bijection, it is enough to prove that is a spanning tree. Based on the definition of , the graph consists of edges. We will show that is connected by showing that there is a path in from the node [math] to each other node We will describe the path by a word on the alphabet the symbols denoting the direction of the edges to be passed. The paths are described in Table 1, where the node , for the values satisfying , is considered.
Lemma 3.5**.**
The height of each of the trees is , .
Proof 3.6**.**
Based on Table 1, the longest path in starting from the root [math] of length leads to node or to node .
Example 3.7**.**
The path from the root [math] to the node in is described as . The path is the sequence
[TABLE]
The path from the root [math] to the node in can be obtained the following way. Since , we have to observe the path in from the root [math] to the node which is the path (1). The required path in is obtained from (1) by rotating each node using the mapping . The resulting path is
[TABLE]
4 Routing Using Node-Independent Spanning Trees
In Section 3, we defined four spanning trees of the graph and in Section 5 we give algorithms for their construction. In this section we present routing algorithms for delivering messages along any of the four trees.
Routing a message consists of three types of nodes: source node, transient nodes, and destination node. The source node is the sender who sends a message to a destination node. A transient node is an intermediate node that forwards the message toward the destination node. We will provide a routing algorithm for delivering a message virtually from any node to any node in along any of the four trees rooted at . We will provide the routing decision in any transient node on the path from to and we will show that such decision can be taken uniquely without information on which of the four trees is involved. This fact implies the independence of the four trees.
Let . Considering the automorphism on defined for as and for as allows us to describe routing for the case only. The routing decisions for messages sent from a node to some node is then implied by the routing decisions for messages sent from node [math] to node .
To simplify the routing process, we partition the Gaussian network into disjoint subsets as follows (see Figure 7):
,
,
,
,
,
for :
, , , , and .
Based on Figure 7, Table 2 shows the direction to which a message sent from the source node [math] is forwarded by a transient node , based on the location of the destination node . The left column denotes the location of the current transient node, the remaining columns denote the location of the destination node. The direction is described by one of the elements in . The superscripts in brackets are to be understood as comments denoting which tree the message is passed along. To determine the direction, in several cases an additional condition is to be evaluated. The direction is then the result of one of the conditional statements listed in the table 3, denoted as .
Table 2 describes the action of any transient node for the cases when the destination node is in one of the areas from , , , , , only. For the remaining cases, the action is obtained by applying the proper rotation.
Example 4.8**.**
Assume we want to determine the action of a transient node from given that the destination node is in . Since , we have to observe the action described in our table in the row and column . The action is determined by the conditional statement . Stated as “If then else ”, where and . Moreover, the actions in the “then” and “else ”cases (as well as the tree indexes) are to be mapped by . Therefore, if the transient node is in and the destination node is in , the action to be performed is given by the conditional statement “If then else ”.
Lemma 4.9**.**
The trees are pairwise independent.
Proof 4.10**.**
The independence follows from the fact that the action of a transient node in each case in Table 2 (and the corresponding rotations) is unique.
The above routing algorithm is simplified in Algorithms 1 and 2 as follows. Let be the source node, be the transient node, be the destination node, and , , be the tree used for routing. Furthermore, let be the previously defined rotation where denotes the number of rotations . We define the function degreej() that returns the degree of node in tree . The partitions in Figure 7 are considered in the following algorithms.
To send a message from to using tree , the node calls StartRouting(, , ) as described in Algorithm 1. Since the network is symmetric, initially, the algorithm maps the source node to node 0 and all other nodes are assumed mapped accordingly. Then, it starts the routing process by sending the message through the edge that is connected to the neighbor node corresponding to the tree , . For example, calling StartRouting(, , 2) will send a message from node to node through the edge since the edge of node is the initial direction of the tree .
After that, each receiving node performs the steps described in Algorithm 2 as follows. In lines 1-2, the current node computes its address relatively to node after being mapped. In lines 3-5, every transient node which receives the packet (, , ) sets the variables dir to be the direction of the receiving edge, to hold the tree number that is being used for the routing, and to be the number of rotations required to set the direction of the forwarding edge. Then, in lines 13-14, the transient node checks weather it is the destination node to consume the packet. Otherwise, the rest of the algorithm, the transient node forwards the message through a certain direction (edge) based on its degree and the location of the destination node. Note that, Algorithms 1 and 2 can be used for any being a root by mapping and all other nodes accordingly. Since all other nodes are also mapped then the transient node’s addresses are computed relatively to address of node .
Since Algorithm 1 is used only once by the source node, its total communication overhead is 1. Further, the local computation in the algorithm is based on 5 elementary operations as follows: 1 operation for mapping the node , at most 3 operations for checking the conditions, and 1 operation for sending the packet when a condition is satisfied. Thus, the total computation work needed to forward a message is 5 elementary operations at most.
Algorithm 2 is invoked by the rest of the nodes (transient and destination nodes) in the routing process. The communication overhead for a single node is 1 since it only forwards 1 packet when a certain condition is satisfied. Note that, for a path of length , the source node is not counted since it only performs Algorithm 1. Consequently, the total communication overhead is . The local computation of Algorithm 2 for a single node is based on at most 12 operations as follows. 5 of them are assignment operations from line 3 to line 10. 7 operations are related to the conditions that check the degree of the current node and to decide in which direction to forward the packet. 1 operation is to send a packet when a certain condition is satisfied. Thus, since the source node is not counted, the local computation for a path of length is
5 Independent Spanning Trees Parallel Construction
In this section, we present parallel algorithms to construct the four independent spanning trees. Based on the partition presented in Section 4, Table 4 shows the parent and children nodes of each node in the first spanning tree. For example, as shown in Figure 3, node has parent node through the edge and has no child. Furthermore, node has parent node through edge and has child nodes and through and edges, respectively.
In order to get the tables related to the other trees (, , ), we define a counterclockwise rotation mapping on Table 4 as (Table 4) = ((Node in), (Paernt), (Child)). The is a cyclic 5-shift on the "Node in" column and is the previously defined rotation. Let the column "Node in" , the cyclic 5-shift on column "Node in" is (Node in) . That is, we move the first 5 entries of the first column to the end of the same column. Thus, the parent and child nodes of each node in trees , , and are (Table 4), (Table 4), and (Table 4), respectively. The means that the rotation is applied times on Table 4.
The following two parallel algorithms constructs the four independent spanning trees. Algorithm 3 triggers the parallel constructions of the trees from root .
In Algorithm 4, we use a static variable as per the C programming language semantics. We assume that each node invokes Algorithm 4 as an independent local function. A static variable is declared and initialized only once at the local function first invocation. Its lifetime extends till the global termination of the parallel construction, and it preserves its value between different invocations. Using a static variable enables deciding whether a node has been visited or not as in Algorithm 4, steps 1 to 5. If the node has been already visited, the current node simply ignore the received packet. Otherwise, the current node computes its relative address based on the received packet (addr). Then, it matches its relative address with the entries of Table 4 and (Table 4), for , to determine the edge directions of its parents and children in all spanning trees. After that, it forwards the received packet (addr) to all its neighbor nodes except the one it has already received it from.
We will derive the algorithms’ number of steps assuming that each node can simultaneously send and receive on all its edges. If the network is fault-free, the algorithms construct the four trees in steps. This follows from the facts that the trees construction propagates in all directions and the network diameter is . Thus, each node is reached in at most steps. The nodes that receive the packet in the step will forward it to their neighbors, and this constitutes the one extra step.
If there are one to three node failures, the algorithms construct at least one fault-free path between each node in the network and the root node. In this case, however, the trees are not necessarily constructed as a faulty node could split a spanning tree into two subgraphs. The construction is bounded by steps. The trees construction propagates in all directions, and hence each tree structure is traced. By Lemma 3.5, each tree height is . Thus, each node will be reached through at least one tree in at most steps. The nodes that receive the packet in the step will forward it to their neighbors, and this adds the one extra step.
The total messages generated by the construction algorithms is as each node generates three messages except the root node generates four.
Algorithm 3 runs in the root node only. Its local computation is limited to 5 operations as follows: one operation to assign the variable and 4 operations to send a message to all neighbor nodes. Except the root node, all network nodes execute Algorithm 4 whose local computations is around 15 operations. Thus, the total amount of computation work is .
6 Simulation
This section discusses the simulation results of our study. We analyzed the construction of independent spanning trees based on the following cases: No faulty node, 1 faulty node, 2 faulty nodes, and 3 faulty nodes in the network. We assumed that each node can simultaneously send and receive to all its neighbor nodes. We have simulated all possible faulty node combinations and measured the average of all maximum steps to construct the trees or paths in different networks as shown in Table 5 and Figure 8. We also measured the maximum of all maximums as displayed in Table 6.
The simulation results are consistent with the bounds we derived in the previous section.
7 Conclusions
In this paper, we presented constructions of four symmetric node independent spanning trees in Gaussian networks, and proved their height is . Using these trees, we designed routing algorithms that can be used in fault-tolerant and/or secure message communication applications. We also presented fault-tolerant parallel construction algorithms for the presented trees. These algorithms require steps if the network is fault-free and steps if one to three faulty nodes exist. The total communication overhead of these algorithms is , and the total amount of computation work is . We simulated the constructions of the trees in fault-free and faulty networks. The simulation analysis is consistent with our theoretical analysis.
In future research we plan to investigate the constructions of completely independent spanning trees in Gaussian networks and similar regular topology.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] B. Al Bdaiwi, Z. Hussain, A. Cerny, and R. Aldred, “Edge-disjoint node-independent spanning trees in dense gaussian networks,” The Journal of Supercomputing , vol. 72, no. 12, pp. 4718 – 4736, December 2016.
- 2[2] H. Arabnia and S. Bhandarkar, “Parallel stereocorrelation on a reconfigurable multi-ring network,” The Journal of Supercomputing , vol. 10, no. 3, pp. 243–269, 1996.
- 3[3] S. Bhandarkar and H. Arabnia, “The hough transform on a reconfigurable multi-ring network,” Journal of Parallel and Distributed Computing , vol. 24, no. 1, pp. 107 – 114, 1995.
- 4[4] S. M. Bhandarkar and H. R. Arabnia, “The REFINE multiprocessor – theoretical properties and algorithms,” Parallel Computing , vol. 21, no. 11, pp. 1783 – 1805, 1995.
- 5[5] L. N. Bhuyan and D. P. Agrawal, “Generalized hypercube and hyperbus structures for a computer network,” IEEE Transactions on computers , vol. 100, no. 4, pp. 323–333, 1984.
- 6[6] B. Bose, B. Broeg, Y. Kwon, and Y. Ashir, “Lee distance and topological properties of k-ary n-cubes,” IEEE Transactions on Computers , vol. 44, no. 8, pp. 1021–1030, 1995.
- 7[7] B. Bose, A. Shamaei, and M. Flahive, “Higher dimensional gaussian networks,” 2015.
- 8[8] W. J. Dally and C. L. Seitz, “The torus routing chip,” Distributed computing , vol. 1, no. 4, pp. 187–196, 1986.
