Non quia difficilia sunt non audemus, sed quia non audemus difficilia sunt
Home -> Publications
edited volumes
  Full CV [pdf]


  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 )


Remote 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.


download article:
download slides:


  author={Timo Schneider and Robert Gerstenberger and Torsten Hoefler},
  title={{Compiler Optimizations for Non-Contiguous Remote Data Movement}},
  location={Santa Clara, CA, USA},
  note={Proceedings of the 26th International Workshop on Languages and Compilers for Parallel Computing},

serving:© Torsten Hoefler