MINIME: Pattern-Aware Multicore Benchmark Synthesizer
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 (PP), Thread Communication (TC), Instructions per Cycle (IPC), Cache Miss Rate (CMR), Branch Misprediction Rate (BMR), Communication to Computation Ratio (CCR). Our framework contains three main modules: benchmark characterizer, parallel pattern recognizer, and synthetic benchmark synthesizer. The 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 obtained. Finally, the benchmark synthesizer generates a synthetic benchmark from the parallel pattern and the benchmark characteristics obtained. Also, the specific MCA/Pthread API is used during synthesis in order to generate benchmarks for homogeneous and heterogeneous embedded systems. | ![]() |
Publications
Source Code
DynamoRio, Umbra, MCA APIs, Linux perf-tools, and PapiEx are required for running MINIME.The source code can be downloaded here. It includes DynamoRio, Umbra, MCA APIs, and PapiEx.
Contact
If you have any comment, questions, suggestions, or want to contribute to MINIME, please feel free to contact us at: etem.deniz at boun dot edu dot tr