ACM Home Page
Please provide us with feedback. Feedback
Extending concurrency of transactional memory programs by using value prediction
Full text PdfPdf (877 KB)
Source
Conference On Computing Frontiers archive
Proceedings of the 6th ACM conference on Computing frontiers table of contents
Ischia, Italy
SESSION: Innovative memory systems table of contents
Pages 11-20  
Year of Publication: 2009
ISBN:978-1-60558-413-3
Authors
Salil Mohan Pant  North Carolina State University, Raleigh, NC, USA
Gregory T. Byrd  North Carolina State University, Raleigh, NC, USA
Sponsors
ACM: Association for Computing Machinery
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 21,   Downloads (12 Months): 79,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1531743.1531748
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
SPECjbb2000. http://www.spec.org/jbb200.
 
2
 
3
 
4
 
5
6
7
8
9
 
10
11
12
 
13
C. C. Minh et al. STAMP: Stanford transactional applications for multi-processing. In IEEE Intl. Symp. on Workload Characterization, pages 35--46, 2008.
 
14
K.E. Moore, J. Bobba, et al. LogTM: log-based transactional memory. In Intl. Symp. on High-Perf. Comput. Archit., pages 254--265, 2006.
 
15
R. Rajwar and J. R. Goodman. Transactional lock-free execution of lock-based programs. SIGPLAN Not., 37(10):5--17, 2002.
16
 
17
 
18
 
19
Sun Microsystems. UltraSPARC III Cu User's manual, 2004. Version 2.2.1.
 
20
S. Woo et al. Methodological considerations and characterization of the SPLASH-2 parallel application suite. In Intl. Symp. on Comput. Archit., 1995


Collaborative Colleagues:
Salil Mohan Pant: colleagues
Gregory T. Byrd: colleagues