an innovative approach to achieve compositionality …sathya_p/index_files/pdfs/sss...an innovative...

Post on 12-Apr-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

An Innovative Approach to Achieve CompositionalityEfficiently using Multi-Version Object Based

Transactional Systems

Chirag Juyal1 Sandeep Kulkarni2 Sweta Kumari1 Sathya Peri1

Archit Somani1

1CSE Dept, IIT Hyderabad 2CSE Dept, Michigan State University20th International Symposium on Stabilization, Safety, and

Security of Distributed Systems (SSS 2018)

IIT Hyderbad, INDIA MV-OSTMs 1 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 2 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 3 / 43

Software Transaction Memory Systems (STMs)Introduction

Transaction

Sequence of instructions guaranteed to execute atomically.

History

Concurrent execution of transactions.

w2(x , 10) w2(y , 10)

r1(x , 0)

T2

T1

C2

r1(z , 0)C1

Figure: History of an STM

IIT Hyderbad, INDIA MV-OSTMs 4 / 43

Software Transaction Memory Systems (STMs)Introduction

Transaction

Sequence of instructions guaranteed to execute atomically.

History

Concurrent execution of transactions.

w2(x , 10) w2(y , 10)

r1(x , 0)

T2

T1

C2

r1(z , 0)C1

Figure: History of an STM

IIT Hyderbad, INDIA MV-OSTMs 4 / 43

STMs Cont’d..Introduction

Software Transaction Memory Systems(STMs) are a convenientprogramming interface for a programmer to access shared memoryusing concurrent threads without worrying about concurrency issues.

Traditionally, STMs export the following methods:

t begin()t read()t write()tryC() and tryA()

We refer to these as Read-Write STMs(or RWSTM).

IIT Hyderbad, INDIA MV-OSTMs 5 / 43

STMs Cont’d..Introduction

Software Transaction Memory Systems(STMs) are a convenientprogramming interface for a programmer to access shared memoryusing concurrent threads without worrying about concurrency issues.

Traditionally, STMs export the following methods:

t begin()t read()t write()tryC() and tryA()

We refer to these as Read-Write STMs(or RWSTM).

IIT Hyderbad, INDIA MV-OSTMs 5 / 43

A thread safe concurrent linked-list(LL) using STM

Algorithm 1 Insert(LL, e): Invoked by a thread to insert an element e intoa linked-list LL. This method is implemented using transactions.

1: retry = 0;2: while (true) do3: id = t begin(retry);4: ...5: ...6: v = t read(id , x); . reads the value of x as v7: ...8: ...9: t write(id , x , v ′); . writes a value v ′ to x10: ...11: ...12: ret = tryC(id); . tryC can return commit or abort13: if (ret == commit) then14: break;15: else16: retry++;17: end if18: end while

IIT Hyderbad, INDIA MV-OSTMs 6 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Working of STMs methods

T2T1

T1’s Local Log T2’s Local Log

Memory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T1’s Local Log T2’s Local Log

Memory

Read fromMemory

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

T2’s Local Log

Memory

T1’s Local Log

Write to local Log

T2T1

Write to local Log

T2’s Local Log

Memory

T1’s Local Log

T2T1

Memory

T1’s Local Log T2’s Local Log

T2

Validate T1’s Log

T1

Memory

T2’s Local Log

T2T1

T1’s Log Permanent

Memory

T2’s Local Log

T1 Committed

T1

T1’s Log Permanent T2’s Log Validated

T2

Memory

T1 Committed

T1

T1’s Log Permanent

T2

Memory

T1 Committed T2 Aborted

Figure: Working of STM System

IIT Hyderbad, INDIA MV-OSTMs 7 / 43

Correctness of STM System: Opacity a

Opacity

1 It is a popular correctness-criteria for STMs which is stronger thanserializability.

2 Opacity like serializability requires that the concurrent executionincluding the aborted transactions be equivalent to some serialexecution.

aGuerraoui, R., Kapalka, M.: On the Correctness of Transactional Memory. PPoPP, 2008

IIT Hyderbad, INDIA MV-OSTMs 8 / 43

Correctness of STM System: Opacity a

Opacity

1 It is a popular correctness-criteria for STMs which is stronger thanserializability.

