1 / 36

Linearizing Peer-to-Peer Systems with Oracles

by Rizal Mohd Nor Mikhail Nesterenko Sébastien Tixeuil SSS 2013 Nov 13-16, 2013. Linearizing Peer-to-Peer Systems with Oracles. Introduction. Fundamental limits on construction of structured peer-to-peer systems in asynchronous [1] inability to connect a disconnected network

stefan
Download Presentation

Linearizing Peer-to-Peer Systems with Oracles

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. by Rizal Mohd Nor Mikhail Nesterenko SébastienTixeuil SSS 2013 Nov 13-16, 2013 Linearizing Peer-to-Peer Systems with Oracles

  2. Introduction Fundamental limits on construction of structured peer-to-peer systems in asynchronous [1] • inability to connect a disconnected network • discard peer identifiers that are not present in the system Studying these limits • identify peer-to-peer system specific oracles and isolate the source of impossibility • show minimality of oracles and proving their necessity for solution existence • provide an oracle-based algorithm Why Linearization (topological sort) • foundational for most popular peer-to-peer systems as construction starts with topologically sorting the peers in the system • similar to consensus as one can observe how it pertain to all peer-to-peer systems [1] Rizal Mohd Nor, Mikhail Nesterenko, and Christian Scheideler. Corona: A stabilizing deterministic message-passing skip list. In 13th. International Symposium on Stabilization, Safety and security of Distributed Systems (SSS) pages 356-370, October 2011

  3. Outline • linearization problem • solution oracles • necessary conditions • linearization solutions • execution example • oracle implementation

  4. Linearization Problem • Strict (SL) and eventual (EL) linearization variants • SL requires each process to output its neighbors exactly once and allows only correct output • EL’s computation contains a suffix where the output of each process is correct • Existing (EID) and non-existing (NID) identifiers within the linearization problem • EID prohibits the existence of non-existing identifiers • NID allows non-existing identifiers

  5. Outline • linearization problem • solution oracles • necessary conditions • linearization solutions • execution example • oracle implementation

  6. Solution Oracles • weak connectivity oracle (WC) has a single action that: • selects a pair of processes p and q such that they are disconnected in the channel connectivity graph CC, then • connecting graph by adding q to the incoming channel of p creating a link (p,q) • participant detector (PD) oracle removes a non-existent identifier stored in p. • neighbor output oracle (NO) just output identifiers stored in left and right variables of p • consequent process detector (CD) • outputs the stored identifier only if it is consequent with p • the guard of CD mentions all the identifiers of the system

  7. Outline • linearization problem • solution oracles • necessary conditions • linearization solutions • execution example • oracle implementation

  8. Necessary Conditions: Weak Connectivity Oracle • For a linearization algorithm A, p1has to eventually output p2 p1 will eventually add p2, if the computation contains the actions of a weak connectivity oracle. Without WC, it will remain disconnected. p1 p2 p3 p4 p5 Theorem 1. Every solution to the linearization problem requires a weak connectivity oracle.

  9. Subset Splittable • subset splittable • prevents a subset of processes from learning the state of the rest of the system • denoted as SS (subset spilttable) and NSS (non-subset spilttable) • neighborhood output oracle (NO) is subset spilttable (SS) • subset splittable since its guards only mention local variables • participant detector oracle (PD) is subset spilttable (SS) a b nid d e S2 S1 If PD is enabled at b, it would also be enabled at state Consider 2 sets of non-intersecting processes, S1 and S2

  10. Subset Splittable • weak connectivity oracle (WC) is subset spilttable (SS) a b c d e S2 S1 If WC is enabled at c, connecting c to d, it would also be enabled at state c Consider 2 sets of non-intersecting processes, S1 and S2, where c and d are disconnected

  11. Non Subset Splittable • consequent process detector (CD) is not subset spilttable(NSS) If a process has a consequent process, it is enabled. If b is added to set S1, c would be enabled. This disables CD enabled in the previous state. a c b d e S2 S1 Consider 2 sets of non-intersecting processes, S1 and S2 are totally ordered

  12. Necessary Conditions: Non-subset Splittable Oracle a b c d e S2 S1 Consider 2 sets of non-intersecting processes, S1 and S2 Theorem 2. A solution to the strict linearization problem requires a non-subset splittableoracle.

  13. Necessary Conditions: Non-subset Splittable Oracle a b c d e Since strict linearization requires each process to output only once, in this case, b or c cannot output without knowing the state of the rest of the system Theorem 2. A solution to the strict linearization problem requires a non-subset splittableoracle.

  14. Necessary Conditions: NID requires PD oracles • PD is required to remove the right id of process p1 and left id of process p2. Without PD, a process p1 may be connected toanon-existing identifier and result in a graph to be disconnected from the higher-id processes forever p1 p2 p3 p4 p5 Theorem 3. A proper solution to the linearization problem that allows non-existing identifiers requires a participant detector oracle.

  15. Outline • oracles • linearization problem • solution oracles • necessary conditions • linearization solutions • execution example • oracle implementation

  16. Necessary Oracles The necessary oracles to solve the 4 variants of the linearization problem. Linearization algorithm L with a combination of oracles to solve the linearization problem

  17. Outline • oracles • linearization problem • solution oracles • necessary conditions • linearization solutions • execution example • oracle implementation

  18. EL+EID Execution Example using L+WC • The linearization algorithm L, linearizes a list of peers • actions • receive ID from right → set closer right neighbor or forward to right neighbor • receive ID from left → set closer left neighbor or forward to left neighbor • true (timeout) → send ID to right and left neighbor • WC Oracleactions • graph contains disconnected components of and such that send to Starting from an arbitrary state where processes are weakly connected except process a a b c d e

  19. EL+EID Execution Example using L+WC • The linearization algorithm L, linearizes a list of peers • actions • receive ID from right → set closer right neighbor or forward to right neighbor • receive ID from left → set closer left neighbor or forward to left neighbor • true (timeout) → send ID to right and left neighbor • WC Oracleactions • graph contains disconnected components of and such that send to a b c d e

  20. EL+EID Execution Example using L+WC • Since anddisconnected, WC is enabled at process a • WC Oracle actions • graph contains disconnected components of and such that send to Node a WC oracle is enabled and node a sends its ID to node e a a b c d e

  21. EL+EID Execution Example using L+WC • starting from this state, processes are weakly connected and WC is never enabled • the only actions enabled are the actions of the linearization algorithm L • actions • receive ID from right → set closer right neighbor or forward to right neighbor • receive ID from left → set closer left neighbor or forward to left neighbor • true (timeout) → send ID to right and left neighbor Node e receive a's ID, forward to c a b c d e a

  22. EL+EID Execution Example using L+WC • the only actions enabled are the actions of the linearization algorithm L • actions • receive ID from right → set closer right neighbor or forward to right neighbor • receive ID from left → set closer left neighbor or forward to left neighbor • true (timeout) → send ID to right and left neighbor Node c receive a's ID, forward to b a a b c d e

  23. EL+EID Execution Example using L+WC • the only actions enabled are the actions of the linearization algorithm L • actions • receive ID from right → set closer right neighbor or forward to right neighbor • receive ID from left → set closer left neighbor or forward to left neighbor • true (timeout) → send ID to right and left neighbor Node b receive a's ID, set its new left neighbor a b c d e

  24. EL+EID Execution Example using L+WC • the only actions enabled are the actions of the linearization algorithm L • actions • receive ID from right → set closer right neighbor or forward to right neighbor • receive ID from left → set closer left neighbor or forward to left neighbor • true (timeout) → send ID to right and left neighbor Node b sends it's ID, to Node a b a b c d e

  25. EL+EID Execution Example using L+WC • the only actions enabled are the actions of the linearization algorithm L • actions • receive ID from right → set closer right neighbor or forward to right neighbor • receive ID from left → set closer left neighbor or forward to left neighbor • true (timeout) → send ID to right and left neighbor Node a receive b's ID, set its new right neighbor a b c d e

  26. EL+EID Execution Example using L+WC 1. processes take independent actions c a b c d e

  27. EL+EID Execution Example using L+WC 1. processes take independent actions c a b c d e 2. d a b c d e

  28. EL+EID Execution Example using L+WC 1. processes take independent actions c a b c d e d 2. a b c d e 3. d a b c d e

  29. EL+EID Execution Example using L+WC 1. processes take independent actions c a b c d e d 2. a b c d e 3. d a b c d e 4. e a b c d

  30. EL+EID Execution Example using L+WC 1. processes take independent actions 5. c a b c d e e a b c d e d 2. a b c d e 3. d a b c d e 4. e a b c d

  31. EL+EID Execution Example using L+WC 1. processes take independent actions 5. c a b c d e e a b c d e d 2. 6. e e a b c d e a b c d 3. d a b c d e 4. e a b c d

  32. EL+EID Execution Example using L+WC 1. processes take independent actions 5. c a b c d e e a b c d e d 2. 6. e e a b c d e a b c d 3. d e 7. a b c d e e a b c d 4. e a b c d

  33. Outline • oracles • linearization problem • solution oracles • necessary conditions • linearization solutions • execution example • oracle implementation

  34. Oracle Implementation Example: WC • WC repairs the network disconnections, an encapsulation of bootstrap service commonly found in peer-to-peer systems • Example: • One bootstrap process b is always present in the system • the responsibility of this process is to maintain the greatest and smallest identifier of the system • if process pis disconnected, it does not have a left or right neighbor, it assumes that its own identifier is the greatest or, respectively, smallest • process p then sends its identifier tob • process b then either confirms this assumption or sends p, its current smallest or greatest identifier • weak connectivity is restored b A disconnected peer will contact the bootstrap service to get smallest or greatest identifier q q p

  35. Oracle Implementation Example: PD • PD encapsulates the limits between relative process speeds and maximum message propagation delay and can be implemented using a heartbeat protocol • Example: • if process p contains an identifier q, p sends q a heartbeat message requesting a reply • if p does not receive this reply after the time above the maximum network delay, pconsiders q non-existent and discards it Discard left link No reply from q heartbeat q p

  36. Future Research • Narrowing the gap between necessary and sufficient • Strict linearization solution relies on CD, which is a specific kind of the necessary non-subset splittable detector • Narrowing the gap between necessary and sufficient conditions for the solution to the strict linearizability problem remains to be addressed in future research. • Thank you. Any Questions.

More Related