在这里插入图片描述

基于虚拟批处理规模的准入控制(VBS-based Admission Control)详解

该机制的核心思想是:通过动态评估新请求对系统负载的影响,在接纳前预测是否会导致现有或新请求的TPOT SLO(服务等级目标)违规。其关键在于使用虚拟批处理规模(VBS) 代替实际请求数量,更精准地反映系统真实负载,从而避免过载。


核心设计原理

1. 虚拟批处理规模(VBS)的定义
  • 传统批处理规模:直接统计运行中的请求数量(如6个请求 → 批处理规模=6)。
  • VBS改进逻辑:基于信用的批处理机制允许部分请求跳过执行(如宽松TPOT SLO的请求可能每3步才处理一次)。因此,实际负载应小于请求数量。
    VBS(R′)=∑r∈R′TRP(r) \text{VBS}(R') = \sum_{r \in R'} \text{TRP}(r) VBS(R′)=r∈R′∑​TRP(r)
    其中:
    • $ R’ $:当前运行队列 RRR 加入新请求 $ w $ 后的集合(R′=R∪{w}R' = R \cup \{w\}R′=R∪{w})。
    • TRP(r)TRP(r)TRP(r):请求 rrr 的 TPOT 相对比例性(定义见下文)。

TRP(TPOT相对比例性)的作用:
量化请求的紧迫性,公式为:
TRP(r)=min⁡r′∈R′STP(r′)STP(r) \text{TRP}(r) = \frac{\min_{r' \in R'} \text{STP}(r')}{\text{STP}(r)} TRP(r)=STP(r)minr′∈R′​STP(r′)​

  • STP®:请求 rrr 的 TPOT SLO(目标 TPOT)。
  • 最小TPOT:运行队列中最严格的 TPOT SLO。
  • TRP范围:0<TRP≤10 < \text{TRP} \leq 10<TRP≤1。
    • TRP=1 → 请求具有最严格SLO,需高频处理。
    • TRP→0 → 请求SLO宽松,处理频率低。

VBS的物理意义:

  • 将每个请求的贡献按其紧迫性加权,总和反映系统的“有效负载”。
  • 例如:3个请求(TRP分别为1.0、0.5、0.333)的VBS=1.833,远小于实际请求数量3。

2. 准入控制条件

当新请求 $ w $ 到达时,需满足以下条件才被接纳:
EstimatedTPOT(VBS(R′),Lavg(R′))≤min⁡r∈R′STP(r) \text{EstimatedTPOT}(\text{VBS}(R'), L_{\text{avg}}(R')) \leq \min_{r \in R'} \text{STP}(r) EstimatedTPOT(VBS(R′),Lavg​(R′))≤r∈R′min​STP(r)
其中:

  • EstimatedTPOT:基于模型 MMM 和序列长度预测器 PPP,根据 VBS 和平均序列长度 LavgL_{\text{avg}}Lavg​ 预估的 TPOT。
  • 右侧:接纳后所有请求的最小 TPOT SLO(即最严格约束)。

逻辑解读:

  • 若接纳后预估的 TPOT 不超过最严格的 SLO,则接纳;否则拒绝。

工作流程示例

场景设定
  • 系统状态:运行队列 $ R $ 中有3个请求:
    • R1(STP=2步),R2(STP=4步),R3(STP=6步)。
  • 新请求 $ w $:STP=3步。
  • 模型参数:归一化解码时间=0.25×批处理规模。
步骤1:计算当前最小TPOT SLO
  • $ \min_{r \in R} \text{STP}® = 2 $(R1的STP)。
步骤2:尝试接纳新请求 $ w $
  • 临时运行队列:R′=R∪{w}={R1,R2,R3,w}R' = R \cup \{w\} = \{R1, R2, R3, w\}R′=R∪{w}={R1,R2,R3,w}。
  • 计算每个请求的TRP:
    • R1: TRP=22=1.0\text{TRP} = \frac{2}{2} = 1.0TRP=22​=1.0
    • R2: $ \text{TRP} = \frac{2}{4} = 0.5$
    • R3: TRP=26≈0.333\text{TRP} = \frac{2}{6} \approx 0.333TRP=62​≈0.333
    • www: TRP=23≈0.666\text{TRP} = \frac{2}{3} \approx 0.666TRP=32​≈0.666
  • VBS(R’):1.0+0.5+0.333+0.666≈2.4991.0 + 0.5 + 0.333 + 0.666 \approx 2.4991.0+0.5+0.333+0.666≈2.499。
步骤3:预估TPOT
  • 假设:归一化解码时间=0.25×VBS → 0.25×2.499≈0.6250.25 \times 2.499 \approx 0.6250.25×2.499≈0.625。
  • 平均序列长度 LavgL_{\text{avg}}Lavg​:假设为20 tokens。
  • EstimatedTPOT:0.625×20=12.50.625 \times 20 = 12.50.625×20=12.5 步/token。
步骤4:比较SLO
  • 最小STP:$ \min_{r \in R’} \text{STP}® = \min(2, 4, 6, 3) = 2 $。
  • 条件判断:$ 12.5 \leq 2 $?→ 不成立。
  • 结果:拒绝请求 $ w $,因其会导致所有请求的TPOT超过最严格SLO(2步)。

对比传统方法的不足

传统准入控制(直接使用请求数量)
  • 假设:批处理规模=4(实际请求数量),归一化解码时间=0.25×4=1.0。
  • EstimatedTPOT:1.0×20=201.0 \times 20 = 201.0×20=20 步/token。
  • 结果:同样拒绝 www,但未考虑宽松SLO请求的跳过机制,导致过早拒绝潜在可接纳的请求。
VBS方法的优势
  • 更精准的负载评估:通过TRP加权反映实际资源占用,允许接纳更多请求。
  • 动态适应性:TRP随运行队列变化(如新增严格SLO请求时,其他请求的TRP会降低),机制自动调整负载容忍度。

实际应用场景

  1. 大模型推理服务:

    • 用户A(实时聊天):TPOT SLO=1步(TRP=1)。
    • 用户B(批量生成):TPOT SLO=4步(TRP=0.25)。
    • VBS控制:接纳新用户C(STP=2步)时,计算其TRP=0.5(因当前最小STP=1),VBS增量0.5,预估TPOT仍满足约束。
  2. 云计算负载控制:

    • 拒绝TRP过低的新请求(如TRP=0.1),防止信用积累过慢导致系统过载。

总结

VBS-based Admission Control 通过虚拟批处理规模(VBS) 动态评估系统负载,结合TRP权重反映请求的紧迫性,实现了:

  1. 精准准入决策:避免过载导致全局SLO违规。
  2. 资源高效利用:允许宽松SLO请求共享资源,提升吞吐量。
  3. 动态适应性:TRP自动响应运行队列变化,无需人工调参。

该机制在大模型服务、实时任务调度等场景中,显著优于传统基于固定阈值的准入控制方法。

Algorithm 1: TPOT Guarantee Mechanism 原理解析

该算法的核心目标是动态保障所有被接纳的请求满足其 TPOT SLO(Time Per Output Token 的服务等级目标),同时最大化系统吞吐量。它通过两个关键机制协同工作:

  1. 基于虚拟批处理规模(VBS)的准入控制(VBS-based Admission Control)
  2. 基于信用的批处理机制(Credit-based Batching)

以下是对算法原理的详细拆解:


输入与输出

  • 输入:
    • 大语言模型 MMM:用于预估请求的解码时间。
    • 序列长度预测器 PPP:预估请求生成的 token 数量。
    • 等待队列 $ W$:按最短截止时间优先(LDF)排序的未接纳请求。
    • 运行队列 RRR:已接纳且正在处理的请求。
  • 输出:
    • 批处理请求集合 BBB:当前迭代中需要执行的请求。

算法流程详解

1. 主循环(Line 1-15)

算法持续运行,每轮迭代分为两个阶段:

  • 阶段1:准入控制(Lines 3-8)
  • 阶段2:信用批处理(Lines 9-14)

2. 阶段1:VBS-based Admission Control(准入控制)

目标:动态评估新请求对系统负载的影响,确保接纳后所有请求仍能遵守 TPOT SLO。

具体步骤:

  1. 遍历等待队列 WWW(Line 3):

    • 尝试将每个新请求 $ w \in W $ 接入运行队列 $ R $。
  2. 临时更新运行队列(Line 4):

    • 构建临时队列 R′=R∪{w}R' = R \cup \{w\}R′=R∪{w}。
  3. 计算 VBS 和 L_avg(Line 5):

    • 虚拟批处理规模(VBS):
      VBS(R′)=∑r∈R′TRP(r) \text{VBS}(R') = \sum_{r \in R'} \text{TRP}(r) VBS(R′)=r∈R′∑​TRP(r)
      其中 TRP® 是请求 $ r $ 的 TPOT 相对比例性(定义见下文)。
    • 平均序列长度 $ L_{\text{avg}}(R’) $:基于预测器 $ P $ 预估请求的平均 token 数量。
  4. 预估 TPOT(Line 5):

    • 使用模型 MMM 和 LavgL_{\text{avg}}Lavg​ 预估当前负载下的 TPOT:
      EstimatedTPOT(VBS(R′),Lavg(R′)) \text{EstimatedTPOT}(\text{VBS}(R'), L_{\text{avg}}(R')) EstimatedTPOT(VBS(R′),Lavg​(R′))
  5. 准入条件判断(Line 5):

    • 若预估 TPOT ≤ 当前运行请求集 R′R'R′ 的最小 TPOT SLO(即 min⁡r∈R′STP(r)\min_{r \in R'} \text{STP}(r)minr∈R′​STP(r)),则接纳请求 $ w $:
      • 将 $ w $ 加入批处理集合 $ B $。
      • 从等待队列 $ W $ 中移除 $ w $,更新运行队列 $ R $。

示例:

  • 假设运行队列 $ R $ 中有请求 r1r_1r1​(STP=2步)和 r2r_2r2​(STP=4步),最小 STP=2步。
  • 新请求 www 的 STP=3步。
  • 计算 TRP(r1)=1.0, TRP(r2)=0.5, TRP(w)=0.666 → VBS=1.0+0.5+0.666=2.166。
  • 若预估 TPOT(如 0.25×VBS×L_avg)≤ 2步,则接纳 $ w $;否则拒绝。

3. 阶段2:Credit-based Batching(信用批处理)

目标:动态分配执行机会,优先保障严格 SLO 的请求,允许宽松 SLO 请求跳过部分迭代。

具体步骤:

  1. 信用积累(Line 9-10):

    • 每个运行中请求 $ r \in R $ 按其 TRP 速率积累信用:
      Cr(t)←Cr(t)+TRP(r) C_r(t) \leftarrow C_r(t) + \text{TRP}(r) Cr​(t)←Cr​(t)+TRP(r)
      其中 $ C_r(t) $ 是请求 $ r $ 在迭代 $ t $ 时的信用值(初始为0)。
  2. 批次选择(Line 11-12):

    • 若信用值 $ C_r(t) \geq 1.0 $,则将请求 $ r $ 纳入批处理集合 $ B $,并扣除 1.0 信用:
      Cr(t)←Cr(t)−1.0 C_r(t) \leftarrow C_r(t) - 1.0 Cr​(t)←Cr​(t)−1.0
  3. 信用机制的意义:

    • TRP 高(严格 SLO):信用积累快,高频被处理。
    • TRP 低(宽松 SLO):信用积累慢,间歇性被处理。

示例:

  • 请求 $ r_1 $(STP=2步,TRP=1.0):每迭代积累 1.0 信用 → 每次必被处理。
  • 请求 $ r_2 $(STP=4步,TRP=0.5):每迭代积累 0.5 信用 → 每 2 次迭代被处理一次。
  • 请求 $ r_3 $(STP=6步,TRP≈0.333):每迭代积累 0.333 信用 → 每 3 次迭代被处理一次。

核心数学原理

1. TRP(TPOT 相对比例性)定义

TRP(r)=min⁡r′∈R(t)STP(r′)STP(r) \text{TRP}(r) = \frac{\min_{r' \in R(t)} \text{STP}(r')}{\text{STP}(r)} TRP(r)=STP(r)minr′∈R(t)​STP(r′)​

  • 物理意义:量化请求 $ r $ 的紧迫性,值越小表示其 SLO 越宽松。
2. 收敛性证明

经过多轮迭代后,请求 $ r $ 的处理频率趋近于其 TRP 值:
lim⁡t→∞处理次数r(t)t=TRP(r) \lim_{t \to \infty} \frac{\text{处理次数}_r(t)}{t} = \text{TRP}(r) t→∞lim​t处理次数r​(t)​=TRP(r)
例如:TRP=0.5 的请求最终每 2 步处理 1 次,TRP=0.333 的请求每 3 步处理 1 次。


算法优势

  1. 严格 SLO 保障:高 TRP 请求(严格 SLO)获得高频处理,确保其 TPOT 目标。
  2. 动态资源分配:宽松 SLO 请求主动让出资源,避免与严格 SLO 请求竞争。
  3. 抗过载能力:通过拒绝潜在违规请求(如 TRP 过低的新请求),防止系统崩溃。
  4. 吞吐量优化:通过限制 VBS 规模(而非实际请求数量),减少因过载导致的全局 SLO 违规。

总结

Algorithm 1 的核心思想是 通过 VBS 准入控制预防过载,通过信用机制实现细粒度资源分配。

  • VBS-based Admission Control:用 TRP 加权反映真实负载,动态拒绝可能导致 SLO 违规的请求。
  • Credit-based Batching:按 TRP 分配执行机会,严格 SLO 请求优先处理,宽松 SLO 请求间歇性跳过。

这一机制在大模型推理、实时任务调度等场景中,显著优于传统基于固定阈值的调度方法,能够在保障服务质量的同时最大化系统吞吐量。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