Last week at ISC, Silicon Valley-based, Samplify Systems announced its APAX HDF Storage Library for HPC, which they say can push disk throughput by 3-8x and reduce storage needs for those tapping the HDF5 file format.
This could find wide appeal in a number of HPC application areas, including those related to CFD, climate modeling and multiphysics simulations–in short, the areas where HDF5 (and memory, disk and network bottlenecks) are common.
However, when you start talking compression to researchers, the first questions that come to mind are around data quality–followed closely by concerns about performance. Many scientists, especially in the data-intensive field of climate studies, look to GRIB2-based encoding methods, which while lossy, have served the community well. The problem, however, is that this still introduces some data quality and processing overhead–and for these users, neither are optimal sacrifices.
When it comes to compression, scientists are stuck between choosing lossless compression, which maintain fidelity but can be cumbersome and slow or lossy compression, which produces its own host of worries when it comes to archiving and validating scientific data.
But compression, even if it has the risk-laden name of “lossy”, doesn’t mean a pinch in quality–at least not if users are granted fine-tuned control over the compression features. According to Samplify Systems’ CEO, Allan Evans, the sacrifices on the lossy compression front are minimal–at least for those who are looking into their own APAX technology and their profiler technology which lets users set the accuracy to encoding levels.
Further, he explains, that another fear is that such compression would require dramatic code tweaking. He says that with their technology, this provides a transparent layer which actually opens access to the data.
According to Evans, lossy compression isn’t the risky business one might suspect–and it can lead to better performance when done properly. While this type of technology has wide play in other, non-HPC markets, a presentation from the company’s CTO at ISC ’13 last week spelled out just how viable extreme compression can be for a wide set of HPC applications, especially those with a large number of variables that can be run as standalone simulations against existing datasets.
In that presentation it was argued that “the most easily obtained benefit from lossy compression of climate datasets is a significant reduction in disk file size and a corresponding increase in disk bandwidth.” In terms of throughput, the CTO noted that their single-pass algorithm led to better cache usage and that overall, compared to the aforementioned compression methods, this offered a 1.6x improvement in compression and “better encoding for most climate variables due to its superior compression or data quality.”
To put this in better context, take a climate simulation, which can have close to 100 different state variables (pressure, temperature, etc), each of which is multi-dimensional (for example, different latitudes, altitudes, etc.). To add complexity, this simulation runs for a period of time, say between now and 2050. The simulation will provide interval-based snapshots while on the backend, the commonly-used HDF5 file format will containerize each of those variables for each snapshot–saving metadata so the information can be read back over quickly. The goal is to have a simulation where a user can pinpoint a particular place and date to understand exactly what the weather will be like.
Samplify has uncovered a way to use lossy compression to reduce these HDF5 files without changing the solver application (as long as it’s already using HDF5, of course). The data compression is then applied in real-time first as the data is being saved or read back from the file–then the size is reduced via their plug-in to HDF5. The operator can then decide how much compression to apply in the face of what will be lost–in essence, to see how they can go–before the fidelity is at unacceptable levels.
This means it’s possible for the scientist (versus a developer) to profile different variables–applying variable by variable compression that’s optimized for each variable type.
Outside of the compression angle, there is also the issue of performance. The APAX technology is Samplify’s numerical encoder that targets any integer or floating point data type and weighs in at 3:1 to 8:1 on the encoding rate scale. The key here is that it does so without having any direct impact on the actual application. Their APAX libraries can be snapped into an application’s core to let it work on data in memory, on disk or streaming across networks. It’s primed for Intel CPUs–Evans says the throughput is around 200 MB/sec per core.
While there appears no way to “try before you buy” directly, Samplify hopes this will be a valuable enough proposition for climatology and other researchers to plunk down an estimated $50,000 for a petabyte storage array. He notes that when priced against other solutions that take aim at the bottenecks in large-scale storage environments, this is on par, if not better.
As it stands, the company has lined up some impressive use cases, including one of note at Lawrence Livermore National Laboratory that’s worth taking a look at.