Loading in 5 sec....

Impossibilities for Disjoint-Access Parallel Transactional Memory :PowerPoint Presentation

Impossibilities for Disjoint-Access Parallel Transactional Memory :

- 107 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Impossibilities for Disjoint-Access Parallel Transactional Memory :' - joanne

**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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Impossibilities for Disjoint-Access Parallel Transactional Memory :

[Guerraoui & Kapalka, SPAA 08]

[Attiya, Hillel & Milani, SPAA 09]

Alessia Milani

Read X Memory :

Write X

Read Z

Read Y

Transactional Synchronization- A transaction is a sequence of operations by a single process on a set of shared data items (data set) to be executed atomically
- Like in database systems

- A transaction ends either by committing
- all of its updates take effect
or by aborting

- no update is effective

- all of its updates take effect

ABORT

base obj Memory :

base obj

Implementing Transactional Memory in Software- Data representation for transactions and data items

-------------------------------------------------------

High-level

operations

on data items

Low-level primitives operations (read, write,

CAS…) on base objects (memory locations)

Algorithms

33

TM must provide Memory :

Serializability[Papadimitriou, 1979]

- Any interleaving of the transactions yields a result that can be achieved in a sequential execution of the same set of transactions (aserialization)
Strict Serializability[Papadimitriou, 1979]

- … and the serialization must preserve the real-time order of (non-overlapping) transactions

44

T1 Memory :

X2

X1

T1

Read(Y)

Write(X1)

T3

T2

Write(X2)

T2

T3

Read(X2)

Read(X1)

DAP : Disjoint Access ParallelismT1

Disjoint data sets no contention

Data sets are connected may contend

T2

Improves scalability for large data structures by reducing interference

5

Inherent Limitations on TMs

Concurrently execute a low-level operation Memory :

DAP : More Formally[Israeli & Rappaport, 1994]

An STM implementation is disjoint access parallel if two transactions T1 and T2 contend on the same base object ONLY IFthe data sets of T1 and T2 are connected

The data sets of T1 and T2 either intersect or are connected via other transactions

66

6

Inherent Limitations on TMs

T1 Memory :

X2

X1

T1

Read(Y)

Write(X1)

T3

T2

Write(X2)

T2

T3

Read(X2)

Read(X1)

Strict Disjoint Access Parallelism[Guerraoui & Kapalka, SPAA 08]

- Two transactions conflict on a low level base object only if their data sets intersect
- T1 and T2 cannot contend on a same base object

T1

T2

Contend on the base object and one operation writes into it

Strict DAP versus DAP Memory :

- Allows read-read contention for not connected transactions
- But indirectly connected transactions cannot conflict

An impossibility Memory :

[Guerraoui & Kapalka, SPAA 08]

Theorem.No obstruction free TM isStrictly Disjoint Access Parallel

The proof is by contradiction

99

9

Before s Memory : : x and y both equal 0

After s : y =1

Read(w)0, Read(z)0

Write(x,1), Write(y,1)

s

T1

T1

By contradictionCmt

- Assume a strictly DAP obstruction free TM exists
- T1 runs solo commits (obstruction freedom)

Read(x)0 Memory :,Write(w,1)

T2

Cmt

ProofBefore s : x and y both equal 0

After s : y =1

Read(w)0, Read(z)0

Write(x,1), Write(y,1)

s

T1

T1

- T2 runs solo commits (obstruction freedom)

Read(w)0, Read(z)0 Memory :

Write(x,1), Write(y,1)

s

T1

T1

Read(x)0,Write(w,1)

T2

Cmt

Read(y)1,Write(z,1)

T3

Cmt

ProofBefore s : x and y both equal 0

After s : at least one between

x and y is equal 1

- T2 and T3 have disjoint data set T2 “invisible” to T3 (strictly DAP) T3 reads y equal 1
- T3 runs solo should commit (obstruction freedom)

Completing the Proof Memory :

Read(w)0, Read(z)0

Write(x,1), Write(y,1)

s

T1

T1

Read(x)0,Write(w,1)

T2

Cmt

- If T1 commits, the execution is not serializable because of the read by T2, but
- If T1 does not commit, the execution is not serializable because of the read by T3

Read(y)1,Write(z,1)

T3

Cmt

Contradiction to the existence of

a strict DAP obstruction free TM

…with Disjoint Access Parallel Memory :

- Previous theorem does not hold
- In fact…DAP can be ensured by an obstruction free TM implementation
- DSTM [Herlihy, Luchangco, Moir & Scherer]

1414

14

Optimizing for Read-Only Transactions Memory : Be invisible (not write to base objects) Always terminate successfully (wait-free)

Transactions that only observe the data

- Empty write set

- Avoid contention for the memory

1515

15

Inherent Limitations on TMs

