Title
A Local-View Array Library for Partitioned Global Address Space C++ Programs
Abstract
Multidimensional arrays are an important data structure in many scientific applications. Unfortunately, built-in support for such arrays is inadequate in C++, particularly in the distributed setting where bulk communication operations are required for good performance. In this paper, we present a multidimensional library for partitioned global address space (PGAS) programs, supporting the one-sided remote access and bulk operations of the PGAS model. The library is based on Titanium arrays, which have proven to provide good productivity and performance. These arrays provide a local view of data, where each rank constructs its own portion of a global data structure, matching the local view of execution common to PGAS programs and providing maximum flexibility in structuring global data. Unlike Titanium, which has its own compiler with array-specific analyses, optimizations, and code generation, we implement multidimensional arrays solely through a C++ library. The main goal of this effort is to provide a library-based implementation that can match the productivity and performance of a compiler-based approach. We implement the array library as an extension to UPC++, a C++ library for PGAS programs, and we extend Titanium arrays with specializations to improve performance. We evaluate the array library by porting four Titanium benchmarks to UPC++, demonstrating that it can achieve up to 25% better performance than Titanium without a significant increase in programmer effort.
Year
DOI
Venue
2014
10.1145/2627373.2627378
ARRAY@PLDI
Keywords
Field
DocType
design,experimentation,compilers,c++,measurement,languages,performance,just in time compilation,tracing,data parallelism,r
Data structure,Computer architecture,Programmer,Computer science,Parallel computing,Real-time computing,Compiler,Code generation,Data parallelism,Porting,Just-in-time compilation,Partitioned global address space
Conference
Citations 
PageRank 
References 
5
0.43
9
Authors
3
Name
Order
Citations
PageRank
Amir Kamil120212.00
Yili Zheng2564.01
Katherine A. Yelick33494407.23