2 Opacity like serializability requires that the concurrent executionincluding the aborted transactions be equivalent to some serialexecution.

aGuerraoui, R., Kapalka, M.: On the Correctness of Transactional Memory. PPoPP, 2008

IIT Hyderbad, INDIA MV-OSTMs 8 / 43

Correctness of STM System Cont’d..

Example of opacity

H: r1(x,0)w2(x,10)w2(y,10)C2r1(y,A)A1

w2(x , 10) w2(y , 10)

A1r1(y , 10)r1(x , 0)

C2

T1

T2

Figure: History H is not Opaque but Serializable

w2(x , 10) w2(y , 10)

A1r1(y ,A)r1(x , 0)

T2

T1

C2

Figure: Opaque History H

IIT Hyderbad, INDIA MV-OSTMs 9 / 43

Correctness of STM System Cont’d..

Example of opacity

H: r1(x,0)w2(x,10)w2(y,10)C2r1(y,A)A1

w2(x , 10) w2(y , 10)

A1r1(y , 10)r1(x , 0)

C2

T1

T2

Figure: History H is not Opaque but Serializable

w2(x , 10) w2(y , 10)

A1r1(y ,A)r1(x , 0)

T2

T1

C2

Figure: Opaque History HIIT Hyderbad, INDIA MV-OSTMs 9 / 43

Correctness of STM System Cont’d..

Example of opacity

H: r1(x,0)w2(x,10)w2(y,10)C2r1(y,A)A1

w2(x , 10) w2(y , 10)

A1r1(y ,A)r1(x , 0)

T2

T1

C2

Figure: Opaque History H

A1r1(y ,A)r1(x , 0)T1

w2(x , 10) w2(y , 10)C2

T2

Figure: Equivalent serial history S: T1, T2

IIT Hyderbad, INDIA MV-OSTMs 10 / 43

Correctness of STM System Cont’d..

Example of opacity

H: r1(x,0)w2(x,10)w2(y,10)C2r1(y,A)A1

w2(x , 10) w2(y , 10)

A1r1(y ,A)r1(x , 0)

T2

T1

C2

Figure: Opaque History H

A1r1(y ,A)r1(x , 0)T1

w2(x , 10) w2(y , 10)C2

T2

Figure: Equivalent serial history S: T1, T2

IIT Hyderbad, INDIA MV-OSTMs 10 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 11 / 43

Problem with read-write STMs

k2 k5 k7 k8 k9

Figure: A sample concurrent list

T1: lookup(k5), lookup(k8) & T2: delete(k7)

r1(k5) w2(k5) r1(k5)w2(k7)

T2

r2(k2) r2(k5) r1(k8)r1(k2)

T1

r1(k2) r2(k7)

Figure: Tree Structure : conflicts are (r1(k5), w2(k5)) and (w2(k5), r1(k5))

IIT Hyderbad, INDIA MV-OSTMs 12 / 43

Problem with read-write STMs

k2 k5 k7 k8 k9

Figure: A sample concurrent list

T1: lookup(k5), lookup(k8) & T2: delete(k7)

r1(k5) w2(k5) r1(k5)w2(k7)

T2

r2(k2) r2(k5) r1(k8)r1(k2)

T1

r1(k2) r2(k7)

Figure: Tree Structure : conflicts are (r1(k5), w2(k5)) and (w2(k5), r1(k5))

IIT Hyderbad, INDIA MV-OSTMs 12 / 43

Problem with read-write STMs

k2 k5 k7 k8 k9

Figure: A sample concurrent list

T1: lookup(k5), lookup(k8) & T2: delete(k7)

r1(k5) w2(k5) r1(k5)w2(k7)

T2

r2(k2) r2(k5) r1(k8)r1(k2)

T1

r1(k2) r2(k7)

Figure: Tree Structure : conflicts are (r1(k5), w2(k5)) and (w2(k5), r1(k5))

IIT Hyderbad, INDIA MV-OSTMs 12 / 43

Problem at read-write level

r1(k5) w2(k5) r1(k5)w2(k7)

T2

r2(k2) r2(k5) r2(k7)r1(k2) r1(k8)r1(k2)

T1

Figure: Tree Structure

Schedule cannot be accepted by a RWSTM.

T2T1

Figure: Cycle (Not Serial)

