• 沒有找到結果。

v, then there is no need for v to change its state back to OUT1 since neighbor u will never leave S. Hence the modification we made is reasonable and it can shorten the longest move sequence from ⟨R5,R4,R5,R4,R5⟩ to ⟨R3,R6,R4,R5⟩.

3.4 Simulations and comparisons

Theoretically, we have proven that: in the worst case, Well4n makes the smallest number of moves to stabilize among Well4n, Goddard5n, and Turau9n. However, the average behaviors of these algorithms are not known. This section presents simulations and comparisons of these three algorithms. Notice that we implement the original version of Turau9n since the modified version is incorrect (we explain the reason at the end of this section).

Simulation environments are conducted as follows and we calculate the mean and the standard deviation. We regard the distributed system as a wireless sensor network, where the transmission range of each node is the same. Thus the communication graph of the distributed system is a unit disk graph (UDG). Notice that our simulations only consider UDGs and the underlying graph may not be connected. We consider UDGs since they are the most commonly used models for wireless sensor networks (of course, other classes of graphs can be considered). In our simulations, the transmission range R of all of the nodes is set to from 15m to 45m with a step of 5m (m means meter). For each R, each algorithm is run 1000 times and each time 100 nodes are randomly placed in a square of size 200m × 200m (again, m means meter). The resultant average node degrees are 1.64 (when R = 15), 2.84, 4.35, 6.12, 8.17, 10.40, and 12.86 (when R = 45). In each simulation, we randomly assign each node an initial state and each state of the node is equally likely to happen. In particular, in Goddard5n, each node has four possible states: x(i) = 0∧ c(i) = 0, x(i) = 0∧ c(i) = 1, x(i) = 0 ∧ c(i) = 2, and x(i) = 1.

Recall that a move is called a membership move if its execution makes an IN node

CHAPTER 3. SELF-STABILIZING MDS ALGORITHMS 3.4. SIMULATIONS AND COMPARISONS

changes to an OUT node and vise versa, i.e., if the node executes rule R1, R2, or R3. In each simulation, every node independently computes the next state then summons the distributed daemon. The daemon then chooses a nonempty subset of nodes to make moves. The simulation continues until no node is privileged.

Figures 3.2 and 3.3 show the comparisons of the three algorithms. Figure 3.2 depicts the average number of “moves” with regard to the transmission ranges. In our simulations, Well4n always made fewer moves than Goddard5n and Turau9n. Figure 3.3 illustrates the average number of “membership moves” in terms of the transmission ranges. In our simulations, Goddard5n and Well4n make fewer membership moves than Turau9n. The simulation results show that if the average number of “moves” is considered, then Well4n outperforms Goddard5n; if the average number of “membership moves” is considered, then Goddard5n outperforms Well4n.

Figure 3.2: The average number of moves made by Well4n, Goddard5n, and Turau9n with regard to the transmission ranges, where the vertical line segments denote the standard deviations.

Before ending this section, we would like to point out an error in the modified Turau9n, which is called modified AMDS in [75]. Turau claimed (in page 93 in [75]) that rule 4 can

CHAPTER 3. SELF-STABILIZING MDS ALGORITHMS 3.4. SIMULATIONS AND COMPARISONS

Transmission ranges

Number of membership moves

0 10 20 30 40 50 60 70

15 20 25 30 35 40 45

Well4n Goddard5n Turau9n

Figure 3.3: The average number of membership moves made by Well4n, Goddard5n, and Turau9n in terms of the transmission ranges, where the vertical line segments denote the standard deviations.

be changed by replacing the predicate inN eighbor with inN eighborW ithLowerId so that the total number of moves can be further reduced. We now show that Turau’s claim is incorrect and should be eliminated. Suppose the replacement is done and the resultant rule is called rule 4. Let G be a path of three nodes v1, v2, v3 and edges v1v2, v2v3; suppose the initial configuration is: v1, v2 are IN nodes with dependent = Λ and v3 is an OUT node with dependent = v2. Suppose vi.id is i. Since{v1, v2} is not an MDS, modified AMDS must make a move. It is not difficult to verify that no rule can be enabled by modifiedAMDS.

Chapter 4

The stableness of MDS algorithms

A node in a distributed system has limited information about the whole system. Usually, a node can only access the information of nodes in its 1-neighborhood. Let k be a positive integer. We say a distributed system is in the distance-k model if a node in the system can access the information of nodes in its k-neighborhood. For convenience, we say a distributed system is in the normal model if it is in the distance-1 model. What will happen if a node can access the information of nodes in its k-neighborhood for k ≥ 2? In this chapter, we will discuss the above problem and propose a new performance measure, called stableness, for self-stabilizing MDS algorithms. We will define MDS-silent and MDS-stable algorithms, and we will categorize self-stabilizing algorithms into four levels: S1-stable, S2-stable, S3 -stable, and S4-stable. In particular, Algorithms Turau9n, Goddard5n, and Well4n assume the distance-1 model and none of them is MDS-silent.

This chapter is organized as follows. Section 4.1 gives the motivation of classifying MDS algorithms into MDS-silent, MDS-covered, and MDS-stable algorithms. Section 4.2 introduces the transition diagram of a self-stabilizing system. Section 4.3 categorizes the self-stabilizing algorithms into four levels of stableness. A variation of self-stabilization, multi-self-stabilization, is formulated in Section 4.4.

31

CHAPTER 4. THE STABLENESS OF MDS ALGORITHMS 4.1. MOTIVATION

4.1 Motivation

