Home Publications edited volumes Awards Research Teaching Miscellaneous Full CV [pdf] BLOG
Events
Past Events
|
Publications of Torsten Hoefler
Timo Schneider, Robert Gerstenberger, Torsten Hoefler:
| | Compiler Optimizations for Non-Contiguous
Remote Data Movement
(presented in Santa Clara, CA, USA, Sep. 2013, Proceedings of the 26th International Workshop on Languages and Compilers for Parallel Computing )
AbstractRemote Memory Access (RMA) programming is one of the core concepts
behind modern parallel programming languages such as UPC and Fortran
2008 or high-performance libraries such as MPI-3 One Sided or SHMEM. Many
applications have to communicate non-contiguous data due to their data
layout in main memory. Previous studies showed that such non-contiguous
transfers can reduce communication performance by up to an order of
magnitude.
In this work, we demonstrate a simple scheme for statically optimizing
non-contiguous RMA transfers by combining partial packing, communication
overlap, and remote access pipelining.
We determine accurate performance models for the various operations to
find near-optimal pipeline parameters.
The proposed approach is applicable to all RMA languages and does not
depend on the availability of special hardware features such as
scatter-gather lists or strided copies.
We show that our proposed superpipelining leads to significant
improvements compared to either full packing or sending each contiguous
segment individually.
We outline how our approach can be used to optimize non-contiguous data
transfers in PGAS programs automatically. We observed a 37\%
performance gain over the fastest of either packing or individual
sending for a realistic application.
Documentsdownload article: download slides: | | BibTeX | @inproceedings{schneider-compopts-noncont-lcpc13, author={Timo Schneider and Robert Gerstenberger and Torsten Hoefler}, title={{Compiler Optimizations for Non-Contiguous
Remote Data Movement}}, year={2013}, month={Sep.}, location={Santa Clara, CA, USA}, note={Proceedings of the 26th International Workshop on Languages and Compilers for Parallel Computing}, source={http://www.unixer.de/~htor/publications/}, } |
|
|