Skip to main content
QUICK REVIEW

[论文解读] Admission Control with Response Time Objectives for Low-latency Online Data Systems

Hao Xu, Juan A. Colmenares|arXiv (Cornell University)|Dec 23, 2023
Cloud Computing and Resource Management被引用 4
一句话总结

本文提出 Bouncer,一种针对低延迟在线数据系统的低开销准入控制策略,通过基于队列等待时间和处理时间的实时分位数响应时间估算,决定是否接受或拒绝每个查询。该策略确保被接纳的查询满足或接近其服务级别目标(SLO),支持按查询类型区分的 SLO,支持早期拒绝,并包含防饿机制,从而在模拟和生产环境的图数据库评估中,实现高系统利用率、极少的 SLO 违反以及极低的开销。

ABSTRACT

To provide quick responses to users, Internet companies rely on online data systems able to answer queries in milliseconds. These systems employ complementary overload management techniques to ensure they provide a continued, acceptable service through-out traffic surges, where 'acceptable' partly means that serviced queries meet or track closely their response time objectives. Thus, in this paper we present Bouncer, an admission control policy aimed to keep admitted queries under or near their service level objectives (SLOs) on percentile response times. It computes inexpensive estimates of percentile response times for every incoming query and compares the estimates against the objective values to decide whether to accept or reject the query. Bouncer allows assigning separate SLOs to different classes of queries in the workload, implements early rejections to let clients react promptly and to help data systems avoid doing useless work, and complements other load shedding policies that guard systems from exceeding their capacity. Moreover, we propose two starvation avoidance strategies that supplement Bouncer's basic formulation and prevent query types from receiving no service (starving). We evaluate Bouncer and its starvation-avoiding variants against other policies in simulation and on a production-grade in-memory distributed graph database. Our results show that Bouncer and its variants allow admitted queries to meet or stay close to the SLOs when the other policies do not. They also report fewer overall rejections, a small overhead, and with the given latency SLOs, they let the system reach high utilization. In addition, we observe that the proposed strategies can stop query starvation, but at the expense of a modest increase in overall rejections and causing SLO violations for serviced requests.

研究动机与目标

  • 设计一种准入控制策略,在流量激增时仍能维持低延迟在线数据系统的稳定运行,同时确保被接纳的查询满足基于分位数的响应时间 SLO。
  • 支持早期拒绝,以减少无用工作量,并在系统过载时允许客户端快速故障转移。
  • 为具有不同延迟特性的多样化工作负载支持按查询类型区分的 SLO。
  • 通过专用的防饿策略,在重载下防止某些查询类型被系统性地拒绝服务。
  • 实现适合生产系统中毫秒级请求处理的低计算开销。

提出的方法

  • Bouncer 使用对近期队列等待时间和处理时间的轻量级近似值,估算每个传入查询的分位数响应时间。
  • 将这些估算值与目标 SLO(例如 p90、p99)进行比较,以实时决定是否接受或拒绝查询。
  • 系统维护按查询类型划分的处理时间直方图,使用非重叠滑动窗口进行更新,以跟踪延迟特征。
  • 实现两种防饿策略:接受许可(acceptance-allowance)和帮助弱势查询(helping-the-underserved),通过动态调整准入阈值,确保服务不足的查询类型获得服务。
  • 该策略设计用于与其他过载管理技术(如负载均衡和资源调度)协同工作。
  • 它以黑盒方式运行,无需底层系统知识或模型重训练,适用于具有动态查询工作负载的生产系统。

实验结果

研究问题

  • RQ1是否有一种准入控制策略能在不依赖复杂模型或高开销的前提下,在高且波动的流量负载下维持基于分位数的 SLO?
  • RQ2与现有策略相比,Bouncer 在减少总体查询拒绝率的同时,是否能更有效地确保被接纳查询接近其 SLO?
  • RQ3Bouncer 的防饿机制是否能有效防止某些查询类型被系统性地拒绝服务,而不会显著增加 SLO 违反?
  • RQ4Bouncer 在毫秒级工作负载中进行实时、逐请求的准入决策时,其性能开销如何?
  • RQ5在模拟和生产级系统中评估时,Bouncer 在利用率和 SLO 遵从性方面如何扩展?

主要发现

  • Bouncer 及其防饿变体即使在其他策略失效时,也能确保被接纳查询满足或接近其 SLO。
  • 与基线策略相比,系统实现了更高的利用率并减少了总体拒绝次数,尤其在重载下表现更优。
  • Bouncer 的开销极低,适用于毫秒级系统中的实时、逐查询准入决策。
  • 防饿策略成功防止了某些查询类型被系统性地拒绝服务,尽管部分请求的 SLO 违反略有增加。
  • 在防饿变体中观察到的 SLO 违反次数在实践中被认为是可接受的,表明公平性与延迟合规性之间存在可行的权衡。
  • 在 LinkedIn 的 LIquid 图数据库上的评估证实了 Bouncer 在生产类环境中的有效性,表现出一致的 SLO 遵从性和低运营成本。

更好的研究,从现在开始

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

无需绑定信用卡

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