It is well-known that a maximal independent set is a minimal dominating set but the converse is not true. Moreover, the stabilizing time of a self-stabilizing MIS algorithm is usually less than that of a self-stabilizing MDS algorithm. Thus, why bother to develop a self-stabilizing MDS algorithm? Why not use a self-stabilizing MIS algorithm instead of a self-stabilizing MDS algorithm? In [75], Turau mentioned:

Since it is desirable that a self-stabilizing algorithm initialized with a minimal dominating set does not make any moves, MIS-algorithms are not suitable solu-tions for the MDS problem.

This characterizes an important feature of a self-stabilizing MDS algorithm:

The algorithm will not make any move if the given distributed system is initial-ized with a minimal dominating set.

We call this important feature MDS-silent. The notion of MIS-silent can be defined similarly.

We first prove a lemma.

Lemma 4.1.1. Any self-stabilizing MIS algorithm is a self-stabilizing MDS algorithm, but not necessarily MDS-silent.

Proof. The former part of this lemma is straightforward and we only prove the latter part: a self-stabilizing MIS algorithm is not necessarily MDS-silent. Let G be a path of four nodes, labeled by v1, v2, . . . , v4 in order. More specifically, G has the vertex set V ={v1, v2, v3, v4} and the edge set E ={v1v2, v2v3, v3v4}. Suppose initially v2 and v3 are IN nodes and v1 and v4 are OUT nodes. Since{v2, v3} is not an MIS, any self-stabilizing MIS algorithm will make a move. However,{v2, v3} is an MDS. If the algorithm is MDS-silent, then it should not make any move. Therefore a self-stabilizing MIS algorithm is not necessarily MDS-silent.

CHAPTER 4. THE STABLENESS OF MDS ALGORITHMS 4.1. MOTIVATION

Unfortunately, unlike self-stabilizing MIS algorithms which are usually MIS-silent (for example, Algorithm MIS in [30] is MIS-silent), none of the self-stabilizing MDS algorithms Turau9n [75], Goddard5n [30], and Well4n in Section 3.2 is MDS-silent. Notice that Turau9n, Goddard5n, and Well4n are executed in the normal model. We now prove by contradiction that a distributed system in the normal model cannot have an MDS-silent algorithm.

Theorem 4.1.2. There exists no self-stabilizing MDS-silent algorithm in the normal model.

Proof. Suppose this theorem is not true and there exists a self-stabilizing MDS-silent algo-rithm A in the normal model. For convenience, let I and O denote the state IN and OUT, respectively. Let G1 be a path of four nodes with initial configuration OIIO, G2 be a 4-path with OIOI, and G3 a 5-path with OIIOI; see below.

G1: O− I − I − O G2: O− I − O − I G3: O− I − I − O − I

Run algorithm A on these three graphs. Since the initial configuration of G1 conforms to MDS, which is legitimate, A will not make any move on G1. Similarly, since the initial configuration of G2 is also legitimate, A will not make any move on G2.

Now consider G3. The first three nodes of G3 cannot distinguish themselves with the first three nodes of G1, hence no rule is enabled for the first three nodes of G3. Also, the last two nodes of G3 cannot distinguish themselves with the last two nodes of G2, hence no rule is enabled for the last two nodes of G3. Therefore for G3, Algorithm A stabilizes with initial configuration OIIOI, which violates MDS, a contradiction.

Another reason for developing self-stabilizing MDS algorithms is that while MIS algo-rithms can only stabilize with an independent set, MDS algoalgo-rithms are capable of stabilizing with any minimal dominating set. In [36], Hedetniemi et al. mentioned that the significance of MDS algorithms is that if the system is initialized to any MDS with the correct variable

CHAPTER 4. THE STABLENESS OF MDS ALGORITHMS 4.1. MOTIVATION

settings (including minimal dominating sets that are not independent sets), then the system will remain stable. They also pointed out that an MDS algorithm is usually more complex than an MIS algorithm but can potentially produce any MDS. We call an algorithm MDS-covered if it can potentially produce any MDS. All of the MDS algorithms Turau9n [75], Goddard5n [30], and Well4n in Section 3.2 are MDS-covered.

Note that the proof of Theorem 4.1.2 also indicates that a self-stabilizing MDS-covered algorithm cannot have only one Boolean variable as its state variable. Otherwise, the infor-mation of non-minimality will not pass through the intermediate nodes. See the following corollary.

Corollary 4.1.3. A self-stabilizing MDS-covered algorithm in the normal model cannot have only one Boolean variable as its state variable.

By Corollary 4.1.3, as long as MDS-covered is a desired property of a self-stabilizing MDS algorithm, we may assume that an MDS algorithm requires two (or more) variables.

The first variable is a Boolean variable with range {1, 0} indicating the state IN or OUT, respectively; without loss of generality, call this variable membership. The second variable can be regarded as a integer variable and it has no effect on the IN /OUT state; again, without loss of generality, call this variable information.

Again, recall that a move of an MDS algorithm is a membership move if its execution makes an IN node change to an OUT node or makes an OUT node change to an IN node.

This definition was originally given in [36]. Clearly, a non-membership move has no effect on the variable membership. In Theorem 4.1.2, we have proved that there exists no MDS-silent algorithm in the normal model. Now we relax the MDS-MDS-silent property (not to make any move if the distributed system is initialized with an MDS) to allow the execution of non-membership moves. Formally, an MDS algorithm is MDS-stable if it will not make any membership move when the system is initialized with an MDS. The containment relation of

相關文件