IIT Hyderbad, INDIA MV-OSTMs 13 / 43

Problem at read-write level

r1(k5) w2(k5) r1(k5)w2(k7)

T2

r2(k2) r2(k5) r2(k7)r1(k2) r1(k8)r1(k2)

T1

Figure: Tree Structure

Schedule cannot be accepted by a RWSTM.

T2T1

Figure: Cycle (Not Serial)IIT Hyderbad, INDIA MV-OSTMs 13 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 14 / 43

OSTM b c

Introduction

Object-based STMs (OSTM) operate on higher level objects ratherthan primitive read & writes which act upon memory locations.

OSTM for sets may export t begin(), t insert(), t delete(), t lookup()and tryC().

OSTM for stacks may export t begin(), t push(), t pop(), t peek()and tryC().

bHerlihy, M., Koskinen, E., Transactional boosting: a methodology for highly-concurrent transactional objects. PPoPP’08

cHassan, Ahmed and Palmieri, Roberto and Ravindran, Binoy, Optimistic Transactional Boosting, PPoPP’14

IIT Hyderbad, INDIA MV-OSTMs 15 / 43

OSTM b c

Introduction

Object-based STMs (OSTM) operate on higher level objects ratherthan primitive read & writes which act upon memory locations.

OSTM for sets may export t begin(), t insert(), t delete(), t lookup()and tryC().

OSTM for stacks may export t begin(), t push(), t pop(), t peek()and tryC().

bHerlihy, M., Koskinen, E., Transactional boosting: a methodology for highly-concurrent transactional objects. PPoPP’08

cHassan, Ahmed and Palmieri, Roberto and Ravindran, Binoy, Optimistic Transactional Boosting, PPoPP’14

IIT Hyderbad, INDIA MV-OSTMs 15 / 43

OSTM b c

Introduction

Object-based STMs (OSTM) operate on higher level objects ratherthan primitive read & writes which act upon memory locations.

OSTM for sets may export t begin(), t insert(), t delete(), t lookup()and tryC().

OSTM for stacks may export t begin(), t push(), t pop(), t peek()and tryC().

bHerlihy, M., Koskinen, E., Transactional boosting: a methodology for highly-concurrent transactional objects. PPoPP’08

cHassan, Ahmed and Palmieri, Roberto and Ravindran, Binoy, Optimistic Transactional Boosting, PPoPP’14

IIT Hyderbad, INDIA MV-OSTMs 15 / 43

OSTMExecution at layer-1

k2 k5 k7 k8 k9

Figure: A sample concurrent list

T1: lookup(k5), lookup(k8) & T2: delete(k7)

Layer-1: Lookups & Deletes

Layer-0: Reads

r2(k2) r2(k5) r2(k7) w2(k7) r1(k2)

d2(k7)

T2

c2

r1(k5) r1(k5)w2(k5)

l1(k5) l1(k8)

r1(k2) r1(k8)

T1

& Writes

Figure: Tree Structure : no conflict at Layer-1 d

dGerhard Weikum and Gottfried Vossen. 2001. Transactional Information Systems Book

IIT Hyderbad, INDIA MV-OSTMs 16 / 43

OSTMExecution at layer-1

k2 k5 k7 k8 k9

Figure: A sample concurrent list

T1: lookup(k5), lookup(k8) & T2: delete(k7)

Layer-1: Lookups & Deletes

Layer-0: Reads

r2(k2) r2(k5) r2(k7) w2(k7) r1(k2)

d2(k7)

T2

c2

r1(k5) r1(k5)w2(k5)

l1(k5) l1(k8)

r1(k2) r1(k8)

T1

& Writes

Figure: Tree Structure : no conflict at Layer-1 d

dGerhard Weikum and Gottfried Vossen. 2001. Transactional Information Systems Book

IIT Hyderbad, INDIA MV-OSTMs 16 / 43

OSTMExecution at layer-1

k2 k5 k7 k8 k9

Figure: A sample concurrent list

T1: lookup(k5), lookup(k8) & T2: delete(k7)

Layer-1: Lookups & Deletes

Layer-0: Reads

r2(k2) r2(k5) r2(k7) w2(k7) r1(k2)

d2(k7)

T2

c2

