A C++ implementation of the co-array programming model for blue gene/L
Abstract
Blue Gene/L (BG/L) is a 65,536-node massively parallel computer being developed at the IBM Thomas 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 allows 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 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.