557.xz_r README

README

About

This program generates inputs for the 557.xzr SPEC CPU2017 benchmark. The 557.xzr benchmark decompresses compressed xz files and verifies that the decompressed files match the files originally compressed using a SHA-512 hashing scheme.

The output of this program is a folder which has the following structure:

Dependencies

Usage

./gen-input <input-directory>

The <input-directory> must have a file named workload. The first line of the file workload must have a string that will be used to name the workload. For each file that will be compressed, a new line must be formatted in the following way:

<filename-to-compress> <uncompressed-size> <compression-level>

The <filename-to-compress> is the name of a file inside <input-directory> that will be compressed.

The <uncompressed-size> is the size of <filename-to-compress> in MB. The program will not accept floating point values as valid arguments. If the <uncompressed-size> matches the size of <filename-to-compress>, this program will truncate or repeat <filename-to-compress> to match the <uncompressed-size>. This is useful in case you want to compress the same data in one file. If the <uncompressed-size> is smaller than the size of the <filename-to-compress>, then the program will only partially compress the file.

The <compression-level> is ranges from 1 to 9 which may be followed by an "e" for "extreme" compression. This will be equivalent to manually running the spexz command and specifying the compression level and setting the option -e

You can also specify more than 1 workload to be created if you add an empty line in the your workload file. This will mean the end of the current workload and the next line must be the name of the new workload. E.g.

$ pwd input-directory $ cat workload aWorkload aFile.ext

bWorkload bFile.ext $ cd ..

Running ./gen-input.py input-directory will create two folders in your current directory. It will create aWorkload and bWorkload directories. These folders will have an input and an output folder. The input folder will have a control file used by SPEC and the files to be decompressed.