Simulating Few by Many: k-concurrency via k-set Consensus

Size: px
Start display at page:

Download "Simulating Few by Many: k-concurrency via k-set Consensus"

Transcription

1 Simulating Few by Many: k-concurrency via k-set Consensus Eli Gafni May 29, 2007 Abstract We introduce a new novel emulation by which we show an equivalence between k-set Consensus and k-concurrency: Any number of processors when given k-set Consensus can solve wait-free (read-write), any task which can be solved wait-free read-write when concurrency is limited to k, and visa versa. As a result of showing the models equivalent we obtain a generalization of Herlihy s Universality result: Processors using k-set Consensus can implement k independent arbitrary object, with a progress guaranteed on at least one of the objects. Similarly, we obtain a new proof that n processors with k-set Consensus can rename into n + (k 1) slots. We obtain these results as they are easily derived for the model when concurrency is limited to k. 1 Introduction Set-Consensus is a generalization of Consensus. While in Consensus all n processors with distinct input values (a.k.a Election) decide on a single value and thus exclude n 1 input values from the decided set, in k-set Consensus (a.k.a k-election) they exclude at least n k. Chahudri initiated the investigation of Set Consensus [5], by raising the question whether there exists a read-write protocol that can exclude any input value at all. The question was raised by Chahudri in the context of a t-resilient model and resolved in [2,8,9]. As it turns out, this question is best dealt with in the wait-free model. Results for the t-resilient model may be exported algorithmically from the wait-free model via the BG simulation [2,4]. This supports the thesis that as computability goes, there is only one fundamental model - the read-write wait-free model [7]. All the rest of the models can be dealt with through the read-write wait-free model - the RAM of Distributed Computing. This paper lends additional support to this thesis by reducing the proliferation of apparently distinct models. It introduces an algorithmic technique by which k-set Consensus can be used to emulate a k-concurrent execution. Computability in k-concurrent model can be easily dealt with via the k processors read-write wait-free model. That the reverse is true, that a k concurrent model can implement k-set Consensus, is simple and explained later in this Introduction. Next, considering the centrality of k concurrency model to this paper we elaborate on it in the next paragraph (Limited concurrency was also defined in [6, 17]). Let T be a task. Let A(T ) be a straight-line (no wait statements) read write protocol intended to solve T, and E(A(T )) be a prefix of an execution of A(T ). Processor p i is said to be participating Computer Science Department, University of California, Los Angeles , USA. eli@ucla.edu 3731F Boelter Hall, UCLA, LA. CA. 1

2 in E(A(T )) if its first step in A(T ) appears in E(A(T )). Processor p i is said to have terminated in E(A(T )) if its last step in A(T ) appears in E(A(T )). Execution prefix E(A(T )) is said to be of limited-concurrency k if for all prefixes of E(A(T )), the number of participating processors in the prefix minus the number of of processors that terminated in the prefix is at most k. A task T is read-write wait-free solvable with limited-concurrency k (k-concurrent) if there is a protocol A(T ) as above such that for all k concurrency-limited executions of A(T ), there is a mapping from the final state of terminated processors to outputs that satisfy the task. In [6] it is shown that for any k there is a task which is solvable read-write wait-free k-concurrent but not k + 1 concurrent. Our result in the case k = 1 is a simple corollary of Herlihy s Universality [7]. All well defined tasks are read-write wait-free solvable 1-concurrent, and all tasks are solvable by Consensus. In this sense 1-concurrency and Consensus are the same. Clearly, any property of k-set Consensus by definition holds for Consensus. It is the other direction which is interesting: Given a property of Consensus does it have its counterpart in k-set Consensus realm via a change of parameter? This kind of question was raised in [12]. There, the question is whether the equivalence between Election and Binary-Consensus extends to Set-Consensus. For this question to make sense in the context of k-set Consensus a new equivalent definition of k-set Consensus was introduced. According to this new definition k-set Consensus consists of n processors submitting their inputs to k independent Consensus objects, and each processor gets a response from at least one of the k Consensus objects. With that definition k-election is equivalent to k-set Binary-Consensus. The technique in [12] is instrumental in this paper. While in [12] it is used to for a collection of k independent (unrelated) one-shot Consensus objects, here we extend the technique in a novel way to be used for k (related) read-write codes. Notice that we pay a price: While the unrelated objects are as strong as consensus, the related codes are read-write. (Thus there is a spectrum here which is not pursued further in this paper). That k Concurrency subsumes k-set Consensus follows from the fact that n processors operating at most k concurrently can solve k-set Consensus. Each processor writes its id. It then snapshots the memory and writes its snapshot. It reads the snapshots and elects an id from a snapshot of size smaller than k + 1. The reverse is the subject of this paper: We are given a read-write wait-free protocol A(T ) = (code 0,..., code n 1 ) on n > k processors, that solves task T if run k-concurrently. The problem is for the n processors, who may run n concurrently, to emulate a k concurrent execution of A(T ) to solve T. We of course will use the helping idea of processors executing on behalf of others, but notice that as the problem is to solve T, if processor p i does not participate in the emulation, its code, code i, should remain dormant. In this paper we show how the emulation can be done if the n processors are equipped with k-set Consensus. The emulation combines an extension of the technique of [3] with an extension of the recent technique of [12]. We show two applications of the equivalence of limited-concurrency and Set-Consensus. We first derive a generalization of Herlihy s Universality [7]: n processors with k-set Consensus can simulate k independent objects with a guaranteed progress on at least one. Universality (modulo wait-freeness) is this statement when k = 1. Consider 2 independent linearizable objects. We can easily see that any number of processors with concurrency limited to 2 can implement read-write nonblocking 2 independent linearizable objects with progress guaranteed on at least one of the objects: This can be achieved by the 2

