-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZSTDm (special mode of zstd optimized for memory compression, see paper inside) #4137
Comments
For example, since only 4 KB are compressed, offsets will never be larger than 4 KB. This limitation can be exploited to recycle some bits, resulting in a shorter representation, hence better compression.
I could totally imagine these choices being generally better for compression of 4 KB RAM pages (not always, but on average).
But do note that in the end, we don't have an If we were to consider a In the meantime, the best we could do is optimize |
this means there would be some limitation for this |
Oh hello Yann, I didn't realize you created zstd as well. You're a beast!
Isn't that rather because the researchers never contributed their research?
Since these days filesystems also mostly work with 4kiB logical (and physical) sectors, it might help universally.
Would it also help to create a small dictionary that contains the foundational Thinking more on it (and considering my similar issue here: lz4/lz4#1505), and the fact that Google uses @leonpano2006 |
Is your feature request related to a problem? Please describe.
Zstd
is currently used for Zram/Zswap compression as the default in a lot of places. However, it has quite a big latency penalty compared tolz4
, and many applications care about memory latency.Describe the solution you'd like
In 2017, at the Korean College of Information and Communication Engineering, a few researcher created LZ4m, a specialized version of
lz4
that was optimized for memory structures. Perhapszstdm
could be created, based on their initial research?Here is the paper: http://csl.snu.ac.kr/papers/icce17.pdf (LZ4m: A Fast Compression Algorithm for
In-Memory Data)
I tried contacting the researchers for the source, but I got 'e-mail not delivered'.
Here is the difference between LZ4 and LZ4m:
And a few excerpts from the paper:
And here are the performance gains, LZ4m also achieves slightly higher compression ratio:
Perhaps that something similar could be achieved for Zstd, except with gains in compression/decompression speed and latency.
The text was updated successfully, but these errors were encountered: