MINIME is an automated tool that generates
synthetic/standalone benchmarks in C using
MRAPI, MCAPI, or POSIX (Pthread) API. The synthetic benchmark
preserves the following performance characteristics:
Parallel Pattern, Instructions per Cycle (IPC),
Cache Miss Rate, Branch Misprediction Rate,
Communication to Computation Ratio.
Our framework contains three main modules:
benchmark characterizer, parallel pattern recognizer,
and synthetic benchmark synthesizer. Benchmark characterizer
obtains parallel benchmark characteristics by using
a dynamic binary instrumentation tool. The parallel pattern
recognizer decides the architectural parallel pattern from
the benchmark characteristics. Finally, benchmark synthesizer
generates a synthetic benchmark from the parallel pattern
and the benchmark characteristics. Also, the specific MCA/POSIX
API is used during synthesis in order to generate
benchmarks for homogeneous and heterogeneous systems.
Please cite the following paper if you are using our tool or synthetic benchmarks: Etem Deniz, Alper Sen, Brian Kahne, and Jim Holt, "MINIME: Pattern-Aware Multicore Benchmark Synthesizer", IEEE Transactions on Computers (TC), 2014. |