中文

尽早释放锁:通过违背两阶段锁协议降低热点竞争(扩展版)

数据库 2021-03-19 v1

摘要

热点,即被大量事务频繁读取/写入的一小部分元组,会在并发控制协议中引发竞争。虽然热点可能仅占事务执行时间的一小部分,但传统的严格两阶段锁协议要求事务在完成后才释放锁,这使得显著的并行性未被利用。理想情况下,并发控制协议应仅针对热点的持续时间而非事务的持续时间来串行化事务。我们观察到,利用此类并行性需要违背两阶段锁协议。本文提出 Bamboo,一种通过修改传统两阶段锁协议来实现此类并行性的新并发控制协议,同时保持相同的正确性保证。我们深入分析了读取未提交数据所涉及的级联中止的影响,并讨论了可应用于进一步提升性能的优化方法。我们在 TPC-C 上的评估显示,与最优的悲观和乐观基线协议相比,性能提升高达 4 倍。在包含单个热点的合成工作负载上,Bamboo 相比基线实现了高达 19 倍的加速。

关键词

引用

@article{arxiv.2103.09906,
  title  = {Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking (Extended Version)},
  author = {Zhihan Guo and Kan Wu and Cong Yan and Xiangyao Yu},
  journal= {arXiv preprint arXiv:2103.09906},
  year   = {2021}
}