An Optimal Routing Algorithm for Horizontal Moving Signals in OCN for Massively Parallel Systems with Faulty Node/Link

: An Octagon-Cell Interconnected Network (OCN) has many attractive features. To represent OCN an undirected graph G = (V, E) is used, in which V is the set of nodes in the graph and E is the set of edges in the graph. Already the optimal routing algorithm had been presented with its features in our past research work. This research paper presents the optimal routing algorithm for horizontal moving signals in OCN with a faulty node/link along the optimal path. OCN is expandable. Also the algorithm tells that, even the OCN is expanded; there is no effect to find the optimal path in presence of faulty nodes. OCN can be utilized in massively parallel computing. In a massively parallel system a large number of processors are used to perform a set of coordinated computation simultaneously. So OCN is assumed a type of integrated circuit with an array of hundreds or thousands of central processing units (CPUs) and random-access memory banks.


Introduction
In this research paper an optimal routing algorithm is introduced for interconnected processors, which communicates messages in a faulty octagon-cell. The optimal routing algorithm for octagon-cell interconnected network along with its attractive features had been described in [2]. Also the fault tolerant routing algorithm for horizontal moving messages for this network had been described in [1], which was not optimal, but approximated towards optimal value. In this paper an optimal fault tolerant routing algorithm is derived for horizontal moving messages in the network and calculated the relative error for each sample test. An octagon-cell interconnected network has many attractive features such as constant node degree, desirable diameter, bisection width [2]. The fundamental formula of desirable features of this cell has been presented in [28].
In an interconnection network, a fault tolerance scheme means the ability to continue operating in presence of faulty nodes / link failures [4]- [15]. If the number of interconnected processors rises, the probability of having faulty nodes increases and for successful transmission it is very much essential to find another fault free path [16], [23]- [25].
Selecting optimal paths for efficient inter process communication is essential in parallel processing systems. In this system, if each and every processor has the status of all processors then an optimal routing can be possible. In a system it may be possible for each component suffers from hardware or software problem. If the system can't handle the faulty problem, that is unreliable, inefficient [16]- [22].

Related Work
The fault tolerant routing schemes have been developed for various interconnected networks by many researchers. A fault tolerant scheme has been proposed for hexagonal arrays in [26]. It has been described that the routing scheme makes the reconstructed array transparent to the various algorithms utilizing the hexagonal array.
A mesh embedded interconnected hypercube network has been analyzed to arrive at fault tolerant communication. An efficient routing algorithm has been proposed that can route a message from a source node to the destination in presence of fault free or single/multiple faulty nodes in mesh embedded hypercube interconnection networks in [4]. A fault tolerant routing algorithm has been described for star interconnection network in the presence of faults in [27]. A new fault tolerance algorithm has been described in [16] for hex-cell interconnection network and the algorithm guarantees the delivery of messages even with the presence of component failure.
An efficient distributed fault-tolerant routing algorithm for the hypercube has been described in [17] on the existence of a complete set of node-disjoint paths between any two nodes. It was presented that when a message is blocked by a node failure, the source node is warned and requested to switch to a different node-disjoint path.

Octagon-Cell Network Topology
The optimal routing algorithm has been described for OCN in [2]. An octagon-cell has eight nodes. It has d levels numbered from 1 to d with depth d. Level 1 represents one octagon-cell. Level 2 represents eight octagon-cells surrounding the octagon-cell at level 1. Level 3 represents sixteen octagon-cells surrounding the eight octagon-cells at level 2 and so on [2].
(X, Y represents line no-X with node no-Y) Due to the recursive structure of OCN routing can be done easily. The level numbering scheme is used in this algorithm.
Each node in octagon-cell is identified by a pair (X, Y), Where X denotes the line number in which the node exists and Y denotes serial number of the node in that line. A node with the address (1,1) is the first node in first line. A node with the address (1,2) is the second node in first line and so on. Here again the optimal routing algorithm is presented for horizontal and vertical moves [2].

Case-1(a) Optimal Routing Algorithm for Horizontal Move for lines m where m mod 3 = 1 && X s < [(d*5) + (d-2)] [If (X s = X d && Y s < Y d ) and If (X s = X d && Y s > Y d )]
If (y s = y d ) Go to Vertical Move Else Destination reached

