Extending concurrency of transactional memory programs by using value prediction
SM Pant, GT Byrd - Proceedings of the 6th ACM conference on …, 2009 - dl.acm.org
SM Pant, GT Byrd
Proceedings of the 6th ACM conference on Computing Frontiers, 2009•dl.acm.orgTransactional Memory (TM) is an optimistic speculative synchronization scheme that
provides atomic execution for a region of code marked as a transaction by the programmer.
TM avoids many of the problems associated with lock-based synchronization and can make
writing parallel programs relatively easier. Programs with critical sections that are not heavily
contended benefit from the optimistic nature of TM systems. However, for heavily contended
critical sections, performance can degrade due to conflicts leading to stalls and expensive …
provides atomic execution for a region of code marked as a transaction by the programmer.
TM avoids many of the problems associated with lock-based synchronization and can make
writing parallel programs relatively easier. Programs with critical sections that are not heavily
contended benefit from the optimistic nature of TM systems. However, for heavily contended
critical sections, performance can degrade due to conflicts leading to stalls and expensive …
Transactional Memory (TM) is an optimistic speculative synchronization scheme that provides atomic execution for a region of code marked as a transaction by the programmer. TM avoids many of the problems associated with lock-based synchronization and can make writing parallel programs relatively easier. Programs with critical sections that are not heavily contended benefit from the optimistic nature of TM systems. However, for heavily contended critical sections, performance can degrade due to conflicts leading to stalls and expensive rollbacks. In this paper, we look into the nature of the shared data involved in conflicts for TM systems. We find that most transactions have conflicts around a few shared addresses, and shared-conflicting data is often updated in a predictable manner by different transactions. We propose using a memory-level value predictor to capture this predictability for such data structures and increase overall concurrency by satisfying loads from conflicting transactions with predicted values, instead of stalling. In this paper, we present one possible design and implementation of a TM system with a value predictor. Our benchmark results show that the value predictor can capture this predictable behavior for most benchmarks and can improve performance of TM programs by improving concurrency and minimizing stalls and rollbacks.
![](/scholar/images/qa_favicons/acm.org.png)
以上显示的是最相近的搜索结果。 查看全部搜索结果