Header menu link for other important links
X
Efficient, portable implementation of asynchronous multi-place programs
, Bikshandi Ganesh, G. Castanos Jose, B. Kodali Sreedhar, Peshansky Igor, A. Saraswat Vijay, Sur Sayantan, Varma Pradeep, Wen Tong
Published in ACM Press
2008
Abstract

The X10 programming language is organized around the notion of places (an encapsulation of data and activities operating on the data), partitioned global address space (PGAS), and asynchronous computation and communication.

This paper introduces an expressive subset of X10, Flat X10, designed to permit efficient execution across multiple single-threaded places with a simple runtime and without compromising on the productivity of X10. We present the design, implementation and evaluation of a compiler and runtime system for Flat X10. The Flat X10 compiler translates programs into C++ SPMD programs communicating using an active messaging infrastructure. It uses novel techniques to transform explicitly parallel programs into SPMD programs. The runtime system is based on IBM's LAPI (Low-level API) and is easily portable to other libraries such as GASNet and ARMCI.

Our implementation realizes performance comparable to hand-written MPI programs for well-known HPC benchmarks such as Random Access, Stream, and FFT, on a Federation-based cluster of Power5 SMPs (with hundreds of processors) and the Blue Gene (with thousands of processors). Submissions based on the work presented in this paper were co-winners of the 2007 and 2008 HPC Challenge Type II Awards.

About the journal
JournalData powered by TypesetProceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
PublisherData powered by TypesetACM Press
Open AccessNo