Recently using machine learning (ML) based techniques to optimize modern database management systems has attracted intensive interest from both industry and academia. With an objective to tune a specific component of a DBMS (e.g., index selection, knobs tuning), the ML-based tuning agents have shown to be able to find better configurations than experienced database administrators. However, one critical yet challenging question remains unexplored -- how to make those ML-based tuning agents work collaboratively. Existing methods do not consider the dependencies among the multiple agents, and the model used by each agent only studies the effect of changing the configurations in a single component. To tune different components for DBMS, a coordinating mechanism is needed to make the multiple agents cognizant of each other. Also, we need to decide how to allocate the limited tuning budget among the agents to maximize the performance. Such a decision is difficult to make since the distribution of the reward for each agent is unknown and non-stationary. In this paper, we study the above question and present a unified coordinating framework to efficiently utilize existing ML-based agents. First, we propose a message propagation protocol that specifies the collaboration behaviors for agents and encapsulates the global tuning messages in each agent's model. Second, we combine Thompson Sampling, a well-studied reinforcement learning algorithm with a memory buffer so that our framework can allocate budget judiciously in a non-stationary environment. Our framework defines the interfaces adapted to a broad class of ML-based tuning agents, yet simple enough for integration with existing implementations and future extensions. We show that it can effectively utilize different ML-based agents and find better configurations with 1.4~14.1X speedups on the workload execution time compared with baselines.
翻译:最近利用机器学习(ML)技术优化现代数据库管理系统引起了业界和学术界的浓厚兴趣。为了调整DBMS的具体组成部分(例如指数选择、 knobs 调试),基于ML的调试剂显示,能够找到比有经验的数据库管理员更好的配置。然而,一个关键但具有挑战性的问题仍未探讨 -- -- 如何使这些基于ML的调试剂协同工作。现有方法不考虑多个代理商之间的依赖性,每个代理商使用的模型仅研究改变DBMS组合的单一组成部分的影响。为了调控DBMS的不同组成部分(例如指数选择、 knobs 调试),需要有一个协调机制,使多个代理商相互认识对方。此外,我们需要决定如何在代理商之间分配有限的调试预算以最大限度地提高业绩。鉴于给每个代理商的奖赏分配是未知的,因此,我们研究上述问题并提出一个统一的协调框架,以便有效地利用基于ML的不基代理商。首先,我们建议一个协调机制,一个让每个代理商有效地修正未来递增代理商使用一个合作协议,从而将我们现有的一个成熟的缩缩缩缩缩框架。</s>