r1(k5) r1(k5)w2(k5)

l1(k5) l1(k8)

r1(k2) r1(k8)

T1

& Writes

Figure: Tree Structure : no conflict at Layer-1 d

dGerhard Weikum and Gottfried Vossen. 2001. Transactional Information Systems Book

IIT Hyderbad, INDIA MV-OSTMs 16 / 43

OSTMExecution at layer-1

d2(k7)

T2

l1(k5) l1(k8)

T1

Figure: Pruned Tree

l1(k8) d2(k7)

T2

l1(k5)

T1

Figure: Sequential Schedule

T2T1

Figure: Serial History

IIT Hyderbad, INDIA MV-OSTMs 17 / 43

OSTMExecution at layer-1

d2(k7)

T2

l1(k5) l1(k8)

T1

Figure: Pruned Tree

l1(k8) d2(k7)

T2

l1(k5)

T1

Figure: Sequential Schedule

T2T1

Figure: Serial History

IIT Hyderbad, INDIA MV-OSTMs 17 / 43

OSTMExecution at layer-1

d2(k7)

T2

l1(k5) l1(k8)

T1

Figure: Pruned Tree

l1(k8) d2(k7)

T2

l1(k5)

T1

Figure: Sequential Schedule

T2T1

Figure: Serial HistoryIIT Hyderbad, INDIA MV-OSTMs 17 / 43

Inefficiency with OSTM

T1

T2

A1

C2

Lu1(ht, k2, nil)

Ins2(ht, k2, v2)

Lu1(ht, k1,Abort)

Ins2(ht, k1, v2)

Figure: Single version OSTM

IIT Hyderbad, INDIA MV-OSTMs 18 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 19 / 43

Motivation towards MV-OSTMAdvantages of multi-versione over single version RWSTM

T1

T2

A1

C2

r1(k2, 0)

w2(k2, 10) w2(k1, 20)

r1(k1,Abort)

Figure: Single version RWSTM

T1

T2

C2

r1(k2, 0)

w2(k2, 10) w2(k1, 20)

C1r1(k1, 0)

Figure: Multi-version RWSTM (MV-RWSTM) : (T1, T2)

eKumar P., Peri S., and K. Vidyasankar. A TimeStamp Based Multi-version STM Algorithm. ICDCN, 2014

IIT Hyderbad, INDIA MV-OSTMs 20 / 43

Motivation towards MV-OSTMAdvantages of multi-versione over single version RWSTM

T1

T2

A1

C2

r1(k2, 0)

w2(k2, 10) w2(k1, 20)

r1(k1,Abort)

Figure: Single version RWSTM

T1

T2

C2

r1(k2, 0)

w2(k2, 10) w2(k1, 20)

C1r1(k1, 0)

Figure: Multi-version RWSTM (MV-RWSTM) : (T1, T2)

eKumar P., Peri S., and K. Vidyasankar. A TimeStamp Based Multi-version STM Algorithm. ICDCN, 2014

IIT Hyderbad, INDIA MV-OSTMs 20 / 43

Proposed Algorithm : MV-OSTMAdvantages of multi-version over single version OSTM

T1

T2

A1

C2

Lu1(ht, k2, nil)

Ins2(ht, k2, v2)

Lu1(ht, k1,Abort)

Ins2(ht, k1, v2)

Figure: Single version OSTM

T1

T2

C2

C1Lu1(ht, k2, nil)

Ins2(ht, k2, v2)

Lu1(ht, k1, nil)

Ins2(ht, k1, v2)

Figure: Multi-version OSTM (MV-OSTM) : (T1, T2)

IIT Hyderbad, INDIA MV-OSTMs 21 / 43

Proposed Algorithm : MV-OSTMAdvantages of multi-version over single version OSTM

T1

T2

A1

C2

Lu1(ht, k2, nil)

Ins2(ht, k2, v2)

Lu1(ht, k1,Abort)

Ins2(ht, k1, v2)

Figure: Single version OSTM

T1

T2

C2

C1Lu1(ht, k2, nil)

Ins2(ht, k2, v2)

Lu1(ht, k1, nil)

Ins2(ht, k1, v2)

Figure: Multi-version OSTM (MV-OSTM) : (T1, T2)

IIT Hyderbad, INDIA MV-OSTMs 21 / 43

