Publication | Closed Access
FFQ: A Fast Single-Producer/Multiple-Consumer Concurrent FIFO Queue
13
Citations
16
References
2017
Year
Unknown Venue
EngineeringComputer ArchitectureConcurrent SystemQueueing TheoryHardware SecurityMulti-producer/multi-consumer Fifo QueuesConcurrency (Computer Science)Parallel ComputingConcurrent ProgrammingComputer EngineeringComputer ScienceSynchronization OperationsCryptographyOperating SystemsCloud ComputingFast Fifo QueueParallel ProgrammingConcurrent Data StructureSystem Software
With the spreading of multi-core architectures, operating systems and applications are becoming increasingly more concurrent and their scalability is often limited by the primitives used to synchronize the different hardware threads. In this paper, we address the problem of how to optimize the throughput of a system with multiple producer and consumer threads. Such applications typically synchronize their threads via multi-producer/multi-consumer FIFO queues, but existing solutions have poor scalability, as we could observe when designing a secure application framework that requires high-throughput communication between many concurrent threads. In our target system, however, the items enqueued by different producers do not necessarily need to be FIFO ordered. Hence, we propose a fast FIFO queue, FFQ, that aims at maximizing throughput by specializing the algorithm for single-producer/multiple-consumer settings: each producer has its own queue from which multiple consumers can concurrently dequeue. Furthermore, while we provide a wait-free interface for producers, we limit ourselves to lock-free consumers to eliminate the need for helping. We also propose a multi-producer variant to show which synchronization operations we were able to remove by focusing on a single producer variant. Our evaluation analyses the performance using micro-benchmarks and compares our results with other state-of-the-art solutions: FFQ exhibits excellent performance and scalability.
| Year | Citations | |
|---|---|---|
Page 1
Page 1