[Back]


Talks and Poster Presentations (with Proceedings-Entry):

S. Hunold, J. Ajanohoun, A. Carpen-Amarie:
"MicroBench Maker: Reproduce, Reuse, Improve";
Talk: 12th IEEE International Workshop on Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS 2021) in conjunction with SC 2021 - Hybrid Conference, St. Louis, Missouri, USA; 2021-11-14 - 2021-11-19; in: "Proceedings of the International Workshop on Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS 2021)", IEEE, (2021), ISBN: 978-1-6654-1119-6; 69 - 74.



English abstract:
Benchmarking is one of the fundamental methods for analyzing the performance of computational processes or threads. In the domain of high performance computing, benchmarks are essential to assess computer systems, e.g., the TOP500 or the Green500 benchmarks are used to define the performance of machines. We address the problem of benchmarking MPI code. A common benchmarking pattern is to repetitively execute a specific code block and to take the start and the finish timestamp of each run of this code block, while iterations are logically separated using a barrier operation. Although this benchmarking scheme is very simple, it may lead to wrong conclusions, especially if the runtime of the code under investigation is very short, e.g., a reduction operation. In such scenarios, precise and reproducible measurements require accurate process synchronization methods and low overhead clocks. We present a library-based approach to MPI benchmarking. Our library can be used to conduct precise measurements without having to reinvent the benchmarking wheel. This novel library is based on the ReproMPI benchmark and supports source-code annotations. An experimenter can add annotations to lines of code that should be benchmarked. This annotated code is then transformed into a benchmark code, which allows for a clear separation of concerns, as the algorithm designer can define the test scenarios while the benchmarking expert conducts experiments independently. We show the general applicability of our approach in different use cases. In one particular study, we replace all timing and synchronization code from a well-known OSU micro-benchmark with our benchmark annotations. We demonstrate that the resulting code allows to tailor the benchmark options for allowing a fine-grained performance inspection.

Keywords:
HPC, Message Passing Interface (MPI), benchmarking, process synchronization, code annotations


"Official" electronic version of the publication (accessed through its Digital Object Identifier - DOI)
http://dx.doi.org/10.1109/PMBS54543.2021.00013



Related Projects:
Project Head Sascha Hunold:
Autotune


Created from the Publication Database of the Vienna University of Technology.