Learn More
Transactional Memory (TM) is a concurrent programming paradigm that aims to make concurrent programming easier than fine-grain locking, whilst providing similar performance and scalability. Several TM systems have been made available for research purposes. However , there is a lack of a wide range of non-trivial benchmarks with which to thoroughly evaluate(More)
Concurrency control for Transactional Memory (TM) is investigated as a means for improving resource usage by adjusting dynamically the number of threads concurrently executing transactions. The proposed control system takes as feedback the measured Transaction Commit Rate to adjust the concurrency. Through an extensive evaluation, a new Concurrency Control(More)
Applications using transactional memory may exhibit fluctuating (dynamic) available parallelism, i.e. the maximum number of transactions that can be committed concurrently may change over time. Executing large numbers of transactions concurrently in phases with low available parallelism will waste processor resources in aborted transactions , while(More)
While Transactional Memory (TM) research on shared-memory chip multiprocessors has been flourishing over the last years, limited research has been conducted in the cluster domain. In this paper, we introduce a research platform for exploiting software TM on clusters. The Distributed Software Transactional Memory (DiSTM) system has been designed for easy(More)
In transactional memory, aborted transactions reduce performance , and waste computing resources. Ideally, concurrent execution of transactions should be optimally ordered to minimise aborts, but such an ordering is often either complex, or unfeasible, to obtain. This paper introduces a new technique called steal-on-abort, which aims to improve transaction(More)
Traditional parallel programming models achieve synchronization with error-prone and complex-to-debug constructs such as locks and barriers. Transactional Memory (TM) is a promising new parallel programming abstraction that replaces conventional locks with critical sections expressed as transactions. Most TM research has focused on single address space(More)
—Transactional Memory (TM) has become an active research area as it promises to simplify the development of highly scalable parallel programs. Scalability is quickly becoming an essential software requirement as successive commodity processors integrate ever larger numbers of cores. Non-trivial TM applications to test TM implementations have only recently(More)
Experience in profiling Lee's routing algorithm, a new complex TM application, showed that transactional applications may exhibit dynamic exploitable parallelism, i.e. the amount of useful parallelism available at any point in time varies during the execution of the application. Obviously, executing too many transactions at times when the available(More)
In recent years there has been a shift in microprocessor manufacture from building single-core processors towards providing multiple cores on the same chip. This shift has meant that a much wider population of developers are faced with the task of developing parallel software: a difficult, time consuming and expensive process. With the aim of identifying(More)
In transactional memory, conflicts between two concurrently executing transactions reduce performance, reduce scalability, and may lead to aborts, which waste computing resources. Ideally, concurrent execution of transactions would be ordered to minimise conflicts, but such an ordering is often complex, or unfeasible, to obtain. This paper identifies a(More)
  • 1