| May-happen-in-parallel analysis of X10 programs |
| Full text |
Pdf
(283 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: Memory models and concurrency analysis
table of contents
Pages: 183 - 193
Year of Publication: 2007
ISBN:978-1-59593-602-8
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 15, Downloads (12 Months): 138, Citation Count: 0
|
|
|
ABSTRACT
X10 is a modern object-oriented programming language designed for high performance, high productivity programming of parallel and multi-core computer systems. Compared to the lower-level thread-based concurrency model in the JavaTM language, X10 has higher-level concurrency constructs such as async, atomic and finish built into the language to simplify creation, analysis and optimization of parallel programs. In this paper, we introduce a new algorithm for May-Happen-in-Parallel (MHP) analysis of X10 programs. The analysis algorithm is based on simple path traversals in the Program Structure Tree, and does not rely on pointer alias analysis of thread objects as in MHP analysis for Java programs. We introduce a more precise definition of the MHP relation than in past work by adding condition vectors that identify execution instances for which the MHP relation holds, instead of just returning a single true/false value for all pairs of executing instances. Further, MHP analysis is refined in our approach by using the observation that two statement instances which occur in atomic sections that execute at the same X10 place must have MHP = false. We expect that our MHP analysis algorithm will be applicable to any language that adopts the core concepts of places, async, finish, and atomic sections from the X10 programming model. We also believe that this approach offers the best of two worlds to programmers and parallel programming tools ---higher-level abstractions of concurrency coupled with simple and efficient analysis algorithms.
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
|
B. Alpern , M. N. Wegman , F. K. Zadeck, Detecting equality of variables in programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-11, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73561]
|
| |
2
|
Rajkishore Barik. Efficient computation of may-happen-in-parallel information for concurrent java programs. In 18th International Workshop on Languages and Compilers for Parallel Computing, October 2005.
|
 |
3
|
|
 |
4
|
Philippe Charles , Christian Grothoff , Vijay Saraswat , Christopher Donawa , Allan Kielstra , Kemal Ebcioglu , Christoph von Praun , Vivek Sarkar, X10: an object-oriented approach to non-uniform cluster computing, Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
 |
5
|
Jong-Deok Choi , Keunwoo Lee , Alexey Loginov , Robert O'Callahan , Vivek Sarkar , Manu Sridharan, Efficient and precise datarace detection for multithreaded object-oriented programs, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
6
|
Evelyn Duesterwald , Mary Lou Soffa, Concurrency analysis in the presence of procedures using a data-flow framework, Proceedings of the symposium on Testing, analysis, and verification, p.36-48, October 08-10, 1991, Victoria, British Columbia, Canada
[doi> 10.1145/120807.120811]
|
 |
7
|
|
 |
8
|
|
| |
9
|
Ferrante J, Grunwald D, and Srinivasan H. Compile-time analysis and optimization of explicitly parallel programs. In Journal of Parallel algorithms and applications, 1997.
|
 |
10
|
|
| |
11
|
|
 |
12
|
|
| |
13
|
Lin Li and Clark Verbrugge. A practical mhp information analysis for concurrent java programs. In The 17th International Workshop on Languages and Compilers for Parallel Computing (LCPC'04), 2004.
|
 |
14
|
|
 |
15
|
|
| |
16
|
|
 |
17
|
|
 |
18
|
|
| |
19
|
X10 release on SourceForge. http://x10.sf.net.
|
| |
20
|
|
| |
21
|
|
| |
22
|
|
| |
23
|
Richard N. Taylor. Complexity of analyzing the synchronization structure of concurrent programs. Acta Inf., 19:57--84, 1983.
|
| |
24
|
|
|