Open-Source Parameterized Low-Latency Aggressive Hardware Compressor and Decompressor for Memory Compression

dc.contributor.authorJearls, James Chandleren
dc.contributor.committeechairButt, Alien
dc.contributor.committeememberJian, Xunen
dc.contributor.committeememberCameron, Kirk W.en
dc.contributor.committeememberMin, Chang Wooen
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2022-12-09T07:00:34Zen
dc.date.available2022-12-09T07:00:34Zen
dc.date.issued2021-06-16en
dc.description.abstractIn recent years, memory has shown to be a constraining factor in many workloads. Memory is an expensive necessity in many situations, from embedded devices with a few kilobytes of SRAM to warehouse-scale computers with thousands of terabytes of DRAM. Memory compression has existed in all major operating systems for many years. However, while faster than swapping to a disk, memory decompression adds latency to data read operations. Companies and research groups have investigated hardware compression to mitigate these problems. Still, open-source low-latency hardware compressors and decompressors do not exist; as such, every group that studies hardware compression must re-implement. Importantly, because the devices that can benefit from memory compression vary so widely, there is no single solution to address all devices' area, latency, power, and bandwidth requirements. This work intends to address the many issues with hardware compressors and decompressors. This work implements hardware accelerators for three popular compression algorithms; LZ77, LZW, and Huffman encoding. Each implementation includes a compressor and decompressor, and all designs are entirely parameterized. There are a total of 22 parameters between the designs in this work. All of the designs are open-source under a permissive license. Finally, configurations of the work can achieve decompression latencies under 500 nanoseconds, much closer than existing works to the 255 nanoseconds required to read an uncompressed 4 KB page. The configurations of this work accomplish this while still achieving compression ratios comparable to software compression algorithms.en
dc.description.abstractgeneralComputer memory, the fast, temporary storage where programs and data are held, is expensive and limited. Compression allows for data and programs to be held in memory in a smaller format so they take up less space. This work implements a hardware design for compression and decompression accelerators to make it faster for the programs using the compressed data to access it. This work includes three hardware compressor and decompressor designs that can be easily modified and are free for anyone to use however they would like. The included designs are orders of magnitude smaller and less expensive than the existing state of the art, and they reduce the decompression time by up to 6x. These smaller areas and latencies result in a relatively small reduction in compression ratios: only 13% on average across the tested benchmarks.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:30323en
dc.identifier.urihttp://hdl.handle.net/10919/112827en
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectcompressionen
dc.subjectdecompressionen
dc.subjectacceleratoren
dc.subjecthardwareen
dc.subjectparameterizeden
dc.subjectlow-latencyen
dc.titleOpen-Source Parameterized Low-Latency Aggressive Hardware Compressor and Decompressor for Memory Compressionen
dc.typeThesisen
thesis.degree.disciplineComputer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Jearls_JC_T_2021.pdf
Size:
603.69 KB
Format:
Adobe Portable Document Format

Collections