A C++ Implementation of the Co-Array Programming Model for Blue Gene/L

Blue Gene/L (BG/L) is a 65,536-node massively parallel computer being developed at the
IBM T. J. Watson Research Center that promises to revolutionize large-scale scientific computing.
However, its size alone will make programming BG/L a major challenge, both from
a correctness and from a performance perspective. This has motivated us to look into new
programming models that have been proposed as an alternative for MPI on parallel systems.
We find the Co-Array programming model attractive for its simplicity and high performance.
Instead of implementing this model in the usual way, as language extensions to Fortran, we
have chosen to implement it as a C++ library. This allowed us to prototype and deploy this
implementation with a relatively small effort, and to experiment with it on existing machines.
Users also benefit, for they can start experiment with this programming model early and without
learning a new language. Our preliminary results indicate that parallel programs written
with our C++ Co-Array library can reach good levels of speedup.

By: Maria Eleftheriou, Siddhartha Chatterjee, Jose Moreira

Published in: RC22300 in 2002

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc22300.pdf

Questions about this service can be mailed to reports@us.ibm.com .