Aggregating Funnels for Faster Fetch&Add and Queues
Younghun Roh, Yuanhao Wei, Eric Ruppert, Panagiota Fatourou,, Siddhartha Jayanti, Julian Shun

TL;DR
The paper introduces Aggregating Funnels, a novel algorithm that reduces contention in concurrent fetch-and-add operations by batching and distributing them across multiple memory locations, significantly improving throughput and scalability.
Contribution
It proposes a new batching algorithm, Aggregating Funnels, that enhances performance and scalability of concurrent fetch-and-add operations and queues.
Findings
Achieves higher throughput than previous combining techniques.
Substantially more scalable than hardware fetch-and-add on a single location.
Eliminates bottlenecks in state-of-the-art concurrent queues.
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-and-add instructions in…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Queuing Theory Analysis · Real-Time Systems Scheduling · Interconnection Networks and Systems
