首页> 外文会议>IEEE International Parallel and Distributed Processing Symposium >FFQ: A Fast Single-Producer/Multiple-Consumer Concurrent FIFO Queue
【24h】

FFQ: A Fast Single-Producer/Multiple-Consumer Concurrent FIFO Queue

机译:FFQ:快速的单生产者/多消费者并发FIFO队列

获取原文
获取外文期刊封面目录资料

摘要

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.
机译:随着多核体系结构的扩展,操作系统和应用程序变得越来越并发,其可伸缩性通常受到用于同步不同硬件线程的原语的限制。在本文中,我们解决了如何优化具有多个生产者线程和使用者线程的系统的吞吐量的问题。这样的应用程序通常通过多生产者/多消费者FIFO队列来同步其线程,但是现有解决方案的可伸缩性很差,正如我们在设计一个安全的应用程序框架时所观察到的那样,该框架要求在许多并发线程之间进行高吞吐量通信。但是,在我们的目标系统中,由不同生产者排队的物料并不一定要先后订购。因此,我们提出了一种快速FIFO队列FFQ,其目的是通过专门针对单生产者/多消费者设置的算法来最大化吞吐量:每个生产者都有自己的队列,多个消费者可以从该队列中同时出队。此外,尽管我们为生产者提供了免等待的界面,但我们将自己限制为无锁定的消费者,从而消除了帮助的需要。我们还提出了一个多生产者变体,以展示我们能够通过专注于单个生产者变体来删除哪些同步操作。我们的评估使用微观基准分析了性能,并将我们的结果与其他最新解决方案进行了比较:FFQ具有出色的性能和可伸缩性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号