Proposed Algorithm : MV-OSTMHigh-level data structure

A transaction Ti is assigned a unique timestamp i , when invoked.

Timestamps are monotonically increasing.

Ti can issue t lookup(), t insert(), t delete() and tryC() methods.

k1

1

2

3

4

m

k3 k6

+∞−∞ k8k7

Figure: MV-OSTM designf

fSathya Peri, Ajay Singh, and Archit Somani, Efficient means of Achieving Composability using Object based Conflicts on

Transactional Memory, NETYS’18

IIT Hyderbad, INDIA MV-OSTMs 22 / 43

Proposed Algorithm : MV-OSTMHigh-level data structure

A transaction Ti is assigned a unique timestamp i , when invoked.

Timestamps are monotonically increasing.

Ti can issue t lookup(), t insert(), t delete() and tryC() methods.

k1

1

2

3

4

m

k3 k6

+∞−∞ k8k7

Figure: MV-OSTM designf

fSathya Peri, Ajay Singh, and Archit Somani, Efficient means of Achieving Composability using Object based Conflicts on

Transactional Memory, NETYS’18

IIT Hyderbad, INDIA MV-OSTMs 22 / 43

Proposed Algorithm : MV-OSTMHigh-level data structure cont’d..

RVL(Return Value List)

VL(Version List)k1

0 v0 rvl1T

201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23

rvl3

35

ts val rvlMark

Figure: Data Structure for maintaining versions

IIT Hyderbad, INDIA MV-OSTMs 23 / 43

Proposed Algorithm : MV-OSTMt lookup() method

t lookup() rule: Ti on invoking Lui (k1) lookups the value v insertedby a transaction Tj that commits before Lui (k1) and j is the largesttimestamp ≤ i .

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23 35

rvl3

13

Figure: Lookup on key k1 by T13

IIT Hyderbad, INDIA MV-OSTMs 24 / 43

Proposed Algorithm : MV-OSTMt lookup() method

t lookup() rule: Ti on invoking Lui (k1) lookups the value v insertedby a transaction Tj that commits before Lui (k1) and j is the largesttimestamp ≤ i .

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23 35

rvl3

13

Figure: Lookup on key k1 by T13

IIT Hyderbad, INDIA MV-OSTMs 24 / 43

Proposed Algorithm : MV-OSTMt lookup() method cont’d..

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23 35

rvl3

13

Figure: T13 searching appropriate place in version list of k1

IIT Hyderbad, INDIA MV-OSTMs 25 / 43

Proposed Algorithm : MV-OSTMt lookup() method cont’d..

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23 35

rvl3

13

Figure: T13 successfully added into rvl1

IIT Hyderbad, INDIA MV-OSTMs 26 / 43

Proposed Algorithm : MV-OSTMt insert(), t delete(), and tryC() methods

t insert() and t delete() rule: Ti inserts and delete into localmemory. The actual effect of both the methods will come in tryC().

tryC() rule: Ti on invoking tryC() operation checks for each key k ,in its Insert set and Delete set:

1 If a transaction Tk has lookups k from Tj and k is committed with j <i < k, then tryCi () returns abort.

2 otherwise, the transaction Ti is allowed to commit.

IIT Hyderbad, INDIA MV-OSTMs 27 / 43

Proposed Algorithm : MV-OSTMtryC() : t insert() method

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

13 201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23 35

rvl3

40

Figure: Insert a version of key k1 by T40

IIT Hyderbad, INDIA MV-OSTMs 28 / 43

Proposed Algorithm : MV-OSTMtryC() : t insert() method cont’d..

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

13 201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23 35

rvl3

40

Figure: T40 searching appropriate place in version list of k1

IIT Hyderbad, INDIA MV-OSTMs 29 / 43

Proposed Algorithm : MV-OSTMtryC() : t insert() method cont’d..

k1

0 v0 rvl1T

13 201675 2827 30

15 v5 F rvl2

12 18 23 35

40 F rvl3v1525 F rvl3v10

Figure: T40 successfully created a new version of k1

IIT Hyderbad, INDIA MV-OSTMs 30 / 43

Proposed Algorithm : MV-OSTMtryC() : t insert() method cont’d..

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

13 201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23

