Indiana University Bloomington

Luddy School of Informatics, Computing, and Engineering

Technical Report TR732:
LibPhotonNBC: A RDMA Aware Collective Library on Photon

Udayanga Wickramasinghe, Ezra Kissel, Andrew Lumsdaine
(May 2017), 15 pages
Collectives are a widely utilized programming construct for assembling parallel communication in High Performance Computing (HPC) applications. They are categorized into either non-blocking and blocking invocation, depending on whether the control is returned immediately to a user or not. In particular, non-blocking variety allows applications to perform other useful computations while hiding the network latency of the underlying communication operations. We present LibPhotonNBC, a low-level RDMA aware collective library that enables execution of communication primitives of a collective using one-sided memory semantics. We also utilize LibNBC as a vehicle to support non-blocking collectives algorithms for Photon. This document intends to describe the inner workings of LibPhotonNBC collective library -- design, implementation, usage and our initial results.

Available as: