TuckerMPI: A Parallel C++/MPI Software Package for Large-scale Data Compression via the Tucker Tensor Decomposition

01/18/2019
by   Grey Ballard, et al.
0

Our goal is compression of massive-scale grid-structured data, such as the multi-terabyte output of a high-fidelity computational simulation. For such data sets, we have developed a new software package called TuckerMPI, a parallel C++/MPI software package for compressing distributed data. The approach is based on treating the data as a tensor, i.e., a multidimensional array, and computing its truncated Tucker decomposition, a higher-order analogue to the truncated singular value decomposition of a matrix. The result is a low-rank approximation of the original tensor-structured data. Compression efficiency is achieved by detecting latent global structure within the data, which we contrast to most compression methods that are focused on local structure. In this work, we describe TuckerMPI, our implementation of the truncated Tucker decomposition, including details of the data distribution and in-memory layouts, the parallel and serial implementations of the key kernels, and analysis of the storage, communication, and computational costs. We test the software on 4.5 terabyte and 6.7 terabyte data sets distributed across 100s of nodes (1000s of MPI processes), achieving compression rates between 100-200,000× which equates to 99-99.999 desired accuracy) in substantially less time than it would take to even read the same dataset from a parallel filesystem. Moreover, we show that our method also allows for reconstruction of partial or down-sampled data on a single node, without a parallel computer so long as the reconstructed portion is small enough to fit on a single machine, e.g., in the instance of reconstructing/visualizing a single down-sampled time step or computing summary statistics.

READ FULL TEXT
research
08/30/2019

PLANC: Parallel Low Rank Approximation with Non-negativity Constraints

We consider the problem of low-rank approximation of massive dense non-n...
research
07/11/2019

Randomized Functional Sparse Tucker Tensor for Compression and Fast Visualization of Scientific Data

We propose a strategy to compress and store large volumes of scientific ...
research
07/03/2021

ATC: an Advanced Tucker Compression library for multidimensional data

We present ATC, a C++ library for advanced Tucker-based lossy compressio...
research
06/03/2018

Alchemist: An Apache Spark <=> MPI Interface

The Apache Spark framework for distributed computation is popular in the...
research
10/12/2022

Parallel Domain Decomposition techniques applied to Multivariate Functional Approximation of discrete data

Compactly expressing large-scale datasets through Multivariate Functiona...
research
12/22/2021

Domain Decomposition in space-time of 4D-VAR Data Assimilation problem: a case study on the ROMS software

Domain Decomposition of 4D-VAR Data Assimilation (DD-4DVAR) is made up o...
research
05/30/2018

Accelerating Large-Scale Data Analysis by Offloading to High-Performance Computing Libraries using Alchemist

Apache Spark is a popular system aimed at the analysis of large data set...

Please sign up or login with your details

Forgot password? Click here to reset