rvl3

40

45c

Figure: Insert a version of key k1 by T40

IIT Hyderbad, INDIA MV-OSTMs 31 / 43

Proposed Algorithm : MV-OSTMtryC() : t insert() method cont’d..

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

13 201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23

rvl3

40

45c

Figure: T40 searching appropriate place in version list of k1

IIT Hyderbad, INDIA MV-OSTMs 32 / 43

Proposed Algorithm : MV-OSTMtryC() : t insert() method cont’d..

VL(Version List)

RVL(Return Value List)

k1

0 v0 rvl1T

13 201675 2827 30

15 v5 F rvl2 25 v10 F

12 18 23

rvl3

40

45c

Figure: Abort T40 : T45 committed before T40

IIT Hyderbad, INDIA MV-OSTMs 33 / 43

Correctness of MV-OSTM g

Theorem (1)

Any history generated by HT-MVOSTM is opaque.

Theorem (2)

HT-MVOSTM with unbounded versions ensures that lookup methods donot return abort.

gArxiv Link: https://arxiv.org/abs/1712.09803

IIT Hyderbad, INDIA MV-OSTMs 34 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 35 / 43

Experimental Evaluation

Setup

Intel(R) Xeon(R) CPU, 32 GB RAM, 56 Threads.

We have compared proposed HT-MVOSTM with HT-OSTM / ElasticSTM(ESTM)a / Read Write STM (RWSTM) / Multi-Version Timestamp ordering Protocol(HT-MVTO).

We have compared proposed list-MVOSTM with list-OSTM /Boosted-list / NOrec-listb / Trans-listc / list-MVTO

aFelber, P., Gramoli, V., Guerraoui, R.: Elastic Transactions. J. Parallel Distrib. Comput.100(C), 2017

bDalessandro, L., Spear, M.F., Scott, M.L.: NOrec: Streamlining STM by Abolishing Own-ership Records. In

Govindarajan, R., Padua, D.A., Hall, M.W., eds.: PPOPP’10c

Zhang, D., Dechev, D.: Lock-free Transactions Without Rollbacks for Linked Data Structures. SPAA’16

IIT Hyderbad, INDIA MV-OSTMs 36 / 43

Experimental Evaluation Cont’d..

Lookup Intensive Workload: lookup:90%, insert:8% & delete:2%Update Intensive Workload: lookup:10%, insert:45% & delete:45%

2 4 8 1 6 3 2 6 40 . 0 0 0

0 . 0 0 2

0 . 0 0 4

0 . 0 0 6

0 . 0 0 8

0 . 0 1 0

2 4 8 1 6 3 2 6 40 . 0 0

0 . 0 5

0 . 1 0

0 . 1 5

0 . 2 0

0 . 2 5

0 . 3 0

( b ) U p d a t e I n t e n s i v e W o r k l o a d( a ) L o o k u p I n t e n s i v e W o r k l o a d

Time (

Sec.)

# o f t h r e a d s

H T - M V O S T M H T - O S T M E S T M R W S T M H T - M V T O

# o f t h r e a d s

Figure: Performance of HT-MVOSTM

Proposed HT-MVOSTM gives better performance while improving the concurrency.

IIT Hyderbad, INDIA MV-OSTMs 37 / 43

Experimental Evaluation Cont’d..

2 4 8 1 6 3 2 6 40 . 0 00 . 0 10 . 0 20 . 0 30 . 0 40 . 0 50 . 0 60 . 0 70 . 0 8

2 4 8 1 6 3 2 6 40 . 0

0 . 1

0 . 2

0 . 3

0 . 4

0 . 5

0 . 6

( b ) U p d a t e I n t e n s i v e W o r k l o a d( a ) L o o k u p I n t e n s i v e W o r k l o a d

Time (

Sec.)

# o f t h r e a d s

l i s t - M V O S T M l i s t - O S T M T r a n s - l i s t B o o s t i n g - l i s t N O r e c - l i s t l i s t - M V T O

# o f t h r e a d s

Figure: Performance of list-MVOSTM

Proposed list-MVOSTM gives better performance while improving the concurrency.

IIT Hyderbad, INDIA MV-OSTMs 38 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 39 / 43

Conclusion

