scholarly journals Implementing generalized deep-copy in MPI

2016 ◽  
Vol 2 ◽  
pp. e95
Author(s):  
Joss Whittle ◽  
Rita Borgo ◽  
Mark W. Jones

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.

2012 ◽  
Vol 41 (1) ◽  
pp. 104-127 ◽  
Author(s):  
Pankaj K. Agarwal ◽  
Lars Arge ◽  
Haim Kaplan ◽  
Eyal Molad ◽  
Robert E. Tarjan ◽  
...  

2010 ◽  
Vol 27 (1) ◽  
pp. 55-62 ◽  
Author(s):  
C. Bajaj ◽  
R. A. Chowdhury ◽  
M. Rasheed

2017 ◽  
Author(s):  
Harun Mustafa ◽  
André Kahles ◽  
Mikhail Karasikov ◽  
Gunnar Rätsch

AbstractMuch of the DNA and RNA sequencing data available is in the form of high-throughput sequencing (HTS) reads and is currently unindexed by established sequence search databases. Recent succinct data structures for indexing both reference sequences and HTS data, along with associated metadata, have been based on either hashing or graph models, but many of these structures are static in nature, and thus, not well-suited as backends for dynamic databases.We propose a parallel construction method for and novel application of the wavelet trie as a dynamic data structure for compressing and indexing graph metadata. By developing an algorithm for merging wavelet tries, we are able to construct large tries in parallel by merging smaller tries constructed concurrently from batches of data.When compared against general compression algorithms and those developed specifically for graph colors (VARI and Rainbowfish), our method achieves compression ratios superior to gzip and VARI, converging to compression ratios of 6.5% to 2% on data sets constructed from over 600 virus genomes.While marginally worse than compression by bzip2 or Rainbowfish, this structure allows for both fast extension and query. We also found that additionally encoding graph topology metadata improved compression ratios, particularly on data sets consisting of several mutually-exclusive reference genomes.It was also observed that the compression ratio of wavelet tries grew sublinearly with the density of the annotation matrices.This work is a significant step towards implementing a dynamic data structure for indexing large annotated sequence data sets that supports fast query and update operations. At the time of writing, no established standard tool has filled this niche.


Sign in / Sign up

Export Citation Format

Share Document