2013 IEEE 27th International Symposium on Parallel and Distributed Processing 2013
DOI: 10.1109/ipdps.2013.42
|View full text |Cite
|
Sign up to set email alerts
|

Composing Relaxed Transactions

Abstract: Abstract-As the classic transactional abstraction is sometimes considered too restrictive in leveraging parallelism, a lot of work has been devoted to devising relaxed transactional models with the goal of improving concurrency. Nevertheless, the quest for improving concurrency has somehow led to neglect one of the most appealing aspects of transactions: software composition, namely, the ability to develop pieces of software independently and compose them into applications that behave correctly in the face of … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
8
0

Year Published

2014
2014
2020
2020

Publication Types

Select...
3
3
1

Relationship

0
7

Authors

Journals

citations
Cited by 7 publications
(8 citation statements)
references
References 35 publications
0
8
0
Order By: Relevance
“…val ← next node in parentQ ▷ stays in parentQ 11: if val = ⊥ 12: val ← childQ.deq() ▷ Removed from childQ return val 13: procedure migrate 14: parentQ.appendAll(childQ) 15: procedure validate return true 16: Skiplist 17: sharedSkiplist ▷ Shared among all threads 18: parentReadSet, parentWriteSet ▷ Thread local 19: childReadSet, childWriteSet ▷ Thread local 20: procedure nGet(key) 21: add key to childReadSet 22: if key ∈ childWriteSet 23: return value from childWriteSet 24: else if key ∈ parentWriteSet 25: return value from parentWriteSet 26: else if key ∈ sharedSkiplist 27: return value from sharedSkiplist 28: return ⊥ 29: procedure nPut(key,value) 30: add key to childWriteSet 31: procedure validate 32: for each obj in childReadSet do 33: if obj.version > parent version 34: abort 35: procedure migrate 36: merge childWriteSet into parentWriteSet 37: merge childReadSet into parentReadSet Algorithm 4 Potential deadlock with nesting…”
Section: Nesting In Transactional Librariesmentioning
confidence: 99%
“…val ← next node in parentQ ▷ stays in parentQ 11: if val = ⊥ 12: val ← childQ.deq() ▷ Removed from childQ return val 13: procedure migrate 14: parentQ.appendAll(childQ) 15: procedure validate return true 16: Skiplist 17: sharedSkiplist ▷ Shared among all threads 18: parentReadSet, parentWriteSet ▷ Thread local 19: childReadSet, childWriteSet ▷ Thread local 20: procedure nGet(key) 21: add key to childReadSet 22: if key ∈ childWriteSet 23: return value from childWriteSet 24: else if key ∈ parentWriteSet 25: return value from parentWriteSet 26: else if key ∈ sharedSkiplist 27: return value from sharedSkiplist 28: return ⊥ 29: procedure nPut(key,value) 30: add key to childWriteSet 31: procedure validate 32: for each obj in childReadSet do 33: if obj.version > parent version 34: abort 35: procedure migrate 36: merge childWriteSet into parentWriteSet 37: merge childReadSet into parentReadSet Algorithm 4 Potential deadlock with nesting…”
Section: Nesting In Transactional Librariesmentioning
confidence: 99%
“…Other STM variants, such open nested transactions [35], support a more relaxed transaction model that leverages some semantic knowledge based on programmers' input. The relaxation of STM systems and its implication on composability have been studied by Gramoli et al [13]. The work by Golan-Gueta et al [12] applies commutativity specifications obtained from programmers' input to inferring locks for abstract data types.…”
Section: Semantic Conflict Detectionmentioning
confidence: 99%
“…Other STM variants, such open nested transactions [32] support a more relaxed transaction model that leverages some semantic knowledge based on programmers' input. The relaxation of STM systems and its implication on composability have been studied by Gramoli et al [13]. The work by Golan-Gueta et al [12] applies commutativity specification obtained from programmers' input to inferring locks for abstract data types.…”
Section: Semantic Conflict Detectionmentioning
confidence: 99%
“…Because of such hazards, users are often forced to fall back to locking and even coarse-grained locking, which has a negative impact on performance and annihilates the non-blocking progress guarantees provided by some concurrent containers. The problem of implementing high-performance transac-tional data structures 4 is important and has recently gained much attention [2,11,12,13,19,21,26]. We refer to a transaction as sequence of linearizable operations on a concurrent data structure.…”
Section: Introductionmentioning
confidence: 99%