Javascript must be enabled to continue!
Techniques to improve concurrency in hardware transactional memory
View through CrossRef
Transactional Memory (TM) aims to make shared memory parallel programming easier by abstracting away the complexity of managing shared data. The programmer defines sections of code, called transactions, which the TM system guarantees that will execute atomically and in isolation from the rest of the system. The programmer is not required to implement such behaviour, as happens in traditional mutual exclusion techniques like locks - that responsibility is delegated to the underlying TM system. In addition, transactions can exploit parallelism that would not be available in mutual exclusion techniques; this is achieved by allowing optimistic execution assuming no other transaction operates concurrently on the same data. If that assumption is true the transaction commits its updates to shared memory by the end of its execution, otherwise, a conflict occurs and the TM system may abort one of the conflicting transactions to guarantee correctness; the aborted transaction would roll-back its local updates and be re-executed. Hardware and software implementations of TM have been studied in detail. However, large-scale adoption of software-only approaches have been hindered for long due to severe performance limitations.
In this thesis, we focus on identifying and solving hardware transactional memory (HTM) issues in order to improve concurrency and scalability. Two key dimensions determine the HTM design space: conflict detection and speculative version management. The first determines how conflicts are detected between concurrent transactions and how to resolve them. The latter defines where transactional updates are stored and how the system deals with two versions of the same logical data. 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.
Additionally, in this thesis we explore two solutions to reduce system contention - circumstances where transactions abort due to data dependencies - in order to improve concurrency of HTM systems. The first mechanism provides a suitable design to apply prefetching to speed-up transaction executions, lowering the window of time in which such transactions can experience contention. The second is an accurate abort prediction mechanism able to identify, before a transaction's execution, potential conflicts with running transactions. This mechanism uses past behaviour of transactions and locality in memory references to infer predictions, adapting to variations in workload characteristics. We demonstrate that this mechanism is able to manage contention efficiently in single-application and multi-application scenarios.
Finally, this thesis also analyses initial real-world HTM protocols that recently appeared in market products. These protocols have been designed to be simple and easy to incorporate in existing chip-multiprocessors. However, this simplicity comes at the cost of severe performance degradation due to transient and persistent livelock conditions, potentially preventing forward progress. We show that existing techniques are unable to mitigate this degradation effectively. To deal with this issue we propose a set of techniques that retain the simplicity of the protocol while providing improved performance and forward progress guarantees in a wide variety of transactional workloads.
Title: Techniques to improve concurrency in hardware transactional memory
Description:
Transactional Memory (TM) aims to make shared memory parallel programming easier by abstracting away the complexity of managing shared data.
The programmer defines sections of code, called transactions, which the TM system guarantees that will execute atomically and in isolation from the rest of the system.
The programmer is not required to implement such behaviour, as happens in traditional mutual exclusion techniques like locks - that responsibility is delegated to the underlying TM system.
In addition, transactions can exploit parallelism that would not be available in mutual exclusion techniques; this is achieved by allowing optimistic execution assuming no other transaction operates concurrently on the same data.
If that assumption is true the transaction commits its updates to shared memory by the end of its execution, otherwise, a conflict occurs and the TM system may abort one of the conflicting transactions to guarantee correctness; the aborted transaction would roll-back its local updates and be re-executed.
Hardware and software implementations of TM have been studied in detail.
However, large-scale adoption of software-only approaches have been hindered for long due to severe performance limitations.
In this thesis, we focus on identifying and solving hardware transactional memory (HTM) issues in order to improve concurrency and scalability.
Two key dimensions determine the HTM design space: conflict detection and speculative version management.
The first determines how conflicts are detected between concurrent transactions and how to resolve them.
The latter defines where transactional updates are stored and how the system deals with two versions of the same logical data.
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.
Additionally, in this thesis we explore two solutions to reduce system contention - circumstances where transactions abort due to data dependencies - in order to improve concurrency of HTM systems.
The first mechanism provides a suitable design to apply prefetching to speed-up transaction executions, lowering the window of time in which such transactions can experience contention.
The second is an accurate abort prediction mechanism able to identify, before a transaction's execution, potential conflicts with running transactions.
This mechanism uses past behaviour of transactions and locality in memory references to infer predictions, adapting to variations in workload characteristics.
We demonstrate that this mechanism is able to manage contention efficiently in single-application and multi-application scenarios.
Finally, this thesis also analyses initial real-world HTM protocols that recently appeared in market products.
These protocols have been designed to be simple and easy to incorporate in existing chip-multiprocessors.
However, this simplicity comes at the cost of severe performance degradation due to transient and persistent livelock conditions, potentially preventing forward progress.
We show that existing techniques are unable to mitigate this degradation effectively.
To deal with this issue we propose a set of techniques that retain the simplicity of the protocol while providing improved performance and forward progress guarantees in a wide variety of transactional workloads.
Related Results
Effects of Contextual Cues on False Memory: A Comparative Experimental Approach
Effects of Contextual Cues on False Memory: A Comparative Experimental Approach
Research on false memory formation using the Deese-Roediger-McDermott (DRM) paradigm has been extensively conducted in Western contexts. Yet, a significant gap remains in experimen...
Atomic dataflow model
Atomic dataflow model
With the recent switch in the design of general purpose processors from frequency scaling of a single processor core towards increasing the number of processor cores, parallel prog...
Towards lightweight and high-performance hardware transactional memory
Towards lightweight and high-performance hardware transactional memory
Conventional lock-based synchronization serializes accesses to critical sections guarded by the same lock. Using multiple locks brings the possibility of a deadlock or a livelock i...
Architectural support for high-performing hardware transactional memory systems
Architectural support for high-performing hardware transactional memory systems
Parallel programming presents an efficient solution to exploit future multicore processors.
Unfortunately, traditional programming models depend on programmer’s skills for synchro...
An HIV prevention intervention helps immigrants open up about transactional sex. The Makasi study
An HIV prevention intervention helps immigrants open up about transactional sex. The Makasi study
Abstract
Background
Transactional sex is known to be an exposure factor for HIV acquisition among immigrants in France. We analy...
DOMASCOS (DOMAin Specific COncurrency Skeletons)
DOMASCOS (DOMAin Specific COncurrency Skeletons)
Existing approaches to concurrent programming, albeit essential, are easily used incorrectly. Testing is difficult due to the inherent non-determinism introduced by concurrency, es...
Concurrent Scaling: Evaluating AWS Lambda Performance through Load Testing
Concurrent Scaling: Evaluating AWS Lambda Performance through Load Testing
Abstract
In the dynamic environment of serverless computing, efficient concurrency management and reasonable utilization of load testing techniques closely correlate with p...
Transportation Concurrency: Florida’s Example
Transportation Concurrency: Florida’s Example
The Florida Local Government Comprehensive Planning and Land Development Act of 1985 called for local communities to develop concurrency-management systems that ensure that public ...

