避免键值存储中的线程停顿和切换:新的无锁技术及更多
数据库
2026-01-05 v1
摘要
键值存储中线程切换或停顿的高成本是一个显著的性能瓶颈。虽然有许多来源,但争夺资源是主要来源之一,并且随着负载增加,冲突操作更频繁地尝试并发访问数据。传统的基于锁存的方法通常通过阻塞一个或多个争用线程来处理这些情况。无锁技术可以避免这种行为。但如果无锁技术需要执行浪费工作,收益可能有限。在本文中,我们展示了无锁技术如何利用 delta 记录更新,并且通过使用一种新的无锁方法(notices)可以显著减少浪费工作。本文解释了 notices 的工作方式以及如何解决 B-tree 索引维护问题,同时避免线程切换或停顿。讨论了其他避免线程切换或停顿的机会。
引用
@article{arxiv.2601.00208,
title = {Avoiding Thread Stalls and Switches in Key-Value Stores: New Latch-Free Techniques and More},
author = {David Lomet and Rui Wang},
journal= {arXiv preprint arXiv:2601.00208},
year = {2026}
}
备注
6 pages, 4 figures