Journal article 1135 views 166 downloads
Implementing generalized deep-copy in MPI
PeerJ Computer Science, Volume: 2, Start page: e95
Swansea University Authors: Rita Borgo , Mark Jones
-
PDF | Version of Record
Released under the terms of a Creative Commons Attribution License (CC-BY).
Download (3.99MB)
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...
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!
|
first_indexed |
2016-11-23T14:16:54Z |
---|---|
last_indexed |
2020-07-31T18:47:53Z |
id |
cronfa31197 |
recordtype |
SURis |
fullrecord |
<?xml version="1.0"?><rfc1807><datestamp>2020-07-31T17:39:52.1928030</datestamp><bib-version>v2</bib-version><id>31197</id><entry>2016-11-23</entry><title>Implementing generalized deep-copy in MPI</title><swanseaauthors><author><sid>c4675d4072e4b2b3921ae57666f1d9ff</sid><ORCID>0000-0003-2875-6793</ORCID><firstname>Rita</firstname><surname>Borgo</surname><name>Rita Borgo</name><active>true</active><ethesisStudent>false</ethesisStudent></author><author><sid>2e1030b6e14fc9debd5d5ae7cc335562</sid><ORCID>0000-0001-8991-1190</ORCID><firstname>Mark</firstname><surname>Jones</surname><name>Mark Jones</name><active>true</active><ethesisStudent>false</ethesisStudent></author></swanseaauthors><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><paginationStart>e95</paginationStart><publisher>PeerJ</publisher><issnElectronic>2376-5992</issnElectronic><keywords>MPI extension library, Deep copy, Serialization, Marshalling, Dynamic data structures, Deserialization, Unmarshalling</keywords><publishedDay>21</publishedDay><publishedMonth>11</publishedMonth><publishedYear>2016</publishedYear><publishedDate>2016-11-21</publishedDate><doi>10.7717/peerj-cs.95</doi><url/><notes/><college>COLLEGE NANME</college><department>Computer Science</department><CollegeCode>COLLEGE CODE</CollegeCode><DepartmentCode>SCS</DepartmentCode><institution>Swansea University</institution><apcterm/><lastEdited>2020-07-31T17:39:52.1928030</lastEdited><Created>2016-11-23T12:59:40.6968766</Created><authors><author><firstname>Joss</firstname><surname>Whittle</surname><order>1</order></author><author><firstname>Rita</firstname><surname>Borgo</surname><orcid>0000-0003-2875-6793</orcid><order>2</order></author><author><firstname>Mark</firstname><surname>Jones</surname><orcid>0000-0001-8991-1190</orcid><order>3</order></author></authors><documents><document><filename>0031197-22122016101824.pdf</filename><originalFilename>peerj-cs-95.pdf</originalFilename><uploaded>2016-12-22T10:18:24.2670000</uploaded><type>Output</type><contentLength>5177623</contentLength><contentType>application/pdf</contentType><version>Version of Record</version><cronfaStatus>true</cronfaStatus><documentNotes>Released under the terms of a Creative Commons Attribution License (CC-BY).</documentNotes><copyrightCorrect>true</copyrightCorrect><language>eng</language><licence>http://www.creativecommons.org/licenses/by/4.0/</licence></document></documents><OutputDurs/></rfc1807> |
spelling |
2020-07-31T17:39:52.1928030 v2 31197 2016-11-23 Implementing generalized deep-copy in MPI c4675d4072e4b2b3921ae57666f1d9ff 0000-0003-2875-6793 Rita Borgo Rita Borgo true false 2e1030b6e14fc9debd5d5ae7cc335562 0000-0001-8991-1190 Mark Jones Mark Jones true false 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 PeerJ 2376-5992 MPI extension library, Deep copy, Serialization, Marshalling, Dynamic data structures, Deserialization, Unmarshalling 21 11 2016 2016-11-21 10.7717/peerj-cs.95 COLLEGE NANME Computer Science COLLEGE CODE SCS Swansea University 2020-07-31T17:39:52.1928030 2016-11-23T12:59:40.6968766 Joss Whittle 1 Rita Borgo 0000-0003-2875-6793 2 Mark Jones 0000-0001-8991-1190 3 0031197-22122016101824.pdf peerj-cs-95.pdf 2016-12-22T10:18:24.2670000 Output 5177623 application/pdf Version of Record true Released under the terms of a Creative Commons Attribution License (CC-BY). true eng http://www.creativecommons.org/licenses/by/4.0/ |
title |
Implementing generalized deep-copy in MPI |
spellingShingle |
Implementing generalized deep-copy in MPI Rita Borgo Mark Jones |
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 |
c4675d4072e4b2b3921ae57666f1d9ff 2e1030b6e14fc9debd5d5ae7cc335562 |
author_id_fullname_str_mv |
c4675d4072e4b2b3921ae57666f1d9ff_***_Rita Borgo 2e1030b6e14fc9debd5d5ae7cc335562_***_Mark Jones |
author |
Rita Borgo Mark Jones |
author2 |
Joss Whittle Rita Borgo Mark 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 |
publisher |
PeerJ |
document_store_str |
1 |
active_str |
0 |
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-21T03:38:05Z |
_version_ |
1763751688172208128 |
score |
11.035634 |