ACM Home Page
Please provide us with feedback. Feedback
Optimizing transactions for captured memory
Full text PdfPdf (641 KB)
Source
ACM Symposium on Parallel Algorithms and Architectures archive
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures table of contents
Calgary, AB, Canada
SESSION: Transactional memory II table of contents
Pages 214-222  
Year of Publication: 2009
ISBN:978-1-60558-606-9
Authors
Aleksandar Dragojevic  EPFL, Lausanne, Switzerland
Yang Ni  Intel Corporation, Santa Clara, CA, USA
Ali-Reza Adl-Tabatabai  Intel Corporation, Santa Clara, CA, USA
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 24,   Downloads (12 Months): 66,   Citation Count: 0
Additional Information:

abstract   references   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/1583991.1584049
What is a DOI?

ABSTRACT

In this paper, we identify transaction-local memory as a major source of overhead from compiler instrumentation in software transactional memory (STM). Transaction-local memory is memory allocated inside a transaction, which cannot escape (i.e., is captured by) the allocating transaction. Accesses to such memory do not require calls to STM memory access functions (also called STM barriers). A compiler unaware of that, however, may translate simple memory load/store operations accessing such memory into more expensive STM barriers. This presents us opportunities to improve STM performance. Our measurements with the STAMP benchmark suite (version 0.9.9) revealed that as many as 60% of the STM barriers generated by our baseline compiler can be accesses to captured memory, which include 90% of the write barriers and 45% of the read barriers. We propose runtime and compiler optimizations to elide STM barriers to captured memory. Similar techniques can also be used to elide barriers for accesses to thread-local and read-only data. We implemented those optimizations in the Intel C++ STM compiler. Our experiments with the STAMP benchmark suite on a Intel Dunnington system (with 24 cores in a 4-node SMP system) showed that upto 18% performance improvement could be achieved at 16 threads.


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
2
 
3
Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, and Kunle Olukotun. STAMP: Stanford transactional applications for multi-processing. In IISWC, 2008.
4
 
5
Luke Dalessandro, Virendra J. Marathe, Michael F. Spear, and Michael L. Scott. Capabilities and limitations of library-based software transactional memory in C++. In TRANSACT 2007.
 
6
Dave Dice, Ori Shalev, and Nir Shavit. Transactional locking II. In DISC 2006.
 
7
Guy Eddon and Maurice Herlihy. Language support and compiler optimizations for STM and transactional boosting. In ICDCIT, pages 209--224, 2007.
8
9
10
11
 
12
 
13
Yosef Lev, Mark Moir, and Dan Nussbaum. PhTM: Phased transactional memory. In TRANSACT 2007.
14
15
16
 
17
18
19

Collaborative Colleagues:
Aleksandar Dragojevic: colleagues
Yang Ni: colleagues
Ali-Reza Adl-Tabatabai: colleagues