A Taxonomy of Daemons in Self-stabilization
AA Taxonomy of Daemons in Self-Stabilization
Swan Dubois ∗ S´ebastien Tixeuil † Abstract
We survey existing scheduling hypotheses made in the literature in self-stabilization, commonly re-ferred to under the notion of daemon . We show that four main characteristics (distribution, fairness,boundedness, and enabledness) are enough to encapsulate the various differences presented in existingwork. Our naming scheme makes it easy to compare daemons of particular classes, and to extend existingpossibility or impossibility results to new daemons. We further examine existing daemon transformerschemes and provide the exact transformed characteristics of those transformers in our taxonomy.
Keywords:
Self-stabilization, Daemon, Scheduler, Fairness, Centrality, Boundedness, Enabledness,Transformers, Distributed Algorithms, Taxonomy.
Daemons are one of the most central yet less understood concepts in self-stabilization. Self-stabilization [11,12, 33] is a versatile approach to enable forward recovery in distributed systems and networks. Intuitivelya distributed system is self-stabilizing if it is able to recover proper behavior after being started from anarbitrary initial global state. This permit to withstand any kind of transient fault or attack ( i.e. transient inthe sense that faults stop occurring after a while) as the recovery mechanism does not make any assumptionabout what caused the initial arbitrary state.Self-stabilizing protocols have to fight against two main adversaries that are interdependent. The firstadversary is the initial global state. The second adversary is the amount of asynchrony amongst participants.In classical fault-tolerant ( e.g. crash fault tolerant), more asynchrony usually means more impossibilities [16].In self-stabilization, more synchrony can also be the source of more impossibilities.Consider for example the mutual exclusion protocol proposed by Herman [25] and depicted in Figure 1.The protocol operates under the assumption that the network has the shape of a unidirectional ring (processesmay only obtain information from their predecessor on the ring, and send information on their successoron the ring). Processes may hold tokens depending on their initial state, and the goal of the protocol is toensure that regardless of the initial state, the network converges to a point where a single token is presentand circulates infinitely often thereafter. Informally, the protocol can be described as follows: whenever aprocess holds a token, it keeps the token with probability p , and sends the token to its immediate successoron the ring with probability 1 − p . If a process holding a token receives a token from its predecessor, the twotokens are merged. This protocol was well studied assuming synchronous scheduling for all processes [15, 17]and convergence to a single token configuration is expected in Θ( n ) time units. Now, if process schedulingcan be asynchronous, the protocol may not self-stabilize, i.e. there may exist an initial state and a particularschedule that prevent tokens from merging. Such an example is presented in Figure 1: Consider that thereexists two initial token in a ring of size five at positions A and B . The scheduling is as follows: the processat position A is scheduled for execution until it passes its token (this happens in O (1) expected time), thenthe process at position B is scheduled for execution until it passes its token (again, this happens in O (1) ∗ UPMC Sorbonne Universit´es & INRIA, France, [email protected] † UPMC Sorbonne Universit´es & Institut Universitaire de France, France, [email protected] a r X i v : . [ c s . D C ] O c t xpected time). The new configuration is isomorphic to the first one, and the schedule repeats. As a result,the two tokens that are initially present never merge, and the protocol does not stabilize. AB AB ABAsynchronous Schedule Asynchronous ScheduleToken Empty Spacep 1-p Asynchronous ScheduleMutually ExclusiveConfiguration
Figure 1: Mutual exclusion vs. asynchronous schedulingAnother example is the vertex coloring protocol of Gradinariu et al. [23] that is depicted in Figure 2. Thisprotocol operates on arbitrary shaped networks under the assumption that no two neighboring processes arescheduled simultaneously. The protocol colors the graph using deg ( g ) + 1 colors in a greedy manner, where deg ( g ) denotes the maximum degree of graph g . Whenever a process is scheduled for execution, it checkswhether its color conflicts with one of its neighbors ( i.e. it has the same color as at least one neighbor). If so,it takes the minimal (assuming arbitrary global order on colors) available color to recolor itself. When thescheduling precludes neighbors to be simultaneously activated, the protocol converges to a vertex coloringof the graph. When the scheduling is synchronous, the protocol may not stabilize. Consider the examplepresented in Figure 2: the initial configuration is symmetric white , that is, all processes have white color. Ifall processes are scheduled for execution in this context, they all choose the minimal available color (here,black) and the system reaches a symmetric black configuration. Again, if all processes are scheduled forexecution in this context, they all choose the minimal available color (here, white) and the system reaches asymmetric white configuration. The scheduling repeats and the system never stabilizes.Those two examples are representatives of the assumptions made to ensure stabilization of particularprotocols. They also show that depending on the problem to be solved, depending on the protocol used tosolve the problem, the class of scheduling hypotheses made is quite different. It is nevertheless appealingyet difficult to relate those two scheduling assumptions in a common framework (one relates to temporalconstraints, while the other relates to spatial constraints). Literature presenting self-stabilizing protocolstypically abstract scheduling assumptions under the notion of daemon . Intuitively, a daemon is just apredicate on global executions, which could in principle be any possible predicate. If every execution of aparticular protocol that satisfies the daemon’s predicate converges to a legitimate configuration, the protocolis self-stabilizing under this daemon.This approach has the advantage of clearly separating the protocol (that is designed to solve a particularproblem) and the scheduling assumptions (that can be seen as an adversary of the protocol, hence the term daemon ). However, the problem of comparing possibly unrelated daemons may occur e.g. when choosing2 ymmetric White ConfigurationSymmetric Black Configuration Colored ConfigurationSynchronous Schedule Available colors Figure 2: Vertex coloring vs. synchronous schedulinga particular protocol for implementation in a particular environment ( i.e. assuming a particular daemon).One would generally like to design a protocol for the strongest adversary (that is, the most inclusive definingpredicate), while impossibility results should be given for the weakest adversary (that is, the least inclusivedefining predicate). Obviously, checking whether a particular solution supports a particular environment(that is, the daemon supported by the solution includes the daemon defining the target environment) orwhether a particular problem is solvable in a particular environment (that is, the daemon that makes theproblem impossible to solve intersects with the daemon defining the target environment) are importantquestions a self-stabilizing protocol designer or implementer should be able to answer.This paper presents a taxonomy for describing daemons having already been used in the self-stabilizingliterature. After presenting our model in Section 2, we review in Section 3 the four characteristic traitsof daemons existing in the literature. In Section 4, we show how our taxonomy can be used to comparedaemons in particular contexts with a “more powerful” relation, and maps classical daemons according totheir respective power. Section 5 reviews algorithms transformations for turning a daemon into another anddepicts the influence of the transformation with respect to all four characteristic daemon traits. Section 6provides some concluding remarks.
Distributed protocol
A distributed system consists of a set of processes that form a communicationgraph. The processes are vertices in this graph and V denotes the set of vertices. The edges of this graphare pairs of processes that can communicate with each other. Such pairs are neighbors and E denotes the setof edges ( E ⊆ V ). Hence, g = ( V, E ) is the communication graph of the distributed system. Each vertex of g has a set of variables, each of them ranges over a fixed domain of values. A state γ ( v ) of a vertex v is thevector of values of all variables of v at a given time. An assignment of values to all variables of the graph isa configuration. The set of configurations of g is denoted by Γ. An action α of g transitions the graph fromone configuration to another. The set of actions of g is denoted by A ( A = { ( γ, γ (cid:48) ) | γ ∈ Γ , γ (cid:48) ∈ Γ , γ (cid:54) = γ (cid:48) } ).A distributed protocol π on g is defined as a subset of A that gathers all actions of g allowed by π . The set3f distributed protocols on g is denoted by Π (Π = P ( A ) ). Execution
Given a graph g , a distributed protocol π on g , an execution σ of π on g starting from a givenconfiguration γ is a maximal sequence of actions of π of the following form σ = ( γ , γ )( γ , γ )( γ , γ ) . . . .An execution is maximal if it is either infinite or finite but its last configuration is terminal (that is, thereexists no actions of π starting from this configuration). The set of all executions of π on g starting fromall configurations of Γ is denoted by Σ π . The set of all executions of all distributed protocols on S startingfrom all configurations of Γ is denoted by Σ Π (Σ Π = { Σ π | π ∈ Π } ). Daemon
The asynchrony of executions is captured by an abstraction called daemon . Intuitively, a daemonis a restriction on the executions of distributed protocols to be considered possible. A formal definitionfollows.
Definition 1 (Daemon)
Given a graph g , a daemon d on g is a function that associates to each distributedprotocol π on g a subset of executions of π . d : Π −→ P (Σ Π ) π (cid:55)−→ d ( π ) ∈ P (Σ π ) The set of all daemons on g is denoted by D . Given a graph g , a daemon d on g and a distributed protocol π on g , an execution σ of π ( σ ∈ Σ π ) is allowed by d if and only if σ ∈ d ( π ). Also, given a graph g , a daemon d on g and a distributed protocol π on g , we say that π runs on g under d if we consider that only possible executions of π on g are those allowedby d . Other Notations
Given a graph g and a distributed protocol π on g , we introduce the following set ofnotations. First, n denotes the number of vertices of the graph whereas m denotes the number of edges( n = | V | and m = | E | ). The distance between two vertices u and v (that is, the length of a shortest pathbetween u and v in g ) is denoted by dist ( g, u, v ). The diameter of g (that is, the maximal distance betweentwo vertices of g ) is denoted by diam ( g ). The maximal degree of g (that is, the maximal number of neighborsof a vertex in g ) is denoted by deg ( g ) (note that deg + ( g ) denotes the maximal out-degree when g is oriented).Each action of g is characterized by the set of vertices that change their state during the action. Wedefine the following function: Act : A −→ P ( V ) α = ( γ, γ (cid:48) ) (cid:55)−→ { v ∈ V | γ ( v ) (cid:54) = γ (cid:48) ( v ) } A vertex v is enabled by π in a configuration γ if and only if ∃ γ (cid:48) ∈ Γ , ( γ, γ (cid:48) ) ∈ π, γ ( v ) (cid:54) = γ (cid:48) ( v )Each configuration of g is characterized by the set of vertices enabled by π in this configuration. Wedefine the following function: Ena : Γ × Π −→ P ( V )( γ, π ) (cid:55)−→ { v ∈ V | v is enabled by π in γ } In this section, we review the four characteristic traits of daemons existing in the literature, namely distri-bution (Section 3.1), fairness (Section 3.2), boundedness (Section 3.3), and enabledness (Section 3.4). where, for any set S , P ( S ) denotes the set of parts of S . .1 Distribution Constraints about the spatial scheduling of processes appeared since the seminal paper of Dijkstra [11], asboth the central (a single process is scheduled for execution at any given time) and the distributed (any subsetof enabled processes may be scheduled for execution at any given time) daemons are presented. Subsequentliterature [6, 29, 5] enriched the initial model with intermediate steps. Intuitively a daemon is k -central is notwo processes less than k hops away are allowed to be simultaneously scheduled. A formal definition follows. Definition 2 ( k -Centrality) Given a graph g , a) daemon d is k -central if and only if ∃ k ∈ N , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ i ∈ N , ∀ ( u, v ) ∈ V , [ u (cid:54) = v ∧ u ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ i , γ i +1 )] ⇒ dist ( g, u, v ) > k The set of k -central daemons is denoted by k - C . In the literature, a 0-central daemon is often called distributed , and a diam ( g )-central daemon is eithercalled central or sequential . Proposition 1
Given a graph g , the following statement holds: ∀ k ∈ { , . . . , diam ( g ) − } , ( k + 1) - C (cid:40) k - C Proof
Let g be a graph and k ∈ { , . . . , diam ( g ) − } . We first prove that ( k + 1)- C ⊆ k - C .Let d be a daemon such that d ∈ ( k + 1)- C . Then, by definition: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ i ∈ N , ∀ ( u, v ) ∈ V , [ u (cid:54) = v ∧ u ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ i , γ i +1 )] ⇒ dist ( g, u, v ) > k + 1As k < k + 1, we obtain that: ∀ ( u, v ) ∈ V , dist ( g, u, v ) > k + 1 ⇒ dist ( g, u, v ) > k . As a consequence: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ i ∈ N , ∀ ( u, v ) ∈ V , [ u (cid:54) = v ∧ u ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ i , γ i +1 )] ⇒ dist ( g, u, v ) > k By definition, this implies that d ∈ k - C and shows us that ( k + 1)- C ⊆ k - C .There remains to prove that ( k + 1)- C (cid:54) = k - C . It is sufficient to construct a daemon d such that: d ∈ k - C and d / ∈ ( k + 1)- C .Let d be a daemon of k - C that satisfies: ∃ π ∈ Π , ∃ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∃ i ∈ N , ∃ ( u, v ) ∈ V ,u (cid:54) = v ∧ u ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ i , γ i +1 ) ∧ dist ( g, u, v ) = k + 1Note that d exists since the execution σ is not contradictory with the fact that d ∈ k - C . On the otherhand, we can observe that d / ∈ ( k + 1)- C since the execution σ cannot satisfy the definition of an executionallowed by a ( k + 1)-central daemon. This completes the proof of the proposition. (cid:3) Figure 3 renders Proposition 1 graphically.
The fairness properties of daemons was not discussed in the seminal paper of Dijkstra [11], as “executingand action” was tantamount to “using critical section” in its mutual exclusion schemes. So, only globalprogress was assumed, i.e. any set of enabled processes could be scheduled for execution. This very weakassumption was later referred to as an “unfair” daemon [28, 6, 29, 7], since it may happen that a continuouslyenabled process is never scheduled for execution. In our taxonomy, this “unfair” property is simply havingno assumptions besides “distributed”. The notion of weak fairness [30, 26] prevent such behaviors, as itmandates continuously enabled processes to eventually be scheduled by the daemon. A formal definitionfollows. 5- C = D C C . . . ( diam ( g ) − C diam ( g )- C Figure 3: Inclusions of sets of daemons with respect to distribution.
Definition 3 (Weak Fairness)
Given a graph g , a daemon d is weakly fair if and only if ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , [ ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, v ∈ Ena ( γ j , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))] ⇒ σ / ∈ d ( π ) A weakly fair daemon is also called a fair daemon. The set of (weakly) fair daemons is denoted by WF orby F . A daemon that is not fair is called unfair. The set of unfair daemons is denoted by ¯ F ( ¯ F = D \ F ). For some protocols (including protocols involving Byzantine behaviors [13, 14]), weak fairness is notsufficient to guarantee convergence, and the notion of strong fairness was defined [32, 30]. Intuitively adaemon is strongly fair if any process that is enabled infinitely often is eventually scheduled for executionby the daemon. A formal definition follows.
Definition 4 (Strong Fairness)
Given a graph g , a daemon d is strongly fair if and only if ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , [ ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, ∃ k ≥ j, v ∈ Ena ( γ k , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))] ⇒ σ / ∈ d ( π ) The set of strongly fair daemons is denoted by SF . The strongest notion of fairness (in self-stabilizing systems of finite size) is due to Gouda [20]. Inshort, a weakly stabilizing protocol ( i.e. a protocol such that from any initial configuration, there existsan execution that leads to a legitimate configuration) is in fact self-stabilizing assuming Gouda’s notion offairness. Intuitively, a daemon is
Gouda fair if from any configuration that appears infinitely often in anexecution, every transition is eventually scheduled for execution. A formal definition follows.
Definition 5 (Gouda Fairness)
Given a graph g , a daemon d is Gouda fair if and only if ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , ∀ ( γ, γ (cid:48) ) ∈ π [ ∃ i ∈ N , ( ∀ j ≥ i, ∃ k ≥ j, γ k = γ ) ∧ ( ∀ j ≥ i, ( γ j , γ j +1 ) (cid:54) = ( γ, γ (cid:48) ))] ⇒ σ / ∈ d ( π ) The set of Gouda fair daemons is denoted by GF . Proposition 2
Given a graph g , the following properties hold: GF (cid:40) SFSF (cid:40)
WFWF (cid:40) D roof We first prove that GF (cid:40) SF . We start by proving that GF ⊆ SF .Let d be a daemon of GF . Assume that there exist π ∈ Π and σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π such that ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, ∃ k ≥ j, v ∈ Ena ( γ k , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))Since π is a finite subset of actions of g , this property implies the following: ∃ ( γ, γ (cid:48) ) ∈ π, ∃ i ∈ N , ( ∀ j ≥ i, ∃ k ≥ j, γ k = γ ) ∧ ( ∀ j ≥ i, ( γ j , γ j +1 ) (cid:54) = ( γ, γ (cid:48) ))As d ∈ GF , we can deduce that σ / ∈ d ( π ) by definition. Consequently: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , [ ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, ∃ k ≥ j, v ∈ Ena ( γ k , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))] ⇒ σ / ∈ d ( π )This proves that d ∈ SF and hence that GF ⊆ SF .It remains to prove that
GF (cid:54) = SF . It is sufficient to construct a daemon d such that d ∈ SF and d / ∈ GF .Let g be a graph and π be a distributed protocol such that: ∃ ( γ, γ (cid:48) , γ (cid:48)(cid:48) ) ∈ Γ , ( γ, γ (cid:48) ) ∈ π ∧ ( γ, γ (cid:48)(cid:48) ) ∈ π ∧ Act ( γ, γ (cid:48) ) = Act ( γ, γ (cid:48)(cid:48) )Then, it is possible to define a daemon d ∈ SF and an execution σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π such that: ∃ i ∈ N , ( ∀ j ≥ i, ∃ k ≥ j, γ k = γ ) ∧ ( ∀ j ≥ i, γ j = γ ⇒ ( γ j , γ j +1 ) = ( γ, γ (cid:48)(cid:48) ) (cid:54) = ( γ, γ (cid:48) ))We can conclude that d / ∈ GF since the execution σ cannot satisfy the definition of an execution allowedby a Gouda fair daemon. That proves the result (since d ∈ SF by assumption).There remains to prove that SF (cid:40) WF . We first prove that SF ⊆ WF .Let d be a daemon of SF . Assume that there exists π ∈ Π and σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π such that ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, v ∈ Ena ( γ j , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))This property implies the following: ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, ∃ k = j, v ∈ Ena ( γ k , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))As d ∈ SF , we can deduce that σ / ∈ d ( π ) by definition. Consequently: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , [ ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, v ∈ Ena ( γ j , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))] ⇒ σ / ∈ d ( π )This proves that d ∈ WF and hence that SF ⊆ WF .It remains to prove that
SF (cid:54) = WF . It is sufficient to construct a daemon d such that d ∈ WF and d / ∈ SF .Let g be a graph, π be a distributed protocol and u, v be two vertices such that: ∃ ( γ, γ (cid:48) ) ∈ Γ , v ∈ Ena ( γ, π ) ∧ u ∈ Ena ( γ, π ) ∧ v / ∈ Ena ( γ (cid:48) , π ) ∧ u ∈ Ena ( γ (cid:48) , π ) v / ∈ Act ( γ, γ (cid:48) ) ∧ u ∈ Act ( γ, γ (cid:48) ) ∧ v / ∈ Act ( γ (cid:48) , γ ) ∧ u ∈ Act ( γ (cid:48) , γ )( γ, γ (cid:48) ) ∈ π ∧ ( γ (cid:48) , γ ) ∈ π Then, it is possible to define a daemon d ∈ WF and an execution σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π such that: σ ∈ d ( π ) ∧ ( ∀ p ∈ N , γ p = γ ∧ γ p +1 = γ (cid:48) )We can observe that σ satisfies: ∃ i = 0 ∈ N , [( ∀ j ≥ i, ( ∃ k ≥ j, v ∈ Ena ( γ k , π )) ∧ ( ∃ k (cid:48) ≥ j, v / ∈ Ena ( γ k (cid:48) , π ))) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))]7 WFSFGF
Figure 4: Inclusions of sets of daemons with respect to fairness.We can conclude that d / ∈ SF since the execution σ cannot satisfy the definition of an execution allowedby a strongly fair daemon. That proves the result (since d ∈ WF by assumption).Finally, we prove that WF (cid:40) D . As the definition implies that WF ⊆ D , it remains to prove that
WF (cid:54) = D . It is sufficient to construct a daemon d such that d ∈ D and d / ∈ WF .Let g be a graph and π be a distributed protocol such that there exists v ∈ V satisfying: ∀ ( γ, γ (cid:48) ) ∈ π, v ∈ Ena ( γ, π ) ⇒ | Ena ( γ, π ) | ≥ d and an execution σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π such that: ∀ i ∈ N , v / ∈ Act ( γ i , γ i +1 ) ∧ σ ∈ d ( π )We can conclude that d / ∈ WF since the execution σ cannot satisfy the definition of an execution allowedby a weakly fair daemon. That proves the result (since d ∈ D by definition). (cid:3) Figure 4 renders Proposition 2 graphically. Devismes et al. [10] observe that in infinite systems, Goudafairness is not the strongest form of fairness.
Boundedness was first presented in [6] as a property achieved by a daemon transformer (see also Section 5)and was also used as a benchmark to evaluate the performance of self-stabilizing protocols under variouskinds of daemons [1, 2]. Intuitively a daemon is k -bounded if no process can be scheduled more than k timesbetween any two schedulings of any other process. Note that this does not imply that there exists a boundon the “speed” ratio between any two processes: in particular if a process is never scheduled in a particularexecution, another process may be scheduled more than k times in the execution sequel without breakingthe k -boundedness constraint. As a matter of fact, a daemon can be both k -bounded and unfair. A formaldefinition follows. Definition 6 ( k -Boundedness) Given a graph g , a daemon d is k -bounded if and only if ∃ k ∈ N ∗ , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ ( i, j ) ∈ N , ∀ v ∈ V, (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l < i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ ∀ u ∈ V \ { v } , |{ l ∈ N | l < i ∧ u ∈ Act ( γ l , γ l +1 ) }| ≤ k (cid:3) ∧ (cid:2) [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ ∀ u ∈ V \ { v } , |{ l ∈ N | i ≤ l < j ∧ u ∈ Act ( γ l , γ l +1 ) }| ≤ k (cid:3) The set of k -bounded daemons is denoted by k - B . The set of bounded daemons is denoted by B ( B = (cid:83) k ∈ N ∗ k - B ).A daemon that is not k -bounded for any k ∈ N ∗ is called unbounded. The set of unbounded daemons is denotedby ¯ B ( ¯ B = D \ B ). B B B B . . . D Figure 5: Inclusions of sets of daemons with respect to boundedness.
Proposition 3
Given a graph g , the following statements hold: ∀ k ∈ N ∗ , (cid:26) k - B (cid:40) ( k + 1) - B k - B (cid:40) D Proof
Let g be a graph and k ∈ N ∗ . We first prove that k - B ⊆ ( k + 1)- B .Let d be a daemon such that d ∈ k - B . Then, by definition: ∃ k ∈ N ∗ , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ ( i, j ) ∈ N , ∀ v ∈ V, (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l < i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ ∀ u ∈ V \ { v } , |{ l ∈ N | l < i ∧ u ∈ Act ( γ l , γ l +1 ) }| ≤ k (cid:3) ∧ (cid:2) [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ ∀ u ∈ V \ { v } , |{ l ∈ N | i ≤ l < j ∧ u ∈ Act ( γ l , γ l +1 ) }| ≤ k (cid:3) As k < k + 1, we obtain that: ∃ k ∈ N ∗ , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ ( i, j ) ∈ N , ∀ v ∈ V, (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l < i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ ∀ u ∈ V \ { v } , |{ l ∈ N | l < i ∧ u ∈ Act ( γ l , γ l +1 ) }| ≤ k + 1 (cid:3) ∧ (cid:2) [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ ∀ u ∈ V \ { v } , |{ l ∈ N | i ≤ l < j ∧ u ∈ Act ( γ l , γ l +1 ) }| ≤ k + 1 (cid:3) By definition, this implies that d ∈ ( k + 1)- B and shows us that k - B ⊆ ( k + 1)- B .There remains to prove that k - B (cid:54) = ( k + 1)- B . It is sufficient to construct a daemon d such that: d ∈ ( k + 1)- B and d / ∈ k - B .Let d be a daemon of ( k + 1)- B that satisfies: ∃ π ∈ Π , ∃ σ =( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∃ ( i, j ) ∈ N , ∃ v ∈ V,i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 )) ∧ ( ∃ u ∈ V \ { v } , |{ l ∈ N | i ≤ l < j ∧ u ∈ Act ( γ l , γ l +1 ) }| = k + 1)Note that d exists since the execution σ is not contradictory with the fact that d ∈ ( k + 1)- B . On theother hand, we can observe that d / ∈ k - B since the execution σ cannot satisfy the definition of an executionallowed by a k -bounded daemon. This completes the proof of the first property.Finally, we prove that k - B (cid:40) D . By definition, k - B ⊆ D . There remains to prove that k - B (cid:54) = D . By thefirst property, there exists a daemon d such that d ∈ ( k + 1)- B and d / ∈ k - B . By definition, ( k + 1)- B ⊆ D holds. Hence, the claimed result. (cid:3)
Figure 5 renders Proposition 3 graphically. 9 .4 Enabledness
Enabledness is a characterization of daemon properties that is introduced in this paper. It is defined tobe related to the intuitive notion that the ratio between the “speed” of the fastest process and that of theslowest process is bounded. In an asynchronous setting where we use configurations and time-independenttransitions between configurations, k -enabledness intuitively means that a particular process can not beenabled more than k times before being activated. A formal definition follows. Definition 7 ( k -Enabledness) Given a graph g , a daemon d is k -enabled if and only if ∃ k ∈ N , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ ( i, j ) ∈ N , ∀ v ∈ V, (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l < i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l < i ∧ v ∈ Ena ( γ l , π ) }| ≤ k (cid:3) ∧ (cid:2) [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | i < l < j ∧ v ∈ Ena ( γ l , π ) }| ≤ k (cid:3) ∧ (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l > i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l > i ∧ v ∈ Ena ( γ l , π ) }| ≤ k (cid:3) The set of k -enabled daemons is denoted by k - E . The set of daemons of bounded enabledness is denoted by E ( E = (cid:83) k ∈ N k - E ). A daemon that is not k -enabled for any k ∈ N has an unbounded enabledness. The set ofdaemons of unbounded enabledness is denoted by ¯ E ( ¯ E = D \ E ). Proposition 4
Given a graph g , the following statements hold: ∀ k ∈ N , (cid:26) k - E (cid:40) ( k + 1) - E k - E (cid:40) D Proof
Let g be a graph and k ∈ N . We first prove that k - E ⊆ ( k + 1)- E .Let d be a daemon such that d ∈ k - E . Then, by definition: ∃ k ∈ N , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ ( i, j ) ∈ N , ∀ v ∈ V, (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l < i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l < i ∧ v ∈ Ena ( γ l , π ) }| ≤ k (cid:3) ∧ (cid:2) [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | i < l < j ∧ v ∈ Ena ( γ l , π ) }| ≤ k (cid:3) ∧ (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l > i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l > i ∧ v ∈ Ena ( γ l , π ) }| ≤ k (cid:3) As k < k + 1, we obtain that: ∃ k ∈ N , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ ( i, j ) ∈ N , ∀ v ∈ V, (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l < i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l < i ∧ v ∈ Ena ( γ l , π ) }| ≤ k + 1 (cid:3) ∧ (cid:2) [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | i < l < j ∧ v ∈ Ena ( γ l , π ) }| ≤ k + 1 (cid:3) ∧ (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l > i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l > i ∧ v ∈ Ena ( γ l , π ) }| ≤ k + 1 (cid:3) By definition, this implies that d ∈ ( k + 1)- E and shows us that k - E ⊆ ( k + 1)- E .There remains to prove that k - E (cid:54) = ( k + 1)- E . It is sufficient to construct a daemon d such that: d ∈ ( k + 1)- E and d / ∈ k - E .Let d be a daemon of ( k + 1)- E that satisfies: ∃ π ∈ Π , ∃ σ =( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∃ ( i, j ) ∈ N , ∃ v ∈ V,i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 )) ∧|{ l ∈ N | i < l < j ∧ v ∈ Ena ( γ l , π ) }| = k + 110- E E E E . . . D Figure 6: Inclusions of sets of daemons with respect to enabledness.Note that d exists since the execution σ is not contradictory with the fact that d ∈ ( k + 1)- E . On theother hand, we can observe that d / ∈ k - E since the execution σ cannot satisfy the definition of an executionallowed by a k -enabled daemon. This completes the proof of the first property.Finally, we prove that k - E (cid:40) D . By definition, k - E ⊆ D holds. There remains to prove that k - E (cid:54) = D . Bythe first property, there exists a daemon d such that d ∈ ( k + 1)- E and d / ∈ k - E . By definition, ( k + 1)- E ⊆ D holds. Hence the claimed result. (cid:3)
Figure 6 renders Proposition 4 graphically. Unlike previous characteristic properties of daemons, en-abledness is not completely independent from others. Relationship between enabledness and fairness andboundedness are depicted in the sequel (Sections 3.4.1 and 3.4.2).
Daemons with bounded enabledness cannot ignore scheduling processes more than k times, implying thatthe overall schedule is at least weakly fair. Nevertheless, the following proposition shows that the converseis not true ( i.e. there exist daemons that are weakly fair but do not have bounded enabledness, furthermorethose daemons are not strongly fair either). There also exist daemons that are strongly fair or Gouda fair,yet do not have finite enabledness. Proposition 5
For any given graph g , the following statements hold: ∀ d ∈ D , d ∈ E ⇒ d ∈ WF∃ d ∈ WF \ ( E ∪ SF ) ∃ d ∈ SF \ ( E ∪ GF ) ∃ d ∈ GF \ E Proof
Let g be a graph. Let d be a daemon such that d ∈ E . Then, there exists k ∈ N such that d ∈ k - E .We are going to prove that d ∈ WF .Assume that π is a distributed protocol and σ = ( γ , γ )( γ , γ ) . . . is an execution of d ( π ) satisfying: ∃ i ∈ N ∗ , ∃ v ∈ V, v ∈ Act ( γ i − , γ i ) ∧ ( ∀ j ≥ i, v ∈ Ena ( γ j , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))Then, we obtain:[ v ∈ Act ( γ i − , γ i ) ∧ ( ∀ l ∈ N , l > i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ∧ |{ l ∈ N | l > i ∧ v ∈ Ena ( γ l , π ) }| = ∞ > k This property is contradictory with σ ∈ d ( π ) and d ∈ k - E . hence, we deduct that: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , [ ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, v ∈ Ena ( γ j , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))] ⇒ σ / ∈ d ( π )That means that d ∈ WF and then, we proved that: ∀ d ∈ D , d ∈ E ⇒ d ∈ WF .11here remains to prove that ∃ d ∈ GF \ E . Consider a daemon d such that d ∈ GF and a distributedprotocol π such that: ∃ ( γ , γ , γ ) ∈ Γ , ∃ v ∈ V, ( γ , γ ) ∈ π ∧ v ∈ Ena ( γ , π ) ∧ v ∈ Act ( γ , γ )( γ , γ ) ∈ π ∧ v ∈ Ena ( γ , π ) ∧ v / ∈ Act ( γ , γ )( γ , γ ) ∈ π ∧ v ∈ Ena ( γ , π ) ∧ v / ∈ Act ( γ , γ )Let σ be an execution of d ( π ) starting from γ . Now, we define the following set of executions of π (where the product operator denotes the concatenation of portions of executions): ∀ k ∈ N , σ k = ( γ , γ )( γ , γ ) . (cid:2) ( γ , γ )( γ , γ ) (cid:3) k .σ We can define a daemon d (cid:48) in the following way: (cid:26) ∀ π ∈ Π \ { π } , d (cid:48) ( π ) = d ( π ) d (cid:48) ( π ) = d ( π ) ∪ { σ k | k ∈ N } Then, we can observe that d (cid:48) ∈ GF by construction and that, for any k ∈ N , the execution σ k ∈ d (cid:48) ( π ) doesnot satisfy the definition of k -enabledness. Consequently, we prove that: d (cid:48) ∈ GF \ E . If we follow the samereasoning starting from a daemon d in WF \SF (respectively in
SF \GF ), we prove that d (cid:48) ∈ WF \ ( E ∪SF )(respectively that d (cid:48) ∈ SF \ ( E ∪ GF )), which ends the proof. (cid:3)
As previously mentioned, there is not relationship between boundedness and fairness. In this section, weprove that there is a connexion between (finite) enabledness and (finite) boundedness. In particular, if adaemon is both k -enabled and k (cid:48) -bounded (for some particular integers k and k (cid:48) ), then k ≤ ( n − × k (cid:48) (where n denotes the number of processes in the system). However, there exist daemons that are k -enabled(for some integer k ) but do not have finite boundedness, and daemons that are k (cid:48) -bounded (for some integer k (cid:48) ) but do not have finite enabledness. Proposition 6
For any given graph g , the following statements hold: ∀ d ∈ D , ∀ ( k, k (cid:48) ) ∈ N × N ∗ , ( d ∈ k - E ∧ d ∈ k (cid:48) - B ) ⇒ k ≤ ( n − × k (cid:48) ∀ k ∈ N , ∃ d ∈ k - E \ B∀ k ∈ N ∗ , ∃ d ∈ k - B \ E
Proof
Firstly, we prove that ∀ d ∈ D , ∀ ( k, k (cid:48) ) ∈ N × N ∗ , ( d ∈ k - E ∧ d ∈ k (cid:48) - B ) ⇒ k ≤ ( n − × k (cid:48) . Consider adaemon d such that d ∈ k - E and d ∈ k (cid:48) - B for two given ( k, k (cid:48) ) ∈ N × N ∗ .As d is k (cid:48) -bounded, between two consecutive actions of any vertex v , any vertex u such that u (cid:54) = v takesat most k (cid:48) actions. This implies that there exists at most ( n − × k (cid:48) actions between two consecutive actionsof v (since the daemon must ensure the progress). This implies that, between two consecutive actions of v ,there exists at most ( n − × k (cid:48) configurations where v is enabled (without being activated by construction).As d has a bounded enabledness k , we can deduce that k ≤ ( n − × k (cid:48) , which proves the result.Secondly, we prove that ∀ k ∈ N , ∃ d ∈ k - E \ B . Consider k ∈ N , a daemon d such that d ∈ k - E and adistributed protocol π such that: ∀ (cid:96) ∈ N ∗ , ∃ ( γ (cid:96) +1 , γ (cid:96) , . . . , γ , γ ) ∈ Γ (cid:96) +2 , ∃ v ∈ V, (cid:26) ∀ i ∈ { , . . . , (cid:96) } , ( γ i +1 , γ i ) ∈ π ∀ i ∈ { , . . . , (cid:96) } , Act ( γ i +1 , γ i ) = Ena ( γ i +1 , π ) = V Let σ be an execution of d ( π ) starting from γ . Now, we define the following set of executions of π (where the product operator denotes the concatenation of portions of executions): ∀ k (cid:48) ∈ N ∗ , σ k (cid:48) = ( γ k (cid:48) +1 , γ k (cid:48) )( γ k (cid:48) , γ k (cid:48) − ) . . . ( γ , γ )( γ , γ ) .σ k (cid:48) ∈ N ∗ , the portion of execution ( γ k (cid:48) +1 , γ k (cid:48) )( γ k (cid:48) , γ k (cid:48) − ) . . . ( γ , γ )( γ , γ ) is 0-enabled.Hence, any execution of { σ k (cid:48) | k (cid:48) ∈ N ∗ } is k -enabled.We can define a daemon d (cid:48) in the following way: (cid:26) ∀ π ∈ Π \ { π } , d (cid:48) ( π ) = d ( π ) d (cid:48) ( π ) = d ( π ) ∪ { σ k (cid:48) | k (cid:48) ∈ N ∗ } Then, we can observe that d (cid:48) ∈ k - E by construction and that, for any k (cid:48) ∈ N ∗ , the execution σ k (cid:48) ∈ d (cid:48) ( π )does not satisfy the definition of k (cid:48) -boundedness. Consequently, we prove that: d (cid:48) ∈ k - E \ (cid:83) k (cid:48) ∈ N ∗ k (cid:48) - B = k - E \B .Finally, we prove that ∀ k ∈ N ∗ , ∃ d ∈ k - B \ E . Consider k ∈ N ∗ , a daemon d such that d ∈ k - B and adistributed protocol π such that: ∃ ( γ , γ , γ ) ∈ Γ , ∃ v ∈ V, ( γ , γ ) ∈ π ∧ v ∈ Ena ( γ , π ) ∧ Act ( γ , γ ) = { v } ( γ , γ ) ∈ π ∧ v ∈ Ena ( γ , π ) ∧ v / ∈ Act ( γ , γ )( γ , γ ) ∈ π ∧ v ∈ Ena ( γ , π ) ∧ v / ∈ Act ( γ , γ ) Act ( γ , γ ) = Act ( γ , γ )Let σ be an execution of d ( π ) starting from γ . Now, we define the following set of executions of π (where the product operator denotes the concatenation of portions of executions): ∀ k (cid:48) ∈ N , σ k (cid:48) = ( γ , γ )( γ , γ ) . (cid:2) ( γ , γ )( γ , γ ) (cid:3) k (cid:48) .e Note that, for any k (cid:48) ∈ N , the portion of execution ( γ , γ )( γ , γ ) . (cid:2) ( γ , γ )( γ , γ ) (cid:3) k (cid:48) is 1-bounded.Hence, any execution of { σ k (cid:48) | k (cid:48) ∈ N } is k -bounded.We can define a daemon d (cid:48) in the following way: (cid:26) ∀ π ∈ Π \ { π } , d (cid:48) ( π ) = d ( π ) d (cid:48) ( π ) = d ( π ) ∪ { σ k (cid:48) | k (cid:48) ∈ N } Then, we can observe that d (cid:48) ∈ k - B by construction and that, for any k (cid:48) ∈ N , the execution σ k (cid:48) ∈ d (cid:48) ( π )does not satisfy the definition of k (cid:48) -enabledness. Consequently, we prove that: d (cid:48) ∈ k - B \ (cid:83) k (cid:48) ∈ N k (cid:48) - E = k - B \ E . (cid:3) The four main characteristics presented in Section 3 provide a convenient way to define a particular class ofdaemons: this class simply combines the four characteristic properties. A formal definition follows.
Definition 8 (Daemon class)
Given a graph g and four sets of daemons C ∈ { k - C| k ∈ { , . . . , diam ( g ) }} B ∈ {D , k - B| k ∈ N ∗ } ,E ∈ {D , k - E| k ∈ N } F ∈ {D , WF , SF , GF} the class of daemons D ( C, B, E, F ) is defined by D ( C, B, E, F ) = C ∩ B ∩ E ∩ F . Now, each particular daemon instance d may belongs to several classes (those that include all possibleexecutions under d ). It is convenient to refer to the minimal class of d as the set of characteristics thatstrictly define d . A formal definition follows. 13 efinition 9 (Minimal class) Given a graph g and a daemon d , the minimal class of d is the class ofdaemons D ( C, B, E, F ) such that: (cid:26) d ∈ D ( C, B, E, F ) ∀D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) (cid:40) D ( C, B, E, F ) , d / ∈ D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )In any particular class, the canonical daemon of this class is a representative element of that class suchthat for any daemon d in the class, any execution allowed by d is also allowed by the canonical daemon.Simply put, the canonical daemon of a class is the largest element of this class with respect to allowedexecutions. A formal definition follows. Definition 10 (Canonical Daemon)
For a given graph g and a class of daemons D ( C, B, E, F ) , thecanonical daemon d ( C, B, E, F ) of D ( C, B, E, F ) is the daemon defined by: (cid:26) d ( C, B, E, F ) ∈ D ( C, B, E, F ) ∀ d ∈ D ( C, B, E, F ) , ∀ π ∈ Π , ∀ σ ∈ Σ π , σ ∈ d ( π ) ⇒ σ ∈ d ( C, B, E, F )( π )This way of viewing daemons as a set of possible executions (for a particular graph g ) drives a natural“more powerful” relation definition. For a particular graph g , a daemon d is more powerful than anotherdaemon d (cid:48) if all executions allowed by d (cid:48) are also allowed by d . Overall, d has more scheduling choices than d (cid:48) . A formal definition follows. Definition 11 (More powerful relation)
For a given graph g , we define the following binary relation (cid:52) on D : ∀ ( d, d (cid:48) ) ∈ D , d (cid:52) d (cid:48) ⇔ ( ∀ π ∈ Π , d ( π ) ⊆ d (cid:48) ( π )) If two daemons d and d (cid:48) satisfy d (cid:52) d (cid:48) , we say that d (cid:48) is more powerful than d . As with set inclusions, this “more powerful” relation induces a partial order, which is formally presentedin the sequel.
Proposition 7
For any graph g , the binary relation (cid:52) is a partial order on D . Proof
Let g be a graph. We are going to prove that the binary relation (cid:52) is reflexive, antisymmetric andtransitive. Then we show that this order is not total ( i.e. that there exists some incomparable elements by (cid:52) in D ).For any daemon d ∈ D , we have ∀ π ∈ Π , d ( π ) ⊆ d ( π ), which proves that ∀ d ∈ D , d (cid:52) d (reflexivity of thebinary relation (cid:52) ).Let d and d (cid:48) be two daemons such that d (cid:52) d (cid:48) and d (cid:48) (cid:52) d . Then, by definition: ∀ π ∈ Π , d ( π ) ⊆ d (cid:48) ( π ) ∀ π ∈ Π , d (cid:48) ( π ) ⊆ d ( π ) (cid:27) ⇒ ∀ π ∈ Π , d ( π ) = d (cid:48) ( π )In other words, d = d (cid:48) (antisymmetry of the binary relation (cid:52) ).Let d , d (cid:48) and d (cid:48)(cid:48) be three daemons such that d (cid:52) d (cid:48) and d (cid:48) (cid:52) d (cid:48)(cid:48) . Then, by definition: ∀ π ∈ Π , d ( π ) ⊆ d (cid:48) ( π ) ∀ π ∈ Π , d (cid:48) ( π ) ⊆ d (cid:48)(cid:48) ( π ) (cid:27) ⇒ ∀ π ∈ Π , d ( π ) ⊆ d (cid:48)(cid:48) ( π )In other words, d (cid:52) d (cid:48)(cid:48) (transitivity of the binary relation (cid:52) ).Let d be a daemon, π and π be two distributed protocols and σ and σ be two executions such that: π (cid:54) = π σ / ∈ d ( π ) σ / ∈ d ( π )14hen, we can construct two daemons d and d in the following way: (cid:26) ∀ π ∈ Π \ { π } , d ( π ) = d ( π ) d ( π ) = d ( π ) ∪ { σ } , and (cid:26) ∀ π ∈ Π \ { π } , d ( π ) = d ( π ) d ( π ) = d ( π ) ∪ { σ } Then, we can deduce that d ( π ) (cid:40) d ( π ) and d ( π ) (cid:40) d ( π ), which proves that d and d are notcomparable using the binary relation (cid:52) . (cid:3) Another natural intuition is that if d is more powerful than d (cid:48) and d belong to a particular daemon class,then d (cid:48) also belongs to this class. This is formally demonstrated in the following. Proposition 8
For a given graph g , for any daemons d and d (cid:48) and for any class of daemons D ( C, B, E, F ) ,the following statements hold: d (cid:48) (cid:52) dd ∈ D ( C, B, E, F ) (cid:27) ⇒ d (cid:48) ∈ D ( C, B, E, F ) Proof
Let g be a graph, d and d (cid:48) be two daemons and D ( C, B, E, F ) be a class of daemons such that: d (cid:48) (cid:52) d and d ∈ D ( C, B, E, F ).Assume that C = k - C with k ∈ { , . . . , diam ( g ) } . As d ∈ D ( C, B, E, F ) = C ∩ B ∩ E ∩ F , d ∈ k - C . Bydefinition: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ i ∈ N , ∀ ( u, v ) ∈ V , [ u (cid:54) = v ∧ u ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ i , γ i +1 )] ⇒ dist ( g, u, v ) > k As d (cid:48) (cid:52) d , ∀ π ∈ Π , d (cid:48) ( π ) ⊆ d ( π ). Then, we obtain: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d (cid:48) ( π ) ⊆ d ( π ) , ∀ i ∈ N , ∀ ( u, v ) ∈ V , [ u (cid:54) = v ∧ u ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ i , γ i +1 )] ⇒ dist ( g, u, v ) > k This implies that d (cid:48) ∈ k - C = C . We can prove in a similar way that d (cid:48) ∈ B , d (cid:48) ∈ E and d (cid:48) ∈ F .Consequently, we obtain that d (cid:48) ∈ C ∩ B ∩ E ∩ F = D ( C, B, E, F ), which proves the result. (cid:3)
Meaningful distributed protocols provide non-trivial properties when operated. A property can be definedas a predicate on computations, valued with true when the predicate is satisfied and false otherwise. A dis-tributed protocol satisfies a property if its every executions satisfy the corresponding predicate. Conversely,a property is impossible to satisfy if no protocol is such that any of its executions satisfies the correspondingpredicate. Formal definitions follow.
Definition 12 (Execution property)
For a given graph g , a property of execution p is a function thatassociates to each execution a Boolean value. p : Σ Π −→ { true, f alse } σ (cid:55)−→ p ( σ ) ∈ { true, f alse } Definition 13 (Property satisfaction)
For a given graph g , a distributed protocol π satisfies a propertyof execution p under a daemon d (denoted by π d | = p ) if and only if ∀ σ ∈ d ( π ) , p ( σ ) = true . Definition 14 (Property impossibility)
For a given graph g , it is impossible to satisfy a property ofexecution p under a daemon d (denoted by d (cid:54)| = p ) if and only if ∀ π ∈ Π , ∃ σ ∈ d ( π ) , p ( σ ) = f alse . (cid:52) relation permits to intuitively understand thetwo following theorems. If a property is guaranteed by a protocol under a daemon d , it is also guaranteedusing the same protocol under any “less powerful” daemon d (cid:48) (the executions allowed by d (cid:48) are a – possiblystrict – subset of those allowed by d ). Similarly, if a property cannot be guaranteed by any protocol under adaemon d , it is also impossible to guarantee this property under a “more powerful” daemon d (cid:48) (the executionsthat falsifies the property in these allowed by d are also present in those allowed by d (cid:48) ). A formal treatmentfollows. Theorem 1
For a given graph g , let p be a property of execution satisfied by a distributed protocol π undera daemon d . Then, ∀ d (cid:48) ∈ D , d (cid:48) (cid:52) d ⇒ π d (cid:48) | = p Proof
Let g be a graph, p be a property of execution satisfied by a distributed protocol π under a daemon d . By definition: ∀ σ ∈ d ( π ) , p ( σ ) = true Assume now that d (cid:48) is a daemon such that d (cid:48) (cid:52) d . By definition: ∀ π ∈ Π , d (cid:48) ( π ) ⊆ d ( π )Consequently, we get: ∀ σ ∈ Σ π , σ ∈ d (cid:48) ( π ) ⇒ σ ∈ d ( π ) ⇒ p ( σ ) = true By definition, we obtain that: π d (cid:48) | = p , which proves the theorem. (cid:3) Theorem 2
For a given graph g , let p be a property of execution impossible under a daemon d . Then, ∀ d (cid:48) ∈ D , d (cid:52) d (cid:48) ⇒ d (cid:48) (cid:54)| = p Proof
Let g be a graph, p be a property of execution impossible under a daemon d . By definition: ∀ π ∈ Π , ∃ σ ∈ d ( π ) , p ( σ ) = f alse Assume now that d (cid:48) is a daemon such that d (cid:52) d (cid:48) . By definition: ∀ π ∈ Π , d ( π ) ⊆ d (cid:48) ( π )Consequently, we obtain: ∀ π ∈ Π , ∃ σ ∈ d ( π ) ⊆ d (cid:48) ( π ) , p ( σ ) = f alse By definition, we obtain that: d (cid:48) (cid:54)| = p , which proves the theorem. (cid:3) A less obvious result shows that dealing with canonical daemons (rather than with the classes they repre-sent) is sufficient for comparison purposes. The two derived corollaries demonstrate that using characteristicdaemons is also valid for proving properties (or lack hereof) executions. This is formalized in the sequel.
Theorem 3
For a given graph g , let d ( C, B, E, F ) and d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) be two canonical daemons. Then, d ( C, B, E, F ) (cid:52) d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) ⇔ C ⊆ C (cid:48) B ⊆ B (cid:48) E ⊆ E (cid:48) F ⊆ F (cid:48) roof We first prove the “ ⇐ ” part of the theorem.Assume that there exist a graph g and two canonical daemons d ( C, B, E, F ) and d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) suchthat: C ⊆ C (cid:48) B ⊆ B (cid:48) E ⊆ E (cid:48) F ⊆ F (cid:48) We can deduce that C ∩ B ∩ E ∩ F ⊆ C (cid:48) ∩ B (cid:48) ∩ E (cid:48) ∩ F (cid:48) . Then, by the definition of a class of daemons: D ( C, B, E, F ) ⊆ D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )By the definition of a canonical daemon, d ( C, B, E, F ) ∈ D ( C, B, E, F ). Hence: d ( C, B, E, F ) ∈ D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )As d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) is the canonical daemon of the class D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ), by definition: ∀ π ∈ Π , ∀ σ ∈ Σ π , σ ∈ d ( C, B, E, F )( π ) ⇒ σ ∈ d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )( π )In other words, ∀ π ∈ Π , d ( C, B, E, F )( π ) ⊆ d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )( π )This means that: d ( C, B, E, F ) (cid:52) d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ), which ends the first part of the proof.Then, we prove the “ ⇒ ” part of the theorem.Assume that there exist a graph g and two canonical daemons d ( C, B, E, F ) and d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) suchthat: d ( C, B, E, F ) (cid:52) d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ).By definition of the (cid:52) relation, ∀ π ∈ Π , d ( C, B, E, F )( π ) ⊆ d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )( π )Let d be a daemon of D ( C, B, E, F ). As d ( C, B, E, F ) is the canonical daemon of the class of daemons D ( C, B, E, F ), ∀ π ∈ Π , ∀ σ ∈ Σ π , σ ∈ d ( π ) ⇒ σ ∈ d ( C, B, E, F )( π ) ⇒ σ ∈ d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )( π )In other words, ∀ π ∈ Π , d ( π ) ⊆ d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )( π ). By the definition of the (cid:52) relation, this implies that: ∀ d ∈ D ( C, B, E, F ) , d (cid:52) d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )As d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) is the canonical daemon of the class of daemons D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ), d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) ∈D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) and Proposition 8 implies ∀ d ∈ D ( C, B, E, F ) , d ∈ D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) )In other words, C ∩ B ∩ E ∩ F = D ( C, B, E, F ) ⊆ D ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) = C (cid:48) ∩ B (cid:48) ∩ E (cid:48) ∩ F (cid:48) .Assume by contradiction that C (cid:48) (cid:40) C . By the properties of boundedness, enabledness and fairness (seepropositions of Section 3), ( C \ C (cid:48) ) ∩ B ∩ E ∩ F (cid:54) = ∅ . So, there exists a daemon d such that d ∈ C ∩ B ∩ E ∩ F and d / ∈ C (cid:48) . Then, we can deduce that d / ∈ C (cid:48) ∩ B (cid:48) ∩ E (cid:48) ∩ F (cid:48) , which contradicts C ∩ B ∩ E ∩ F ⊆ C (cid:48) ∩ B (cid:48) ∩ E (cid:48) ∩ F (cid:48) .By the same way, we can prove that: C ⊆ C (cid:48) B ⊆ B (cid:48) E ⊆ E (cid:48) F ⊆ F (cid:48) This result ends the proof. (cid:3) orollary 1 For a given graph g , let d ( C, B, E, F ) and d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) be two canonical daemons. Then,for any property of execution p satisfied by a distributed protocol π under d ( C, B, E, F ) , the following state-ments hold: C (cid:48) ⊆ CB (cid:48) ⊆ BE (cid:48) ⊆ EF (cid:48) ⊆ F ⇒ π d ( C (cid:48) ,B (cid:48) ,E (cid:48) ,F (cid:48) ) | = p Proof
This result is a direct corollary from Theorems 1 and 3. (cid:3)
Corollary 2
For a given graph S , let d ( C, B, E, F ) and d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) be two canonical daemons. Then,for any property of execution p impossible under d ( C, B, E, F ) , the following statements hold: C ⊆ C (cid:48) B ⊆ B (cid:48) E ⊆ E (cid:48) F ⊆ F (cid:48) ⇒ d ( C (cid:48) , B (cid:48) , E (cid:48) , F (cid:48) ) (cid:54)| = p Proof
This result is a direct corollary from Theorems 2 and 3. (cid:3)
Although we did not describe it in the previous sections, the synchronous daemon play a very importantpart in the self-stabilization literature. First introduced by Herman [25] to enable analytical tractabilityof probabilistic self-stabilizing protocols, it was later used in a number of works, either to demonstrateimpossibility results (due to initial symmetry [23]) or to enable efficient solution to existing problems (dueto the single scheduling generated [15]). A synchronous daemon simply executes every enabled process atevery step. A formal definition follows.
Definition 15 (Synchronous Daemon)
Given a graph g , the synchronous daemon (denoted by sd ) isdefined by: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ sd ( π ) , ∀ i ∈ N , ∀ v ∈ V, v ∈ Ena ( γ i , π ) ⇒ v ∈ Act (( γ i , γ i +1 ))We first show that there is a connection between enabledness and synchrony. Indeed a synchronousdaemon cannot prevent an enabled process from being activated, even for a single step. Proposition 9
For any given graph g , - E = { sd } . Proof
Let g be a graph and d be a daemon such that d ∈ E . We now prove that d = sd .By definition: ∃ k ∈ N , ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ ( i, j ) ∈ N , ∀ v ∈ V, (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l < i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l < i ∧ v ∈ Ena ( γ l , π ) }| = 0 (cid:3) ∧ (cid:2) [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | i < l < j ∧ v ∈ Ena ( γ l , π ) }| = 0 (cid:3) ∧ (cid:2) [ v ∈ Act ( γ i , γ i +1 ) ∧ ( ∀ l ∈ N , l > i ⇒ v / ∈ Act ( γ l , γ l +1 ))] ⇒ |{ l ∈ N | l > i ∧ v ∈ Ena ( γ l , π ) }| = 0 (cid:3) In other words, no action ( γ, γ (cid:48) ) of any execution of d ( π ) for any distributed protocol π can satisfy: ∃ v ∈ V, v ∈ Ena ( γ, π ) ∧ v / ∈ Act ( γ, γ (cid:48) ). Hence: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ i ∈ N , ∀ v ∈ V, v / ∈ Ena ( γ i , π ) ∨ v ∈ Act ( γ i , γ i +1 )18s v ∈ Act ( γ i , γ i +1 ) implies that v ∈ Ena ( γ i , π ), this property is equivalent to the following: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∀ i ∈ N , ∀ v ∈ V, v ∈ Ena ( γ i , π ) ⇒ v ∈ Act ( γ i , γ i +1 )By the definition of the synchronous daemon, this means that d = sd , which ends the proof. (cid:3) It may first come to a surprise that boundedness is absolutely not related to synchrony, but as we pointedout previously, boundedness is also not related to fairness. The exact characteristics of the synchronousdaemon are captured by the following proposition.
Proposition 10
Given a graph g , D (0 - C , D , - E , SF ) is the minimal class of SD . Moreover, SD = d (0 - C , D , - E , SF ) . Proof
First, we prove that sd ∈ C \ C . By definition, sd ∈ C = D . By contradiction, assume that sd ∈ C . Let π ∈ Π be a distributed protocol such that: ∃ ( γ, γ (cid:48) ) ∈ π, Ena ( γ, π ) = V Then, by definition of the synchronous daemon, the first action of any execution σ = ( γ , γ )( γ , γ ) . . . ∈ sd ( π ) starting from γ = γ satisfies: Act ( γ , γ ) = V . Consequently, σ does not satisfy the property ofexecutions allowed by a 1-central daemon, which contradicts sd ∈ C and proves the result.Second, we prove that sd ∈ ¯ B . As sd ∈ D , assume for the purpose of contradiction that there exists k ∈ N ∗ such that sd ∈ k - B . Then, consider a distributed protocol π such that: ∃ ( v, u ) ∈ V , ∃ ( γ , . . . , γ k +3 ) ∈ Γ k +4 , ( γ , γ ) ∈ π ∧ Ena ( γ , π ) = { v }∀ i ∈ { , . . . , k + 1 } , ( γ i , γ i +1 ) ∈ π ∧ Ena ( γ i , π ) = { u } ( γ k +2 , γ k +3 ) ∈ π ∧ Ena ( γ k +2 , π ) = { v } Ena ( γ k +3 , π ) = ∅ We can observe that the execution σ defined by σ = ( γ , γ )( γ , γ ) . . . ( γ k +2 , γ k +3 ) satisfies σ ∈ sd ( π ).But, on the other hand, the following holds: ∃ π ∈ Π , ∃ σ = ( γ , γ )( γ , γ ) . . . ∈ d ( π ) , ∃ ( i = 0 , j = k + 2) ∈ N , ∃ v ∈ V, [ i < j ∧ v ∈ Act ( γ i , γ i +1 ) ∧ v ∈ Act ( γ j , γ j +1 ) ∧ ( ∀ l ∈ N , i < l < j ⇒ v / ∈ Act ( γ l , γ l +1 ))] ∧∃ u ∈ V \ { v } , |{ l ∈ N | i ≤ l < j ∧ u ∈ Act ( γ l , γ l +1 ) }| = k + 1By the definition of a k -bounded daemon, this implies that sd / ∈ k - B .We now prove that sd ∈ E . By Proposition 8, 0- E = { sd } . This implies that sd ∈ E .Next, we prove that sd ∈ SF \ GF . We start by proving that sd ∈ SF . By the definition of thesynchronous daemon: ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , ∀ v ∈ V, ( ∃ i ∈ N , v ∈ Ena ( γ i , π )) ⇒ v ∈ Act ( γ j , γ j +1 )Consequently, ∀ π ∈ Π , ∀ σ = ( γ , γ )( γ , γ ) . . . ∈ Σ π , [ ∃ i ∈ N , ∃ v ∈ V, ( ∀ j ≥ i, ∃ k ≥ j, v ∈ Ena ( γ k , π )) ∧ ( ∀ j ≥ i, v / ∈ Act ( γ j , γ j +1 ))] ⇒ σ / ∈ sd ( π )By the definition of a strongly fair daemon, this implies that sd ∈ SF . Now, we prove that sd / ∈ GF .Consider a distributed protocol π such that: ∃ ( γ, γ (cid:48) , γ (cid:48)(cid:48) ) ∈ Γ , ( γ, γ (cid:48) ) ∈ π ∧ Act ( γ, γ (cid:48) ) (cid:40) Ena ( γ, π )( γ, γ (cid:48)(cid:48) ) ∈ π ∧ Act ( γ, γ (cid:48)(cid:48) ) = Ena ( γ, π )( γ (cid:48)(cid:48) , γ ) ∈ π ∧ Act ( γ (cid:48)(cid:48) , γ ) = Ena ( γ (cid:48)(cid:48) , π )19e can construct an execution σ of π starting from γ in the following way: σ = ( γ, γ (cid:48)(cid:48) )( γ (cid:48)(cid:48) , γ )( γ, γ (cid:48)(cid:48) ) . . . .We can observe that σ ∈ sd ( π ) (since at each action, any enabled vertex is activated). Consequently, ∃ π ∈ Π , ∃ σ = ( γ , γ )( γ , γ ) . . . ∈ sd ( π ) , ∃ ( γ, γ (cid:48) ) ∈ π, ∃ i = 0 ∈ N , ( ∀ j ≥ i, ∃ k = 2 j ≥ j, γ k = γ ) ∧ ( ∀ j ≥ i, ( γ j , γ j +1 ) (cid:54) = ( γ, γ (cid:48) ))By the definition of a Gouda fair daemon, this implies that sd / ∈ GF .The four previous results imply that D (0- C , D , E , SF ) is the minimal class of sd . As D (0- C , D , E , SF ) ⊆ E by definition and 0- E = { sd } by Proposition 9, we can deduce that D (0- C , D , E , SF ) = { sd } . Then,the definition of a canonical daemon implies that sd = d (0- C , D , E , SF ), which completes the proof. (cid:3) We are now ready to present our map for “classical” daemons ( i.e. daemons most frequently used in theliterature. Using our taxonomy, these daemons can be defined as follows.
Definition 16 (Classical daemons)
Given a graph g , the classical daemons of the literature are definedas follows: • The unfair daemon (denoted by uf d ) is d ( D , D , D , D ) . • The weakly fair daemon (denoted by wf d ) is d ( D , D , D , WF ) . • The strongly fair daemon (denoted by sf d ) is d ( D , D , D , SF ) . • The Gouda fair daemon (denoted by gf d ) is d ( D , D , D , GF ) . • The locally central unfair daemon (denoted by - uf d ) is d (1 - C , D , D , D ) . • The locally central weakly fair daemon (denoted by - wf d ) is d (1 - C , D , D , WF ) . • The locally central strongly fair daemon (denoted by - sf d ) is d (1 - C , D , D , SF ) . • The locally central Gouda fair daemon (denoted by - gf d ) is d (1 - C , D , D , GF ) . • The central unfair daemon (denoted by - uf d ) is d (0 - C , D , D , D ) . • The central weakly fair daemon (denoted by - wf d ) is d (0 - C , D , D , WF ) . • The central strongly fair daemon (denoted by - sf d ) is d (0 - C , D , D , SF ) . • The central Gouda fair daemon (denoted by - gf d ) is d (0 - C , D , D , GF ) . Now, our main theorem (Theorem 3) permits to map the relationships between all classical daemonsin the literature is a rather compact format. For any given graph g , Figure 7 depicts graphically thoserelationships. As it is easier to write distributed protocols under daemons providing strong properties (that is, under weakdaemons that allow only a limited set of possible executions, such as a central or a bounded daemon), manyauthors provide protocols to simulate the operation of a weak daemon under a strong one. Such protocolsare called daemon transformers . Note that several works in the area of self-stabilization may be used asdaemon transformers although they were not initially designed with this goal in mind ( e.g. a self-stabilizingtoken circulation protocol that performs under the unfair distributed daemon can easily be turned into adaemon transformer that provides a central daemon out of an unfair distributed one).20 f dwf dsf dgf d sd uf d wf d sf d gf d uf d wf d sf d gf d (cid:45)(cid:63) (cid:63)(cid:63)(cid:63)(cid:63)(cid:63)(cid:63)(cid:63)(cid:63) (cid:27)(cid:27) (cid:27)(cid:27)(cid:27)(cid:27)(cid:27)(cid:27) Figure 7: Relationship between classical daemons (an arrow from a daemon d to a daemon d (cid:48) means that d (cid:48) (cid:52) d , note that we remove all arrows obtained by transitivity).In the following, we propose a survey of the main daemon transformers that also preserve the property ofself-stabilization. That is, the protocol transforming the daemon is a self-stabilizing one. Figure 8 summarizesthis survey and maps for each daemon transformer the initial daemon and the simulated one. We restrictourselves to deterministic daemon transformers in order to be able to exactly compute the characteristics ofthe simulated daemon. Note that features of the emulated daemon (centrality, fairness, boundedness, andenabledness) provided in the following are satisfied only after the stabilization of the daemon transformer.In the sequel, we use the notation d (cid:55)−→ d (cid:48) to denote that a daemon transformer simulates d (cid:48) while operatingunder d . Alternator-based daemon transformers.
In 1997, Gouda and Haddix [21] introduced the alternatorproblem. Roughly speaking, the aim is to design a protocol such that no neighbors are enabled simultaneouslyyet ensures that some fairness property holds (namely, between any two steps of a particular process, anyof its neighbors may execute at most one step). They claim that this protocol is useful to simulate a locallycentral daemon under a distributed one. Actually, this protocol ensures the following daemon transformation: uf d (cid:55)−→ d (1- C , WF , n - B , n - E ) and works on chain topologies only. Johnen et al. [27] later designed analternator for any oriented tree but require the initial daemon to be weakly fair. In other words, theyprovide the following daemon transformer: wf d (cid:55)−→ d (1- C , WF , n - B , n - E ). Finally, Gouda and Haddix [22]provided an alternator for an arbitrary underlying communication graph that provides the following daemontransformation: wf d (cid:55)−→ d (1- C , WF , diam ( g )- B , ( n × diam ( g ))- E ). This last transformer makes the followingassumption: the graph is identified (that is, every vertex has a unique identifier) and each vertex knows thecyclic distance of the graph (the cyclic distance is defined as the number of edges of the longest simple cycleif the graph has cycles, and two otherwise). Mutual exclusion-based daemon transformers.
The classical mutual exclusion problem requires thatno two vertices are simultaneously in critical section and that every vertex infinitely often enters criticalsection. So, any self-stabilizing mutual exclusion protocol may be turned into a daemon transformer thatprovides a central weakly fair daemon. In his seminal work on self-stabilization [11], Dijkstra proposed aself-stabilizing mutual exclusion protocol for ring topologies (using a token circulation) under a distributedunfair daemon. His protocol needs however a distinguished vertex (that is, one vertex executes a protocolthat is different from every other). Formally, we can derive the following daemon transformation from this21rotocol: uf d (cid:55)−→ d ( diam ( g )- C , WF , B , n - E ). From this first protocol, several works later revisited themutual exclusion problem. From a daemon transformation viewpoint, the most interesting ones follow. Usinga token circulation, Beauquier et al. ([3]) provide a uf d (cid:55)−→ d ( diam ( g )- C , WF , deg + ( g )- B , n × deg + ( g )- E )daemon transformation on oriented graph whenever the graph is strongly connected. Still on graphs witha distinguished vertex, Datta et al. provided [8] a self-stabilizing depth-first token circulation that performthe following daemon transformation: wf d (cid:55)−→ d ( diam ( g )- C , WF , deg ( g )- B , m - E ). Finally, Datta et al. [7]improved this result enabling the same daemon transformation but starting from an unfair daemon (moreformally, they achieve the following daemon transformation: uf d (cid:55)−→ d ( diam ( g )- C , WF , deg ( g )- B , m - E ))and they do not require the existence of a distinguished vertex. Local mutual exclusion-based daemon transformers.
Local mutual exclusion refines mutual exclu-sion since it requires the same exclusion and liveness properties but only within a vicinity around eachvertex (and not for the whole graph as for the – global – mutual exclusion problem). In other words, a k -local mutual exclusion protocol ensures that no two vertices are simultaneously in critical section if theirdistance is less than k and that any vertex enters infinitely often in critical section. Hence, we can easilydesign a daemon transformer providing a weakly fair k -central daemon from such a protocol. Note that theaforementioned alternator protocols solve a particular instance of 1-local mutual exclusion.A classical solution to 1-local mutual exclusion has been proposed by Beauquier et al. [1] using un-bounded memory at each vertex. This protocol ensures the following daemon transformation: uf d (cid:55)−→ d (1- C , WF , ( n − B , n ( n − - E ). Using only a bounded memory, Gairing et al. provided[18] a 2-local mutualexclusion that can be turned into a uf d (cid:55)−→ d (2- C , WF , m × n - B , m × n - E ) daemon transformer.Several works give more general solutions dealing with k -local mutual exclusion for any integer k . Forexample, Goddart et al. generalize [19] the work of Gairing et al. [18]. Their solution performs the uf d (cid:55)−→ d ( k - C , WF , O ( n )- B , O ( n )- E ) daemon transformation. Using a local clock synchronization, Boulinier andPetit provide [4] a wavelets protocol that can be used for k -local mutual exclusion. Hence, their protocolgives the following daemon transformation: uf d (cid:55)−→ d ( k - C , WF , (cid:108) diam ( g ) k (cid:109) - B , (cid:6) n − k (cid:7) - E ). Danturi et al. [5]deal with dining philosophers with generic conflicts under a distributed weakly fair daemon. The main idea isto clearly distinguish the communication graph from the conflict graph. If we consider that two vertices arein conflict if they are at distance less than k from each other, this protocol ensures k -local mutual exclusion.This protocol provides the wf d (cid:55)−→ d ( k - C , WF , D , deg ( g ) k - E ) daemon transformation but requires eachvertex to be the root of a tree spanning its k -neighborhood.Finally, Potop-Butucaru and Tixeuil introduced in [24] a weaker version of 1-local mutual exclusion byreplacing the fairness property by a progress property. This new problem was called a conflict manager andleads to the uf d (cid:55)−→ uf d daemon transformation. To our knowledge, this daemon transformer is the onlyone to perform a transformation according to a single identifier daemon characteristic.Note that all solutions presented in this paragraph require the graph to be identified. Other daemon transformers.
Even if they transform several characteristics of daemons (with the notableexception of [24]), all previously mentioned daemon transformers are designed for transforming only the distribution of daemons. Indeed, only a few works dealt with transforming other daemon characteristics.Regarding fairness transformation, Karaata [30] provided a daemon transformer to perform strong fairnessunder weak fairness. More formally, this protocol is a 1- wf d (cid:55)−→ d (2- C , SF , n × deg ( g ) - B , deg ( g ) - E ) daemontransformer. This protocol needs the graph to be identified and each vertex to have an unbounded memory.Karaata later refined [31] the protocol to perform exactly the same daemon transformation but requiringonly an identified graph.Using cross-over composition, Beauquier et al. [2] gave a generic transformer for enabledness. Moreprecisely, they design a uf d (cid:55)−→ d ( D , WF , k - B , n × k - E ) daemon transformer whenever a transformer thatprovides k -boundedness is available. 22 Conclusion
We surveyed existing scheduling hypotheses made in the literature in self-stabilization, commonly referredto under the notion of daemon . We showed that four main characteristics (distribution, fairness, bounded-ness, and enabledness) are enough to encapsulate the various differences presented in existing work. Ournaming scheme makes it easy to compare daemons of particular classes, and to extend existing possibilityor impossibility results to new daemons. We further examined existing daemon transformer schemes andprovided the exact transformed characteristics of those transformers in our taxonomy.Two obvious extensions of this work are to include system hypotheses that are not related to scheduling( e.g. atomicity) and to further refine the taxonomy to include recently introduced randomized scheduling [10].
References [1] Joffroy Beauquier, Ajoy Kumar Datta, Maria Gradinariu, and Fr´ed´eric Magniette. Self-stabilizing localmutual exclusion and daemon refinement.
Chicago J. Theor. Comput. Sci. , 2002, 2002.[2] Joffroy Beauquier, Maria Gradinariu, and Colette Johnen. Cross-over composition - enforcement offairness under unfair adversary. In Datta and Herman [9], pages 19–34.[3] Joffroy Beauquier, Maria Gradinariu, Colette Johnen, and J´erˆome Olivier Durand-Lose. Token-basedself-stabilizing uniform algorithms.
J. Parallel Distrib. Comput. , 62(5):899–921, 2002.[4] Christian Boulinier and Franck Petit. Self-stabilizing wavelets and rho-hops coordination. In , pages 1–8, 2008.[5] Praveen Danturi, Mikhail Nesterenko, and S´ebastien Tixeuil. Self-stabilizing philosophers with genericconflicts.
ACM Transactions of Adaptive and Autonomous Systems (TAAS) , 4(1), January 2009.[6] Ajoy K Datta, Maria Gradinariu, and S´ebastien Tixeuil. Self-stabilizing mutual exclusion using un-fair distributed scheduler. In
IEEE International Parallel and Distributed Processing SYmposium(IPDPS’2000) , pages 465–470, Cancun, Mexico, May 2000. IEEE Press.[7] Ajoy K. Datta, Maria Gradinariu, and S´ebastien Tixeuil. Self-stabilizing mutual exclusion with arbitraryscheduler.
The Computer Journal , 47(3):289–298, October 2004.[8] Ajoy K. Datta, Colette Johnen, Franck Petit, and Vincent Villain. Self-stabilizing depth-first token cir-culation in arbitrary rooted networks.
Distributed Computing , 13:207–218, 2000. 10.1007/PL00008919.[9] Ajoy Kumar Datta and Ted Herman, editors.
Self-Stabilizing Systems, 5th International Workshop,WSS 2001, Lisbon, Portugal, October 1-2, 2001, Proceedings , volume 2194 of
Lecture Notes in ComputerScience . Springer, 2001.[10] St´ephane Devismes, S´ebastien Tixeuil, and Masafumi Yamashita. Weak vs. self vs. probabilistic sta-bilization. In
Proceedings of the IEEE International Conference on Distributed Computing Systems(ICDCS 2008) , Beijin, China, June 2008.[11] Edsger W. Dijkstra. Self-stabilizing systems in spite of distributed control.
Commun. ACM , 17(11):643–644, 1974.[12] Shlomi. Dolev.
Self-stabilization . MIT Press, March 2000.[13] Swan Dubois, Maria Potop-Butucaru, Mikhail Nesterenko, and S´ebastien Tixeuil. Self-stabilizing byzan-tine asynchronous unison. In
Proceedings of OPODIS 2010 , Lecture Notes in Computer Science, Tozeur,Tunisia, December 2010. Springer Berlin / Heidelberg.2314] Swan Dubois, Maria Potop-Butucaru, and S´ebastien Tixeuil. Dynamic ftss in asynchronous systems:the case of unison.
Theoretical Computer Science (TCS) , 412(29):3418–3439, July 2011.[15] Philippe Duchon, Nicolas Hanusse, and S´ebastien Tixeuil. Optimal randomized self-stabilizing mutualexclusion in synchronous rings. In
Proceedings of the 18th Symposium on Distributed Computing (DISC2004) , number 3274 in Lecture Notes in Computer Science, pages 216–229, Amsterdam, The Nederlands,October 2004. Springer Verlag.[16] Michael J. Fischer, Nancy A. Lynch, and Mike Paterson. Impossibility of distributed consensus withone faulty process.
J. ACM , 32(2):374–382, 1985.[17] Laurent Fribourg, St´ephane Messika, and Claudine Picaronny. Coupling and self-stabilization.
Dis-tributed Computing , 18(3):221–232, 2006.[18] Martin Gairing, Wayne Goddard, Stephen T. Hedetniemi, Petter Kristiansen, and Alice A. McRae.Distance-two information in self-stabilizing algorithms.
Parallel Processing Letters , 14(3-4):387–398,2004.[19] Wayne Goddard, Stephen T. Hedetniemi, David Pokrass Jacobs, and Vilmar Trevisan. Distance- kknowledge in self-stabilizing algorithms.
Theor. Comput. Sci. , 399(1-2):118–127, 2008.[20] Mohamed G. Gouda. The theory of weak stabilization. In Datta and Herman [9], pages 114–123.[21] Mohamed G. Gouda and F. Furman Haddix. The linear alternator. In Sukumar Ghosh and Ted Herman,editors,
WSS , pages 31–47. Carleton University Press, 1997.[22] Mohamed G. Gouda and F. Furman Haddix. The alternator.
Distributed Computing , 20(1):21–28, 2007.[23] Maria Gradinariu and S´ebastien Tixeuil. Self-stabilizing vertex coloring of arbitrary graphs. In
Inter-national Conference on Principles of Distributed Systems (OPODIS’2000) , pages 55–70, Paris, France,December 2000.[24] Maria Gradinariu and S´ebastien Tixeuil. Conflict managers for self-stabilization without fairness as-sumption. In
Proceedings of the International Conference on Distributed Computing Systems (ICDCS2007) , page 46. IEEE, June 2007.[25] Ted Herman. Probabilistic self-stabilization.
Information Processing Letters , 35(2):63–67, 1990.[26] Tetz C. Huang, Ji-Cherng Lin, Chih-Yuan Chen, and Cheng-Pin Wang. The worst-case stabilizationtime of a self-stabilizing algorithm under the weakly fair daemon model.
IJALR , 1(3):45–52, 2010.[27] Colette Johnen, Luc Alima, Ajoy K. Datta, and S´ebastien Tixeuil. Optimal snap-stabilizing neighbor-hood synchronizer in tree networks.
Parallel Processing Letters (PPL) , 12(3-4):327–340, 2002.[28] H. Kakugawa and M. Yamashita. Uniform and self-stabilizing token rings allowing unfair daemon. ieeetpds , 8(2):154–162, 1997.[29] Hirotsugu Kakugawa and Masafumi Yamashita. Uniform and self-stabilizing fair mutual exclusion onunidirectional rings under unfair distributed daemon.
Journal of Parallel and Distributed Computing ,62(5):885–898, May 2002.[30] Mehmet Hakan Karaata. Self-stabilizing strong fairness under weak fairness.
IEEE Trans. ParallelDistrib. Syst. , 12(4):337–345, 2001.[31] Mehmet Hakan Karaata. An optimal self-stabilizing strarvation-free alternator.
J. Comput. Syst. Sci. ,71(4):480–494, 2005. 2432] Mehmet Hakan Karaata and Pranay Chaudhuri. A self-stabilizing algorithm for strong fairness.
Com-puting , 60(3):217–228, 1998.[33] S´ebastien Tixeuil.
Algorithms and Theory of Computation Handbook, Second Edition , chapter Self-stabilizing Algorithms, pages 26.1–26.45. Chapman & Hall/CRC Applied Algorithms and Data Struc-tures. CRC Press, Taylor & Francis Group, November 2009.25
DDDD k - CWF (cid:108) diam ( g ) k (cid:109) - B (cid:6) n − k (cid:7) - E [4] (cid:27)(cid:73) (cid:29) (cid:45) (cid:45)(cid:30)(cid:93)(cid:29) (cid:94) (cid:106)(cid:42)(cid:89)(cid:25) (cid:27) DWFDD CWF diam ( g )- B n × diam ( g )- E [22] diam ( g )- CWF B n - E [11] diam ( g )- CWF deg ( g )- B m - E [8][7] diam ( g )- CWF deg + ( g )- B n × deg + ( g )- E [3] k - CWFD deg ( g ) k - E [5] CWF m × n - B m × n - E [18] k - CWF O ( n )- B O ( n )- E [19] CDDD [24] CWF ( n − B n ( n − - E [1] CWF n - B n - E [21] DWF k - B n × k - E [2] CWFDD CSF n × deg ( g ) - B deg ( g ) - E [30, 31] (cid:54)(cid:54)