Skip to main content
QUICK REVIEW

[论文解读] Benchmarking Concurrent Priority Queues: Performance of k-LSM and Related Data Structures

Jakob Gruber, Jesper Larsson Träff|arXiv (Cornell University)|Mar 16, 2016
Distributed systems and fault tolerance参考文献 11被引用 3
一句话总结

本文在多种工作负载和键分布下对并发优先队列(包括k-LSM及其相关数据结构)进行了基准测试。结果表明,尽管k-LSM在均匀键分布下能实现高吞吐量,但在非均匀分布下性能显著下降,凸显了仅依赖吞吐量指标不足以全面评估并发优先队列的性能。

ABSTRACT

A number of concurrent, relaxed priority queues have recently been proposed and implemented. Results are commonly reported for a throughput benchmark that uses a uniform distribution of keys drawn from a large integer range, and mostly for single systems. We have conducted more extensive benchmarking of three recent, relaxed priority queues on four different types of systems with different key ranges and distributions. While we can show superior throughput and scalability for our own k-LSM priority queue for the uniform key distribution, the picture changes drastically for other distributions, both with respect to achieved throughput and relative merit of the priority queues. The throughput benchmark alone is thus not sufficient to characterize the performance of concurrent priority queues. Our benchmark code and k-LSM priority queue are publicly available to foster future comparison.

研究动机与目标

  • 评估并发优先队列的性能,超越标准的吞吐量基准测试。
  • 研究不同键分布和工作负载模式对松弛优先队列可扩展性和吞吐量的影响。
  • 评估松弛语义(如返回k个最小元素中的任意一个)在并发优先队列中的实际适用性,特别是针对离散事件仿真和图算法中常见的工作负载。
  • 发布公开的基准测试套件和k-LSM实现,以支持未来并发优先队列设计的可重现性和可比性评估。

提出的方法

  • 设计可配置的基准测试,包含两类工作负载:均匀(50%插入/删除)和拆分(一半仅插入,一半仅删除)。
  • 测试不同键分布:8位、16位和32位范围内的均匀分布,以及具有增量键偏移的递增/递减序列。
  • 实现并评估五种优先队列变体:k-LSM(k=128, 256, 4096)、SprayList、MultiQueue,以及一个全局锁堆作为基线。
  • 在四台多核系统上测量吞吐量(每秒操作数)和排名误差(与严格优先队列语义的偏差)。
  • 使用统计分析(30次运行的均值与标准差)评估性能的一致性和可扩展性。
  • 公开发布基准测试代码和k-LSM实现,以支持可重现性及未来比较。

实验结果

研究问题

  • RQ1k-LSM及其他并发优先队列在不同键分布(如均匀、递增、递减)下的性能表现如何?
  • RQ2仅依靠吞吐量基准是否足以充分表征并发优先队列的性能?工作负载模式是否至关重要?
  • RQ3松弛语义(如返回k个最小元素中的任意一个)如何影响不同工作负载下的实际性能与一致性?
  • RQ4哪种数据结构在不同系统和工作负载配置下表现出最一致的性能?
  • RQ5在实际应用中,排名误差与理论最坏情况边界相比偏离程度如何?

主要发现

  • 在80核系统上,k-LSM在均匀工作负载和均匀键分布下可实现超过3亿次/秒的操作吞吐量,显著优于其他所有实现。
  • 在具有递增键的拆分工作负载下,吞吐量下降约10倍,MultiQueue成为性能最佳的数据结构,显著优于k-LSM。
  • 在受限的8位键范围内,k-LSM表现优于其他队列,但所有实现的吞吐量均保持在较低水平。
  • SprayList在非均匀工作负载下表现出不稳定性,尤其在拆分和递增键场景下无法产生可靠结果。
  • MultiQueue在所有配置和系统中均表现出最一致的性能,吞吐量稳定且方差极低。
  • 排名误差测量显示,所有队列返回的元素与真实最小值的偏差远小于理论最坏情况边界预测值,表明即使存在松弛语义,其实际可靠性依然较高。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。