中文

现代架构上原子操作代价的评估

分布式、并行与集群计算 2020-10-21 v1 硬件体系结构 数据结构与算法 性能

摘要

原子操作(atomics)如比较并交换(CAS)或获取并加(FAA)在并行编程中无处不在。然而,这些操作与此类系统的各种特性(如缓存结构)之间的性能权衡尚不清楚且未被透彻分析。本文中,我们建立一种评估方法学,开发性能模型,并给出针对不同类型原子操作延迟与带宽的一组详细基准测试。我们考虑多种最先进的 x86 架构:Intel Haswell、Xeon Phi、Ivy Bridge 与 AMD Bulldozer。结果揭示了所考虑原子操作与架构属性(如被访问缓存行的相干状态)之间令人惊讶的性能关系。一个关键发现是,所有被测原子操作具有相近的延迟与带宽,即便它们的共识数不同。另一洞见是,原子操作的硬件实现阻碍了任何指令级并行,即便所发出操作之间不存在依赖。最后,我们讨论所分析架构中已发现性能问题的解决方案。我们的分析实现了更简单且更有效的并行编程,并加速了部署在现货机器与大型计算系统中的多种架构上的数据处理。

关键词

引用

@article{arxiv.2010.09852,
  title  = {Evaluating the Cost of Atomic Operations on Modern Architectures},
  author = {Hermann Schweizer and Maciej Besta and Torsten Hoefler},
  journal= {arXiv preprint arXiv:2010.09852},
  year   = {2020}
}