MESSAGE PASSING WITHOUT MEMORY COPY
Abstract
We consider here reduction of send latencies for send-and-forget type communications, where senders do not reuse data that have already been sent. We introduce a commit based message sending approach, and describe the corresponding application programming interfaces. These interfaces allow applications to take advantage of message buffering, such as overlapping of computations and communications, while avoiding performance degradation due to intermediate memory copy. The approach works by allowing applications to safely access the implementation buffer through the provided interfaces. Experimental results show that the new approach is effective, and reduces the interface latency significantly compared to related approaches. Since send-and-forget type communications are often observed in skeletal programming, we demonstrate the approach by implementing a pipeline algorithmic skeleton.
References
- SIAM Journal of Applied Mathematics 14(6), 1390 (1966), DOI: 10.1137/0114108. Crossref, ISI, Google Scholar
-
G. Agha , Actors: A Model of Concurrent Computation in Distributed Systems ( MIT Press , Cambridge, MA , 1986 ) . Crossref, Google Scholar -
M. Snir , MPI: The Complete Reference ( MIT Press , Cambridge, MA , 1996 ) . Google Scholar - ACM Transactions on Programming Languages and Systems 7(1), 80 (1985), DOI: 10.1145/2363.2433. Crossref, ISI, Google Scholar
R. Cypher and E. Leu , The Semantics of Blocking and Nonblocking Send and Receive Primitives, Proc. 18th IEEE Int. Parallel Processing Sym. (1994) pp. 729–735. Google Scholar- G. Yaikhom, Message Passing with Communication Structures. Ph.D. Thesis, School of Informatics, University of Edinburgh, UK, 2006 . Google Scholar
G. Yaikhom , Buffered Branching Channels with Rendezvous Message Passing, Proc. 23rd IASTED Int. Conf. on Parallel and Distributed Computing and Networks (PDCN) (2005) pp. 184–192. Google Scholar-
M. Cole , Algorithmic Skeletons: Structured Management of Parallel Computation ( MIT Press , Cambridge, MA , 1989 ) . Google Scholar - Parallel Computing 30(3), 389 (2004), DOI: 10.1016/j.parco.2003.12.002. Crossref, ISI, Google Scholar
-
D. R. Butenhof , Programming with POSIX Threads ( Addison-Wesley , 1997 ) . Google Scholar


