AustereCache is a memory-efficient SSD cache system enhanced by compression and deduplication. You can find more details in our publication.
- Qiuping Wang, Jinhong Li, Wen Xia, Erik Kruus, Biplob Debnath, and Patrick P. C. Lee.
Austere Flash Caching with Deduplication and Compression.
USENIX ATC 2020.
- Third party libraries: LZ4, ISA-L_crypto
- OS: Ubuntu 16.04 with Linux kernel 4.4.0-170-generic
- Compiler tools: cmake 3.15.2, gcc 5.4.0
mkdir third_party && cd third_party
wget https://github.com/lz4/lz4/archive/v1.9.1.zip
unzip v1.9.1.zip
cd lz4-1.9.1
make
cd ..
git clone https://github.com/intel/isa-l_crypto.git
cd isa-l_crypto
./autogen.sh
./configure --prefix=$(pwd)
make && make install
cd ..
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
cd ..
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DDLRU=1
make
cd ..
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DDARC=1
make
cd ..
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCDARC=1
make
cd ..
- Download the FIU traces into the directory
traces/
. You can get the traces from http://iotta.snia.org/traces/390, namely FIU IODedup. - Go into the directory
traces/
and start processing.
cd traces
./process_traces.sh # May take long time
cd ..
- You can check the basic statistics of the generated traces using
calculate_basics.sh
.
cd traces
./calculate_basics.sh # May take long time
cd ..
cd traces
./syn_trace_gen.sh
cd ..
We prepare a generated synthetic trace sample with I/O deduplication ratio 50%, w/r ratio 7:3 (traces/sample.txt), along with a configuration file (conf/sample.json). After building the project, you can run the sample trace with following commands, or generate traces according to the trace generation procedure. For AC-D, D-LRU, and D-ARC
./run ../conf/sample_nocompression.json
For AC-DC and CD-ARC
./run ../conf/sample_compression.json
You could find the sample output of the demo program under ./conf/example_output.txt for AC-DC.