|
ABSTRACT
Partitioned Global Address Space (PGAS) languages combine the programming convenience of shared memory with the locality and performance control of message passing. One such language, Unified Parallel C (UPC) is an extension of ISO C defined by a consortium that boasts multiple proprietary and open source compilers. Another PGAS language, Titanium, is a dialect of JavaTM designed for high performance scientific computation. In this paper we describe some of the highlights of two related projects, the Titanium project centered at U.C. Berkeley and the UPC project centered at Lawrence Berkeley National Laboratory. Both compilers use a source-to-source strategy that trans-lates the parallel languages to C with calls to a communication layer called GASNet. The result is portable high-performance compilers that run on a large variety of shared and distributed memory multiprocessors. Both projects combine compiler, runtime, and application efforts to demonstrate some of the performance and productivity advantages to these languages.
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
|
E. Allen, D. Chase, J. Hallett, V. Luchangco, J.-W. Maessen, S. Ryu, G. Steele, and S. Tobin-Hochstadt. The Fortress language specification. Available from http://research.sun.com/projects/plrg/.
|
| |
2
|
D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, D. Dagum, R. A. Fatoohi, P. O. Frederickson, T. A. Lasinski, R. S. Schreiber, H. D. Simon, V. Venkatakrishnan, and S. K. Weeratunga. The NAS Parallel Benchmarks. The International Journal of Supercomputer Applications, 5(3):63--73, Fall 1991.
|
| |
3
|
|
| |
4
|
C. Bell, D. Bonachea, R. Nishtala, and K. Yelick. Optimizing bandwidth limited problems using one-sided communication and overlap. In 20th International Parallel and Distributed Processing Symposium (IPDPS), 2006.
|
| |
5
|
The Berkeley UPC Compiler, 2002. http://upc.lbl.gov.
|
| |
6
|
|
| |
7
|
Chapel: The Cascade high productivity language. http://chapel.cs.washington.edu/.
|
 |
8
|
|
| |
9
|
W. Chen, A. Krishnamurthy, and K. Yelick. Polynomial-time algorithms for enforcing sequential consistency in SPMD programs with arrays. In 16th International Workshop on Languages and Compilers for Parallel Computing (LCPC), 2003.
|
| |
10
|
The Chombo website. http://seesar.lbl.gov/ANAG/software.html.
|
| |
11
|
Cray C/C++ reference manual. http://www.cray.com/craydoc/manuals/004-2179-003/html-004-2179-003/.
|
| |
12
|
K. Datta, D. Bonachea, and K. Yelick. Titanium performance and potential: an NPB experimental study. In The 18th International Workshop on Languages and Compilers for Parallel Computing, October 2005.
|
| |
13
|
|
| |
14
|
GASNet home page. http://gasnet.cs.berkeley.edu.
|
| |
15
|
Hewlett-Packard Company. HP UPC Version 2.0 for Tru64 UNIX. http://h30097.www3.hp.com/upc/.
|
| |
16
|
High Performance Fortran Forum. High Performance Fortran Language Specification. http://dacnet.rice.edu/Depts/CRPC/HPFF/versions/hpf2/hpf-v20, Jan. 1997.
|
| |
17
|
Paul N. Hilfinger , Dan Bonachea , David Gay , Susan Graham , Ben Liblit , Geoff Pike , Katherine Yelick, Titanium Language Reference Manual, University of California at Berkeley, Berkeley, CA, 2001
|
| |
18
|
C. Iancu, P. Husbands, and W. Chen. Message strip mining heuristics for high speed networks. In Proc. 6th International Meeting on High Performance Computing for Computational Science (VECPAR), 2004.
|
| |
19
|
Intrepid Technology, Inc. GCC/UPC Compiler. http://www.intrepid.com/upc/.
|
 |
20
|
|
| |
21
|
|
| |
22
|
|
 |
23
|
|
| |
24
|
P. McCorquodale and P. Colella. Implementation of a multilevel algorithm for gas dynamics in a high-performance Java dialect. In International Parallel Computational Fluid Dynamics Conference (CFD'99), 1999.
|
| |
25
|
S. Merchant. Analysis of a contractile torus simulationin Titanium. Masters Report, Computer Science Division, University of California Berkeley, August 2003.
|
| |
26
|
MuPC portable UPC runtime system. http://www.upc.mtu.edu/.
|
 |
27
|
|
| |
28
|
Open64 compiler tools. http://open64.sourceforge.net.
|
| |
29
|
G. Pike, L. Semenzato, P. Colella, and P. N. Hilfinger. Parallel 3D adaptive mesh refinement in Titanium. In 9th SIAM Conference on Parallel Processing for Scientific Computing, San Antonio, Texas, March 1999.
|
| |
30
|
J. Prins, J. Huan, W. Pugh, et al. UPC implementation of an unbalanced tree search benchmark. Technical Report 03-034, Department of Computer Science, University of North Carolina, 2003.
|
| |
31
|
L. Snyder. The ZPL Programmer's Guide. MIT Press, 1999.
|
| |
32
|
|
| |
33
|
Titanium home page. http://titanium.cs.berkeley.edu.
|
| |
34
|
UPC language specifications, v1.2. Technical Report LBNL-59208, Berkeley National Lab, 2005.
|
| |
35
|
|
| |
36
|
|
 |
37
|
Tong Wen , Jimmy Su , Phillip Colella , Katherine Yelick , Noel Keen, An adaptive mesh refinement benchmark for modern parallel programming languages, Proceedings of the 2007 ACM/IEEE conference on Supercomputing, November 10-16, 2007, Reno, Nevada
[doi> 10.1145/1362622.1362676]
|
| |
38
|
The X10 programming language. http://www.research.ibm.com/x10.
|
| |
39
|
S. M. Yau. Experiences in using Titanium for simulation of immersed boundary biological systems. Masters Report, Computer Science Division, University of California Berkeley, May 2002.
|
| |
40
|
K. Yelick , P. Hilfinger , S. Graham , D. Bonachea , J. Su , A. Kamil , K. Datta , P. Colella , T. Wen, Parallel Languages and Compilers: Perspective From the Titanium Experience, International Journal of High Performance Computing Applications, v.21 n.3, p.266-290, August 2007
[doi> 10.1177/1094342007078449]
|
CITED BY 3
|
|
|
|
|
Tong Wen , Jimmy Su , Phillip Colella , Katherine Yelick , Noel Keen, An adaptive mesh refinement benchmark for modern parallel programming languages, Proceedings of the 2007 ACM/IEEE conference on Supercomputing, November 10-16, 2007, Reno, Nevada
|
|
|
Jun Shirako , Jisheng M. Zhao , V. Krishna Nandivada , Vivek N. Sarkar, Chunking parallel loops in the presence of synchronization, Proceedings of the 23rd international conference on Supercomputing, June 08-12, 2009, Yorktown Heights, NY, USA
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
Subjects:
Concurrent, distributed, and parallel languages
Additional Classification:
E.
Data
E.1
DATA STRUCTURES
Subjects:
Distributed data structures
General Terms:
Human Factors,
Languages,
Performance
Keywords:
GASNet,
NAS parallel benchmarks,
PGAS,
UPC,
one-sided communication,
partitioned global address space,
titanium
|