| Literature DB >> 32526955 |
Antoine Bossard1, Keiichi Kaneko2.
Abstract
The number of Internet-connected devices grows very rapidly, with even fears of running out of available IP addresses. It is clear that the number of sensors follows this trend, thus inducing large sensor networks. It is insightful to make the comparison with the huge number of processors of modern supercomputers. In such large networks, the problem of node faults necessarily arises, with faults often happening in clusters. The tolerance to faults, and especially cluster faults, is thus critical. Furthermore, thanks to its advantageous topological properties, the torus interconnection network has been adopted by the major supercomputer manufacturers of the recent years, thus proving its applicability. Acknowledging and embracing these two technological and industrial aspects, we propose in this paper a node-to-node routing algorithm in an n-dimensional k-ary torus that is tolerant to faults. Not only is this algorithm tolerant to faulty nodes, it also tolerates faulty node clusters. The described algorithm selects a fault-free path of length at most n ( 2 k + ⌊ k / 2 ⌋ - 2 ) with an O ( n 2 k 2 | F | ) worst-case time complexity with F the set of faulty nodes induced by the faulty clusters.Entities:
Keywords: IoT; algorithm; fault tolerance; information dissemination; interconnection network; sensor
Year: 2020 PMID: 32526955 PMCID: PMC7309173 DOI: 10.3390/s20113286
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1(a) A paddy field with young crops. (b) A sensor network for a paddy field where the small circles represent sensors. The orange disc represents the transmission range of the sensor at its centre. The wireless and wired interconnection network forms a two-dimensional torus structure.
Figure 2(a) A 2-dimensional 3-ary torus . (b) Illustration of the recursive structure of a torus: a consists in three 1-dimensional 3-ary sub-tori . (c) A 3-dimensional 3-ary torus .
Figure 3Illustrating the paths of , , and in the case of a .
Figure 4Unsolvable problem instances in the case (a), (b) and (c), within a with two clusters, a with five clusters and a (some nodes are omitted for clarity) with five clusters, respectively. Faulty nodes are greyed and the clusters that include two nodes are materialised with thicker lines.
A sample execution trace of the algorithm for a non-trivial routing example in a .
| ⥀ |
|
|
|
|
| Sub-Torus | Selected Paths |
|---|---|---|---|---|---|---|---|
|
| 3 | 3 |
|
|
|
| |
|
| 2 | 2 |
|
|
|
|
|
|
| - | 1 |
|
| ∅ | - |
|
Figure 5The two possible cluster repartitions in Case 1.1 with respect to and when and thus at most five clusters. Ellipses separate sub-tori.
Figure 6The two situations for Case 1.1’s sub-case . (a) required; (b) required. Ellipses separate sub-tori, faulty nodes are greyed and the clusters that include two nodes are materialised with thicker lines.
Figure 7Situations of Case 2 in a : (a) the situation in Case 2.2 where the paths of do not suffice to route s to another sub-torus; (b) the situation in Case 2.1 where s is not routable to .
Figure 8Empirical evaluation: average and maximum (with standard deviation) path lengths of the paths selected by the proposed algorithm in a .
Figure 9Empirical evaluation: average execution time to solve one problem instance with the proposed algorithm in a .