We have combined both multi-version and OSTM ideas carefullycalled as MV-OSTM, for harnessing greater concurrency in STMs.

HT-MVOSTM shows average speedup of 6.3, 11.2, 4.7, 2.7 times forstate of the art HT-MVTO, RWSTM, ESTM & HT-OSTMrespectively.

The average speedup achieved by list-MVOSTM from state of the artlist-MVTO, NOrec-list, Boosting-list, Trans-list, list-OSTM are 91.5,29.5, 23, 24, 2.1 respectively.

IIT Hyderbad, INDIA MV-OSTMs 40 / 43

Conclusion

We have combined both multi-version and OSTM ideas carefullycalled as MV-OSTM, for harnessing greater concurrency in STMs.

HT-MVOSTM shows average speedup of 6.3, 11.2, 4.7, 2.7 times forstate of the art HT-MVTO, RWSTM, ESTM & HT-OSTMrespectively.

The average speedup achieved by list-MVOSTM from state of the artlist-MVTO, NOrec-list, Boosting-list, Trans-list, list-OSTM are 91.5,29.5, 23, 24, 2.1 respectively.

IIT Hyderbad, INDIA MV-OSTMs 40 / 43

Conclusion

We have combined both multi-version and OSTM ideas carefullycalled as MV-OSTM, for harnessing greater concurrency in STMs.

HT-MVOSTM shows average speedup of 6.3, 11.2, 4.7, 2.7 times forstate of the art HT-MVTO, RWSTM, ESTM & HT-OSTMrespectively.

The average speedup achieved by list-MVOSTM from state of the artlist-MVTO, NOrec-list, Boosting-list, Trans-list, list-OSTM are 91.5,29.5, 23, 24, 2.1 respectively.

IIT Hyderbad, INDIA MV-OSTMs 40 / 43

Outline

1 Introduction to STMs

2 Problem with read-write STMs

3 Object Based STMs

4 Motivation towards MV-OSTM

5 Experimental Evaluation

6 Conclusion

7 Future Work

IIT Hyderbad, INDIA MV-OSTMs 41 / 43

ProgressFuture Work

MV-OSTM model can be extended to Starvation-free multi-versionOSTM (SF-MVOSTM).

MV-OSTM can be enlarged to other data structures like Queue,Stack, Tree etc.

An interesting aspect is exploring Nestingh for MV-OSTM in whichone object-based transaction invokes other read-write transaction.

hNi, Yang and Menon, Vijay S. and Adl-Tabatabai, Ali-Reza and Hosking, Antony L. and Hudson, Richard L. and Moss, J.

Eliot B. and Saha, Bratin and Shpeisman, Tatiana, Open Nesting in Software Transactional Memory, PPoPP ’07

IIT Hyderbad, INDIA MV-OSTMs 42 / 43

ProgressFuture Work

MV-OSTM model can be extended to Starvation-free multi-versionOSTM (SF-MVOSTM).

MV-OSTM can be enlarged to other data structures like Queue,Stack, Tree etc.

An interesting aspect is exploring Nestingh for MV-OSTM in whichone object-based transaction invokes other read-write transaction.

hNi, Yang and Menon, Vijay S. and Adl-Tabatabai, Ali-Reza and Hosking, Antony L. and Hudson, Richard L. and Moss, J.

Eliot B. and Saha, Bratin and Shpeisman, Tatiana, Open Nesting in Software Transactional Memory, PPoPP ’07

IIT Hyderbad, INDIA MV-OSTMs 42 / 43

ProgressFuture Work

MV-OSTM model can be extended to Starvation-free multi-versionOSTM (SF-MVOSTM).

MV-OSTM can be enlarged to other data structures like Queue,Stack, Tree etc.

An interesting aspect is exploring Nestingh for MV-OSTM in whichone object-based transaction invokes other read-write transaction.

hNi, Yang and Menon, Vijay S. and Adl-Tabatabai, Ali-Reza and Hosking, Antony L. and Hudson, Richard L. and Moss, J.

Eliot B. and Saha, Bratin and Shpeisman, Tatiana, Open Nesting in Software Transactional Memory, PPoPP ’07

IIT Hyderbad, INDIA MV-OSTMs 42 / 43

IIT Hyderbad, INDIA MV-OSTMs 43 / 43

top related