ACM Home Page
Please provide us with feedback. Feedback
Implicit parallelism with ordered transactions
Full text PdfPdf (274 KB)
Source
Principles and Practice of Parallel Programming archive
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming table of contents
San Jose, California, USA
SESSION: Transactional approaches table of contents
Pages: 79 - 89  
Year of Publication: 2007
ISBN:978-1-59593-602-8
Authors
Christoph von Praun  IBM Research, Yorktown Heights, NY
Luis Ceze  University of Illinois at Urbana-Champaign, Urbana-Champaign, IL
Calin Caşcaval  IBM Research, Yorktown Heights, NY
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 19,   Downloads (12 Months): 96,   Citation Count: 10
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/1229428.1229443
What is a DOI?

ABSTRACT

Implicit Parallelism with Ordered Transactions (IPOT) is an extension of sequential or explicitly parallel programming models to support speculative parallelization. The key idea is to specify opportunities for parallelization in a sequential program using annotations similar to transactions. Unlike explicit parallelism, IPOT annotations do not require the absence of data dependence, since the parallelization relies on runtime support for speculative execution. IPOT as a parallel programming model is determinate, i.e., program semantics are independent of the thread scheduling. For optimization, non-determinism can be introduced selectively.

We describe the programming model of IPOT and an online tool that recommends boundaries of ordered transactions by observing a sequential execution. On three example HPC workloads we demonstrate that our method is effective in identifying opportunities for fine-grain parallelization. Using the automated task recommendation tool, we were able to perform the parallelization of each program within a few hours.


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
S. Borkar. MICRO keynote talk, 2004.
3
4
5
6
 
7
8
9
10
11
12
13
 
14
15
16
17
18
 
19
 
20
W. M. Pottenger. Induction variable substitution and reduction recognition in the Polaris parallelizing compiler. Master's thesis, Department of Computer Science. University of Illinois at Urbana-Champaign, December 1995.
21
22
 
23
W. Pugh. The Java memory model is fatally flawed. Concurrency: Practice and Experience, 12(6):445--455, 2000.
 
24
J. Rattner. PACT keynote talk, 2005.
25
26
27
28
 
29
 
30
 
31
The UMT benchmark code. http://www.llnl.gov/asci/purple/benchmarks/limited/umt.
32

CITED BY  10

Collaborative Colleagues:
Christoph von Praun: colleagues
Luis Ceze: colleagues
Calin Caşcaval: colleagues