CAR-STM: scheduling-based collision avoidance and resolution for software transactional memory

@inproceedings{Dolev2008CARSTMSC,
  title={CAR-STM: scheduling-based collision avoidance and resolution for software transactional memory},
  author={S. Dolev and D. Hendler and Adi Suissa},
  booktitle={PODC '08},
  year={2008}
}
Transactional memory (TM) is a key concurrent programming abstraction. Several software-based transactional memory (STM) implementations have been developed in recent years. All STM implementations must guarantee transaction atomicity but different STM implementations may provide different progress guarantees. In order to ensure progress, an STM implementation must resolve transaction conflicts. This is done either by the implementation itself or by delegating conflict resolution to a separate… Expand
Scheduling Closed-Nested Transactions in Distributed Transactional Memory
TLDR
This work considers Herlihy and Sun's dataflow D-STM model, where objects are migrated to invoking transactions, and the closed nesting model of managing inner (distributed) transactions and presents a transactional scheduler called RTS, to boost the throughput of closed-nested transactions. Expand
Scheduling Closed-Nested Transactions in Distributed Transactional Memory
TLDR
This work considers Herlihy and Sun's dataflow D-STM model, where objects are migrated to invoking transactions, and the closed nesting model of managing inner (distributed) transactions and presents a transactional scheduler called RTS, to boost the throughput of closed-nested transactions. Expand
Handling Conflicts with Compiler's Help in Software Transactional Memory Systems
TLDR
A scheme based on compiler analysis is proposed, which can identify static atomic sections whose instances, when executed concurrently by more than one thread always conflict, and is referred to as Always Conflicting Atomic Section (ACAS). Expand
On the impact of serializing contention management on STM performance
TLDR
This work investigates how serializing CM influences the performance of STM systems and implements adaptive algorithms that control the activation of serialization CM according to measured contention level, based on a novel low-overhead serialization mechanism. Expand
On the Impact of Serializing Contention Management on STM Performance
Transactional memory (TM) is an emerging concurrent programming abstraction. Numerous software-based transactional memory (STM) implementations have been developed in recent years. STMExpand
Transaction Scheduling Using Dynamic Conflict Avoidance
TLDR
This article proposes LUTS, a lightweight user-level transaction scheduler that provides the means for selecting another transaction to run in parallel, thus improving system throughput and proposes a dynamic conflict-avoidance heuristic built around its scheduling capabilities. Expand
Reconciling transactional conflicts with compiler's help
TLDR
A compiler aided Selective Reconciliation STM (SR-STM) scheme, wherein certain transactional conflicts can be reconciled by performing partial re-execution of the transaction, which is effective in reducing the transactional abort overheads. Expand
Techniques to Improve Concurrency in Hardware Transactional Memory
TLDR
This thesis proposes a flexible mechanism that allows efficient storage and access to two versions of the same logical data, improving overall system performance and energy efficiency and explores two solutions to reduce system contention - circumstances where transactions abort due to data dependencies - in order to improve concurrency of HTM systems. Expand
WFR-TM: Wait-free readers without sacrificing speculation of writers
TLDR
In WFR-TM, read-only transactions not only are wait-free, but also they never execute expensive synchronization operations (like CAS, LL/SC, etc.). Expand
Deadline-aware scheduling for Software Transactional Memory
TLDR
This paper proposes to support reactive applications by allowing the developer to annotate some transaction blocks with deadlines by adjusting the transaction execution strategy by decreasing the level of optimism as the deadlines near through two modes of conservative execution, without overly limiting the progress of concurrent transactions. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 26 REFERENCES
McRT-STM: a high performance software transactional memory system for a multi-core runtime
TLDR
A software transactional memory (STM) system that is part of McRT, an experimental Multi-Core RunTime, and a detailed performance analysis of various STM design tradeoffs such as pessimistic versus optimistic concurrency, undo logging versus write buffering, and cache line based versus object based conflict detection are presented. Expand
Transactional memory: architectural support for lock-free data structures
TLDR
Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock. Expand
Polymorphic Contention Management
In software transactional memory (STM) systems, a contention manager resolves conflicts among transactions accessing the same memory locations. Whereas atomicity and serializability of theExpand
Transactional memory coherence and consistency
TLDR
To explore the costs and benefits of TCC, the characteristics of an optimal transaction-based memory system are studied, and how different design parameters could affect the performance of real systems are examined. Expand
Advanced contention management for dynamic software transactional memory
TLDR
This work considers both visible and invisible versions of read access, and benchmarks that vary in complexity, level of contention, tendency toward circular dependence, and mix of reads and writes, and identifies a candidate default policy. Expand
Software transactional memory
TLDR
STM is used to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction, and outperforms Herlihy’s translation method for sufficiently large numbers of processors. Expand
LogTM: log-based transactional memory
TLDR
This paper presents a new implementation of transactional memory, log-based transactionalMemory (LogTM), that makes commits fast by storing old values to a per-thread log in cacheable virtual memory and storing new values in place. Expand
Language support for lightweight transactions
TLDR
This work argues that these problems can be addressed by moving to a declarative style of concurrency control in which programmers directly indicate the safety properties that they require, which is easier for mainstream programmers to use, prevents lock-based priority-inversion and deadlock problems and can offer performance advantages. Expand
Software transactional memory for dynamic-sized data structures
TLDR
A new form of software transactional memory designed to support dynamic-sized data structures, and a novel non-blocking implementation of this STM that uses modular contention managers to ensure progress in practice. Expand
Adaptive Software Transactional Memory
TLDR
This paper considers four dimensions of the STM design space and presents a new Adaptive STM (ASTM) system that adjusts to the offered workload, allowing it to match the performance of the best known existing system on every tested workload. Expand
...
1
2
3
...