1 / 94

O. Biran, S. Moran, S. Zaks

A combinatorial characterization of the distributed tasks which are solvable in the presence of one faulty processor. O. Biran, S. Moran, S. Zaks. Introduction. FLP showed that achieving a distributed consensus is impossible in the presence of one faulty processor. Introduction.

jafari
Télécharger la présentation

O. Biran, S. Moran, S. Zaks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A combinatorial characterization of the distributed tasks which are solvable in the presence of one faulty processor O. Biran, S. Moran, S. Zaks

  2. Introduction FLP showed that achieving a distributed consensus is impossible in the presence of one faulty processor.

  3. Introduction We will present a condition that is necessary and sufficient in order for a task to be solvable in the presence of a faulty processor. Also we present a universal protocol which solves any task which is found to be solvable by our condition.

  4. Definitions The network is asynchronous and distributed. There are N > 2 processors, V = {P1, P2, …, PN}. We assume (w.l.o.g) that . The messages arrive with no error and in finite but unbounded and unpredictable time.

  5. Definitions One processor might be faulty (be defined later) We assume that the network is complete (clique), but the results can be easily generalized to every biconnected network in which a failure of one processor cannot disconnect the network.

  6. Adjacency Graphs Let ANdenote the set all vectors ā = (a1, a2, …, aN) where A is an arbitrary set and (a Cartesian multiplication of order N) Let S be a set, when are adjacent if they differ in exactly one component.

  7. Adjacency Graphs The adjacency graph of S, G(S) = (S, ES) is an undirected graph is called a partial vector (which means that the i component is undefined) For a set of vectors, S,

  8. i - Cliques For each clique C in G(S), corresponds an integer 1 ≤ i ≤ N such that all the vectors in C differ from one another in exactly the i-th component. Let C and i be a clique and its corresponding integer, than C is called an i-Clique. Notice that C defines a partial vector

  9. Maximal i - Cliques A maximal i-clique is an i-clique which is not contained in any other i-clique. Notice that every defines a maximal i-clique that includes and all the vectors that differs from in exactly the i-th component

  10. Decision Tasks Let A and B be arbitrary sets. Let f : A  2B be a function that assigns to each element a subset f(a) of B. Similarly,

  11. Decision Tasks Let X and D be sets of input_values and decision_values respectively. A distributed decision task T is a function where Is called the input set of task T

  12. Decision Tasks Similarly, is called the decision set of T Each vector is called an input vector and it represents the initial assignment of the input value to processor Pi Similarly, for decision vector

  13. Decision Tasks A decision task T maps each input vector to a non-empty set of allowable decision vectors. The adjacency graph G(XT) of the input set XT is called the input graph of T. Similarly, the adjacency graph G(DT) of the input set DT is called the decision graph of T.

  14. Examples of Decision Tasks Consensus Strong consensus

  15. Examples of Decision Tasks Approximate consensus

  16. Examples of Decision Tasks Order preserving renaming (OPR)

  17. Protocols Protocol for a given network is a set of N programs, each associated with a single processor.

  18. Programs • Each program contains: • Reading an input value • Sending a message to a neighbor • Receiving a message from a neighbor • Performing a local computation • Halting

  19. Decision Protocols A decision protocol is a protocol that when halts always writes an output value (to the associated element of DT

  20. Executions For a given network that is initialized with an input vector (x1, x2, …, xN) of XN , if each processor executes its own program, the sequence of operations performed by the processors is called an execution on the input vector.

  21. Executions Notice that for an input vector (x1, x2, …, xN) there can be more than one executions (due to the asynchronous nature of the system). The set of all executions of protocol α on an input vector is denoted by

  22. Terminating Executions A protocol in which all the processors eventually halts is called a terminating protocol. The vector where di is the decision value of the processor pi in the execution e of protocol α is called the output vector of the execution e and is denoted by

  23. Terminating Executions is the set of all output vectors of all the terminating executions of the protocol α the input vector is the set of all terminating executions of α on the input vector.

  24. Terminating Executions For a set S, we will define Dα[S] to be the union Notice that :

  25. Solvability The protocol αsolves task T if :

  26. Solvability T must be computable Notice that :

  27. Solvability Notice that :

  28. Solvability Notice that :

  29. Solvability Notice that :

  30. Solvability Notice that : Knows all the available information and calculates the desired result

  31. Solvability Notice that :

  32. Solvability Notice that :

  33. Solvability Notice that :

  34. Solvability Notice that : Output vector

  35. Faulty Processors The processor P is faulty in an execution e if after a certain time, all the messages sent by P are not received. (fail-stop failure) A striking processor

  36. 1-Solvability • The protocol α1-solves task T if : • If no processor is faulty than α solves T • If in an execution e one processor is faulty then all the other processors eventually halt. If for a decision task T such α exists, then T is called 1-solvable

  37. 1-Solvability Notice that the strong consensus decision task of FLP is not 1-solvable. On the other hand, the weak consensus is clearly 1-solvable, using the trivial solving protocol.

  38. Conditions for 1-Solvability We shall present 2 basic conditions for a task T to be 1-solvable by protocol α.

  39. The Connectivity Condition Let T be a decision task that has a connected input graph and let α be a given protocol. If α 1-solves T, then G(Dα[XT]) is connected. Theorem MW - MW are S. Moran and Y. Wolfstahl

  40. The Connectivity Condition Let T be a decision task. Let be such as G(C) is a connected sub graph of the input graph G(XT). Let α be a given protocol. If α 1-solves T, then G(Dα[C]) is connected. Theorem 1 -

  41. The Connectivity Condition - Proof Let α be a protocol that 1-solves the task T:XTDTWe define a new task T’:CDα[C], such that XT’=C and . Clearly α 1-solves T`. By applying theorem MW to T` we have G(Dα[XT`]) is connected.

  42. Restrictions A task T` restriction of task T if XT`=XT and Notice that if α is a protocol which (1-)solves T` then α also (1-)solves T. DT T` DT` XT T

  43. Let T be a task and α a protocol which solves T. We denote by Tα the task induced by α. Note that Tα is a restriction of T.

  44. Pointwise connected A task T is pointwise connected if is connected. If a protocol α 1-solves a task T then Tα, the task induced by α and T, is pointwise connected. Corollary 1 -

  45. Covering Clique Let be a maximal input i-clique in G(XT), and B an i-clique in G(DT). We say that B is a covering clique for (with respect to the task T) if : The partial decision vector defined by a covering clique for is called covering partial vector for

  46. i-Sleeping Execution Let α be a protocol that 1-solves a task T. An i-sleeping execution of α is an execution in which all the messages sent by Pi are delayed until all other processors halt and decide. Open for business We’re on a strike

  47. The Sleeping Processor Condition Let T be a decision task and α a protocol that 1-solves T. Then, in Tα there is a covering clique for each maximal input i-clique. Theorem 2 -

  48. Sleeping Processor Condition - Proof Let be a maximal input i-clique. Consider the i-sleeping-execution in α in which the input to Pj is xj for each j ≠ i. Let be the partial output vector by the non sleeping processors. We claim that the maximal i-cliquein G(D(Tα)) is a covering clique for

  49. Sleeping Processor Condition - Proof Let yi be any value such that the vector is a possible input vector in . We must show that For this, assume that is the actual input to α and that Pi is eventually awakened. Pi must eventually decide on a value di to obtain an input vector

  50. Sleeping Processor Condition

More Related