An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs Sandeep Kulkarni 2 Sweta Kumari 1 Sathya Peri 1 Archit Somani 1 1 Department of Computer Science Engineering, IIT Hyderabad 2 Department of Computer Science, Michigan State University IIT Hyderbad MV-OSTMs 1 / 37
64
Embed
An Innovative Approach for Achieving …sathya_p/AADDA/AADDA2018 Info...An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
An Innovative Approach for Achieving Composability inConcurrent Systems using Multi-Version Object Based
STMs
Sandeep Kulkarni2 Sweta Kumari1 Sathya Peri1
Archit Somani1
1Department of Computer Science Engineering, IIT Hyderabad2Department of Computer Science, Michigan State University
IIT Hyderbad MV-OSTMs 1 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
IIT Hyderbad MV-OSTMs 2 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
IIT Hyderbad MV-OSTMs 3 / 37
Introduction to STMs
Software Transactional Memory
What is a transaction?
Sequence of instructions executing in memory.
Satisfying ACI
What is Software Transactional Memory?
A parallel programming paradigm
Avoids concurrency overheads at programmers level
Execute code optimistically
Methods of STMs :
Read
Write
TryC
IIT Hyderbad MV-OSTMs 4 / 37
Introduction to STMs
Software Transactional Memory
What is a transaction?
Sequence of instructions executing in memory.
Satisfying ACI
What is Software Transactional Memory?
A parallel programming paradigm
Avoids concurrency overheads at programmers level
Execute code optimistically
Methods of STMs :
Read
Write
TryC
IIT Hyderbad MV-OSTMs 4 / 37
Introduction to STMs
Software Transactional Memory
What is a transaction?
Sequence of instructions executing in memory.
Satisfying ACI
What is Software Transactional Memory?
A parallel programming paradigm
Avoids concurrency overheads at programmers level
Execute code optimistically
Methods of STMs :
Read
Write
TryC
IIT Hyderbad MV-OSTMs 4 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Illustration 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 MV-OSTMs 5 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
Correctness of STM System
Correcness criteria for STMs (Opacity)
A history H is opaque if there exists a serial history S s.t.1 Operations of H and S are same2 S respects real time order ≺RT
H and3 ∀ trans(Ti ) ∈ S are legal in S
IIT Hyderbad MV-OSTMs 7 / 37
Correctness of STM System
Correcness criteria for STMs (Opacity)
A history H is opaque if there exists a serial history S s.t.1 Operations of H and S are same2 S respects real time order ≺RT
H and3 ∀ trans(Ti ) ∈ S are legal in S
IIT Hyderbad MV-OSTMs 7 / 37
Correctness of STM System
Example of opacity
H: r1(x,0)w2(x,10)w2(y,10)C2r1(y,A)A1
w2(x , 10) w2(y , 10)
A1r1(x , 0)
C2
T1
T2
r1(y ,A)
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 MV-OSTMs 8 / 37
Correctness of STM System
Example of opacity
H: r1(x,0)w2(x,10)w2(y,10)C2r1(y,A)A1
w2(x , 10) w2(y , 10)
A1r1(x , 0)
C2
T1
T2
r1(y ,A)
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 MV-OSTMs 8 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
IIT Hyderbad MV-OSTMs 9 / 37
Problem with read-write STM
k2 k5 k7 k8 k9
Figure: A sample concurrent object
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 MV-OSTMs 10 / 37
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
T2T1
Figure: Cycle (Not Serial)
IIT Hyderbad MV-OSTMs 11 / 37
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
T2T1
Figure: Cycle (Not Serial)
IIT Hyderbad MV-OSTMs 11 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
IIT Hyderbad MV-OSTMs 12 / 37
OSTMIntroduction
Object-based STMs (OSTM) operate on higher level objects ratherthan primitive read & writes which act upon memory locations.
OSTM model can adapted:
OSTM for stacks may export t push, t pop & t peek.OSTM for sets may export t begin(), t insert(), t del(), t lookup() andtryC().
IIT Hyderbad MV-OSTMs 13 / 37
OSTMIntroduction
Object-based STMs (OSTM) operate on higher level objects ratherthan primitive read & writes which act upon memory locations.
OSTM model can adapted:
OSTM for stacks may export t push, t pop & t peek.OSTM for sets may export t begin(), t insert(), t del(), t lookup() andtryC().
IIT Hyderbad MV-OSTMs 13 / 37
OSTMExecution at layer-1
k2 k5 k7 k8 k9
Figure: A sample representing a OSTM object
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
IIT Hyderbad MV-OSTMs 14 / 37
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 MV-OSTMs 15 / 37
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 MV-OSTMs 15 / 37
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 MV-OSTMs 15 / 37
OSTMProblem with OSTM
T1
T2
A1
C2
Lu1(ht, k2, nil)
Ins2(ht, k2, v2) Del2(ht, k1, nil)
Lu1(ht, k1,Abort)
Figure: Single version OSTM
IIT Hyderbad MV-OSTMs 16 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
IIT Hyderbad MV-OSTMs 17 / 37
Proposed Algorithm : MV-OSTMAdvantages of multi-version over single version OSTM
T1
T2
A1
C2
Lu1(ht, k2, nil)
Ins2(ht, k2, v2) Del2(ht, k1, nil)
Lu1(ht, k1,Abort)
Figure: Single version OSTM
T1
T2
C2
C1Lu1(ht, k2, nil)
Ins2(ht, k2, v2) Del2(ht, k1, nil)
Lu1(ht, k1, nil)
Figure: Multi-version OSTM (MV-OSTM) : (T1, T2)
IIT Hyderbad MV-OSTMs 18 / 37
Proposed Algorithm : MV-OSTMAdvantages of multi-version over single version OSTM
T1
T2
A1
C2
Lu1(ht, k2, nil)
Ins2(ht, k2, v2) Del2(ht, k1, nil)
Lu1(ht, k1,Abort)
Figure: Single version OSTM
T1
T2
C2
C1Lu1(ht, k2, nil)
Ins2(ht, k2, v2) Del2(ht, k1, nil)
Lu1(ht, k1, nil)
Figure: Multi-version OSTM (MV-OSTM) : (T1, T2)
IIT Hyderbad MV-OSTMs 18 / 37
Proposed Algorithm : MV-OSTMIllustration of data structure
a) Underlying DS
k7 k8 +∞k1−∞ k5
IIT Hyderbad MV-OSTMs 19 / 37
Proposed Algorithm : MV-OSTMIllustration of data structure cont’d..
Any history H generated by MV-OSTM algorithm with a given versionorder �, if OPG (H,�) is acyclic, then H is opaque.
IIT Hyderbad MV-OSTMs 31 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
IIT Hyderbad MV-OSTMs 32 / 37
Conclusion
MV-OSTM is opaque.
We have proposed a new STM as MV-OSTM which providing thegreater concurrency in terms of the number of aborts with the help ofmultiple versions and composability.
Lookup operation always succeeds.
Delete operation is logically deletes, in that sense it’s lazy.
Transactions are composable [Harris et.al, 2005], [Ziv et.al, 2015].
IIT Hyderbad MV-OSTMs 33 / 37
Conclusion
MV-OSTM is opaque.
We have proposed a new STM as MV-OSTM which providing thegreater concurrency in terms of the number of aborts with the help ofmultiple versions and composability.
Lookup operation always succeeds.
Delete operation is logically deletes, in that sense it’s lazy.
Transactions are composable [Harris et.al, 2005], [Ziv et.al, 2015].
IIT Hyderbad MV-OSTMs 33 / 37
Conclusion
MV-OSTM is opaque.
We have proposed a new STM as MV-OSTM which providing thegreater concurrency in terms of the number of aborts with the help ofmultiple versions and composability.
Lookup operation always succeeds.
Delete operation is logically deletes, in that sense it’s lazy.
Transactions are composable [Harris et.al, 2005], [Ziv et.al, 2015].
IIT Hyderbad MV-OSTMs 33 / 37
Conclusion
MV-OSTM is opaque.
We have proposed a new STM as MV-OSTM which providing thegreater concurrency in terms of the number of aborts with the help ofmultiple versions and composability.
Lookup operation always succeeds.
Delete operation is logically deletes, in that sense it’s lazy.
Transactions are composable [Harris et.al, 2005], [Ziv et.al, 2015].
IIT Hyderbad MV-OSTMs 33 / 37
Conclusion
MV-OSTM is opaque.
We have proposed a new STM as MV-OSTM which providing thegreater concurrency in terms of the number of aborts with the help ofmultiple versions and composability.
Lookup operation always succeeds.
Delete operation is logically deletes, in that sense it’s lazy.
Transactions are composable [Harris et.al, 2005], [Ziv et.al, 2015].
IIT Hyderbad MV-OSTMs 33 / 37
Outline
1 Introduction to STMs
2 Correctness Criteria of STMs
3 Problem with read-write STM
4 Object Based STMs
5 Motivation towards MV-OSTM
6 Correctness of MV-OSTM
7 Conclusion
8 Future Work
IIT Hyderbad MV-OSTMs 34 / 37
ProgressFuture Work
Garbage Collection.
We will extend it for K-version MV-OSTM.
We will implement our proposed protocol and compare theperformance with existing Object-Based STMs [Hassan et.al, 2014].
Nesting : open [Yang et.al, 2007] and close.
IIT Hyderbad MV-OSTMs 35 / 37
ProgressFuture Work
Garbage Collection.
We will extend it for K-version MV-OSTM.
We will implement our proposed protocol and compare theperformance with existing Object-Based STMs [Hassan et.al, 2014].
Nesting : open [Yang et.al, 2007] and close.
IIT Hyderbad MV-OSTMs 35 / 37
ProgressFuture Work
Garbage Collection.
We will extend it for K-version MV-OSTM.
We will implement our proposed protocol and compare theperformance with existing Object-Based STMs [Hassan et.al, 2014].
Nesting : open [Yang et.al, 2007] and close.
IIT Hyderbad MV-OSTMs 35 / 37
ProgressFuture Work
Garbage Collection.
We will extend it for K-version MV-OSTM.
We will implement our proposed protocol and compare theperformance with existing Object-Based STMs [Hassan et.al, 2014].
Nesting : open [Yang et.al, 2007] and close.
IIT Hyderbad MV-OSTMs 35 / 37
References
1 Harris, Tim and Marlow, Simon and Peyton-Jones, Simon and Herlihy, Maurice.Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposiumon Principles and practice of parallel programming, 2005
2 Gerhard Weikum and Gottfried Vossen. 2001. Transactional Information Systems:Theory, Algorithms, and the Practice of Concurrency Control and Recovery. MorganKaufmann Publishers Inc., San Francisco, CA, USA
3 Ziv, Ofri and Aiken, Alex and Golan-Gueta, Guy and Ramalingam, G and Sagiv, Mooly,Composing concurrency control, Proceedings of the 36th ACM SIGPLAN Conference onProgramming Language Design and Implementation, 2015
4 Kuznetsov, Petr and Peri, Sathya, Non-interference and Local Correctness inTransactional Memory, ICDCN, 2014
5 Hassan, Ahmed and Palmieri, Roberto and Ravindran, Binoy, Optimistic TransactionalBoosting, Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practiceof Parallel Programming, PPoPP ’14
6 Priyanka Kumar, Sathya Peri, and K. Vidyasankar. A TimeStamp Based Multi-versionSTM Algorithm. In ICDCN, pages 212–226, 2014
7 Ni, Yang and Menon, Vijay S. and Adl-Tabatabai, Ali-Reza and Hosking, Antony L. andHudson, Richard L. and Moss, J. Eliot B. and Saha, Bratin and Shpeisman, Tatiana,Open Nesting in Software Transactional Memory, PPoPP ’07