3 Borowsky-Gafni simulation [2, 4]. The 2 active processors conduct 2 separate agreement protocols to agree on the next move of each object. The failure of one of them may block the progress only on a single object, since the failed processor counts against the concurrency, from there on effectively concurrency is 1. Since the agreement protocols are read-write, then by invoking the equivalence in this paper, we obtain the result. Our general emulation is nonblocking, i.e. it can leave some processors to starve. We did not investigate the question if for the less general application of implementing objects, the simulation can be made wait-free. It also makes [13] a simple corollary. There, it was shown that n processors with k-set Consensus can rename into n + (k 1) slots. It is easy to see that the original renaming algorithm [14] implies that if it is executed under concurrency limited to k, then the number of slots needed is n + (k 1). Invoking the equivalence with k-set Consensus, the result of [13] is a simple corollary. The paper is organized as follows: In the next section we review and extend the results of [12]. In the first part of the section that follows, we present a compiler from an non-phased SM to a phased one, and in the next subsection we incorporate the technique of [12] into it, to get our final emulation. The last section is concluding remarks. 2 Review of Set-Consensus as Collection of Consensus Objects Our emulation is partially based on the simple technique from [12] which we call the k-set objects technique. We review and generalize it here. The question there is to show that any number of processors with k-set Consensus can implement k independent 1-Election (Consensus) Objects Cons 1,..., Cons k to which they input their ids with the guarantee that each processor gets a response from at least one Consensus Object. To do this, using k-set Consensus, processors select at most k participating ids. Let p i select d i. From here on we just use read-write. All processors first try to simulate a return of a value from Cons 1 as follows: Each processor p i posts its selected value d i in Shared-Memory (SM). It then snapshots the posted values to obtain a set S i of posted values. Since these sets are generated by snapshots there are a most k distinct sets and if S i = S j then S i = S j. Processor p i then writes S i to SM and reads all posted snapshots. It it reads a snapshot of size one, it returns that single element in the singleton set for Cons 1 and terminates. Else, if p i does not read a singleton set snapshot, it adopts as a new selection the largest element in the largest snapshot it reads as a (possibly) new value d i. Observe that processors that do not return from Cons 1, will adopt at most k 1 distinct values, and now we repeat the above process for Cons 2, etc.. Since with each new phase we lose a value and we have k phases, as we start with at most k values at some phase we must observe a singleton snapshot. The moral we carry is that it is all about narrowing down the number of choices rather than the number of processors. Once the number of different choices are less or equal to k, there is a way for any number of processors to allocate the k choices to k bins with each processor determining a bin and a choice, and all processors determining the same bin, also determine the same choice. In our application here, a processor wants apriori to apply different values to different objects. In this case the selection d i is a vector with entries (d i1,..., d ik ) signaling that processors who adopt d i when at Cons j propose the value d ij (assume now a lexicographic order on vectors). If the vector d i is the singleton in the proposals to Cons j then the actual value that simulated Cons j returns is 3

4 d ij. If in simulating Cons j there is no singleton snapshot but a snapshot of vectors in which all the vector agree on the jth position, then this value jth value can also be safely returned for Cons j. We now generalize the notion of a decision vector: Not only it proposes different values to different objects, but it also specifies to which object the value is to be applied. The number of Consensus objects is infinite Cons 1, Cons 2,... A vector specifies not only a sequence of values to Consensus objects, but also that the first entry has to be proposed to some Cons m, the second to a different object Cons l etc.. A processor p i who selected the vector d i = ((d i1, i m1 ),..., (d ik, i mk )) applies first to Cons im1. If it fails to return a value from Cons im1 it adopts a possibly new vector d j and if i m1 = j mr it continues with d j to Cons jmr+1. We claim that each processor will return from some Cons m and the number of Consensus objects to which input was really applied is bounded by k. We see this by induction on k: It obviously holds for k = 1. Assume the claim holds for k 1. If the first entry in each of the k vectors is to be applied to different Consensus object, then the claim trivially holds. Everybody returns from one of these first objects, since each sees a singleton snapshot. Thus, at least two vectors collide in their first entry at some Cons z. Consequently, the least ranked vector to be proposed to Cons z is not carried on, and thus we have at most k 1 vectors each with at least k 1 entries left. The induction hypothesis applies. 3 The Emulation How are we going to use a static, one-shot technique in a dynamic repeatable way? The standard way to do this is by proceeding in phases making obsolete any modifications that occurred too late in the phase [18]. For this, we will consider the code as written to run on a system with phases. Since it is not, we will present an algorithm that translates a general SM code to be run on such a system. Finally, we will embed the static technique that uses the k-set Consensus inside the phased system, to obtain our emulation. 3.1 Emulation of read-write wait-free Protocol in an Iterated SM Our emulation lives in the Iterated SM model (ISM), as this model is easy to analyze. In the ISM model we are given an infinite sequence of Atomic-Snapshot Single-Writer memories M 1, M 2,... Processors advance in order from memory to memory. In each memory a processor executes constant (not a function of n) number of steps. The advantage of ISM is that we can concentrate on executions in which a processor that finished executing in M j 1 does not proceed to M j until all the n processors finished executing M j 1. We can think of all processors moving in lock-step from memory to memory, where in each memory a relatively simple asynchronous task may be executed. Not to be confused with the lock-step of synchronous system which is internal, here it is external - events can be permuted so that all events in M j 1 precede all those in M j. This is a result of the fact that ISM is Communication-Closed-Layers structure [10]. Thus, we have a simple normal-form execution to argue with. Unlike the BG simulation [2, 4] which lives in the same type of SM the emulated protocol is given, we do not know how to do this here. It will be mildly interesting to fashion our emulation in the BG style, as we consider ISM as the more structured environment for protocol design. Thus, since the given code is for SM, and we are going to run in ISM, we first devise in this 4

5 subsection an algorithm in ISM for processors p 0,..., p n 1 to emulate their execution of SM wait-free code A(T ) to solve task T. That is we devise a compiler for protocol A(T ) = (code 0,..., code n 1 ) written for SM, to run on an ISM machine. Such an ad-hoc compiler was presented in [3]. Here we devise it in a more systematic motivated way. In the next subsection we insert the k-set object technique as a subroutine in each memory of the ISM to obtain our final algorithm. The protocol A(T ) is, w.l.o.g for each code i, an alteration of read followed write. We will assume that each read is an atomic-snapshot [1] in a SW memory. The return of a read will be a set of reads i.e. {read i1 (1),..., read i1 (m), read i2 (1),...}. If we know what prior reads a read returned, we can recursively find the value in A(T ) that that read returns. Thus our emulation is full information [15]. Assume all processors are at the end of M j 1. If one processor at the end of M j 1 then implies a write by having some read return read that precede the write, then it must be the case that all reads returned in M j and onward contain read. Thus, it is about committing a read in a manner such that all the other read s it read are already, or about to be, commited. It is no surprise then that the algorithm below, which is fashioned after the convergence algorithm in [3], can be thought of as a generalization of the commit-adopt technique in [16]. Inductively, out of M j 1 processor p i comes out with two sets of reads. One set converge i and the other adopt i. If a set contains the mth read of code q, read q (m), then it contains all code q s preceding reads. The reads in converge i are to be interpreted as the committed reads. For each read in converge i, p i keeps a local record of which reads that read returned. Inductively, for all read q (m), when it enters converge i or adopt i, then processor p i have a value for it. These values at different processor agree. The set adopt q is a superset of converge i for all q and i (i.e. every read committed at a processor is either committed or adopted by all), and the reads which are in adopt i and not in converge i are the reads that p i tries to commit. If read q (m + 1) is in adopt i then read + q(m) is in converge i The converge sets are related by containment. And finally we have a phase invariant that the sets converge i are nondecreasing and at least one of them is strictly larger than its predecessor. Here we summarize the inductive hypothesis: 1. All values for read r (m) at different processors agree, 2. converge r adopt q, for all r, q, 3. (read i (m + 1) adopt r ) then there exists p q such that (read i (m) converge q ) for all i, r, 4. converge r converge q or converge q converge r, for all r, q. Simulator p i tries to enlarge converge i by getting reads in adopt i converge i to move to the set converge i. Whenever converge i and adopt i agree on the reads of code i it inserts the next read for code i. The value of the read will be converge i. It then continues the process of enlarging converge i, until the last read of code i converges. Then simulator p i quits with an output value for process code i. Thus, until simulator p i quits w.l.o.g. adopt i is a strict superset of converge i. At M j, to enlarge converge i p i writes adopt i in C i. Then p i snapshots all the adopts written, i.e. it returns a set of sets - a set for each cell C q. It then takes the union of these sets and writes it into D i. The values of D i is a set of reads and the sets in D q and D r are related by containment. (This is the result of the fact that A B implies ( A) ( B).) processor p i the snapshots the variables D q and sets adopt i to the largest set returned (the union of the sets read), and converge i to the smallest one (the intersection of the sets read). 5

