A Distributed Algorithm for Constructing a Minimum Diameter Spanning Tree
AA Distributed Algorithm for Constructing a MinimumDiameter Spanning Tree
Marc Bui a Franck Butelle b ∗ Christian Lavault ca LDCI, Universit´e Paris 8, France b LIPN – CNRS 7030, Universit´e Paris 13, France c LIPN – CNRS UMR 7030, Universit´e Paris-Nord
Abstract
We present a new algorithm, which solves the problem of distributively finding a mini-mum diameter spanning tree of any (non-negatively) real-weighted graph G = ( V, E, ω ). Asan intermediate step, we use a new, fast, linear-time all-pairs shortest paths distributed algo-rithm to find an absolute center of G . The resulting distributed algorithm is asynchronous,it works for named asynchronous arbitrary networks and achieves O ( | V | ) time complexityand O ( | V | | E | ) message complexity. Keywords : Spanning trees; Minimum diameter spanning trees; Shortest paths; Shortest pathstrees; All-pairs shortest paths; Absolute centers.
Many computer communication networks require nodes to broadcast information to other nodesfor network control purposes; this is done efficiently by sending messages over a spanning treeof the network. Now, optimizing the worst-case message propagation over a spanning tree isnaturally achieved by reducing the diameter to a minimum.The use of a control structure spanning the entire network is a fundamental issue in dis-tributed systems and interconnection networks. Given a network, a distributed algorithm is saidto be total iff all nodes participate in the computation. Now, all total distributed algorithmshave a time complexity of Ω( D ), where D is the network diameter (either in terms of hops, oraccording to the wider sense given by Christophides in [9]). Therefore, having a spanning treewith minimum diameter of arbitrary networks makes it possible to design a wide variety of time-efficient distributed algorithms. In order to construct such a spanning tree, all-pairs shortestpaths in the graph are needed first. Several distributed algorithms already solve the problemon various assumptions. However, our requirements are more general than the usual ones. Forexample, we design a “process terminating” algorithm for (weighted) networks with no commonknowledge shared between the processes. (See assumptions in Subsection 1.2 below.) A distributed system is a standard point-to-point asynchronous network consisting of n commu-nicating processes connected by m bidirectional channels. Each process has a local non-shared ∗ Corresponding author: LIPN, CNRS UPRES-A 7030, Universit´e Paris-Nord, 99, Av. J.-B. Cl´ement 93430Villetaneuse, France. E-mail: [email protected] a r X i v : . [ c s . D C ] D ec emory and can communicate by sending messages to and receiving messages from its neigh-bours. A single process can transmit to and receive from more than one neighbour at a time.The network topology is described by a finite, weighted, connected and undirected graph G = ( V, E, ω ), devoid of multiple edges and loop-free. G is a structure which consists of a finiteset of nodes V and a finite set of edges E with real-valued weights; each edge e is incident tothe elements of an unordered pair of nodes ( u, v ). In the distributed system, V represents theprocesses, while E represents the (weighted) bidirectional communication channels operatingbetween neighbouring processes [18]. We assume that, for all ( u, v ) ∈ E , ω ( u, v ) = ω ( v, u ) and,to shorten the notation, ω ( u, v ) = ω ( e ) denotes the real-valued weight of edge e = ( u, v ). (As-sumptions on real-valued weights of edges are specified in the next two Subsections 1.2 and 1.3.)Throughout, we let | V | = n , | E | = m and, according to the context, we use G to represent thenetwork or the weighted graph, indistinctly.The weight of a path [ u , . . . , u k ] of G ( u i ∈ V, ≤ i ≤ k ) is defined as P ≤ i ≤ k − ω ( u i , u i +1 ).For all nodes u and v in V , the distance from u to v , denoted d ( u, v ) = d G ( u, v ) = d ( v, u ) = d G ( v, u ), is the lowest weight of any path length from u to v in G . The largest (minimal) distancefrom a node v to all other nodes in V , denoted ecc ( v ) = ecc G ( v ), is the eccentricity of node v : ecc ( v ) = max u ∈ V d ( u, v ) [9]. An absolute center of G is defined as a node (not necessarily unique)achieving the smallest eccentricity in G . D = D ( G ) denotes the diameter of G , defined as D = max v ∈ V ecc ( v ) (see [9]) and R = R ( G )denotes the radius of G , defined as R = min v ∈ V ecc ( v ). Finally, Ψ( u ) = Ψ G ( u ) represents the shortest paths tree (SPT) of G rooted at node u : ( ∀ v ∈ V ) d Ψ( u ) ( u, v ) = d ( u, v ). Ψ( u ) is chosen uniquely among all the shortest paths trees of G rooted at node u ; whenever there is a tie betweenany two length paths d ( u, v ), it is broken by choosing the path with a second node of minimalidentity. The set of all SPTs of G is denoted Ψ = Ψ( G ). When it is clear from the context, thename of the graph is omitted.In the remainder of the paper, we denote problems as “the (MDST) problem”, “the (MST)problem”, “the (GMDST) problem”, etc. (see definitions in Subsection 1.4). Distributed algo-rithms are denoted in italics, e.g. “algorithm MDST ”. Finally, “MDST”, “APSPs” and “SPT”abbreviate “minimum diameter spanning tree”, “all-pairs shortest paths” and “shortest pathstree”, respectively.
Given a weighted graph G = ( V, E, ω ), the (MDST) problem is to find a spanning tree of G of minimum diameter D (according to the definition of D ).Note that the (MDST) problem assumes G to be a non-negatively real-weighted graph (i.e., ∀ e ∈ E ω ( e ) ∈ R + ). Indeed, the (MDST) problem is known to be NP-hard if we allow negativelength cycles in G (cf. Camerini et al. [7]).In spite of the fact that the (MDST) problem requires arbitrary non-negative real-valuededges weights, our distributed MDST algorithm is process terminating (i.e., a proper distributedtermination is completed [18]). This is generally not the case on the above requirement. Whenweights are assumed to be real-valued, a common (additional) knowledge of a bound on the sizeof the network is usually necessary for APSPs algorithms to process terminate (see e.g. [1, 4, 17]).By contrast, no “structural information” is assumed in our algorithm, neither topological (e.g.,size or bound on the size of the network), nor a sense of direction, etc. (see Subsection 2.2).2 .3 Assumptions In addition to the above general hypothesis of the (MDST) problem, we need the followingassumptions on the network. • Processes are faultless, and the communication channels are faithful, lossless and order-preserving (FIFO). • All processes have distinct identities ( ID s). ( G is called a “named network”, by contrastwith “anonymous networks”.) We need distinct ID s to compute the APSPs routing tablesof G at each process of the network. For the sake of simplicity, ID s are also assumed to benon-negative distinct integers.Each process must distinguish between its ports, but has no a priori knowledge of itsneighbours ID s. Actually, any process knows the ID of a sending process after receptionof its first message. Therefore, we assume w.l.o.g. (and up to n − ID of each of its neighbours from scratch (see protocol APSP inSubsection 2.1.2). • Of course, each node also knows the weights of its adjacent edges. However, edges weightsdo not satisfy the triangular inequality. • Let A be a distributed algorithm defined on G . A non-empty subset of nodes of V , called initiators , simultaneously start algorithm A . In other words, an external event (such asa user request, for example), impels the initiators to trigger the algorithm. Other (non-initiating) nodes “wake up” upon receipt of a first message. • In a reliable asynchronous network, we measure the communication complexity of an al-gorithm A in terms of the maximal number of messages that are received, during anyexecution of A . We also take into account the number of bits in the messages (or messagesize): this yields the “bit complexity” of A . For measuring the time complexity of A , weuse the definition of standard time complexity given in [18, 19]. Standard time complexityis defined on “Asynchronous Bounded Delay networks” (ABD networks): we assume anupper bound transmission delay time of τ for each message in a channel; τ is then the“standard time unit” in G . The small amount of literature related to the (MDST) problem mostly deals either with graphproblems in the Euclidian plane (geometric minimum diameter spanning tree: the (GMDST)problem), or with the Steiner spanning tree construction (see [14, 15]). The (MDST) problem isclearly a generalization of the (GMDST) problem. The sequential problem has been addressedby some authors (see for example [9]).Surprisingly, despite the importance of having a
MDST in arbitrary distributed systems,only few papers have addressed the question of how to design algorithms which construct suchspanning trees. Finding and maintaining a minimum spanning tree (the (MST) problem) hasbeen extensively studied in the literature (e.g. [2, 3, 10, 12]). More recently, the problem ofmaintaining a small diameter was however solved in [16], and the distributed (MDST) problemwas addressed in [5, 6].
Our algorithm
APSP is a generalization of APSP algorithms on graphs with unit weights (weightswith value 1) to the case of non-negatively real-weighted graphs. To our knowledge, our MDST3nding algorithm is also the first which distributively solves the (MDST) problem [5]. The algo-rithm
MDST works for named arbitrary network topologies with asynchronous communications.It achieves an “efficient” O ( n ) time complexity and O ( nm (log n + log W )) bits communicationcomplexity, where W is the largest weight of a channel. (An O ( n ) time complexity may be con-sidered “efficient”, though not optimal, since the construction of a spanning tree costs at leastΩ( D ) in time).The paper is organized as follows. In Section 2 we present a high-level description of theprotocol APSP , a formal design of the procedure
Gamma star and the algorithm
MDST . Section 3is devoted to proofs and complexity analysis of the algorithm. Finally, concluding remarks aregiven in Section 4.
First, we recall in Lemma 2.1 that the (MDST) problem for a weighted graph G is (polynomially)reducible to the absolute center problem for G . Then, we constructively find and compute anabsolute center of G by using its APSPs routing tables in Lemma 2.2.In summary, given a positively weighted graph G , the main steps of our algorithm for the(MDST) problem are the following:1. The computation of APSPs in G ;2. The computation of an absolute center of G (procedure Gamma star ( e ) in Subsection 2.2);3. The construction of a MDST of G , and the transmission of the knowledge of that MDSTto each node within the network G . MDST
The definition of the eccentricity is generalized as follows. We view an edge ( u, v ) with weight ω as a continuous interval of length ω , and for any 0 < α < ω we allow an insertion of a “dummynode” γ and replace the edge ( u, v ) by a pair of edges: ( u, γ ) with weight α and ( γ, v ) withweight ω − α .According to the definition, the eccentricity ecc ( γ ) of a general node γ (i.e., either an actualnode of V , or a dummy node) is clearly given by ecc ( γ ) = max z ∈ V d ( γ, z ). A node γ ∗ such that ecc ( γ ∗ ) = min γ ecc ( γ ) is called an absolute center of the graph. Recall that γ ∗ always exists ina connected graph and that it is not unique in general. Moreover, an absolute center of G isusually one of the dummy nodes (see Fig. 1).Similarly, the definition of Ψ( u ) is also generalized to account for the dummy nodes. Findinga MDST actually reduces to searching for an absolute center γ ∗ of G : the SPT rooted at γ ∗ is a MDST of G . Such is the purpose of the following Lemma 2.1. Lemma 2.1 [7]
Given a weighted graph G, the (MDST) problem for G is (polynomially) re-ducible to the problem of finding an absolute center of G. T ∗ of Gγ ∗ : absolute center of G Figure 1: Example of a MDST T ∗ ( D ( G ) = 22 and D ( T ∗ ) = 27). T ∗ is neither ashortest paths tree, nor a minimum spanning tree of G . The idea of computing absolute p -centers was first introduced by Hakimi, see for example [13].Here we address the computation of an absolute 1-center. According to the results in [9], weneed the following lemma (called Hakimi’s method) to find an absolute center of G . Lemma 2.2
Let G = ( V, E, ω ) be a weighted graph. For each edge e ∈ E , let γ e be the set of allthe general nodes of G which achieve a minimal eccentricity for e . A node achieving the minimaleccentricity among all nodes in [ e ∈ E γ e is an absolute center. Finding a minimum absolute centerof G is thus achieved in polynomial time. Proof. (The proof is constructive.) (i)
For each edge e = ( u, v ), let α = d ( u, γ ). Since the distance d ( γ, z ) is the length of a path[ γ, u, . . . , z ] or a path [ γ, v, . . . , z ], ecc ( γ ) = max z ∈ V d ( γ, z ) = max z ∈ V min (cid:0) α + d ( u, z ) , ω ( u, v ) − α + d ( v, z ) (cid:1) . (1)If we plot f + z ( α ) = α + d ( u, z ) and f − z ( α ) = − α + ω ( u, v ) + d ( v, z ) in Cartesian coordinatesfor fixed z = z , the real-valued functions f + z ( α ) and f − z ( α ) (separately depending on α in therange [0 , ω ( e )]) are represented by two line segments ( S ) z and ( S − ) z , with slope +1 and − z = z , the smallest of the two terms f + z ( α ) and f − z ( α ) in (1) define apiecewise linear function f z ( α ) made of ( S ) z and ( S − ) z .Let B e ( α ) be the upper boundary ( α ∈ [0 , ω ( e )]) of all the above f z ( α ) ( ∀ z ∈ V ). B e ( α ) isa curve made up of piecewise linear segments, which passes through several local minima (seeFig. 2). A point γ achieving the smallest minimal value (i.e. the global minimum) of B e ( α ) isan absolute center γ ∗ e of the edge e . (ii) From the definition of γ ∗ e , min γ ecc ( γ ) = min γ ∗ e s ( γ ∗ e ); and γ ∗ achieves the minimaleccentricity. Therefore, an absolute center γ ∗ of the graph is found at any point where theminimum of all ecc ( γ ∗ e )s is attained. (cid:3) By Lemma 2.2, we may consider this method from an algorithmic viewpoint. For each e = ( u, v ) ∈ E , let C e = (cid:8) ( d , d ) | ∀ z ∈ V d = d ( u, z ) and d = d ( v, z ) (cid:9) . a i , b i ) pairs of distances f + i ( α ) = α + a i f − i ( α ) = ω ( u, v ) − α + b i Figure 2: Example of an upper boundary B e ( α )Now, a pair ( d ’ , d ’) is said to dominate a pair ( d , d ) iff d ≤ d ’ and d ≤ d ’; namely, thefunction f z ( α ) defined by ( d ’ , d ’) is over f z ( α ) defined by ( d , d ). Any such pair ( d , d )will be ignored when it is dominated by another pair ( d ’ , d ’). The local minima of the upperboundary B e ( α ) (numbered from 1 to 3 in Figure 2) are located at the intersection of thesegments f − i ( α ) and f + i +1 ( α ), when all dominated pairs are removed. Sorting the set C e indescending order, with respect to the first term of each remaining pair ( d , d ), yields the list L e = (( a , b ) , . . . , ( a | L e | , b | L e | )) consisting of all such ordered dominating pairs. Hence, thesmallest minimum of B e ( α ) for a given edge e clearly provides an absolute center γ ∗ e (see theProcedure Gamma star ( e ) in Subsection 2.2). By Lemma 2.2, once all the γ ∗ e s are computed,we can obtain an absolute center γ ∗ of the graph G . Last, by Lemma 2.1, finding a MDST of G reduces to the problem of computing γ ∗ . APSP ) In § d ( u, z ) and d ( v, z ), for all z ∈ V and for each edge e =( u, v ) ∈ E . The latter distances must be computed by a distributed (process terminating)routing algorithm; the protocol APSP is designed for that purpose in Subsection 2.2.
MDST
At the end of the protocol
APSP , every node knows the node u min with the smallest ID anda shortest path in G leading to u min . Now, consider the collection of all paths [ u, . . . , u min ](computed by APSP ), which start from a node u ∈ V and end at node u min . This collectionforms a tree rooted at node u min and, since it is an SPT of G , the information is exchanged“optimally” in the SPT Ψ( u min ) . Hence, the number of messages needed to search an extremumin the tree Ψ( u min ) is at most O ( n ) (with message size O (log n + log W )).When the computation of an absolute center γ ∗ of G is completed, the endpoint of γ ∗ ’s edgehaving the smallest ID sends a message to u min carrying the ID of γ ∗ . Upon receipt of themessage, u min forwards the information all over Ψ( u min ) (adding the same cost in time andmessages). Therefore each node of G knows a route to γ ∗ , and the MDST is built as a commonknowledge for all nodes. In Ψ( u min ), the information is transmitted “optimally” in terms of time and messages, in the sense that eachedge weight may be regarded as the message transmission delay of a channel. .2 The Design of the Algorithm MDST
The distributed algorithm
MDST finds a MDST of an input weighted graph G = ( V, E, ω ) bycomputing an absolute center of G .The algorithm is described from a node point of view. The algorithm assumes that eachnode u performs the following steps. Step 1.
Node u participates in the computation of the APSP. This computation gives thediameter and the radius of the graph G . Moreover it also gives u min , the minimum nodeidentity in the graph. (See § Steps 2 & 3.
An adjacent edge selection procedure is implemented by discarding heavy edges.The computation of the local minimum is accelerated with the help of an upper boundtest. Note that the variable ϕ , used in the test, is a data structure with four fields: thebest distance α from the first edge end, the upper bound value associed to α , the identitiesof the first and second edge ends. (Edge ends are ordered by increasing identities.) Steps 4, 5 & 6.
Node u participates in finding the minimum of all values ϕ . Step 7
The best ϕ is finally computed at the root of the tree Ψ( u min ) and next, it is broadcastto all nodes through Ψ ( u min ).For the sake of clarity, we use abstract record data types (with dot notation). Algorithm
MDST (for node u )Type elt: record alpha best , upbound : EdgeWeight; id , id : NodeIdentity; end ; Var ϕ , ϕ ∗ u : elt; Diam , Radius , α , localmin : EdgeWeight; u min : NodeIdentity; d u : array of EdgeWeight; (* after step 1, d u [ v ] = d ( u, v ) *) (1) For all v ∈ V Compute d u [ v ], Diam , Radius and u min ; (* from protocol APSP *) (2) ϕ.upbound ← Radius ;(3)
While ϕ.upbound > Diam/ do for each edg e = ( u, v ) s.t. v > u (a) ( α, localmin ) ← Gamma star ( e );(b) If localmin < ϕ.upbound then ϕ ← ( α, localmin, u, v );(4) ϕ ∗ u ← ϕ ;(5) Wait for reception of ϕ from each child of u in Ψ( u min ) and doif ϕ ∗ u .upbound < ϕ.upbound then ϕ ∗ u ← ϕ ;(6) Send ϕ ∗ u to parent in Ψ( u min );(7) If u = u min then Send ϕ ∗ u to all its children else Wait for reception of ϕ ∗ from its parent then Send ϕ ∗ to all its childrenNow we describe the basic procedures used in the algorithm: first the protocol APSP andnext the procedure
Gamma star ( e ). 7 .2.2 The APSP algorithm We need an algorithm that computes the all-pairs shortest paths in G and does process terminatewithout any structural information (e.g., the knowledge an upper bound on n ). Our algorithm isbased on the Netchange algorithm (see the proof in [17]), the Bellman-Ford algorithm (see [4]) andthe α -synchroniser described in [1]. The three latter algorithms process terminate iff an upperbound on n is known. Otherwise, if the processes have no structural information, the abovealgorithms only “message terminate” (see [1, 18]). However, proper distributed termination maybe achieved without additional knowledge by using the same technique as designed in [8]. Wenow shortly describe the algorithm (from the viewpoint of node u , whose ID is id u ).The protocol APSP is organized in phases after the first initialization step. This step startsinitializing sets and variables ( id u is the selected ID ): the distance to id u is set to 0, while allothers distances are set to ∞ and the set Updatenodes is initialized to ∅ . Next, every phase ofthe algorithm consists of three steps. Step 1.
Send to all neighbours the ID of the selected node and its distance to node u . Step 2.
Wait for reception of the same number of messages sent in step 1 minus the numberof inactive neighbours (see next paragraph). Upon receipt of a message, update distancetables. If the estimate of the distance to a node changes, add this node to the set
Updaten-odes . If an h Inactive i message is received from a neighbour, mark it inactive . When theawaited number of messages is received, start step 3. Step 3.
Choose an active node from the set
Updatenodes with the smallest distance to u andgo to step 1. If no such node exists then send an h Inactive i messsage to each activeneighbour; node u becomes an inactive node.We need the following rules to make the algorithm process terminate.(1) An inactive node forwards updating messages (if necessary) to its inactive neighbours.(2) Only one h Inactive i message is sent from node u to a neighbour v and this message isthe last message (of protocol APSP ) from u to v .(3) (from the previous rule) A node terminates only when two h Inactive i messages are receivedin each of its adjacent edges (one from each direction).Thus, we designed a new distributed APSP protocol having a good message complexity: 2 mn . Assume the list L e (defined in § e ∈ E , the next procedure returns a value γ ∗ e . Procedure
Gamma star ( e ) Var min, α : real;
Init min ← a ; α ← For i ← | L e | − do (* Compute the intersection ( x, y ) of segments f − i and f + i +1 *) x ← (cid:0) ω ( e ) − a i +1 + b i (cid:1) ; y ← (cid:0) ω ( e ) + a i +1 + b i (cid:1) ; if y < min then min ← y ; α ← x ; Return ( α , min ) 8 emark 1 Recall that for each edge e = ( u, v ) of G with weight ω ( e ) and for any given z ∈ V , d and d are the distances d = d ( u, z ) and d = d ( v, z ). Moreover, all pairs ( a i , b i ) (1 ≤ i ≤ | L e | )are those ordered pairs ( d , d ) of the list L e which are dominating pairs (see the proof ofLemma 2.1). For the purpose of the complexity analysis, let W ∈ R + be the largest weight of all edges in E :the number of bits in W is d log W e . Therefore, the weight of an edge requires O (log W ) bitsand the weight of any path (with no cycle) uses O (log( nW )) bits.The following Lemma 3.1 gives the complexity of the protocol APSP . Next, the Theorem 3.1derives the time and the communication complexity of the algorithm
MDST from Lemma 3.1.
Lemma 3.1
The All-Pairs Shortest Paths protocol APSP process terminates. It runs in O ( n ) time and uses O ( nm ) messages to compute the routing tables at each node of G. Its message sizeis at most O (log n + log( nW )) . Proof.
The protocol
APSP is almost identical to the well-known distributed Bellman-Ford shortest-paths algorithm (except for the notion of active/inactive nodes). The followingdefinitions are taken from [4].Let S ⊆ V . A path [ u , . . . , u k ] is called an S -path if for all i (0 ≤ i ≤ k ), u i ∈ S . The S -distance from u to v , denoted d S ( u, v ), is the smallest weight of any S -path that joins u to v .When S = V , we write d ( u, v ) = d V ( u, v ). As a consequence, for all z ∈ V , (i) If S = S ∪ { z } , then for all u, v ∈ S , d S ( u, v ) def = min (cid:16) d S ( u, v ) , d S ( u, z ) + d S ( z, v ) (cid:17) . (2) (ii) Let
Neigh u be the set of neighbours of a node u ∈ V . For any v ∈ V , d ( u, v ) def = (cid:26) u = v min z ∈ Neigh u (cid:0) ω ( u, z ) + d ( z, v ) (cid:1) otherwise . (3)Since the algorithm is built from the definitions (2) and (3), it does converge to the shortestpaths (see [4, 17]). Also, since the communication channels are assumed to be FIFO (see [8] andSubsection 1.3), the algorithm process terminates. The above rules ensure that no message inthe protocol APSP is sent to a terminating node.Our protocol is based on algorithms which are known to converge in n phases (see [4, 17]).For an active node, a phase takes at most two time units in an ABD network (see Subsection 1.3):sending a message to each neighbour and next receiving a message only from all active neigh-bours). To make the protocol APSP process terminate we need an h Inactive i message: in theworst case (for example when G is a line) exchanging h Inactive i messages between nodes takes O ( n ) time units.The identity of each node is sent from each active node along each of its adjacent edges.The number of messages sent from every node v is thus O ( nδ ( v )), where δ ( v ) is the degree of v . Inactive nodes simply forward update messages to their inactive neighbours and they donot increase the message complexity. Therefore, the message complexity of protocol APSP isproportional to 2 nm = X v nδ ( v ) [17]. 9rom the rules of the protocol (in Subsection 2.2), adding all h Inactive i messages makesexactly 2 m . Finally, the message complexity of protocol APSP is O ( nm ). Note that each messagecarries the ID of the sending node, the ID of the selected node and the distance between bothnodes. (cid:3) Theorem 3.1
The algorithm MDST solves the (MDST) problem for any distributed pos-itively weighted network G in O ( n ) time. The communication complexity of MDST is O ( nm (log n + log( nW ))) bits, and its space complexity is at most O ( n (log n + log( nW ))) bits(at each node). The number of bits used for the ID of a node is O (log n ) , and the weight of apath ending at that node is O (log nW ) . Proof.
The proof derives readily from the previous lemma and Subsection 2.1.5 (cid:3)
Given a positively weighted graph G , our algorithm MDST constructs a
MDST of G and dis-tributively forwards the control structure over the named network G . This new algorithm issimple and natural. It is also time and message efficient: complexity measures are O ( n ) and O ( nm ), respectively, which, in some sense, is “almost” the best achievable (though not optimal)in a distributed setting.By contrast, the space complexity seems to be far from satisfactory. This is a drawbackto the very general assumptions used in the algorithm, especially the assumptions on universal(APSPs) routings in arbitrary network topologies. For example, algorithm MDST needs a grandtotal of O (cid:0) n (log n + log( nW )) (cid:1) bits to store all routing tables in the entire network. Now, itwas recently shown that reasonable APSP routing schemes require at least Ω (cid:0) n (cid:1) bits [11]. Thisis only a logarithmic factor away from the space complexity of algorithm MDST . References [1] B. Awerbuch, Complexity of network synchronization,
J. ACM , 32:804–823, 1985.[2] B. Awerbuch, Optimal distributed algorithms for minimum weight spanning tree counting,leader election and related problems,
Proc. ACM STOC , 230–240, 1987.[3] B. Awerbuch, I. Cidon and S. Kutten, Communication-optimal maintenance of replicatedinformation,
Proc. IEEE FOCS , 492–502, 1990.[4] D. Bertsekas and R. Gallager,
Data Networks , Prentice-Hall, 2nd edition, 1992.[5] M. Bui and F. Butelle, Minimum diameter spanning tree,
Proc. Int. Workshop on Principlesof Parallel Computing (OPOPAC’93) , 37–46, Hermes Science ed., 1993.[6] F. Butelle, C. Lavault and M. Bui, A uniform self-stabilizing minimum diameter spanningtree algorithm,
Proc. 9th Int. Workshop on Distributed Algorithms (WDAG’95) , LNCS972.257-272, Springer-Verlag, 1995[7] P. M. Camerini, G. Galbiati and F. Maffioli, Complexity of spanning tree problems: Part I,
European J. of Operational Research , 5:346-352, 1980.[8] S. Chandrasekaran and S. Venkatesan, A message optimal algorithm for distributed termi-nation detection,
J. of Parallel and Distributed Computing , 8(3):245-252, 1990.109] N. Christophides,
Graph Theory: An algorithmic approach , Computer Science and AppliedMathematics, Academic Press, 1975.[10] D. Eppstein, G. F. Italiano, R. Tamassia, R. E. Tarjan, J. Westbrook and M. Yung, Mainte-nance of a minimum spanning forest in a dynamic plane graph,
J. of Algorithms , 13:33-54,1992.[11] P. Fraigniaud and C. Gavoille, Memory requirement for universal routing schemes,
Technicalreport, LIP 95-05 , ENSL, 1995.[12] R. G. Gallager, P. A. Humblet and P. M. Spira, A distributed algorithm for minimum weightspanning trees,
ACM TOPLAS , 5(1):66-77, 1983.[13] S. L. Hakimi and J. G. Pierce and E. F. Schmeichel, On p -centers in networks, TransportationSci. , 12:1-15, 1978.[14] J.-M. Ho, D. T. Lee, C.-H. Chang and C. K. Wong, Minimum diameter spanning trees andrelated problems,
SIAM J. on Computing , 20(5):987-997, 1991.[15] E. Ihler, G. Reich and P. Widmayer, On shortest networks for classes of points in the plane,
Proc. Int. Workshop on Computational Geometry – Methods, Algorithms and Applications ,Lecture Notes in Computer Science. 103-111, 1991[16] G. F. Italiano and R. Ramaswani, Maintaining spanning trees of small diameter,
Proc.ICALP’94 , 227-238, 1994.[17] L. Lamport, An assertional correctness proof of a distributed algorithm,
Sci. ComputerProgramming , 2:175-206, 1982.[18] C. Lavault, ´Evaluation des algorithmes distribu´es – analyse, complexit´e, m´ethode , HermesScience ed., 1995.[19] N. Lynch,