Skip to main content
QUICK REVIEW

[论文解读] Polyjuice: High-Performance Transactions via Learned Concurrency Control

Jiachen Wang, Ding Ding|arXiv (Cornell University)|May 21, 2021
Distributed systems and fault tolerance参考文献 63被引用 10
一句话总结

Polyjuice 提出了一种通过离线训练发现高性能、工作负载特异化的事务调度策略的可学习并发控制框架。通过将并发控制建模为细粒度动作的策略空间,并利用进化算法进行优化,Polyjuice 在中等到高竞争条件下的 TPC-C 和 TPC-E 上,相比现有算法实现了 15% 至 56% 的吞吐量提升。

ABSTRACT

Concurrency control algorithms are key determinants of the performance of in-memory databases. Existing algorithms are designed to work well for certain workloads. For example, optimistic concurrency control (OCC) is better than two-phase-locking (2PL) under low contention, while the converse is true under high contention. To adapt to different workloads, prior works mix or switch between a few known algorithms using manual insights or simple heuristics. We propose a learning-based framework that instead explicitly optimizes concurrency control via offline training to maximize performance. Instead of choosing among a small number of known algorithms, our approach searches in a "policy space" of fine-grained actions, resulting in novel algorithms that can outperform existing algorithms by specializing to a given workload. We build Polyjuice based on our learning framework and evaluate it against several existing algorithms. Under different configurations of TPC-C and TPC-E, Polyjuice can achieve throughput numbers higher than the best of existing algorithms by 15% to 56%.

研究动机与目标

  • 解决传统并发控制算法(如 2PL、OCC)在不同工作负载下性能波动的问题。
  • 克服依赖手动调优或简单启发式方法的启发式混合方法的局限性。
  • 设计一种系统化、可学习的框架,以发现针对特定工作负载定制的新型高性能并发控制策略。
  • 实现超越已知算法的自动、数据驱动的并发控制优化。

提出的方法

  • 该框架定义了一个细粒度动作的策略空间——如读版本选择、写暴露、等待时长和早期验证——映射到事务访问状态。
  • 每个策略表示为一个查找表,将状态(事务类型和访问阶段)映射到动作,从而显式建模并发控制逻辑。
  • 离线训练使用进化算法在策略空间中搜索最大化给定工作负载提交吞吐量的配置。
  • 系统在重放的事务追踪上进行训练,通过在不同策略下模拟执行来评估性能,而无需实际部署。
  • 该方法既支持编码已知算法(如 OCC、2PL),也能发现先前工作中未见的新型优化策略。
  • 该框架在 Polyjuice 中实现,Polyjuice 是一个支持多核的内存数据库系统,可基于学习到的查找表动态为每个事务选择策略。

实验结果

研究问题

  • RQ1基于学习的框架能否在真实工作负载上发现优于手工设计算法(如 OCC 和 2PL)的并发控制策略?
  • RQ2细粒度动作的策略空间在多大程度上能够支持发现新颖且高性能的并发控制策略?
  • RQ3在不同竞争水平下,学习到的策略性能与现有混合或自适应并发控制机制相比如何?
  • RQ4对于具有可预测工作负载的现实数据库,离线训练方法是否具有实际可行性?

主要发现

  • 在中等到高竞争条件下,Polyjuice 在 TPC-C 和 TPC-E 工作负载上相比最佳现有并发控制算法实现了 15% 至 56% 的吞吐量提升。
  • 在低竞争条件下,Polyjuice 学习到的策略等效于 OCC,但由于实现复杂性导致 8% 的性能开销。
  • 该系统发现了现有算法中未见的新颖策略,这些策略以微妙而优化性能的方式利用了工作负载特征。
  • 该框架对具有可预测访问模式的工作负载(如电子商务系统中的高峰时段流量)有效,基于历史追踪训练可产生显著影响。
  • 通过查找表表示的策略空间支持高效的进化搜索,且该方法可泛化至已知和新型并发控制策略。

更好的研究,从现在开始

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

无需绑定信用卡

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