Case-3 Optimal Routing Algorithm for Vertical Move for lines m = X s where m mod 3 = 1 [If (X s < X d && Y s = Y d )]
Move (X s ,Y s , X d ,Y d ) If (y d = 1 || 2) // Logical OR For (i = x s to x d -1 in increasing order) Move (x s +1, y s , x d , y d ) Go to Horizontal Move Else Destination reached

Case-4 Optimal Routing Algorithm for Vertical Move for lines m = X s where X s mod 3 ≠1 [If (X s < X d && Y s = Y d )]
Move (x s +1, 2y s -2, x d , y d ) Else If (x s mod 3 = 1 && x d mod 3 = 1 && y s is even && y s ≠ y d && x s ≠ x d ) Move (x s , y s -1, x d , y d ) Else If ((x s mod 3 = 1 && x d mod 3 = 1 && y s is odd && y s ≠ y d && x s ≠ x d ) || (x s mod 3 = 1 && x d mod 3 ≠ 1)) Move (x s +1, y s /2+1, x d , y d ) Else If (x s mod 3 = 1 && x d mod 3 = 1 && x s = x d ) Go to Horizontal Move Else If (x s mod 3 = 1 && x d mod 3 = 1 && y s = y d ) Go to Vertical Move Top to Bottom for X s mod 3 = 1 Else Destination reached

Note1
In similar way the vertical moves for X s > X d can be followed. So the algorithm for this case is not presented. This can be followed from [2].

Optimal Fault Tolerant Routing Algorithm
There are six cases for optimal routing for horizontal moving messages. In this research paper an optimal fault tolerant routing algorithm is presented for the following cases. Case The fault tolerant algorithm is based on the optimal routing scheme in octagon-cell network [2]. Here six main cases are presented for fault tolerant scheme. The following notations have been used in our algorithm.
OSN-Original Source Node FN-Faulty Node FL-Faulty Link DN-Destination Node NBD-Neighborhood Horizontal Right-HOZR Horizontal Left-HOZL Vertical Top-VERT Vertical Bottom-VERB

Description of Model
The fault tolerance routing algorithm for octagon-cell interconnected network has been presented for horizontal moving messages in [1]. In this research paper the same protocol is considered as in [1]. Here the optimized algorithm is explained. It is assumed that each node has information about its three consecutive nodes on the original optimal path in which it could have gone if there won't be any faulty nodes, link failures and dead end state. Each node say 'A' checks its three consecutive nodes and links simultaneously along its original path. If any error occurs in one of three consecutive links or nodes, then the algorithm will work with respect to the address of source node at 'A'.
When a signal passes from a source node to a destination, it is very much essential to find a path of non-faulty nodes. For this purpose, each node can store the information about its three consecutive nodes and links along the original path. There are three possible cases for a node in an octagon-cell network. That is: a) There are fault free nodes / links along the original path. This is called normal state. b) If any faulty node or link occurs in the original path, this situation is called faulty state. This situation can be handled by the nodes along the path, because each node in the path has the status of its three consecutive nodes and links. So the original path will get changed by using the algorithm.
c) If destination node is faulty, then this situation is called dead end state.
Note2 a. Since it is derived the optimal fault tolerant scheme for the presence of faulty node or faulty link along the optimal path, so in all cases the link failure conditions are not mentioned, because the algorithm for link failure case is equivalent to the node failure along the optimal path. That is if the link (x s , y s ) → (x s * , y s * ) is failed along the optimal path, then this situation is equivalent to the left node failure of this link. If the right node is failed, then this is equivalent to the link failed connecting to (x s * , y s * ) and (x s ** , y s ** ). b. The symbol "d" represents depth of the network and the word is used in our algorithm "w.r.t" represents "with respect to".

