vix.ing · top · new · best · stats · spec

Aggregating Funnels for Faster Fetch&Add and Queues

2024/11/21 by Younghun Roh, Roh, Younghun, Yuanhao Wei +9 · 1 citation
Business, Management and Accounting · Computer Science · #Advanced Queuing Theory Analysis #Distributed #FOS: Computer and information sciences #Interconnection Networks and Systems #Parallel #Real-Time Systems Scheduling #and Cluster Computing (cs.DC)

paper · pdf · doi:10.48550/arxiv.2411.14420

openalex publication_date 2024/11/21 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

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 the fastest state-of-the-art concurrent queue by our Aggregating Funnels eliminates a bottleneck and greatly improves the queue's overall throughput.

Cited by

Related