1 / 27

On disjoint access parallelism

On disjoint access parallelism. Alessia Milani Labri, Université de Bordeaux I. joint work with Faith Ellen, Panagiota Fatourou, Eleftherios Kosmas, and Corentin Travers. L.start. L.end. SEARCH(v). APPEND(v’). Disjoint Access Parallelism [Israeli and Rappoport, PODC 1994].

lis
Télécharger la présentation

On disjoint access parallelism

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. On disjoint access parallelism Alessia Milani Labri, Université de Bordeaux I joint work with Faith Ellen, Panagiota Fatourou, Eleftherios Kosmas, and Corentin Travers

  2. L.start L.end SEARCH(v) APPEND(v’) Disjoint Access Parallelism[Israeli and Rappoport, PODC 1994] • Parallelism : allow processes executing concurrent transactions to make progress in parallel • Intuitively…transactions operating on disjoint sets of data items progress concurrently without interfering with each other 22

  3. base obj Primitives operations (read, write, CAS…) on base objects (memory locations) Concurrent data structures implementations SEARCH(L,v) APPEND(L,v) • Transactions do not interfere  they do not access some common base object 33

  4. The conflict graph of a set of transactions is an undirected graph where vertices represent transactions an edge connects two transactions that access the same data item T1 x y T2 y z T3 w z T1 T2 T3 Conflict graph

  5. Strict DAP Guerraoui & Kapalka, SPAA 2008 Definition.A TM is strict disjoint-access parallel if, in every execution, for all transactions T1 ≠ T2 performed by different processes, if there is a base object accessed by both T1 and T2 and at least one of T1 and T2modifies its value, then there is a data item that is accessed by both T1 and T2. There is an edge between T1 and T2 in the conflict graph of all transactions in the execution

  6. Strict DAP & wait-freedom T1 x y T2 y z T3 w z T1 T2 T3 • No helping • Theorem. No obstruction free TM is Strict Disjoint Access Parallel Guerraoui & Kapalka, SPAA 2008  no wait-free TM is Strict Disjoint Access Parallel Processes executing T1 and T3 respectively cannot access and modify a same base object

  7. DAP Israeli, & Rappaport, PODC 1994 Definition.A TM is disjoint-access parallel if in every execution, for all transactions T1 ≠ T2 performed by different processes, if there is a base object accessed by both T1 and T2 then there is a path between them in the conflict graph of the transactions in the minimal execution interval containing T1 and T2

  8. Conflict graph of the minimal execution interval of T1 and T2 T1 x y T2 y z T3 w z T4 x z T1 T2 T3

  9. A1 A2 A3 … An-1 An Minimal execution interval A transaction in the very past, justifies the contention between transactions on disjoint part of the list … A1 A2 A3 An S1 S1 execution α conflict graph of α • The linked list is initially empty • Ai is the APPEND(L,i) by a process q that inserts the ith node in the list and this node has value i • A1 accesses node 1 and L.start • A2 accesses node 1 and node 2 • All the other APPEND does not access node 1 nor L.start • The SEARCH(L,1) accesses only data items L.start and node 1

  10. weak DAP Attiya, Hillel & Milani, SPAA 2009 Definition.A TM is weak disjoint-access parallel if in every execution, for all transactions T1 ≠ T2 performed by different processes, if there is a base object accessed by both T1 and T2 at the same time and at least one of T1 and T2may modify its value, then there is a path between them in the conflict graph of the transactions in the minimal execution interval containing T1 and T2

  11. not write to base objects weak DAP & wait-freedom • Theorem. No TM with invisible and wait-free read-only transactions is weak Disjoint AccessParallelAttiya, Hillel & Milani, SPAA 2009

  12. Minimal Disjoint Access Parallelism Suppose  is a solo execution of a transaction T1 and  is a solo execution of a transaction T2, both starting from the same quiescent configuration. If there is a base object accessed by both T1 and T2 respectively in  and and at least one of T1 and T2modifies its value, then T1 and T2 access a same data item

  13. Impossibility result • Theorem. No wait-free TM is minimal disjoint-access parallel • The proof uses a data structure of unbounded size

  14. L.start L.start L.start L.end L.end L.end APPEND(L,v) SEARCH(L,0) q p Idea of the Proof • Initial configuration : the list has tree nodes • A process p starts a SEARCH(L,0) • A process q executes an unbounded number of APPEND(L,v)

  15. E L.start L.end 2 3 4 5 p APPEND(L,4) APPEND(L,5) SEARCH(L,0) Idea of the Proof E’ • Process p cannot distinguish if a node inserted by q was already in the list before starting its search … • unless q and p communicate • e.g., in its APPEND(L,4) q accesses a base object accessed by p in the execution of SEARCH(L,0) • But, in E’ the SEARCH(L,0) accesses only data items L.start, node 1 and APPEND(L,4) accesses only data items L.end, node 3, node 4  not disjoint-access-parallel 1 0

  16. p No ‘0’ in L L.start p L.end 3 1 0 2 Idea of the Proof L.start L.end • Since process p cannot distinguish if a node was in the list before starting its search • p keeps searching  no wait-free • Otherwise p may stops before visiting a node with value0 that was in the list before p started its SEARCH(L,0)  not linearizable 2 3 4 1 5

  17. The set of data items it accesses does not depend on the value of its input parameters Assumption If a transaction of a data structure is value oblivious, then, the set of base objects accessed during any solo execution of this transaction does not depend on the value of its input parameters, nor on the value of the input parameters to any sequence of value oblivious transactions performed beforehand.

  18. To circumvent the impossibility 1 • We have designed a TM that is • weak dap • opaque • wait-free for data structures of bounded size

  19. To circumvent the impossibility 2 T” T’ • A new definition of DAP where a process takes some responsibility for its past actions • Allow any transaction to access a restricted set of base objects B • E.g. a timestamping system q y x z w p y T Tand T’can both access a same base object

  20. T'' T' p y x z w q y T mDAP : conflict graph • A vertex for each transaction in the execution • { T, T’} is an edge if there exists a transaction T'' by the same process that performed T', T'' is performed at or before T', the execution intervals of T and T' overlap, the execution intervals of T and T” overlap, and there is a data item that is accessed by both T and T''.

  21. Thanks

  22. mDAP Consider a TM that uses a set of base objects O and a timestamp object B. Definition.A TM is morally disjoint-access parallel if in every execution, for all overlapping transactions T1 ≠ T2 performed by different processes, if there is a base object (not B)accessed by both T1 and T2 at the same time and at least one of T1 and T2 modify its value, then there is a path between them in the conflict graph of all transactions in the execution

  23. Longest prefix of the solo execution by p of SEARCH(L,0) starting at configuration C3 :: p does not access any base object accessed by q in 1 2 3 APPEND(L,3) … APPEND(L,1) APPEND(L,1) APPEND(L,2) APPEND(L,2) APPEND(L,3) 3 1 1 2 2 3 31 APPEND(L,4) 4 4 … APPEND(L,5) 5 APPEND(L,4) C0 C1 C2 C3 C4 4 31 42 4 Infinite execution where SEARCH(L,0) never terminates C0 C1 C2 C3 C4 42 is the longest prefix of the solo execution of SEARCH(L,0) starting atC4 :: p does not access any base object accessed by q in 2 3 4 The base objects in 4 are the only ones whose value may be different at C4 w.r.t. C3 31 is a prefix of 42

  24. C0 • It remains to prove that ii-2 is a proper prefix ofi+2ipour i>3 an infinite number of iare not empty C1 C2 C3 C4 Ci Ci+1 Ci+2 1 2 3 31 42 ii-2 i+2i i+1i-1 4 4 i-2 … i-1 i-1 i i

  25. By contradiction Let ii-2 =i+2i • The search starting at Ci executes at least one step more after ii-2 • relies onlinearizability • Let b be the base object accessed by the first step of the search after ii-2 since ii-2 =i+2i , bB(i)B(i+1)B(i+2) • B(i) is the set of base objects accessed by q during the execution of i • By the property of disjoint access parallelism bB(i)B(i+1)B(i+2)  contradiction

  26. ii-2 ii-2 The list consists of i nodes and the (i-2)th node has value ‘0’ i-2 APPEND(i-1) APPEND(1) APPEND(2) APPEND(0) APPEND(i) … Ci-2 Ci C0 C1 Ci-3 i-2 No ‘0’ in L i-1 i 1 2 i-2 i-2 Ci-1 p Proof Step 1 APPEND(i-1) APPEND(i) APPEND(1) APPEND(2) APPEND(i-2) Ci … Ci-2 Ci-1 C0 C1 Ci-3 i i-1 1 2 i-2 • APPEND is value oblivious the set of base objects accessed by executions leading to configuration Ci andCii-2 are the same • The only base objects that may have a different value at Cii-2 w.r.t. Ci are the ones accessed in i-2 i-1 i The execution is not linearizable  The search executes another step after ii-2

  27. i-2 APPEND(i-1) APPEND(1) APPEND(2) APPEND(0) APPEND(i) … Ci-2 Ci C0 C1 Ci-3 i-2 i-1 i 1 2 i-2 i-2 Ci-1 Proof Step 3 ii-2 • We have that bB(i)B(i+1)B(i+2) • The only base objects that may have a different value at Cii-2 w.r.t. Ci-1i-2are the ones accessed in i  i-1i-2 =ii-2 and p accesses b after i-1i-2 • In this execution the search completes at node i-2 where it finds a 0. The data sets of the SEARCH(L,0) and of APPEND(i), APPEND(i+1) andAPPEND(i+2) are disjoint. • by disjoint access parallelism p and q do not access a common base object in the execution of the SEARCH(L,0) and of APPEND(i), APPEND(i+1) and APPEND(i+2) respectively • CONTRADICTION

More Related