Aggregating Funnels for Faster Fetch&Add and Queues
Younghun Roh, Yuanhao Wei, Eric Ruppert, Panagiota Fatourou, Siddhartha Jayanti, Julian Shun
Abstract
Many concurrent algorithms require processes to perform fetch-and-add operations on a single memory location, which can be a hot spot of contention. We present a novel algorithm called Aggregating Funnels that reduces this contention by spreading the fetch-and-add operations across multiple memory locations. It aggregates fetch-and-add operations into batches so that the batch can be performed by a single hardware fetch-and-add instruction on one location and all operations in the batch can efficiently compute their results by performing a fetch-and-add instruction on a different location. We show experimentally that this approach achieves higher throughput than previous combining techniques, such as Combining Funnels, and is substantially more scalable than applying hardware fetch-and-add instructions on a single memory location. We show that replacing the fetch-andadd instructions in the fastest state-of-the-art concurrent queue by our Aggregating Funnels eliminates a bottleneck and greatly improves the queue's overall throughput.
• Computing methodologies → Concurrent algorithms; • Theory of computation → Concurrent algorithms; Data structures design and analysis.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext fb252a15-a1b0-4166-8b57-b9179e8e82e6Cited by top-tier papers1
Ask how each one uses itBuilds on2
Related papers
- Concurrent Balanced Augmented TreesEvan Wrench, Ajay Singh, Younghun Roh, Panagiota Fatourou et al.PPoPP 2026
- BBQ: A Block-based Bounded Queue for Exchanging Data and ProfilingJiawei Wang, Diogo Behrens, Ming Fu, Lilith Oberhauser et al.USENIX ATC 2022
- Fast and Scalable Channels in Kotlin CoroutinesNikita Koval, Dan Alistarh, Roman ElizarovPPoPP 2023 · 12 citations
- FetchSGD: Communication-Efficient Federated Learning with SketchingDaniel Rothchild, Ashwinee Panda, Enayat Ullah, Nikita Ivkin et al.ICML 2020 · 425 citations
- Scaling concurrent queues by using HTM to profit from failed atomic operationsOr Ostrovsky, Adam MorrisonPPoPP 2020 · 6 citations
