Global Address Space (GAS) languages are an important class of parallel programming languages that provide a shared-memory abstraction to the programmer on arbitrary hardware. Efficient implementation of GAS languages (such as UPC) is critically dependent on the use of low-latency, low-overhead, high-bandwidth communication systems – unfortunately most low-level high-performance communication interfaces are highly vendor and machine specific, which is a serious impediment to compiler portability. We present the GASNet communication API, which provides an expressive and portable interface for high-performance one-sided communication that can be used as a compilation target for GAS languages. We have completed a prototype implementation of the GASNet API on MPI, and present initial micro-benchmark performance results for the prototype – we find that MPI itself is not a very suitable target for implementing GAS languages, but that the performance overheads imposed by the use of the GASNet API are minimal.
Postscript Format (*.ps) Acrobat Format (*.pdf)
Powerpoint Format (*.ppt) Acrobat Format (*.pdf)