Advanced contention management for dynamic software transactional memory

@inproceedings{Scherer2005AdvancedCM,
  title={Advanced contention management for dynamic software transactional memory},
  author={William N. Scherer and Michael L. Scott},
  booktitle={PODC '05},
  year={2005}
}
The obstruction-free Dynamic Software Transactional Memory (DSTM) system of Herlihy et al@. allows only one transaction at a time to acquire an object for writing. Should a second require an object currently in use, a contention manager must determine which may proceed and which must wait or abort.We analyze both new and existing policies for this contention management problem, using experimental results from a 16-processor SunFire machine. We consider both visible and invisible versions of… 

Figures from this paper

A New Contention Management Technique for Obstruction Free Transactional Memory

TLDR
The major challenges faced by two state of the art OFTMs viz.

A comprehensive strategy for contention management in software transactional memory

TLDR
Experimental evaluation demonstrates that the overhead of the mechanisms is low, particularly when conflicts are rare, and that the strategy as a whole provides good throughput and fairness, including livelock and starvation freedom, even for challenging workloads.

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 the

Adaptive soft ware transactional memory : dynamic contention management

TLDR
A dynamic contention manager that monitors current performance and chooses the proper contention manager accordingly is introduced, which yields a higher average performance level over time when compared with existing static implementations.

Lowering the Overhead of Nonblocking Software Transactional Memory

TLDR
This work considers the design of low-overhead, obstruction-free software transactional memory for non-garbage-collected languages and eliminates dynamic allocation of transactional metadata and co-locates data that are separate in other systems, thereby reducing the expected number of cache misses on the common-case code path.

Profiling-based Adaptive Contention Management for Software Transactional Memory

  • Zhengyu HeXiao YuBo Hong
  • Computer Science
    2012 IEEE 26th International Parallel and Distributed Processing Symposium
  • 2012
TLDR
Experimental results demonstrate that the proposed adaptive contention manager (ACM) outperforms static CMs across benchmarks and platforms and the ACM that uses the number of aborts for the profiling length performs better than others.

Refereeing Conflicts in Transactional Memory Systems

TLDR
This paper analysis across a wide range of applications reveals that simply stalling before arbitrating helps side-step conflicts and avoid making the wrong decision, and evaluates a mixed conflict detection mode that combines the best of eager and lazy.

Adaptive Software Transactional Memory: A Dynamic Approach to Contention Management

TLDR
Problems surrounding contention management are discussed, related work addressing these problems, a new dynamic contention manager algorithm yielding an Adaptive STM (ASTM) library, experimental results comparing static versus dynamic contention management, and an analysis of the result.

Assessing the influence of data access patterns and contention management policies on the performance of software transactional memory systems

TLDR
This work presents a novel approach to contention management (CM), which binds different CM strategies to different data in a programme, based on the access patterns to these data.

Implementation tradeoffs in the design of flexible transactional memory support

...

References

SHOWING 1-10 OF 15 REFERENCES

Contention Management in Dynamic Software Transactional Memory ∗

TLDR
This work considers the Java-based obstruction-free Dynamic Software Transaction Memory (DSTM) system of Herlihy et al, introduces several novel policies for contention management, and evaluates their performance on a variety of benchmarks.

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.

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.

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.

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.

Preemption Adaptivity in Time-Published Queue-Based Spin Locks

TLDR
Results show that time-published locks make it feasible, for the first time, to use queue-based spin locks on multiprogrammed systems with a standard kernel interface.

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.

Practical lock-freedom

TLDR
This dissertation introduces and evaluates practical abstractions and data structures that facilitate the development of large-scale lock-free systems and presents an implementation of two useful abstractions that make it easier to develop arbitrary lock- free data structures.

Obstruction-free synchronization: double-ended queues as an example

We introduce obstruction-freedom, a new nonblocking property for shared data structure implementations. This property is strong enough to avoid the problems associated with locks, but it is weaker

Dynamic prediction of critical path instructions

TLDR
It is shown that critical path prediction has the potential to increase the effectiveness of these hardware optimizations by as much as 70%, without adding greatly to their cost.