disjoint access parallelism impossibility possibility and
play

Disjoint-Access Parallelism: Impossibility, Possibility, and Cost - PowerPoint PPT Presentation

Disjoint-Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations Sebastiano Peluso 1 , Roberto Palmieri 1 , Paolo Romano 2 , Binoy Ravindran 1 and Francesco Quaglia 3 3 1 2


  1. Disjoint-­‐‒Access ¡Parallelism: ¡ Impossibility, ¡Possibility, ¡ and ¡Cost ¡of ¡Transactional ¡ Memory ¡Implementations Sebastiano Peluso 1 , Roberto Palmieri 1 , Paolo Romano 2 , Binoy Ravindran 1 and Francesco Quaglia 3 3 1 2 ACM Symposium on Principles of Distributed Computing (PODC) 2015

  2. Degrees ¡of ¡Parallelism ¡ [SPAA08, ¡SPAA09] Strict Disjoint-Access Parallelism (S-DAP): Two transactions do • not contend on a common base object if they do not access any common transactional object. Weak Disjoint-Access Parallelism (W-DAP): Two transactions do • not concurrently contend on a common base object if there is no path between them in the conflict graph. x z y … locks clocks … versions W(x) S-­‐‒DAP: ¡T 1 and ¡T 3 cannot ¡contend on ¡a ¡ T 1 common ¡base ¡object. R(z) R(x) W(z) T 2 W-­‐‒DAP: ¡T 1 and ¡T 3 can ¡concurrently ¡ contend on ¡a ¡common ¡base ¡object. R(z) T 3 ACM Symposium on Principles of Distributed Computing (PODC) 2015

  3. Desirable ¡properties ¡in ¡TM Isolation ¡Level ? Non-­‐‒concurrent ¡ txs Real-­‐‒time ¡Order ¡(RTO) Parallelism Disjoint-­‐‒Access ¡ Update ¡txs parallelism ¡(DAP) Obstruction-­‐‒free ¡(OFU) Read-­‐‒only ¡txs Wait-­‐‒free ¡and Invisible ¡(WFIRO) ACM Symposium on Principles of Distributed Computing (PODC) 2015

  4. Existing ¡Impossibility ¡Results Impossibility ¡on ¡Wait-­‐‒free ¡Invisible ¡Read-­‐‒Only ¡(WFIRO) [SPAA09, ¡TCS11] ¡ (Strict) Serializability WFIRO + W-DAP + Opacity Snapshot Isolation Lower Bound: Wait-free Read-only txs should write on at least t-1 base objects when t+1 processes execute. Impossibility ¡on ¡Obstruction-­‐‒free ¡ Updates ¡(OFU) [SPAA08, ¡SPAA14] ¡ OFU + S-DAP + Serializability PCL Theorem: No TM can ensure S-DAP, Obstruction-freedom and Weak Adaptive Consistency (weaker than Snapshot Isolation and Processor Consistency). ACM Symposium on Principles of Distributed Computing (PODC) 2015

  5. Roadmap ¡of ¡Results • Impossibility Results Real-Time Order + o Wait-free Read-only Txs + WDAP + o 1. Obstruction-free Update Txs 2. Invisible Read-only Txs + Weakly Progressive Update Txs • Possibility Result Witnessable Real-Time Order + o Extended Update Serializability + o SDAP + o Wait-free Invisible Read-only Txs + o Strongly Progressive Update Transactions o • … and corresponding costs Space Complexity: Ω (min(N o ,N p )) per data-version o N p = ¡number ¡of ¡processes Time Complexity: Ω (k*N o ) per read operation o N o = ¡number ¡of ¡objects k = ¡number ¡of ¡versions ¡per ¡object

  6. What ¡about ¡Preserving ¡ Real-­‐‒Time ¡Order? Real-time order (RTO) relation: T 1 is ordered before T 2 if the commit • of T 1 precedes the begin of T 2 . Transactions should appear as executed without violating the • Real-time order [PPoPP08] . Executions Possible ¡Serialization ¡Orders T 1 T 2 T 1 T 2 T 1 T 2 T 1 T 2 T 2 T 1 T 2 T 1 ACM Symposium on Principles of Distributed Computing (PODC) 2015

  7. Impossibility ¡Results ¡on ¡ Real-­‐‒Time ¡Order W-­‐‒DAP Wait-­‐‒free ¡Read-­‐‒only ¡ Wait-­‐‒free ¡and ¡Invisible ¡ Txs Read-­‐‒only ¡Txs Obstruction-­‐‒free ¡ Weakly ¡Progressive ¡ Update ¡Txs Update ¡Txs Visible ¡Read-­‐‒only ¡Txs enable ¡S-­‐‒DAP ¡+ ¡ We ¡prove ¡that Opacity ¡ [ICDCN11] TM ¡cannot ¡preserve ¡Real-­‐‒time ¡ Order ¡(RTO) ACM Symposium on Principles of Distributed Computing (PODC) 2015

  8. Sketch ¡on ¡the ¡Impossibility: What ¡Should ¡a ¡Transaction ¡Read? [Lemma 3 simplified] WDAP TM + WFRO + RTO Read the last committed value! T 1 @p i R(x) ¡: ¡? R(x) ¡must ¡return ¡1! α β T 2 @p j W(x,1) ¡ δ γ Indistinguishable ¡to ¡ α, ¡β, ¡δ, ¡γ are ¡non-­‐‒conflicting ¡ intervals process ¡p i because ¡of ¡ • T 1 is ¡a ¡read-­‐‒only ¡transaction WDAP ¡(and ¡Lemmas ¡1, ¡2) • T 1 cannot ¡abort ¡because ¡of ¡WFRO • T * @p i R(x) ¡: ¡1 α β T 2 @p j W(x,1) ¡ δ γ Otherwise ¡RTO ¡is ¡not ¡preserved ACM Symposium on Principles of Distributed Computing (PODC) 2015

  9. Sketch ¡on ¡the ¡Impossibility: Violating ¡the ¡Real-­‐‒Time ¡Order By ¡contradiction ¡we ¡assume ¡that ¡WDAP ¡+ ¡WFRO ¡+ ¡RTO ¡is ¡possible, ¡then… Weakly ¡Progressive ¡Update ¡Txs & ¡ Obstruction-­‐‒free ¡Update ¡Txs Invisible ¡Read-­‐‒only ¡Txs T 1 commits ¡because ¡it ¡runs ¡solo ¡and ¡it ¡ • T 1 commits ¡because ¡it ¡cannot ¡detect ¡the ¡ cannot ¡wait ¡for ¡T 3 ’s ¡outcome ¡ to ¡ • conflict ¡with ¡T 3 commit T 2 commits ¡because ¡it ¡does ¡not ¡ T 2 commits ¡because ¡it ¡runs ¡solo • • encounter ¡any ¡conflict T 1 @p i W(y,1) T 2 @p j W(x,2) ¡ T 3 @p k R(y): ¡0 R(x): ¡2 R(x) ¡must ¡return ¡2 ¡because ¡of ¡Lemma ¡3 • Real-­‐‒Time ¡Order ¡violated: ¡T 2 appears ¡as ¡executed ¡before ¡T 1 ! ¡ • ACM Symposium on Principles of Distributed Computing (PODC) 2015

  10. Roadmap ¡of ¡Results • Impossibility Results Real-Time Order + o Wait-free Read-only Txs + WDAP + o 1. Obstruction-free Update Txs 2. Invisible Read-only Txs + Weakly Progressive Update Txs • Possibility Result Witnessable Real-Time Order + o Extended Update Serializability + o SDAP + o Wait-free Invisible Read-only Txs + o Strongly Progressive Update Transactions o • … and corresponding costs Space Complexity: Ω (min(N o ,N p )) per data-version o N p = ¡number ¡of ¡processes Time Complexity: Ω (k*N o ) per read operation o N o = ¡number ¡of ¡objects k = ¡number ¡of ¡versions ¡per ¡object

  11. A ¡Strictly ¡DAP ¡TM ¡Design PARALLELISM READ-ONLY UPDATES ISOLATION Wait-free Obstruction- Opacity S-DAP Invisible free Serializability Extended Strongly Wait-free W-DAP Update Progressive Serializability Weakly Visible and Consistent NO DAP Progressive No Wait-free View Witnessable Real-Time Order (WRTO) Real-Time Order preserved only among directly conflicting transactions, and transactions executed by the same process Properties of Extended Update Serializability: • o All transactions observe a serializable history (like Opacity!) o Committed Update Transactions are serializable (like Opacity!) o Two transactions T 1 , T 2 can observe two non-compatible serialization orders… o …but only if T 1 and T 2 will never commit any write operation ACM Symposium on Principles of Distributed Computing (PODC) 2015

  12. Roadmap ¡of ¡Results • Impossibility Results Real-Time Order + o Wait-free Read-only Txs + WDAP + o 1. Obstruction-free Update Txs 2. Invisible Read-only Txs + Weakly Progressive Update Txs • Possibility Result Witnessable Real-Time Order + o Extended Update Serializability + o SDAP + o Wait-free Invisible Read-only Txs + o Strongly Progressive Update Transactions o • … and corresponding costs Space Complexity: Ω (min(N o ,N p )) per data-version o N p = ¡number ¡of ¡processes Time Complexity: Ω (k*N o ) per read operation o N o = ¡number ¡of ¡objects k = ¡number ¡of ¡versions ¡per ¡object

  13. Detected ¡Costs N p = ¡number ¡of ¡processes N o = ¡number ¡of ¡objects k = ¡number ¡of ¡versions ¡per ¡object • The TM requires to store a vector clock of size N p per data-version. • A read operation by a read-only T may validate T ’s read-set to check if it can return a data-version. Space ¡Complexity O(N p ) integers ¡for ¡each ¡version ¡of ¡a ¡transactional ¡object Time ¡Complexity O(k*N o ) steps ¡to ¡execute ¡a ¡read ¡operation ¡of ¡a ¡read-­‐‒only ¡tx Are ¡these ¡costs ¡necessary? ACM Symposium on Principles of Distributed Computing (PODC) 2015

  14. Consistent ¡View Consistent View: all transactions read from a causally • consistent snapshot. It is weaker than EUS. [PPoPP08] Opacity Strict Serializability Serializability (Extended) Snapshot Update Isolation Serializability [Adya99] Forward Consistent View Consistent View ACM Symposium on Principles of Distributed Computing (PODC) 2015

  15. Lower ¡Bound ¡on ¡the ¡ Space ¡Complexity ¡ Implementation of reads: return version V if V “does not • depend on” a version V* that overwrites the read-set. Intuition ¡on ¡possible ¡S-­‐‒DAP ¡implementations T 0 @p 0 T 0 @p 0 Status ¡of ¡the ¡memory ¡per ¡ Vector ¡clock ¡of ¡size ¡ N p per ¡ data-­‐‒version data-­‐‒version W(x, ¡A) W(x, ¡A) T 1 @p 1 T 1 @p 1 R(y): ¡? R(y): ¡? R(x): ¡A p 0 1 R(x): ¡A x 1 p 1 0 y 0 T 2 @p 2 T 2 @p 2 W(x, ¡B) W(y, ¡C) W(x, ¡B) W(y, ¡C) p 2 0 x 2 x 2 p 0 1 p 0 1 overwrites overwrites y 1 y 1 p 1 0 p 1 0 ≤ p 2 1 p 2 1 ≤ Theorem. SDAP ¡TM ¡that ¡guarantees ¡WFIRO, ¡Consistent ¡ View, ¡WRTO ¡ and ¡either ¡obstruction-­‐‒free ¡ or ¡weakly ¡progressive ¡update ¡transactions The ¡space ¡complexity ¡for ¡each ¡version ¡of ¡a ¡transactional ¡object ¡is ¡ Ω(min(N o ,N p )) ACM Symposium on Principles of Distributed Computing (PODC) 2015

Recommend


More recommend