6 Notation remark: Let A q be a variable written by p q that contains a set. Let op be an operation on a collection of set. By the notation snapshot(op{a q }) we mean that a processor takes a snapshot of all these A q variable that are not, and then it returns the op of all these sets in its snapshot. To summarize the algorithm: 1. C i := adopt i, 2. D i := snapshot( {C q, q = 0,..., n 1}), 3. adopt i := snapshot( {D q, q = 0,..., n 1}), converge i := snapshot( {D q, q = 0,..., n 1}). Property 1 of the induction is maintained as a value of read is introduced by a unique processor. Property 2 is maintained as converge r is derived by intersection and the adopt q by union of sets of a nondecreasing collection of sets. Property 3 follows from the way a new read is introduced. It is then true for q = i, Property 4 follows from the fact that the sets D q are related by containment and thus the intersections are related by containment. Finally, the phase invariant that converge i is non-decreasing follows since all the elements in converge i are in all adopt q sets and thus in the intersection. To see progress, let p q be the first processor to write C q. Thus all D r will contain C q and in particular converge q at line 3 will contain C q. Thus, as before line 3 converge q is a strict subset of adopt q, at line 3 converge q grows. Why is the emulation valid? When does p i attach a new value to a read? It attaches it exclusively to reads of code i, and it does it at the end of M j 1 when adopt i and converge i agree on the reads of code i. But then, by the invariant, for all q converge i adopt q. If at the end of M j 1 p q has some read of converge i that is strictly in adopt q but not in converge q then at the end of M j all processors will have it in their converge set and thus return it if they insert a new read at the end of M j. Finally, if two processor p i and p q add a new read at the end of M j 1 then since the converge set relate by containment we can arrange on after the other. 3.2 k-concurrent Emulation Via k-set Consensus We now embed the k-set object technique in each phase prior to the commit-adopt. We first, informally, present the difficulty that arises, and why combination of the two techniques will solve it. Using k-set Consensus we can limit the number of the initial codes that are started to k. But as an active code terminates we might need to introduce new codes while keeping the number of active codes below k + 1. Similarly we need to allow any processor to introduce a read for code i, rather than limiting it exclusively to p i, since the emulation has to proceed n-concurrent. It cannot stop progress because k simulators fail-stopped. So we have two complications: First, the number of selected codes should not exceed k, and second, processors have to work on behalf of others. The former is a problem since once some of the initial codes will terminate we will encounter difficulty in introducing just enough new codes so that the concurrency will not exceed k. The latter is also a problem since simulators may disagree on a value a read should return. Both problems will be solved by introducing the k-set objects technique into the emulation. The introduction of new codes will only happen after processors conflict on reads for currently active codes. Each conflict like this removes a proposal from consideration and thus the number of new codes that may be introduced together with the number of active codes will not exceed k. Similarly, 6

7 by going through the k-set objects technique before getting to adopt-commit processors do not conflict on the value of a read that they do introduce. In more detail. To avoid cluttering the presentation with the last steps of the whole emulation - when the number of codes left unterminated or the number of processors which have not departed is less than k - we assume that these numbers (code and participating simulators) are infinite. These last phases when the numbers become small are handled automatically as the number of proposals submitted get below k. We avoid qualifying all we say by repeatedly referring to the actual number of simulators when it is below k, by making this assumption.. As above, processors come out of M j 1 with converge-sets and adopt-sets. We still maintain the property that a read in one converge set is either committed or adopted by all, as well as the rest of the properties.yet unlike the emulation of the last section having a read value in an adopt set, does not guarantee that this is the value that will be eventually committed. Some processors may later propose different value for that read and they may win, or the read may be purged from the adopt set. Define the set active i of codes. The code q is in active i if the first read q (1) converge i and the last read of code q is not yet in converge i. W.l.o.g we assume the active i sets are related by containment by taking snapshots. The idea: Processors will proceed to the commit-adopt through two distinct tracks: The regular track, and the k-set Track. New reads are added only through the k-set track. Conflicting read proposals are submitted to the track and resolved by it. This track will be used by processors which do not observe reads that might have converged. Others will proceed as in the previous subsection. To identify reads that might have converged p i examines the intersection of adopt sets it observes. Converged reads will be in this intersection and it can identify these it missed and proceed regularly. Yet, it may also proceed on account of a read that is currently in the intersection but has not converged. Processors that do not see a read that is not accounted for in their converge set propose new reads through the k-set path, where conflicting read proposals will be reconciled. But on this latter track they must account for all reads that will be proposed through the regular track. For this in the k-set track we suspect any read in the union of the adopt set to have been potentially submitted through the regular track. To account for this processors propose these read values for the corresponding codes. Since they all agree on this code no new code will be activated by the k-set path when a potential dangling activation through an adopt set is carried from previous phases. Finally notice that all processors p q which take the k-set path have an identical converge set. If not, since converge set are related by containment assume w.l.o.g that converge r is a strict subset of converge r. Then there is a read converge r converge r. By the invariant read adopt r and thus p r will follow the regular track. Since we insert new reads only through the k-set path, the invariant we will maintain is that the number of new codes that may be newly activated at the end of a round plus the number of the active set of the processors that go to the k-set path is at most k. 1. A i := adopt i 2. (b i, e i ) := (snapshot( q A q ) converge i, snapshot( q A q ) converge i ) 3. if b i = then (a) for all code q active i 7