Description of the Fault Tolerant Scheme
This scheme has already been presented in [1]. When a message is to be sent from a source node to a destination node, the algorithm first finds the optimal path [2]. The message moves on the optimal path. In that path each and every node has the status about three consecutive nodes / links. If 'B' be the faulty node and 'A' be another fault free node on that path, then before reaching at 'B', the message first reaches at 'A'. 'A' has the status about next three consecutive nodes / links. 'B' is the node amongst the three consecutive nodes. So at that situation, the message suddenly goes away from that original optimum path and finds another fault free optimal path with respect to node 'A'. Else dead end may occur for which the message fails to reach at the destination. Let the optimal path be A→B→C→D→E→F, where the source node is 'A' and the destination node is 'F'. If 'F' is faulty then dead end occurs. If 'B' or 'C' or 'D' is faulty, then the algorithm will work with respect to the node 'A'. If 'E' is faulty, then the algorithm will work with respect to the node 'B'. If the optimal path be A→B→C→D, where the source and destination nodes are 'A' and 'D' respectively and if faulty node is 'B' or 'C', then in this case the algorithm will work w.r.t the source node 'A'.

Note3
To reduce the complexity of the algorithm, the following fundamental groups of pseudocodes are defined. G1 Step

Case-1: If (FN is 1st NBD of OSN)
Step-1Go to Step-1(excluding 1st line) and Step-2 of case-2 of Sub-Case: C Case-2: Else If (FN is 2nd NBD of OSN) Step-1 Go to Step-1(excluding 1st line) and Step-2 of Case-3 of Sub-Case: A Case-3: Else If (FN is 3rd NBD of OSN) Step-1 Go to Step-1 and Step-2 of Case-3 of Sub-Case: B Case-4: Else If (FN is at the line x s +1, where x s is OSN && Not w.r.t OSN) Step-1Move (x s -1, 2y s -1, x d , y d ) Move  Step-1 If (FN y s is even) Go to Case-3 of Sub-Case-B Else If (FN y s is odd) Go to Case-3 of Sub-Case-A

Case-1: If (FN is 1 st NBD of OSN)
Step-1 Move VERT till x s = x s -3 Step-2 If (y d is odd) Move HOZR till y s = y d -1 Go to G3 Else If (y d is even) Move HOZR till y s = y d -2 Go to G3 Move (x s , y s +1, x d , y d ) Case-2: Else If (FN is 2 nd NBD of OSN) Step-1 Move VERT till x s = x s -3 Step-2 If (FN is NBD of (x d , y d )) Move  Step-1If (FN y s is odd) Go to Case-3 of Sub-Case: E Else If (FN y s is even) Go to Case-3 of Sub-Case: F

Case-III Fault tolerant routing algorithm for horizontal move for lines m, Where m mod 3 = 2 [Move from left to right, If (X s = X d && Y s < Y d )]
Find the optimal path from OSN to DN If (path is fault free) Return true Else If (FN is DN) Return dead end Else Go to the Sub-Cases Step-1 Go to Case-2 of Sub-Case: B Test Case 3: Let (X s , Y s ) = (2,2), (X d , Y d ) = (2,6) and FN = (1,4). Using the algorithm of Horizontal moves, the optimal path to reach the destination is:

Result and Discussion
The algorithm developed in this paper has been tested for octagon-cell of depth 3 with 80 test cases and also this works on depth greater than 3. There are 40 test cases for the node addresses at the border of octagon-cell and other 40 for inside the network. It is seen that average delay for the nodes lying inside is 1.9 and for the nodes lying at the border is 3.2. The algorithm has already been described in [2] to find optimal path in any direction from source node to destination node in octagon-cell network. If any faulty node or faulty link appears in the optimal path then this algorithm will find the alternative best possible (optimal) path in presence of faulty node. If the destination node is faulty then dead end occurs and the algorithm stops working. From the table it can easily be verified that the optimal path length having faulty node present inside the network is less than the optimal path length of nodes present at the border of the network. In the above table all possible faulty nodes have been taken along the optimal path between the source and destination nodes. For each case the relative error has been calculated. The average delays for the nodes inside the network and at the border are 1.9 and 3.2 respectively. Relative Error = (Fault tolerant optimal path length -Optimal path length) / Optimal path length. The average relative errors for the nodes inside the network and at the border are 0.22 and 0.42 respectively.

Conclusion
This research paper describes a simpler and an efficient fault tolerant optimal routing algorithm for horizontal moving signals in octagon-cell interconnected networks.
Here the cases of depth 3 have been taken. The delay is unchanged if the depth is increased.
OCN is assumed a type of integrated circuit with an array of hundreds or thousands of central processing units (CPUs) and random-access memory banks. So this fault tolerant scheme can be useful in massively parallel system. In future we will develop the optimal fault tolerant scheme for the signals moving in all directions in the network.