SPBench workloads

Workload Classes

SPBench provides different classes of workloads for each application. In this version all applications have the classes small, medium, and large.

Note that the workloads provided by the SPBench need to be downloaded from a remote repository before first use. To do this, you must run the download-inputs command.

  • ./spbench download-inputs

This command will download all input classes for all applications. It may take several minutes for large workloads, depending on your internet speed.

You can choose to download the workload classes for a single application.

  • ./spbench download-inputs -app <application_name>

And you can also select a single workload class.

  • ./spbench download-inputs -app <application_name> -class <workload_class>

For more info, run:

  • ./spbench download-inputs -h

Lane Detection

The Lane Detection input is a video from a car of a trip on a highway. It is an mp4 video with 640x360 resolution. This same video is used for all workload classes, but at different lengths between them.

  • Small class: 5 seconds duration

  • Medium class: 15 seconds duration

  • Large class: 1 minute duration

Bzip2

The workloads for Bzip2 are dump files from the wikipedia database. The files are as follows:

  • Small class: enwiki-20211120-pages-articles-multistream-index9

  • Medium class: enwiki-20211120-all-titles-in-ns0

  • Large class: enwiki-20211120-pages-articles-multistream9

Person Recognition

The Person Recognition input files consist of a set of photos of former US president Barack Obama’s face plus a video recorded during a talk that contains images of his face and also the faces of other people in the audience at some points. The set of images is used to train the application. The video is used to try to recognize the face of the former president.

All workload classes use the same video, but at different lengths, as described below:

  • Small class: 1 second video.

  • Medium class: 3 senconds video.

  • Large class: 15 seconds video.

Ferret

For Ferret the original workloads available on the PARSEC website are used.

Using external workloads

To run an application with an input that is not provided by the SPBench, you must first register that input. For this you can use the new-input command (CLI-new-input).

E.g. ./spbench -new-input -id <my_input_name> -app <spbench_app> -input-string <"my_input_string">

Adding result checking

The SPBench applications allow the result to be checked at the end of the execution. This is done by comparing the md5 hash of the benchmark output with a pre-computed md5 hash stored in the input register. Therefore, to add this result check also for a new external input you have registered, we recommend that you first run a benchmark in the sequential version with this input, to have a more reliable result file.

To add the md5 hash you can use the -md5 argument.

E.g. ./spbench -new-input ... -md5 <expected_md5_hash_to_check>

Warning

It is this resulting output file that you should use to compute the md5 hash you will add to the input log, not the original file.