@@ -3,26 +3,29 @@ Welcome to SPBench's documentation!
...
@@ -3,26 +3,29 @@ Welcome to SPBench's documentation!
SPBench (Stream Processing Benchmark) is a framework for benchmarking C++ stream processing applications.
SPBench (Stream Processing Benchmark) is a framework for benchmarking C++ stream processing applications.
The main goal of SPBench is to enable users to easily create custom benchmarks from real-world stream processing applications and evaluate multiple PPIs.
The main goal of SPBench is to enable users to easily create custom benchmarks from real-world stream processing applications and evaluate multiple PPIs.
The SPBench is intended for three main audiences:
The SPBench is intended for three main audiences:
Users who want to run performance tests with the SPBench benchmarks. It implements different real-world stream processing applications using different parallel programming interfaces (PPIs) and parallelism patterns, and makes available the main metrics used in this domain. The framework also enables users to create custom benchmarks with new PPIs.
Users who want to run performance tests with the SPBench benchmarks. It implements different real-world stream processing applications using different parallel programming interfaces (PPIs) and parallelism patterns, and makes available the main metrics used in this domain. The framework also enables users to create custom benchmarks with new PPIs.
Researchers and developers who want to test and evaluate new technologies and solutions. The SPBench benchmarks are also highly parameterizable and its API allows for easy and fast code reuse across all applications.
Students and teachers who want to learn/teach stream parallelism. The benchmarks implemented with the SPBench API abstract the low-level code and expose to users only the stream core of each application (in a few lines of code). Therefore, it allows users to easily identify each individual operator and data dependencies, to understand what the stream flow looks like. Then users can build parallelism on top of this highly simplified code.
Researchers and developers who want to test and evaluate new technologies and solutions. The SPBench benchmarks are also highly parameterizable and its API allows for easy and fast code reuse across all applications.
Students and teachers who want to learn/teach stream parallelism. The benchmarks implemented with the SPBench API abstract the low-level code and expose to users only the stream core of each application (in a few lines of code). Therefore, it allows users to easily identify each individual operator and data dependencies, to understand what the stream flow looks like. Then users can build parallelism on top of this highly simplified code.
The SPBench suite comprises the following stream processing applications and will be more in the future:
The SPBench suite comprises the following stream processing applications and will be more in the future:
Ferret (PARSEC)
- Ferret (PARSEC)
Lane Detection
- Lane Detection
Bzip2
- Bzip2
Person Recognition (Temporarily removed due to license constraint)
- Person Recognition (Temporarily removed due to license constraint)
For each of them there are parallel versions implemented using the following parallel programming interfaces and will be more in the future:
For each of them there are parallel versions implemented using the following parallel programming interfaces and will be more in the future:
Intel TBB
- Intel TBB
FastFlow
- FastFlow
SPar
- SPar
GrPPI (forthcoming)
- GrPPI (forthcoming)
Standard C++ Threads (forthcoming)
- Standard C++ Threads (forthcoming)
**Lumache** (/lu'make/) is a Python library for cooks and food lovers
**Lumache** (/lu'make/) is a Python library for cooks and food lovers