CkDirect: Unsynchronized One-Sided Communication in a Message-Driven Paradigm
International Workshop on Parallel Programming Models and Systems Software for High-End Computing at ICPP (P2S2) 2009
Publication Type: Paper
Repository URL: 2008_CkDirectP2S2
A significant fraction of parallel scientific codes are iterative with barriers between iterations or even between phases of the same iteration. The sender of a message is assured that the receiver is executing exactly the same iteration or phase as it. This opens up the opportunity to use one-sided communication without synchronization, explicit or implicit, between the sender and receiver of every message. The synchronization inherent in the application is sufficient to ensure correctness. We present CkDirect, an interface for such one-sided communication in the message driven Charm++ runtime system. CkDirect helps avoid unnecessary synchronization and message copying as well as scheduling overhead in iterative scientific codes. We describe the interface as well as its implementations on two different interconnects: Infiniband and Blue Gene/P. We evaluate CkDirect through a micro-benchmark, two simple scientific codes: stencil computation and matrix multiplication, as well as a full fledged quantum chemistry application called OpenAtom.
Eric Bohm, Sayantan Chakravorty, Pritish Jetley, Abhinav Bhatele and Laxmikant V. Kale, CkDirect: Unsynchronized One-Sided Communication in a Message-Driven Paradigm, Proceedings of International Workshop on Parallel Programming Models and Systems Software for High-End Computing (P2S2), 2009.