8 i. if there exists m such that read q (m) e i then proposal q := read q (m), else let m 1 be the last read of code q in converge i then proposal q := read q (m) := converge i, (if m 1 is the last read of code q then proposal q := read q (m 1), (b) for read q (1) e i active i, proposal q := read q (1) (c) if active i e i < k then for k active i e i participating p q set proposal q := read q (1) := converge i (d) (proposal vector) i := (submit proposal vector with active i in front to k-set consensus) (e) b i := {k Set objects technique } 4. C i := converge i {b i } 5. D i := snapshot( C q ) 6. (converge i, adopt i ) := (snapshot( q D q ), snapshot( q D q )) 4 Conclusion We have unified formerly apparently different models of computation - one of wait-free with Set Consensus and one where executions are guaranteed to be of limited concurrency. We have provided a tangible benefit of this unification by showing that certain results which were or are hard to see in one model, are easily seen in the other. In general, the more facets we understand the same subject, the deeper is our understanding. Finally, we speculate that the derivation of the weakest Failure Detector for Set-Consensus announced recently [11], can be significantly simplified by deriving the weakest Failure Detector for eventually limited concurrency executions. Independent of the main result, the techniques we devised on the way, have a contribution in enriching our bag of tools. The paper generalizes the technique of [12], but more importantly, we feel that the view of the convergence algorithm in [3] as a generalization and unification of commit-adopt will come handy in dealing with future questions. The main contribution of this paper is the realization of the equivalence between the models. Once spelled out even without proof, it sounds obvious. An obvious result is obvious because there is a simple principle hidden behind it, for which we have the feel but it has not been spelled out yet. We hope that in addition to the realization of the equivalence, the paper spelled out the simple principle (whose details may be involved) behind it. Acknowledgment Yehuda Afek helpled with many useful ideas and benevolent criticism. Petr Kouznetsov is the Unaware Muse behind this paper, as well as behind [12]. The two papers are the result of considering the implication of the idea of Two-Front Agreement - an idea on which I worked with Petr - to the question of Committee-Coordination, on which I worked with Afek, Rajsbaum, Raynal, and Travers. Nils Homer proposed the simple induction in section 2. References [1] Afek Y., H. Attiya, Dolev D., Gafni E., Merrit M. and Shavit N., Atomic Snapshots of Shared Memory. Proc. 9th ACM Symposium on Principles of Distributed Computing (PODC 90), ACM Press, pp. 1 13,

9 [2] Borowsky E. and Gafni E., Generalized FLP Impossibility Results for t-resilient Asynchronous Computations Proc. 25th ACM Symposium on the Theory of Computing (STOC 93), ACM Press, pp , [3] Borowsky E. and Gafni E., A Simple Algorithmically Reasoned Characterization of Wait-Free Computations (Extended Abstract). Proc. 16th ACM Symposium on Principles of Distributed Computing (PODC 97), ACM Press, pp , August [4] Borowsky E., Gafni E., Lynch N. and Rajsbaum S., The BG Distributed Simulation Algorithm. Distributed Computing, 14(3): , [5] Chaudhuri S., More Choices Allow More Faults: Set Consensus Problems in Totally Asynchronous Systems. Information and Computation, 105: , [6] Gafni E., Merritt M. and Taubenfeld G., The Concurrency Hierarchy, and Algorithms for Unbounded Concurrency. Proc. 21st ACM Symposium on Principles of Distributed Computing (PODC 01), ACM Press, pp , [7] Herlihy M.P., Wait-Free Synchronization. ACM Transactions on programming Languages and Systems, 11(1): , [8] Herlihy M.P. and Shavit N., The Topological Structure of Asynchronous Computability. Journal of the ACM, 46(6): , [9] Saks, M. and Zaharoglou, F., Wait-Free k-set Agreement is Impossible: The Topology of Public Knowledge. SIAM Journal on Computing, 29(5): , [10] Tzilla Elrad, Nissim Francez, Decomposition of Distributed Programs into Communication- Closed Layers. Sci. Comput. Program. 2(3): (1982). [11] Rachid Guerraoui, Maurice Herlihy, Petr Kouznetsov, Nancy Lynch, Calvin Newport, On the weakest failure detector ever. To appear in PODC07. [12] Yehuda Afek, Eli Gafni, Sergio Rajsbaum, Michel Raynal, Corentin Travers, Simultaneous Consensus Tasks: A Tighter Characterization of Set-Consensus In ICDCN06 pp , 2006 [13] Eli Gafni, Renaming with k-set-consensus: An Optimal Algorithm into n + k - 1 Slots. OPODIS 2006: [14] Hagit Attiya, Amotz Bar-Noy, Danny Dolev, David Peleg, Rdiger Reischuk: Renaming in an Asynchronous Environment J. ACM 37(3): (1990) [15] Frederickson, G. N. and Lynch, N. A., Electing a leader in a synchronous ring. J. ACM 34, 1 (Jan. 1987), [16] Eli Gafni, Round-by-Round Fault Detectors: Unifying Synchrony and Asynchrony (Extended Abstract). PODC 1998: [17] Y. Afek, H. Attiya, A. Fouren, G. Stupp, and D. Touitou., Long-lived renaming made adaptive. In Proc. 18th Annual ACM Symp. on Principles of Distributed Computing, pages , May

10 [18] Eli Gafni, A Simple Algorithmic Characterization of Uniform Solvability. FOCS 2002:

Simulating Few by Many: Limited Concurrency = Set Consensus (Extended Abstract)

Simulating Few by Many: Limited Concurrency = Set Consensus (Extended Abstract) Simulating Few by Many: Limited Concurrency = Set Consensus (Extended Abstract) Eli Gafni, UCLA Rachid Guerraoui, EPFL May 5, 2009 Abstract Perfection is the enemy of the good. Most backoff schemes wait

More information

Generating Fast Indulgent Algorithms

Generating Fast Indulgent Algorithms Generating Fast Indulgent Algorithms Dan Alistarh 1, Seth Gilbert 2, Rachid Guerraoui 1, and Corentin Travers 3 1 EPFL, Switzerland 2 National University of Singapore 3 Université de Bordeaux 1, France

More information

Distributed Recursion

Distributed Recursion Distributed Recursion March 2011 Sergio Rajsbaum Instituto de Matemáticas, UNAM joint work with Eli Gafni, UCLA Introduction Though it is a new field, computer science already touches virtually every aspect

More information

6.852: Distributed Algorithms Fall, Class 21

6.852: Distributed Algorithms Fall, Class 21 6.852: Distributed Algorithms Fall, 2009 Class 21 Today s plan Wait-free synchronization. The wait-free consensus hierarchy Universality of consensus Reading: [Herlihy, Wait-free synchronization] (Another

More information

Section 4 Concurrent Objects Correctness, Progress and Efficiency

Section 4 Concurrent Objects Correctness, Progress and Efficiency Section 4 Concurrent Objects Correctness, Progress and Efficiency CS586 - Panagiota Fatourou 1 Concurrent Objects A concurrent object is a data object shared by concurrently executing processes. Each object

More information

Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services PODC 2004 The PODC Steering Committee is pleased to announce that PODC 2004 will be held in St. John's, Newfoundland. This will be the thirteenth PODC to be held in Canada but the first to be held there

More information

Parallélisme. Aim of the talk. Decision tasks. Example: consensus

Parallélisme. Aim of the talk. Decision tasks. Example: consensus Parallélisme Aim of the talk Geometry and Distributed Systems Can we implement some functions on some distributed architecture, even if there are some crashes? Eric Goubault Commissariat à l Energie Atomique

More information

Read-Write Memory and k-set Consensus as an Affine Task

Read-Write Memory and k-set Consensus as an Affine Task Read-Write Memory and k-set Consensus as an Affine Task Eli Gafni 1, Yuan He 2, Petr Kuznetsov 3, and Thibault Rieutord 4 1 UCLA, Los Angeles, CA, USA eli@ucla.edu 2 UCLA, Los Angeles, CA, USA yuan.he@ucla.edu

More information

Implementing Shared Registers in Asynchronous Message-Passing Systems, 1995; Attiya, Bar-Noy, Dolev

Implementing Shared Registers in Asynchronous Message-Passing Systems, 1995; Attiya, Bar-Noy, Dolev Implementing Shared Registers in Asynchronous Message-Passing Systems, 1995; Attiya, Bar-Noy, Dolev Eric Ruppert, York University, www.cse.yorku.ca/ ruppert INDEX TERMS: distributed computing, shared memory,

More information

Subconsensus Tasks: Renaming is Weaker than Set Agreement

Subconsensus Tasks: Renaming is Weaker than Set Agreement Subconsensus Tasks: enaming is Weaker than Set Agreement Eli Gafni 1, Sergio ajsbaum 2, and Maurice Herlihy 3 1 Computer Science Department UCLA Los Angles, CA 90095 eli@cs.ucla.edu 2 Instituto de Matemáticas,

More information

Algorithms that Adapt to Contention

Algorithms that Adapt to Contention Algorithms that Adapt to Contention Hagit Attiya Department of Computer Science Technion June 2003 Adaptive Algorithms / Hagit Attiya 1 Fast Mutex Algorithm [Lamport, 1986] In a well-designed system, most

More information

The Relative Power of Synchronization Methods

The Relative Power of Synchronization Methods Chapter 5 The Relative Power of Synchronization Methods So far, we have been addressing questions of the form: Given objects X and Y, is there a wait-free implementation of X from one or more instances

More information

The Committee Decision Problem

The Committee Decision Problem The Committee Decision Problem Eli Gafni, Sergio Rajsbaum, Michel Raynal,andCorentinTravers Department of Computer Science, UCLA, Los Angeles, CA 90095, USA Instituto de Matemáticas, UNAM, D. F. 0450,

More information

A General Characterization of Indulgence

A General Characterization of Indulgence A General Characterization of Indulgence R. Guerraoui 1,2 N. Lynch 2 (1) School of Computer and Communication Sciences, EPFL (2) Computer Science and Artificial Intelligence Laboratory, MIT Abstract. An

More information

Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure

Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure Yong-Hwan Cho, Sung-Hoon Park and Seon-Hyong Lee School of Electrical and Computer Engineering, Chungbuk National

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Anonymity-Preserving Failure Detectors

Anonymity-Preserving Failure Detectors Anonymity-Preserving Failure Detectors Zohir Bouzid and Corentin Travers LaBRI, U. Bordeaux, France name.surname@labri.fr Abstract. The paper investigates the consensus problem in anonymous, failures prone

More information

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors Michel Raynal, Julien Stainer Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors

More information

How Hard Is It to Take a Snapshot?

How Hard Is It to Take a Snapshot? How Hard Is It to Take a Snapshot? Faith Ellen Fich University of Toronto Toronto, Canada fich@cs.utoronto.ca Abstract. The snapshot object is an important and well-studied primitive in distributed computing.

More information

What Can be Computed in a Distributed System?

What Can be Computed in a Distributed System? What Can be Computed in a Distributed System? Michel Raynal Institut Universitaire de France &IRISA,Université de Rennes, France & Department of Computing, Polytechnic University, Hong Kong raynal@irisa.fr

More information

Partial Snapshot Objects

Partial Snapshot Objects Partial Snapshot Objects Hagit Attiya Technion Rachid Guerraoui EPFL Eric Ruppert York University ABSTRACT We introduce a generalization of the atomic snapshot object, which we call the partial snapshot

More information

Distributed systems. Consensus

Distributed systems. Consensus Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory Consensus B A C 2 Consensus In the consensus problem, the processes propose values and have to agree on one among these

More information

ADVANCE COURSE IN DISTRIBUTED COMPUTING Spring 2012 (Academic year 2011/2012). Prof. Y. Afek (afek at tau.ac...).

ADVANCE COURSE IN DISTRIBUTED COMPUTING Spring 2012 (Academic year 2011/2012). Prof. Y. Afek (afek at tau.ac...). ADVANCE COURSE IN DISTRIBUTED COMPUTING Spring 2012 (Academic year 2011/2012). Prof. Y. Afek (afek at tau.ac...). Course Home Page www.cs.tau.ac.il/ afek/dc12.html A graduate course exploring current topics

More information

Distributed Computing Building Blocks for Rational Agents

Distributed Computing Building Blocks for Rational Agents Distributed Computing Building Blocks for Rational Agents Yehuda Afek, Yehonatan Ginzberg, Shir Landau Feibish, and Moshe Sulamy Blavatnik School of Computer Science, Tel-Aviv University, Israel afek@cs.tau.ac.il,

More information

arxiv: v1 [cs.dc] 8 May 2017

arxiv: v1 [cs.dc] 8 May 2017 Towards Reduced Instruction Sets for Synchronization arxiv:1705.02808v1 [cs.dc] 8 May 2017 Rati Gelashvili MIT gelash@mit.edu Alexander Spiegelman Technion sashas@tx.technion.ac.il Idit Keidar Technion

More information

From Bounded to Unbounded Concurrency Objects and Back

From Bounded to Unbounded Concurrency Objects and Back From Bounded to Unbounded Concurrency Objects and Back Yehuda Afek afek@post.tau.ac.il Adam Morrison adamx@post.tau.ac.il School of Computer Science Tel Aviv University Guy Wertheim vgvertex@gmail.com

More information

Anonymous Agreement: The Janus Algorithm

Anonymous Agreement: The Janus Algorithm Anonymous Agreement: The Janus Algorithm Zohir Bouzid 1, Pierre Sutra 1, and Corentin Travers 2 1 University Pierre et Marie Curie - Paris 6, LIP6-CNRS 7606, France. name.surname@lip6.fr 2 LaBRI University

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer May 14, 2008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

6.852: Distributed Algorithms Fall, Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley

6.852: Distributed Algorithms Fall, Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley 6.852: Distributed Algorithms Fall, 2015 Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley What are Distributed Algorithms? Algorithms that run on networked

More information

A Case Study of Agreement Problems in Distributed Systems : Non-Blocking Atomic Commitment

A Case Study of Agreement Problems in Distributed Systems : Non-Blocking Atomic Commitment A Case Study of Agreement Problems in Distributed Systems : Non-Blocking Atomic Commitment Michel RAYNAL IRISA, Campus de Beaulieu 35042 Rennes Cedex (France) raynal @irisa.fr Abstract This paper considers

More information

Generalized Lattice Agreement

Generalized Lattice Agreement ABSTRACT Jose M. Falerio Microsoft Research India t-josfal@microsoft.com Generalized Lattice Agreement G. Ramalingam Microsoft Research India grama@microsoft.com Lattice agreement is a key decision problem

More information

Dfinity Consensus, Explored

Dfinity Consensus, Explored Dfinity Consensus, Explored Ittai Abraham, Dahlia Malkhi, Kartik Nayak, and Ling Ren VMware Research {iabraham,dmalkhi,nkartik,lingren}@vmware.com Abstract. We explore a Byzantine Consensus protocol called

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Supplementary Reading List

Supplementary Reading List Massachusetts Institute of Technology Handout 3 6.852: Distributed Algorithms Prof. Nancy Lynch February 5, 2008 Supplementary Reading List 1. Other distributed algorithms textbooks [1] Hagit Attiya and

More information

The Space Complexity of Unbounded Timestamps

The Space Complexity of Unbounded Timestamps The Space Complexity of Unbounded Timestamps Faith Ellen 1, Panagiota Fatourou 2, and Eric Ruppert 3 1 University of Toronto, Canada 2 University of Ioannina, Greece 3 York University, Canada Abstract.

More information

Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms

Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms Holger Karl Computer Networks Group Universität Paderborn Goal of this chapter Apart from issues in distributed time and resulting

More information

A Timing Assumption and a t-resilient Protocol for Implementing an Eventual Leader Service in Asynchronous Shared Memory Systems

A Timing Assumption and a t-resilient Protocol for Implementing an Eventual Leader Service in Asynchronous Shared Memory Systems A Timing Assumption and a t-resilient Protocol for Implementing an Eventual Leader Service in Asynchronous Shared Memory Systems Antonio FERNÁNDEZ y Ernesto JIMÉNEZ z Michel RAYNAL? Gilles TRÉDAN? y LADyR,

More information

Shared Memory. Chapter Model

Shared Memory. Chapter Model Chapter 5 Shared Memory In distributed computing, various different models exist. So far, the focus of the course was on loosely-coupled distributed systems such as the Internet, where nodes asynchronously

More information

Consensus Power Makes (Some) Sense!

Consensus Power Makes (Some) Sense! Consensus Power Makes (Some) Sense! (Extended Abstract) Elizabeth Borowsky* Eli Gafnit Yehuda Afek$ Abstract 1 Introduction This paper presents partial results of an ongoing investigation into the computability

More information

An Introductory Tutorial to Concurrency-Related Distributed Recursion

An Introductory Tutorial to Concurrency-Related Distributed Recursion An Introductory Tutorial to Concurrency-Related Distributed Recursion Sergio Rajsbaum, Michel Raynal To cite this version: Sergio Rajsbaum, Michel Raynal. An Introductory Tutorial to Concurrency-Related

More information

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems James Aspnes, Yale University Faith Ellen Fich, University of Toronto Eric Ruppert, York University Anonymity

More information

Fully-Adaptive Algorithms for Long-Lived Renaming

Fully-Adaptive Algorithms for Long-Lived Renaming Fully-Adaptive Algorithms for Long-Lived Renaming Alex Brodsky 1, Faith Ellen 2, and Philipp Woelfel 2 1 Dept. of Applied Computer Science, University of Winnipeg, Winnipeg, Canada, a.brodsky@uwinnipeg.ca

More information

Time and Space Lower Bounds for Implementations Using k-cas

Time and Space Lower Bounds for Implementations Using k-cas Time and Space Lower Bounds for Implementations Using k-cas Hagit Attiya Danny Hendler September 12, 2006 Abstract This paper presents lower bounds on the time- and space-complexity of implementations

More information

Consistency and Set Intersection

Consistency and Set Intersection Consistency and Set Intersection Yuanlin Zhang and Roland H.C. Yap National University of Singapore 3 Science Drive 2, Singapore {zhangyl,ryap}@comp.nus.edu.sg Abstract We propose a new framework to study

More information

On the Definition of Sequential Consistency

On the Definition of Sequential Consistency On the Definition of Sequential Consistency Ali Sezgin Ganesh Gopalakrishnan Abstract The definition of sequential consistency is compared with an intuitive notion of correctness. A relation between what

More information

The Topological Structure of Asynchronous Computability

The Topological Structure of Asynchronous Computability The Topological Structure of Asynchronous Computability MAURICE HERLIHY Brown University, Providence, Rhode Island AND NIR SHAVIT Tel-Aviv University, Tel-Aviv Israel Abstract. We give necessary and sufficient

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Anonymous and Fault-Tolerant Shared-Memory Computing

Anonymous and Fault-Tolerant Shared-Memory Computing Distributed Computing manuscript No. (will be inserted by the editor) Rachid Guerraoui Eric Ruppert Anonymous and Fault-Tolerant Shared-Memory Computing the date of receipt and acceptance should be inserted

More information

A New Synchronous Lower Bound for Set Agreement

A New Synchronous Lower Bound for Set Agreement A New Synchronous Lower Bound for Set Agreement Maurice Herlihy 1, Sergio Rajsbaum 2, and Mark Tuttle 2 1 Brown University, Computer Science Department, Providence, RI 02912; mph@cs.brown.edu. 2 Compaq,

More information

In search of the holy grail: Looking for the weakest failure detector for wait-free set agreement

In search of the holy grail: Looking for the weakest failure detector for wait-free set agreement In search of the holy grail: Looking for the weakest failure detector for wait-free set agreement Michel Raynal, Corentin Travers To cite this version: Michel Raynal, Corentin Travers. In search of the

More information

Asynchronous Reconfiguration for Paxos State Machines

Asynchronous Reconfiguration for Paxos State Machines Asynchronous Reconfiguration for Paxos State Machines Leander Jehl and Hein Meling Department of Electrical Engineering and Computer Science University of Stavanger, Norway Abstract. This paper addresses

More information

Distributed Algorithms 6.046J, Spring, Nancy Lynch

Distributed Algorithms 6.046J, Spring, Nancy Lynch Distributed Algorithms 6.046J, Spring, 205 Nancy Lynch What are Distributed Algorithms? Algorithms that run on networked processors, or on multiprocessors that share memory. They solve many kinds of problems:

More information

The Wait-Free Hierarchy

The Wait-Free Hierarchy Jennifer L. Welch References 1 M. Herlihy, Wait-Free Synchronization, ACM TOPLAS, 13(1):124-149 (1991) M. Fischer, N. Lynch, and M. Paterson, Impossibility of Distributed Consensus with One Faulty Process,

More information

A Generalized Asynchronous Computability Theorem

A Generalized Asynchronous Computability Theorem A Generalized Asynchronous Computability Theorem Eli Gafni Computer Science Department, UCLA eli@ucla.edu Petr Kuznetsov Télécom ParisTech petr.kuznetsov@telecomparistech.fr Ciprian Manolescu Department

More information

DISTRIBUTED COMPUTING COLUMN. Stefan Schmid TU Berlin & T-Labs, Germany

DISTRIBUTED COMPUTING COLUMN. Stefan Schmid TU Berlin & T-Labs, Germany DISTRIBUTED COMPUTING COLUMN Stefan Schmid TU Berlin & T-Labs, Germany stefan.schmid@tu-berlin.de 1 The Renaming Problem: Recent Developments and Open Questions Dan Alistarh (Microsoft Research) 1 Introduction

More information

From a Store-collect Object and Ω to Efficient Asynchronous Consensus

From a Store-collect Object and Ω to Efficient Asynchronous Consensus From a Store-collect Object and Ω to Efficient Asynchronous Consensus Michel Raynal, Julien Stainer To cite this version: Michel Raynal, Julien Stainer. From a Store-collect Object and Ω to Efficient Asynchronous

More information

On the Space Complexity of Randomized Synchronization

On the Space Complexity of Randomized Synchronization On the Space Complexity of Randomized Synchronization FAITH FICH University of Toronto, Toronto, Ont., Canada MAURICE HERLIHY Brown University, Providence, Rhode Island AND NIR SHAVIT Tel-Aviv University,

More information

Faster than Optimal Snapshots (for a While)

Faster than Optimal Snapshots (for a While) Faster than Optimal Snapshots (for a While) Preliminary Version ABSTRACT James Aspnes Department of Computer Science, Yale University aspnes@cs.yale.edu Keren Censor-Hillel Computer Science and Artificial

More information

The Complexity of Renaming

The Complexity of Renaming The Complexity of Renaming Dan Alistarh EPFL James Aspnes Yale Seth Gilbert NUS Rachid Guerraoui EPFL Abstract We study the complexity of renaming, a fundamental problem in distributed computing in which

More information

A class C of objects is universal for some set E of classes if and only if any object in E can be implemented with objects of C (and registers)

A class C of objects is universal for some set E of classes if and only if any object in E can be implemented with objects of C (and registers) Universality A class C of objects is universal for some set E of classes if and only if any object in E can be implemented with objects of C (and registers) n-consensus is universal for n-objects (objects

More information

Concurrent Objects and Linearizability

Concurrent Objects and Linearizability Chapter 3 Concurrent Objects and Linearizability 3.1 Specifying Objects An object in languages such as Java and C++ is a container for data. Each object provides a set of methods that are the only way

More information

Linearizable Iterators

Linearizable Iterators Linearizable Iterators Supervised by Maurice Herlihy Abstract Petrank et. al. [5] provide a construction of lock-free, linearizable iterators for lock-free linked lists. We consider the problem of extending

More information

Consensus, impossibility results and Paxos. Ken Birman

Consensus, impossibility results and Paxos. Ken Birman Consensus, impossibility results and Paxos Ken Birman Consensus a classic problem Consensus abstraction underlies many distributed systems and protocols N processes They start execution with inputs {0,1}

More information

Dynamic Reconfiguration: A Tutorial

Dynamic Reconfiguration: A Tutorial Dynamic Reconfiguration: A Tutorial Alexander Spiegelman 1, Idit Keidar 1, and Dahlia Malkhi 2 1 Andrew and Erna Viterbi Dept. of Electrical Engineering, Technion, Haifa, 32000, Israel sashas@tx.technion.ac.il,

More information

Consensus a classic problem. Consensus, impossibility results and Paxos. Distributed Consensus. Asynchronous networks.

Consensus a classic problem. Consensus, impossibility results and Paxos. Distributed Consensus. Asynchronous networks. Consensus, impossibility results and Paxos Ken Birman Consensus a classic problem Consensus abstraction underlies many distributed systems and protocols N processes They start execution with inputs {0,1}

More information

A Mechanism for Sequential Consistency in a Distributed Objects System

A Mechanism for Sequential Consistency in a Distributed Objects System A Mechanism for Sequential Consistency in a Distributed Objects System Cristian Ţăpuş, Aleksey Nogin, Jason Hickey, and Jerome White California Institute of Technology Computer Science Department MC 256-80,

More information

Oh-RAM! One and a Half Round Atomic Memory

Oh-RAM! One and a Half Round Atomic Memory Oh-RAM! One and a Half Round Atomic Memory Theophanis Hadjistasi Nicolas Nicolaou Alexander Schwarzmann July 21, 2018 arxiv:1610.08373v1 [cs.dc] 26 Oct 2016 Abstract Emulating atomic read/write shared

More information

Wait-Free Multi-Word Compare-And-Swap using Greedy Helping and Grabbing

Wait-Free Multi-Word Compare-And-Swap using Greedy Helping and Grabbing Wait-Free Multi-Word Compare-And-Swap using Greedy Helping and Grabbing H. Sundell 1 1 School of Business and Informatics, University of Borås, Borås, Sweden Abstract We present a new algorithm for implementing

More information

Reaching Consensus. Lecture The Problem

Reaching Consensus. Lecture The Problem Lecture 4 Reaching Consensus 4.1 The Problem In the previous lecture, we ve seen that consensus can t be solved in asynchronous systems. That means asking how can we solve consensus? is pointless. But

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Algorithms for COOPERATIVE DS: Leader Election in the MPS model

Algorithms for COOPERATIVE DS: Leader Election in the MPS model Algorithms for COOPERATIVE DS: Leader Election in the MPS model 1 Leader Election (LE) problem In a DS, it is often needed to designate a single processor (i.e., a leader) as the coordinator of some forthcoming

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Consensus and related problems

Consensus and related problems Consensus and related problems Today l Consensus l Google s Chubby l Paxos for Chubby Consensus and failures How to make process agree on a value after one or more have proposed what the value should be?

More information

ACONCURRENT system may be viewed as a collection of

ACONCURRENT system may be viewed as a collection of 252 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 10, NO. 3, MARCH 1999 Constructing a Reliable Test&Set Bit Frank Stomp and Gadi Taubenfeld AbstractÐThe problem of computing with faulty

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

More information

Consensus. Chapter Two Friends. 2.3 Impossibility of Consensus. 2.2 Consensus 16 CHAPTER 2. CONSENSUS

Consensus. Chapter Two Friends. 2.3 Impossibility of Consensus. 2.2 Consensus 16 CHAPTER 2. CONSENSUS 16 CHAPTER 2. CONSENSUS Agreement All correct nodes decide for the same value. Termination All correct nodes terminate in finite time. Validity The decision value must be the input value of a node. Chapter

More information

BYZANTINE AGREEMENT CH / $ IEEE. by H. R. Strong and D. Dolev. IBM Research Laboratory, K55/281 San Jose, CA 95193

BYZANTINE AGREEMENT CH / $ IEEE. by H. R. Strong and D. Dolev. IBM Research Laboratory, K55/281 San Jose, CA 95193 BYZANTINE AGREEMENT by H. R. Strong and D. Dolev IBM Research Laboratory, K55/281 San Jose, CA 95193 ABSTRACT Byzantine Agreement is a paradigm for problems of reliable consistency and synchronization

More information

22 A. Bar-Noy and D. Dolev 1. Introduction Two major processor intercommunication models in distributed systems have attracted much attention and stud

22 A. Bar-Noy and D. Dolev 1. Introduction Two major processor intercommunication models in distributed systems have attracted much attention and stud Math. Systems Theory 26, 21-39 (1993) Mathematical Systems Theory 1993 Springer-Verlag New York Inc. A Partial Equivalence Between Shared-Memory and Message-Passing in an Asynchronous Fail-Stop Distributed

More information

AXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop

AXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop AXIOMS OF AN IMPERATIVE LANGUAGE We will use the same language, with the same abstract syntax that we used for operational semantics. However, we will only be concerned with the commands, since the language

More information

Consensus in the Presence of Partial Synchrony

Consensus in the Presence of Partial Synchrony Consensus in the Presence of Partial Synchrony CYNTHIA DWORK AND NANCY LYNCH.Massachusetts Institute of Technology, Cambridge, Massachusetts AND LARRY STOCKMEYER IBM Almaden Research Center, San Jose,

More information

Optimal Parallel Randomized Renaming

Optimal Parallel Randomized Renaming Optimal Parallel Randomized Renaming Martin Farach S. Muthukrishnan September 11, 1995 Abstract We consider the Renaming Problem, a basic processing step in string algorithms, for which we give a simultaneously

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch Distributed Algorithms 6.046J, Spring, 2015 Part 2 Nancy Lynch 1 This Week Synchronous distributed algorithms: Leader Election Maximal Independent Set Breadth-First Spanning Trees Shortest Paths Trees

More information

Recall our 2PC commit problem. Recall our 2PC commit problem. Doing failover correctly isn t easy. Consensus I. FLP Impossibility, Paxos

Recall our 2PC commit problem. Recall our 2PC commit problem. Doing failover correctly isn t easy. Consensus I. FLP Impossibility, Paxos Consensus I Recall our 2PC commit problem FLP Impossibility, Paxos Client C 1 C à TC: go! COS 418: Distributed Systems Lecture 7 Michael Freedman Bank A B 2 TC à A, B: prepare! 3 A, B à P: yes or no 4

More information

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf Distributed systems Lecture 6: distributed transactions, elections, consensus and replication Malte Schwarzkopf Last time Saw how we can build ordered multicast Messages between processes in a group Need

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Asynchronous Convex Hull Consensus in the Presence of Crash Faults

Asynchronous Convex Hull Consensus in the Presence of Crash Faults Asynchronous Convex Hull Consensus in the Presence of Crash Faults ABSTRACT Lewis Tseng Department of Computer Science Coordinated Science Laboratory University of Illinois at Urbana-Champaign ltseng3@illinois.edu

More information

Complexity Results on Graphs with Few Cliques

Complexity Results on Graphs with Few Cliques Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

More information

The alternator. Mohamed G. Gouda F. Furman Haddix

The alternator. Mohamed G. Gouda F. Furman Haddix Distrib. Comput. (2007) 20:21 28 DOI 10.1007/s00446-007-0033-1 The alternator Mohamed G. Gouda F. Furman Haddix Received: 28 August 1999 / Accepted: 5 July 2000 / Published online: 12 June 2007 Springer-Verlag

More information

An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems

An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems Maurice Herlihy Sergio Rajsbaum Mark Tuttle Abstract We present a unified, axiomatic approach to proving lower

More information

To do. Consensus and related problems. q Failure. q Raft

To do. Consensus and related problems. q Failure. q Raft Consensus and related problems To do q Failure q Consensus and related problems q Raft Consensus We have seen protocols tailored for individual types of consensus/agreements Which process can enter the

More information

The hierarchical model for load balancing on two machines

The hierarchical model for load balancing on two machines The hierarchical model for load balancing on two machines Orion Chassid Leah Epstein Abstract Following previous work, we consider the hierarchical load balancing model on two machines of possibly different

More information

Concurrent Programming: Algorithms, Principles, and Foundations

Concurrent Programming: Algorithms, Principles, and Foundations Concurrent Programming: Algorithms, Principles, and Foundations Algorithms, Principles, and Foundations Bearbeitet von Michel Raynal 1. Auflage 2012. Buch. xxxii, 516 S. Hardcover ISBN 978 3 642 32026

More information

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems James Aspnes 1, Faith Fich 2, and Eric Ruppert 3 1 Yale University 2 University of Toronto 3 York University

More information

Computing with Infinitely Many Processes under assumptions on concurrency and participation -M.Merritt&G.Taubenfeld. Dean Christakos & Deva Seetharam

Computing with Infinitely Many Processes under assumptions on concurrency and participation -M.Merritt&G.Taubenfeld. Dean Christakos & Deva Seetharam Computing with Infinitely Many Processes under assumptions on concurrency and participation -M.Merritt&G.Taubenfeld Dean Christakos & Deva Seetharam November 25, 2003 Abstract This paper explores four

More information

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,

More information

Self-stabilizing Byzantine Digital Clock Synchronization

Self-stabilizing Byzantine Digital Clock Synchronization Self-stabilizing Byzantine Digital Clock Synchronization Ezra N. Hoch, Danny Dolev and Ariel Daliot The Hebrew University of Jerusalem We present a scheme that achieves self-stabilizing Byzantine digital

More information

The problem of minimizing the elimination tree height for general graphs is N P-hard. However, there exist classes of graphs for which the problem can

The problem of minimizing the elimination tree height for general graphs is N P-hard. However, there exist classes of graphs for which the problem can A Simple Cubic Algorithm for Computing Minimum Height Elimination Trees for Interval Graphs Bengt Aspvall, Pinar Heggernes, Jan Arne Telle Department of Informatics, University of Bergen N{5020 Bergen,

More information

Introduction to Distributed Systems Seif Haridi

Introduction to Distributed Systems Seif Haridi Introduction to Distributed Systems Seif Haridi haridi@kth.se What is a distributed system? A set of nodes, connected by a network, which appear to its users as a single coherent system p1 p2. pn send

More information

Embeddability of Arrangements of Pseudocircles into the Sphere

Embeddability of Arrangements of Pseudocircles into the Sphere Embeddability of Arrangements of Pseudocircles into the Sphere Ronald Ortner Department Mathematik und Informationstechnologie, Montanuniversität Leoben, Franz-Josef-Straße 18, 8700-Leoben, Austria Abstract

More information