The past decade has witnessed a surge in the development of concurrent data structures with increasing interest in data structures implementing concurrent sets. Microbenchmarking tools are frequently utilized to evaluate and compare the performance differences across concurrent data structures. The underlying structure and design of the microbenchmarks themselves can play a hidden but influential role in performance results, however, the impact of microbenchmark design has not been well investigated. In this work, we illustrate instances where concurrent data structure performance results reported by a microbenchmark can vary 10-100x depending on the microbenchmark implementation details. We investigate factors leading to performance variance across three popular microbenchmarks and outline case studies in which flawed microbenchmark architectures can lead to an inversion of performance results between two concurrent data structure implementations. We further derive a prescriptive approach for best practices in the design and utilization of concurrent microbenchmarks.
翻译:过去十年间,发展并行数据结构的情况急剧增加,对执行并行数据集的数据结构的兴趣日益浓厚;微型基准标记工具经常被用来评价和比较并行数据结构之间的性能差异;微型基准的基本结构和设计本身在性能结果方面可以发挥隐藏但有影响的作用;然而,微基准设计的影响没有很好地调查;在这项工作中,我们举例说明微基准报告的数据并行结构性能结果视微基准执行细节的不同而变化10-100x;我们调查导致三个受欢迎的微基准之间性能差异的因素,并概述一些案例研究,在这些研究中,有缺陷的微基准结构可能导致两个并行数据结构执行之间性能结果的反向。我们进一步为设计和利用并行微型基准的最佳做法制定了规范办法。