聚合漏斗:加速获取与添加及队列
分布式、并行与集群计算
2025-03-04 v2
摘要
许多并发算法需要进程对单个内存位置执行获取与添加操作,这可能成为争用热点。我们提出了一种名为 Aggregating Funnels 的新型算法,通过在多个内存位置分布获取与添加操作来减少这种争用。它将获取与添加操作聚合为批量,以便该批量可通过在一个位置上的单个硬件获取与添加指令执行,并且批量中所有操作可通过在另一个位置上的获取与添加指令高效计算其结果。我们通过实验表明,这种方法在吞吐量方面优于以前的组合技术(如 Combining Funnels),并且在对单个内存位置应用硬件获取与添加指令的可扩展性方面显著优于后者。我们表明,用我们的 Aggregating Funnels 替换最快的当前并发队列中的获取与添加指令,可消除瓶颈并大幅提高队列的总体吞吐量。
引用
@article{arxiv.2411.14420,
title = {Aggregating Funnels for Faster Fetch&Add and Queues},
author = {Younghun Roh and Yuanhao Wei and Eric Ruppert and Panagiota Fatourou and Siddhartha Jayanti and Julian Shun},
journal= {arXiv preprint arXiv:2411.14420},
year = {2025}
}
备注
This is the full version of the paper appearing in PPoPP 2025