No Cover Image

Journal article 462 views 54 downloads

Implementing generalized deep-copy in MPI / Joss Whittle; Rita Borgo; Mark W. Jones

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

Swansea University Author: Jones, Mark

  • 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: 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!
first_indexed 2016-11-23T14:16:54Z
last_indexed 2019-06-05T10:18:59Z
id cronfa31197
recordtype SURis
fullrecord <?xml version="1.0"?><rfc1807><datestamp>2019-05-30T11:33:04Z</datestamp><bib-version>v2</bib-version><id>31197</id><entry>2016-11-23</entry><title>Implementing generalized deep-copy in MPI</title><alternativeTitle></alternativeTitle><author>Mark Jones</author><firstname>Mark</firstname><surname>Jones</surname><active>true</active><ORCID>0000-0001-8991-1190</ORCID><ethesisStudent>false</ethesisStudent><sid>2e1030b6e14fc9debd5d5ae7cc335562</sid><email>dda0c29127c698255a4c2b822dd94125</email><emailaddr>uiPdnV+XNibOpUxFjI3lXQgr5y2nBRz3haj4DmVVDsQ=</emailaddr><date>2016-11-23</date><deptcode>SCS</deptcode><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.</abstract><type>Journal article</type><journal>PeerJ Computer Science</journal><volume>2</volume><journalNumber/><paginationStart>e95</paginationStart><paginationEnd/><publisher></publisher><placeOfPublication/><isbnPrint/><isbnElectronic/><issnPrint/><issnElectronic>2376-5992</issnElectronic><keywords></keywords><publishedDay>21</publishedDay><publishedMonth>11</publishedMonth><publishedYear>2016</publishedYear><publishedDate>2016-11-21</publishedDate><doi>10.7717/peerj-cs.95</doi><url></url><notes></notes><college>College of Science</college><department>Computer Science</department><CollegeCode>CSCI</CollegeCode><DepartmentCode>SCS</DepartmentCode><institution/><researchGroup>Visual Computing</researchGroup><supervisor/><sponsorsfunders/><grantnumber/><degreelevel/><degreename>None</degreename><lastEdited>2019-05-30T11:33:04Z</lastEdited><Created>2016-11-23T12:59:40Z</Created><path><level id="1">College of Science</level><level id="2">Computer Science</level></path><authors><author><firstname>Joss</firstname><surname>Whittle</surname><orcid/><order>1</order></author><author><firstname>Rita</firstname><surname>Borgo</surname><orcid/><order>2</order></author><author><firstname>Mark W.</firstname><surname>Jones</surname><orcid/><order>3</order></author></authors><documents><document><filename>0031197-22122016101824.pdf</filename><originalFilename>peerj-cs-95.pdf</originalFilename><uploaded>2016-12-22T10:18:24Z</uploaded><type>Output</type><contentLength>5177623</contentLength><contentType>application/pdf</contentType><version>VoR</version><cronfaStatus>true</cronfaStatus><action>Updated Notes</action><actionDate>30/05/2019</actionDate><embargoDate>2016-12-22T00:00:00</embargoDate><documentNotes>Released under the terms of a Creative Commons Attribution License (CC-BY).</documentNotes><copyrightCorrect>true</copyrightCorrect><language/></document></documents></rfc1807>
spelling 2019-05-30T11:33:04Z v2 31197 2016-11-23 Implementing generalized deep-copy in MPI Mark Jones Mark Jones true 0000-0001-8991-1190 false 2e1030b6e14fc9debd5d5ae7cc335562 dda0c29127c698255a4c2b822dd94125 uiPdnV+XNibOpUxFjI3lXQgr5y2nBRz3haj4DmVVDsQ= 2016-11-23 SCS 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. Journal article PeerJ Computer Science 2 e95 2376-5992 21 11 2016 2016-11-21 10.7717/peerj-cs.95 College of Science Computer Science CSCI SCS Visual Computing None 2019-05-30T11:33:04Z 2016-11-23T12:59:40Z College of Science Computer Science Joss Whittle 1 Rita Borgo 2 Mark W. Jones 3 0031197-22122016101824.pdf peerj-cs-95.pdf 2016-12-22T10:18:24Z Output 5177623 application/pdf VoR true Updated Notes 30/05/2019 2016-12-22T00:00:00 Released under the terms of a Creative Commons Attribution License (CC-BY). true
title Implementing generalized deep-copy in MPI
spellingShingle Implementing generalized deep-copy in MPI
Jones, Mark
title_short Implementing generalized deep-copy in MPI
title_full Implementing generalized deep-copy in MPI
title_fullStr Implementing generalized deep-copy in MPI
title_full_unstemmed Implementing generalized deep-copy in MPI
title_sort Implementing generalized deep-copy in MPI
author_id_str_mv 2e1030b6e14fc9debd5d5ae7cc335562
author_id_fullname_str_mv 2e1030b6e14fc9debd5d5ae7cc335562_***_Jones, Mark
author Jones, Mark
author2 Joss Whittle
Rita Borgo
Mark W. Jones
format Journal article
container_title PeerJ Computer Science
container_volume 2
container_start_page e95
publishDate 2016
institution Swansea University
issn 2376-5992
doi_str_mv 10.7717/peerj-cs.95
college_str College of Science
hierarchytype
hierarchy_top_id collegeofscience
hierarchy_top_title College of Science
hierarchy_parent_id collegeofscience
hierarchy_parent_title College of Science
department_str Computer Science{{{_:::_}}}College of Science{{{_:::_}}}Computer Science
document_store_str 1
active_str 1
researchgroup_str Visual Computing
description 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.
published_date 2016-11-21T21:32:57Z
_version_ 1642509975301390336
score 10.836733