Optimizing for Read-Only Transactions Memory : Be invisible (not write to base objects) Always terminate successfully (wait-free)

Transactions that only observe the data

- Empty write set

- Avoid contention for the memory

1616

16

Inherent Limitations on TMs

Inherent Tradeoff Memory :

Theorem.There is no TM implementation that isDAPand hasinvisible and wait-free read-only transactions

The proof relies on the notion of flippable execution, originally presented to prove lower bounds for atomic snapshot objects

[Israeli & Shirazi] [Attiya, Ellen & Fatourou]

1818

18

Inherent Limitations on TMs

A complete transaction in which p1 writes l-1 to X1 Memory :

A read-only transaction by q that reads X1 , X2

Flippable Execution w/ 2 UpdatersU0 … Ul-1 … Uk

Ek

p1

U1 … Ul …

p2

q

s1 … sl-1sl … sk

1919

U0 … Memory :Ul-1 … Uk

Ek

p1

U1 … Ul …

p2

q

s1 … sl-1sl … sk

Flippable Execution w/ 2 UpdatersIndistinguishable from executions where the order of (each pair of) consecutive updates is flipped…either forward or backward

2020

20

U0 … Memory :Ul-1 … Uk

U0 … Ul-1 … Uk

Ek

Fk

p1

p1

U1 … Ul …

U1 … Ul …

p2

p2

q

q

s1 … sl-1sl … sk

s1 … sl-1sl … sk

Flippable Execution: Backward FlipBackward flip

Lemma 1. Memory :In a flippable execution the read-only transaction cannot terminate successfully

- Relies on Strict Serializability

2222

22

Inherent Limitations on TMs

U0 … Memory :Ul-1 … Uk

Ek

p1

U1 … Ul …

p2

q

s1 … sl-1sl … sk

U0 Ul-1 Uk

U1 … Ul …

Serialization of Ek

Serialization of EkReturns (l-1,l-2)

Serialization point

2323

23

Inherent Limitations on TMs

U0 … Memory :Ul-1 … Uk

Ek

p1

U1 … Ul …

p2

q

s1 … sl-1sl … sk

U0 Ul-1 Uk

U1 … Ul …

Serialization of Ek

U0 Ul -1 Uk

U1 … Ul …

Nowhere to SerializeReturns (l-1,l-2)

U0 … Ul-1 … Uk

Fk

p1

U1 … Ul …

p2

Still returns (l-1,l-2)

q

s1 … sl-1sl … sk

x

x

x

Backward flip

X1 = l-3

X2= l-2

X1 = l-3

X2= l

X1 = l-1

X2= l

Serialization of Fk

Constructing a Flippable Execution Memory :

Lemma 2.In a DAP TM, two consecutive transactions writing to different data items do not contend on the same base object

2525

25

Last write to o Memory :

U1

p1

1

1

First access to o

U2

2

2

p2

Proof of Lemma 2By contradiction assume that U1 and U2 contend on a same base object

o is the last base object written by U1 that U2 accesses

2626

26

Last write to o Memory :

U1

p1

p1

1

1

First access to o

U2

2

2

p2

p2

U1

1

1

2

2

U2

Proof of Lemma 2Serial execution of U1 and U2

Overlapping execution of U1 and U2

- U1 and U2 have disjoint data sets & contend on a base object

Not a DAP Implementation

A flippable execution exists Memory :

- The steps of the read-only transaction can be removed (since it is invisible)
- Since their data sets are disjoint, transactions Ul & Ul-1 do not “communicate” (by Lemma 2)
- Can be flipped

2828

28

Inherent Limitations on TMs

Completing the Proof Memory :

By Lemma 1, the read-only transaction cannot terminate successfully

If aborts, we can apply the same argument again…

2929

29

Inherent Limitations on TMs

Also a lower bound Memory :

In a strict serializable DAP TM, where read-only transactions are wait-free, a transaction with a data set of size t must write to t-1 base objects

OUR RESULTS Memory :

STILL HOLD

Weaker Liveness Condition- If a transaction runs alone from a quiescent configuration then it terminates successfully
- Obstruction-freedom
- A transaction (eventually) running solo, terminates successfully

- Weakly progressiveness

OUR RESULTS Memory :

STILL HOLD

OPEN PROBLEM

Weaker TM Consistency- Serializability
- Snapshot Isolation
- Causal Consistency
- Causal Serializability

Weakening DAP Memory :

- Our impossibility result still holds when considering a weakernotion of DAP thatallows read-read contention (not connected transactions can read a same base object)
- T1 and T2 can read a same base object

To summarize Memory :

Theorem.No obstruction free TM isStrictly DAP

Theorem.There is no TM implementation that isDAPand hasinvisible and wait-free read-only transactions

3434

Download Presentation

Connecting to Server..