10-04-2017, 08:31 PM
[attachment=236]
Compressed caching uses part of the available RAM to hold pages in compressed form, effectively adding a new level to the virtual memory hierarchy this level attempts to bridge the huge performance gap between normal (uncompressed) RAM and disk. The current technology trends and studies favor compressed virtual memory, it is attractive now, offering reduction of paging costs of several tens of percent, and it will be increasingly attractive as CPU speeds increase faster than disk speeds. In our study project, we aim to effectively implement the same in the Linux 2.4 Kernel. First, we introduce compression algorithms suited to compressing in-memory data representations in contrast to more mature Ziv-Lempel compressors, and complement them. Second, we also hope to introduce adaptive page compression, which we would implement depending on the progress of the base static compression. Adaptive compression essentially determines how much memory (if at all) should be compressed by keeping track of recent program behavior. This solves the problem of different programs, or phases within the same program, performing best for different amounts of compressed memory.