ACM Home Page
Please provide us with feedback. Feedback
Optimistic parallelism benefits from data partitioning
Full text FlvFlv (22:00),  Mp3Mp3 (9.44 MB),  PdfPdf (356 KB)
Source
Architectural Support for Programming Languages and Operating Systems archive
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems table of contents
Seattle, WA, USA
SESSION: Compiler table of contents
Pages 233-243  
Year of Publication: 2008
ISBN:978-1-59593-958-6
Also published in ...
Authors
Milind Kulkarni  The University of Texas at Austin, Austin, TX
Keshav Pingali  The University of Texas at Austin, Austin, TX
Ganesh Ramanarayanan  Cornell University, Ithaca, NY
Bruce Walter  Cornell University, Ithaca, NY
Kavita Bala  Cornell University, Ithaca, NY
L. Paul Chew  Cornell University, Ithaca, NY
Sponsors
ACM: Association for Computing Machinery
SIGARCH: ACM Special Interest Group on Computer Architecture
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 21,   Downloads (12 Months): 204,   Citation Count: 5
Additional Information:

appendices and supplements   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/1346281.1346311
What is a DOI?

APPENDICES and SUPPLEMENTS
Supplemental material for Optimistic parallelism benefits from data partitioning


ABSTRACT

Recent studies of irregular applications such as finite-element mesh generators and data-clustering codes have shown that these applications have a generalized data parallelism arising from the use of iterative algorithms that perform computations on elements of worklists. In some irregular applications, the computations on different elements are independent. In other applications, there may be complex patterns of dependences between these computations.

The Galois system was designed to exploit this kind of irregular data parallelism on multicore processors. Its main features are (i) two kinds of set iterators for expressing worklist-based data parallelism, and (ii) a runtime system that performs optimistic parallelization of these iterators, detecting conflicts and rolling back computations as needed. Detection of conflicts and rolling back iterations requires information from class implementors.

In this paper, we introduce mechanisms to improve the execution efficiency of Galois programs: data partitioning, data-centric work assignment, lock coarsening, and over-decomposition. These mechanisms can be used to exploit locality of reference, reduce mis-speculation, and lower synchronization overhead. We also argue that the design of the Galois system permits these mechanisms to be used with relatively little modification to the user code. Finally, we present experimental results that demonstrate the utility of these mechanisms.


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
Donald D. Chamberlin, Morton M. Astrahan, Michael W. Blasgen, James N. Gray, W. Frank King, Bruce G. Lindsay, Raymond Lorie, James W. Mehl, Thomas G. Price, Franco Putzolu, Patricia Griffiths Selinger, Mario Schkolnick, Donald R. Slutz, Irving L. Traiger, Bradford W. Wade, and Robert A. Yost. A history and evaluation of system R, pages 54--68. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1994.
3
 
4
5
6
7
 
8
9
10
11
 
12
Intel Corporation. Intel thread building blocks 2.0. http://osstbb.intel.com.
 
13
 
14
 
15
B. W. Kernighan and S. Lin. An effective heuristic procedure for partitioning graphs. The Bell System Technical Journal, pages 291--308, February 1970.
 
16
17
18
 
19
Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, and David A. Wood. Logtm: Log-based transactional memory. In HPCA '06: Proceedings of the 12th International Symposium on High Performance Computer Architecture, 2006.
20
21
 
22
23
24
25
 
26
Michael Scott, Michael F. Spear, Luke Dalessandro, and Virendra J. Marathe. Delaunay triangulation with transactions and barriers. In IEEE Intl. Symp. on Workload Characterization (IISWC), Boston, MA, September 2007.
 
27
 
28
 
29
30
31


Collaborative Colleagues:
Milind Kulkarni: colleagues
Keshav Pingali: colleagues
Ganesh Ramanarayanan: colleagues
Bruce Walter: colleagues
Kavita Bala: colleagues
L. Paul Chew: colleagues