No Cover Image

Journal article 1062 views 148 downloads

Implementing generalized deep-copy in MPI

Joss Whittle, Rita Borgo Orcid Logo, Mark Jones Orcid Logo

PeerJ Computer Science, Volume: 2, Start page: e95

Swansea University Authors: Rita Borgo Orcid Logo, Mark Jones Orcid Logo

  • peerj-cs-95.pdf

    PDF | Version of Record

    Released under the terms of a Creative Commons Attribution License (CC-BY).

    Download (3.99MB)

Check full text

DOI (Published version): 10.7717/peerj-cs.95

Abstract

In this paper we introduce a framework for implementing deep copy on top of MPI. The process is initiated by passing just the root object of the dynamic data structure. Our framework takes care of all pointer traversal, communication, copying and reconstruction on receiving nodes. The benefit of our...

Full description

Published in: PeerJ Computer Science
ISSN: 2376-5992
Published: PeerJ 2016
Online Access: Check full text

URI: https://cronfa.swan.ac.uk/Record/cronfa31197
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract: In this paper we introduce a framework for implementing deep copy on top of MPI. The process is initiated by passing just the root object of the dynamic data structure. Our framework takes care of all pointer traversal, communication, copying and reconstruction on receiving nodes. The benefit of our approach is that MPI users can deep copy complex dynamic data structures without the need to write bespoke communication or serialize / deserialize methods for each object. These methods can present a challenging implementation problem that can quickly become unwieldy to maintain when working with complex structured data. This paper demonstrates our generic implementation, which encapsulates both approaches. We analyze the approach with a variety of structures (trees, graphs (including complete graphs) and rings) and demonstrate that it performs comparably to hand written implementations, using a vastly simplified programming interface. We make the source code available completely as a convenient header file.
Keywords: MPI extension library, Deep copy, Serialization, Marshalling, Dynamic data structures, Deserialization, Unmarshalling
Start Page: e95