无锁的$k$ - LSM松弛优先级排队
The Lock-free $k$-LSM Relaxed Priority Queue
摘要:
优先级队列是数据结构,其以有序的方式存储密钥以允许对最小(最大)密钥的有效访问。优先级队列对于许多应用是必不可少的,例如,Dijkstra的单源最短路径算法、分支定界算法和优先排序算法。高效的多处理器计算需要实现基本的数据结构,这些数据结构可以并发使用,并可以扩展到大量的线程和内核。无锁数据结构通过避免阻塞同步原语保证了卓越的可伸缩性,但\emph{delete-min}操作是并发优先级队列中固有的可伸缩性瓶颈。最近的工作集中于通过简化操作或通过放宽对\emph{delete-min}操作的要求来减轻这一障碍。我们提出了一个新的,无锁的优先级队列,放宽了\emph{delete-min}的操作,使它可以删除\emph{any}的$ρ+1$最小的键,其中$ρ$是一个运行时可配置的参数。此外,对于由同一线程添加和移除的项,该行为与非松弛优先级队列相同。优先级队列是以类似于日志结构的合并树的方式从对数数量的排序数组中构建的。我们实验比较我们的优先级队列最近的国家的最先进的无锁优先级队列,无论是放松和非放松的语义,表现出高性能和良好的可扩展性,我们的方法。
英文摘要:
Priority queues are data structures which store keys in an ordered fashion to allow efficient access to the minimal (maximal) key. Priority queues are essential for many applications, e.g., Dijkstra's single-source shortest path algorithm, branch-and-bound algorithms, and prioritized schedulers. Efficient multiprocessor computing requires implementations of basic data structures that can be used concurrently and scale to large numbers of threads and cores. Lock-free data structures promise superior scalability by avoiding blocking synchronization primitives, but the \emph{delete-min} operation is an inherent scalability bottleneck in concurrent priority queues. Recent work has focused on alleviating this obstacle either by batching operations, or by relaxing the requirements to the \emph{delete-min} operation. We present a new, lock-free priority queue that relaxes the \emph{delete-min} operation so that it is allowed to delete \emph{any} of the $ρ+1$ smallest keys, where $ρ$ is a runtime configurable parameter. Additionally, the behavior is identical to a non-relaxed priority queue for items added and removed by the same thread. The priority queue is built from a logarithmic number of sorted arrays in a way similar to log-structured merge-trees. We experimentally compare our priority queue to recent state-of-the-art lock-free priority queues, both with relaxed and non-relaxed semantics, showing high performance and good scalability of our approach.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。