论文标题
同时数据结构微学分中的性能异常
Performance Anomalies in Concurrent Data Structure Microbenchmarks
论文作者
论文摘要
最近的几十年目睹了并发数据结构的发展激增,对实施并发集(CSET)的数据结构越来越兴趣。经常利用微型基准工具来评估和比较并发数据结构之间的性能差异。微基准本身的基础结构和设计可以在性能结果中起隐藏但有影响力的作用。但是,微实验设计的影响尚未得到很好的研究。在这项工作中,我们说明了一个实例,该实例由微重预测报告的同时数据结构性能结果可能会根据Microbenchmark的实现详细信息而变化10-100x。我们研究了导致三个流行的微学标和概述案例的性能差异的因素,其中有缺陷的微问题设计可以导致两种并发数据结构实现之间的性能结果反转。我们进一步提出了一组建议,以设计和使用并发数据结构微型计算标准,并探索SetBench Microbenchmark中的高级功能。
Recent decades have witnessed a surge in the development of concurrent data structures with an increasing interest in data structures implementing concurrent sets (CSets). 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 cases in which flawed microbenchmark design can lead to an inversion of performance results between two concurrent data structure implementations. We further derive a set of recommendations for best practices in the design and usage of concurrent data structure microbenchmarks and explore advanced features in the Setbench microbenchmark.