Performance of Inline Compression with Software Caching for Reducing the Memory Footprint in pySDC
The volume of data required for High Performance Computing (HPC) applications is growing faster than the memory storage available to store the required data, leading to performance bottlenecks in transferring data. Whether sending data from main memory to computation nodes or between parallel processes during runtime, the more data there is to send, the longer it will take to for that data to be sent from one location to the next. Hence the need for inline data compression, which reduces the amount of allocated memory needed by storing the largest data structures in a compressed format and decompressing/recompressing single variables as needed. We apply inline compression to HPC application pySDC, a framework that solves collocation problems iteratively using parallel-in-time methods. We introduce a new version of pySDC that has a compression manager to add inline compression functionality, along with a software cache that stores the decompressed state of the most frequently used variables. We use lossy compressor ZFP and test our model with varying software cache sizes. Results show that having no cache has the best compression ratio (CR) - with reducing the data up to one tenth of its original size- but having a maximum cache size reduces total execution time by 3X while also slightly improving the memory footprint. Our framework overall provides user versatility in the trade-off between execution time and memory savings.
Publication Details
- Journal
- TigerPrints (Clemson University)
- Published
- 2025-05-01
- Primary Topic
- Magnetic confinement fusion research
- Type
- article
- Field-Weighted Citation Impact
- 0.00