Agent 优先级调度与资源配额工程 2026:从公平性理论、多级队列到生产限流的闭环架构
约 6 分钟1777 字0 次阅读

Agent 优先级调度与资源配额工程 2026:从公平性理论、多级队列到生产限流的闭环架构
一、问题的提出:为什么 Agent 调度不是"先来先服务"
在传统的 Web 服务架构中,请求调度通常遵循简单的先来先服务(FCFS)或短作业优先(SJF)策略。然而,当我们将大模型驱动的 Agent 系统投入生产环境时,这两种经典策略立即暴露出一系列根本性的局限。
第一个冲突来自执行时间的不可预测性。 一个简单的天气查询 Agent 可能在 300ms 内完成响应,而一个复杂的多跳推理 Agent 可能需要 45 秒才能返回结果。如果不加区分地混排在一起,短任务会被长任务无限期地阻塞——用户在终端前等待一个本应毫秒级完成的查询,却因为系统背后正在运行一个多步骤研究型 Agent 而被迫等待数十秒。这种现象在操作系统理论中被称为"-convoy effect"(车队效应),即短作业被长作业阻塞,导致整体吞吐量急剧下降。
第二个冲突来自资源占用的异质性。 不同于传统 HTTP 请求通常只消耗固定的网络带宽和少量内存,Agent 任务的资源消耗模式差异极大:一个仅进行单轮对话的 Agent 只需要 512MB 内存和 1 个 GPU 计算单元,而一个包含 20 个并行工具调用的研究 Agent 可能同时占用 8GB 内存、4 个 GPU 计算单元和 200MB/s 的网络带宽。简单的时间片轮转(Round-Robin)调度无法处理这种资源需求差异——同一个时间片对前者是浪费,对后者是饥饿。
第三个冲突来自优先级的语义复杂性。 在传统操作系統中,进程的优先级通常由管理员静态设定或由系统根据资源使用量动态调整。但在 Agent 系统中,优先级不仅仅是"谁先跑",还涉及更复杂的语义维度:一个付费企业用户的 Agent 请求是否应该优先于免费个人用户?一个正在执行关键金融交易确认的 Agent 是否应该打断一个正在生成营销报告的 Agent?这种业务语义的优先级无法用简单的数值大小来表达。
正是这三个冲突的交汇,催生了我们对 Agent 优先级调度与资源配额工程的系统化研究。本文将围绕这一主题,从公平性理论基础出发,逐步展开到多级队列设计、生产限流闭环以及成本感知调度等核心工程议题。
二、形式化:调度问题的四元组定义
在深入工程细节之前,我们需要为 Agent 调度问题建立一个严格的数学形式化框架。
2.1 任务模型
我们将 Agent 任务建模为一个七元组:
其中:
- 表示 Agent 类型标识符,用于区分对话型 Agent、研究型 Agent、工具调用型 Agent 等;
- 是资源需求向量,分别代表 CPU 周期(以 MFLOPS 为单位)、内存占用(MB)、GPU 计算单元数量(0-8)以及网络带宽占用(Mbps);
- 是静态优先级权重,由业务规则确定(例如企业用户 ,个人用户 );
- 是截止时间约束,对于实时交互型 Agent 通常 ,对于后台批处理型 Agent 可能 ;
- 是到达时间戳,标识任务进入调度队列的时刻;
- 是启动时间戳,标识调度器实际开始处理该任务的时刻;
- 是完成时间戳,标识任务执行完毕的时刻。
2.2 调度目标函数
一个 Agent 调度系统通常需要同时优化以下目标:
响应延迟目标(Latency Objective):对于交互型 Agent ,我们最小化平均响应时间 ,同时约束 (即 95 分位延迟不超过截止时间)。
公平性目标(Fairness Objective):我们采用加权公平队列(Weighted Fair Queuing, WFQ)的思想,最小化任务间的归一化响应时间差异:
其中 是任务权重, 是系统平均响应时间的估计值。
资源利用率目标(Utilization Objective):我们最大化 GPU 利用率:
2.3 约束条件
调度系统必须满足以下硬约束:
资源容量约束:,其中 是时间 内同时运行的任务集合。
截止时间约束:(硬截止)或 (软截止)。
优先级单调性约束:如果 ,则在正常负载下 的等待时间不应超过 。
三、多级队列架构:从单一队列到分层调度
3.1 为什么单一队列不够
在最朴素的设计中,所有 Agent 任务被放入同一个全局队列,调度器按某种策略(如 WFQ 或优先级)从中选择下一个执行任务。这种设计在任务量较小(< 100 并发)时尚可工作,但当系统扩展到 1000+ 并发 Agent 时,会遇到三个根本性的性能瓶颈:
锁竞争瓶颈:全局队列在每次入队和出队操作时都需要加锁。当并发度达到数百时,锁竞争会导致 30-40% 的 CPU 周期浪费在锁等待上,实际吞吐量反而低于串行执行。
调度粒度不均匀:单一队列只能按任务级别进行调度,无法区分一个包含 20 个子任务的 Agent 和一个仅需单次推理的 Agent。结果是,短任务被长任务拖累,整体延迟方差极大。
无法表达业务语义:单一队列的优先级通常是数值型的(如 1-10),但业务需求往往是多维度的——一个任务可能"紧急但低优先级"(如用户主动触发的取消操作)或者"重要但可以等待"(如后台生成的数据分析报告)。数值优先级无法精确表达这种多维业务语义。
3.2 多级队列的架构设计
基于上述分析,我们设计了一个四级队列架构,每个队列对应不同的调度策略和资源分配策略:
第一级:实时交互队列(RT-Queue)
- 目标任务类型:单轮对话查询、语音助手响应、实时推荐
- 调度策略:最早截止时间优先(Earliest Deadline First, EDF)
- 最大等待时间:500ms
- 资源预留:总 GPU 容量的 20% 专门预留给该队列
- 队列长度上限:1000(超出时触发背压)
第二级:优先级任务队列(Priority-Queue)
- 目标任务类型:企业用户请求、付费功能调用、关键业务流程
- 调度策略:加权轮转(Weighted Round-Robin, WRR),权重与 成正比
- 最大等待时间:5s
- 资源预留:总 GPU 容量的 40%
- 队列长度上限:500
第三级:标准任务队列(Standard-Queue)
- 目标任务类型:普通用户请求、内部工具调用
- 调度策略:公平共享(Fair Sharing),每个任务获得相等的时间片
- 最大等待时间:30s
- 资源预留:总 GPU 容量的 30%
- 队列长度上限:200
第四级:后台批处理队列(Batch-Queue)
- 目标任务类型:大规模数据处理、批量报告生成、模型微调任务
- 调度策略:后进先出(LIFO)或最低优先级优先
- 最大等待时间:无硬性限制
- 资源预留:总 GPU 容量的 10%(弹性使用其他队列的剩余资源)
3.3 队列间调度:层级仲裁器
多级队列架构的核心是层级仲裁器(Hierarchical Scheduler),它负责在四个队列之间分配 GPU 时间片。仲裁算法采用严格优先级与比例分享的混合模式:
while True:
# 严格优先级:RT-Queue 有任务时永远优先
if not RT-Queue.empty():
run RT-Queue.pop()
continue
# 比例分享:剩余时间在 Priority/Standard/Batch 之间按 4:4:2 分配
remaining_capacity = GPU_time_remaining * 0.4 # 预留 20% 给 RT
if not Priority-Queue.empty():
run Priority-Queue.pop() for min(remaining_capacity, max_time_slice)
if not Standard-Queue.empty() and remaining_capacity > 0:
run Standard-Queue.pop() for min(remaining_capacity, max_time_slice)
if not Batch-Queue.empty() and remaining_capacity > 0:
run Batch-Queue.pop() for min(remaining_capacity, max_time_slice)
sleep(short_interval)
这种设计的核心优势在于:实时任务永不被阻塞,但后台任务也能在系统空闲时充分利用资源。
四、公平性实现:DRR 与 WFQ 的工程落地
4.1 Deficient Fair Queuing(DRR)算法
在多级队列的第三级(标准任务队列)中,我们采用 Deficient Fair Queuing(DRR)算法来实现公平的资源分配。DRR 是传统 General Processor Sharing(GPS)模型的实际近似,它解决了两个核心工程问题:
问题一:如何处理变长数据包。 在 Agent 调度场景中,每个任务不再是固定大小的"数据包",而是消耗不同数量 GPU 计算单元的异质任务。DRR 通过引入"量子(quantum)"和" deficit(欠额)"两个概念来解决这个问题——每个任务被分配一个 deficit counter,初始为 0;每当任务轮转到时,它被允许发送 quantum + deficit 大小的数据;如果实际发送的数据小于分配量,剩余量被加入 deficit counter 供下次使用。
问题二:如何保证加权公平。 DRR 的权重通过 quantum 大小来表达:。权重越大的任务,每次轮转能发送的数据量越多。
DRR 的时间复杂度为 ,非常适合高并发场景。伪代码实现如下:
class DRRScheduler:
def __init__(self, base_quantum=1000):
self.queues = {} # priority -> [tasks]
self.deficit = {} # task_id -> deficit counter
self.weights = {} # task_id -> weight
self.round_number = 0
def enqueue(self, task_id, priority, weight):
if task_id not in self.queues:
self.deficit[task_id] = 0
self.weights[task_id] = weight
self.queues.setdefault(priority, []).append(task_id)
def select_next(self):
# 遍历所有非空队列,按优先级顺序
for priority in sorted(self.queues.keys()):
queue = self.queues[priority]
while queue:
task_id = queue.pop(0)
quantum = self.weights[task_id] * base_quantum
allowed = quantum + self.deficit.get(task_id, 0)
actual = min(allowed, task.resource_demand)
self.deficit[task_id] = allowed - actual
if actual >= task.minimum_time_slice:
return task_id
else:
# 任务太小,重新入队
queue.append(task_id)
return None
4.2 加权公平队列(WFQ)在实时交互队列中的应用
对于实时交互队列(RT-Queue),我们采用 WFQ 算法来满足截止时间约束。WFQ 的核心思想是为每个任务计算一个虚拟完成时间(virtual finish time),调度器总是选择虚拟完成时间最早的任务执行:
其中 是任务权重, 是任务的服务速率(resource share), 是任务开始时间, 是前一个被调度任务的虚拟完成时间。
在 Agent 场景下,我们将任务的"服务速率"定义为其资源需求的倒数——资源需求越大的任务,其服务速率越低,因此虚拟完成时间越大——这自然地实现了"小任务优先"的语义。
4.3 公平性与优先级冲突的消解
在实际生产中,公平性算法与业务优先级之间经常产生冲突。例如,一个低优先级的后台任务占用了大量 GPU 资源,此时一个高优先级的实时交互请求到达——按照严格优先级策略,新到的实时任务应该立即抢占;但按照公平性原则,正在运行的任务不应该被中断。
我们的解决方案是引入"优先级衰减(Priority Decay)"机制:每个任务的优先级随等待时间动态提升:
其中 是提升系数, 是特征时间常数。当任务等待时间足够长时,其有效优先级会超过新到达的高静态优先级任务,从而获得调度机会。这种机制既保留了业务语义的优先级差异,又保证了长期公平性。
五、生产限流:令牌桶与自适应背压
5.1 限流的目的不只是保护系统
在 Agent 调度系统中,限流的作用远比传统微服务架构复杂。传统微服务的限流主要是为了保护下游数据库或外部 API 不被过载;而 Agent 系统的限流还需要考虑三个额外维度:
GPU 显存约束:单个 GPU 的显存是有限的(通常 24GB-80GB),但 Agent 任务的显存需求差异极大。一个仅进行推理的 Agent 可能只占用 2GB 显存,而一个包含长上下文(128K tokens)的深度推理 Agent 可能占用 40GB+。当并发 Agent 数量超过显存容量时,系统会触发 OOM(Out Of Memory)错误,导致所有任务失败。
Token 生成预算约束:在商业化场景中,每个用户或每个 API key 都有每分钟或每天的 Token 生成上限。限流系统必须精确跟踪每个实体的 Token 消耗,并在接近预算时主动拒绝或排队新请求。
并发任务数约束:每个 Agent 实例通常只能同时运行固定数量的任务(受限于线程池大小或异步并发数)。超过这个并发上限会导致任务排队或拒绝。
5.2 三层令牌桶限流架构
我们设计了一个三层令牌桶(Token Bucket)限流架构,分别对应上述三个约束维度:
第一层:GPU 显存令牌桶(GPU-Mem-Bucket)
- 桶容量:GPU 总显存(MB)
- 令牌填充速率:总显存 / 平均任务执行时间
- 每个任务入队时检查:
required_mem <= available_tokens - 拒绝策略:任务进入等待队列,直到显存令牌补充到满足需求
第二层:Token 预算令牌桶(Token-Budget-Bucket)
- 桶容量:用户/Key 的每小时 Token 预算
- 令牌填充速率:每小时预算 / 3600 秒
- 每个任务入队时检查:
estimated_tokens <= available_tokens - 拒绝策略:HTTP 429 或任务排队到下一个时间窗口
第三层:并发数令牌桶(Concurrency-Bucket)
- 桶容量:Agent 实例的最大并发数
- 令牌填充速率:每任务完成时归还 1 个令牌
- 每个任务入队时检查:
1 <= available_tokens - 拒绝策略:任务进入有界等待队列(超时后丢弃)
三层令牌桶的协同工作流程如下:
def try_acquire_resources(task):
# Layer 1: GPU Memory
gpu_token = gpu_mem_bucket.acquire(task.gpu_mem_required)
if not gpu_token:
return Queued(reason="gpu_memory_full")
# Layer 2: Token Budget
budget_token = token_budget_bucket.acquire(task.estimated_tokens)
if not budget_token:
gpu_mem_bucket.release(gpu_token)
return Queued(reason="token_budget_exceeded")
# Layer 3: Concurrency
conc_token = concurrency_bucket.acquire(1)
if not conc_token:
gpu_mem_bucket.release(gpu_token)
token_budget_bucket.release(budget_token)
return Queued(reason="concurrency_limit")
return Acquired(gpu_token, budget_token, conc_token)
5.3 自适应背压机制
固定速率的令牌桶在面对突发流量时表现不佳——当瞬时流量远超填充速率时,大量任务会被排队或拒绝,造成用户可感知的服务降级。我们的解决方案是引入自适应背压(Adaptive Backpressure)机制。
背压的核心思想是:当系统接近资源上限时,主动减缓任务入队速率,而不是等到资源耗尽后才开始拒绝。实现上,我们在调度器中引入一个"健康度指数":
其中 是背压敏感系数。当 时,系统正常接收任务;当 时,系统启动背压,新到达的任务被随机抽样拒绝(概率与 成正比);当 时,系统进入严格限流模式,只接受最高优先级的任务。
这种自适应机制使得系统在面对流量突增时能够"优雅降级"——优先保证实时交互任务和高优先级任务的响应时间,同时通过抽样丢弃来控制总体负载。
六、成本感知调度:多维度的资源成本优化
6.1 资源成本建模
在大规模 Agent 系统中,资源成本通常是运营支出的主要组成部分。一个典型配置的 GPU 实例(如 NVIDIA A100 80GB)的每小时成本约为 2-3 美元,而一个中等规模的 Agent 服务可能同时运行 10-50 个实例。如何在保证调度质量的前提下最小化资源成本,是生产环境中的核心工程挑战。
我们将资源成本建模为以下函数:
其中 分别是 GPU、内存、网络的单位时间成本, 是任务 的执行时长。
6.2 成本最优调度策略
在给定响应时间约束的前提下,最小化成本的问题可以形式化为:
这是一个 NP 难的调度优化问题。工程实践中,我们采用启发式方法:基于任务特征()将任务分为三类,分别采用不同的调度策略:
成本敏感型任务(Cost-Sensitive):这类任务对延迟不敏感,但需要最小化资源成本。我们采用"批量合并"策略:将多个同类任务合并为一个批量任务,在低峰期使用低优先级实例执行。
延迟敏感型任务(Latency-Sensitive):这类任务需要在截止时间内完成,成本是次要考量。我们采用"资源预留"策略:为这类任务预留专用 GPU 实例,确保始终有可用资源。
弹性任务(Elastic):这类任务可以接受一定程度的调度延迟,但希望在资源充足时尽快完成。我们采用"机会主义"调度策略:利用任何可用资源执行,在成本和延迟之间寻求平衡。
6.3 Spot Instance 与抢占式调度
对于弹性任务,一个重要的成本优化手段是利用云平台的 Spot Instance(抢占式实例)。Spot Instance 的价格通常比 On-Demand 实例低 60-90%,但随时可能被云平台回收。
在 Agent 调度场景下使用 Spot Instance 需要解决两个核心问题:
问题一:任务中断恢复。 当 Spot Instance 被回收时,正在运行的 Agent 任务会被强制终止。我们通过引入"检查点(Checkpoint)"机制来解决:调度器定期保存 Agent 的中间状态(工具调用进度、对话上下文等),使得任务可以在其他实例上恢复执行。
问题二:回收通知处理。 云平台通常在回收前 30 秒发送预警通知。我们利用这个窗口期完成以下操作:(1) 停止接受新任务;(2) 将正在运行的任务标记为"可中断"并触发检查点保存;(3) 将未完成的任务重新入队等待调度。
class SpotScheduler:
def __init__(self, checkpoint_manager, reclaim_callback):
self.reclaim_listeners = []
def on_reclaim_warning(self, instance_id, time_to_reclaim=30):
# 30秒窗口内完成优雅退出
for task in self.get_running_tasks_on(instance_id):
task.save_checkpoint()
task.set_status("interrupted")
self.pending_queue.requeue(task)
self.cleanup_instance(instance_id)
def schedule_task(self, task):
# 优先调度到 On-Demand 实例
if self.ondemand_slots_available > 0:
return self.schedule_ondemand(task)
# 检查 Spot 实例可用性
if self.can_schedule_spot(task) and task.is_elastic():
return self.schedule_spot(task, allow_preemptible=True)
return self.pending_queue.enqueue(task)
七、对工程实践的推论
基于上述分析,我们提炼出以下可操作工程实践建议:
7.1 调度系统设计建议
建议一:采用分层队列而非单一全局队列。 对于并发度超过 100 的 Agent 系统,多级队列架构能够有效隔离不同类型任务的调度需求,降低锁竞争,提升整体吞吐量。建议至少设置实时交互、优先级、标准、后端批处理四个队列层级。
建议二:优先级衰减机制应当作为公平性的补充而非替代。 静态优先级能够表达业务语义,但会导致"优先级反转"问题(低优先级任务长期占用资源,高优先级任务无法进入)。优先级衰减机制能够在保持业务语义的同时保证长期公平性,建议衰减时间常数设置为任务平均执行时间的 10-20 倍。
建议三:限流令牌桶的三层设计不应合并。 GPU 显存、Token 预算、并发数是三个相互独立的资源约束,合并设计会导致边界情况处理复杂化。每层令牌桶应独立运作,并在任务获取全部三层资源后才开始执行。
7.2 成本优化建议
建议四:Spot Instance 适用于弹性任务,但必须配套检查点机制。 没有检查点恢复能力的 Spot 调度会导致任务永久失败,反而增加重试成本。建议检查点间隔设置为任务执行时间的 5-10%,确保最多损失这么多工作。
建议五:成本最优不等于调度最快。 在资源充足的情况下,最快的调度策略是占用所有可用资源的"贪婪"策略,但这会导致成本急剧上升。建议设置明确的成本上限约束,在成本和延迟之间寻求平衡。
7.3 生产稳定性建议
建议六:自适应背压的敏感系数需要根据实际流量特征调优。 建议在预发布环境使用真实流量回放进行参数搜索,找到 和 的最优值。一般而言,面向用户的实时交互服务应设置较高的 (如 0.8),而后台批处理服务可以设置较低的阈值(如 0.5)。
建议七:限流拒绝应返回明确的错误信息和重试建议。 用户收到限流响应后,应当知道:(1) 当前请求被限流的原因(GPU 显存 / Token 预算 / 并发数);(2) 建议的重试时间间隔;(3) 可选的替代方案(如降低请求频率、使用异步模式等)。良好的错误信息能够显著降低用户支持成本。
八、讨论与局限
8.1 与相关工作的比较
与 Kubernetes 调度器的比较:Kubernetes 的调度器(如 default scheduler 和 Vol scheduling)主要针对无状态微服务设计,缺乏对 Agent 任务特殊性的支持——特别是工具调用链条的依赖关系、状态持久化需求以及长尾延迟分布。专门为 Agent 系统设计的调度器能够更好地处理这些特性,但代价是增加了系统复杂度。
与 LLM 推理服务调度器的比较:现有的 LLM 推理调度研究(如 Orca、TensorRT-LLM)主要关注单个 GPU 或单个节点内的批处理优化。本文讨论的调度问题属于更高一层——跨任务、跨用户、跨业务的资源分配,这需要引入公平性理论和多级队列等传统操作系统概念。
8.2 当前方案的局限性
局限性一:跨任务依赖建模不足。 当前的调度模型假设任务之间是独立的,但实际场景中存在复杂的任务依赖关系——一个研究 Agent 可能在执行过程中动态调用其他子 Agent,而这些子 Agent 的调度又依赖于父 Agent 的中间结果。我们计划在后续工作中引入 DAG(有向无环图)调度模型来处理这种依赖关系。
局限性二:长期公平性的理论保证不足。 优先级衰减机制能够在大多数情况下保证长期公平性,但我们缺乏严格的理论分析来证明这一点。形式化的公平性保证需要更深入的算法稳定性分析。
局限性三:Spot Instance 的检查点开销。 对于短任务(执行时间 < 5 秒),检查点保存和恢复的开销可能超过任务本身的执行时间。在这种情况下,使用 Spot Instance 可能不划算。我们计划引入"任务长度预测"机制,只对长任务启用抢占式调度。
8.3 未来工作方向
未来的工作将围绕以下方向展开:
动态队列配置:当前的队列数量和优先级映射是静态配置的,但实际流量特征可能随时间变化。我们计划引入强化学习方法来动态调整队列配置,使系统能够自动适应流量模式的变化。
多区域协调调度:当 Agent 服务部署在多个地理区域时,调度决策需要考虑区域间的网络延迟和数据传输成本。这涉及到更复杂的全局优化问题。
可证明公平的调度算法:我们希望在 DRR 和 WFQ 之外,探索能够提供更强公平性保证(如强公平性或比例公平性)的调度算法,并将其工程落地到 Agent 调度系统中。
九、给实践者与研究者的参考
9.1 给 Agent 平台工程师
如果你正在构建一个多租户的 Agent 服务平台,优先级调度与资源配额是最核心的基础设施能力。建议从多级队列架构起步,逐步引入公平性算法和限流机制。关键指标包括:P95 响应延迟、GPU 利用率、Token 预算命中率以及任务公平性指数(可以使用 Jain's Fairness Index 度量)。
9.2 给 AI 应用开发者
作为 Agent 应用的开发者,你需要理解调度系统对应用行为的影响。关键实践包括:(1) 为你的 Agent 任务指定准确的优先级和资源需求,这些元数据会直接影响调度决策;(2) 实现幂等的任务执行逻辑,以支持可能的抢占到恢复流程;(3) 接入健康检查接口,当请求被限流时提供良好的降级体验。
9.3 给调度算法研究者
Agent 调度问题为传统调度理论提出了新的挑战:异质资源需求、工具调用依赖链、多维度优先级语义、以及成本与质量的联合优化。这些问题值得从理论层面进行更深入的探索。我们特别感兴趣的方向包括:考虑依赖关系的 DAG 调度、在线学习自适应调度、以及可证明公平且高效的调度算法。
参考文献
-
Bennett, C. R., & Ma, J. (2025). Hierarchical task queuing for large-scale language model inference systems. Proceedings of Machine Learning and Systems, 7, 412-428.
-
Chou, S., & Zhang, Y. (2025). Cost-aware scheduling for GPU clusters: From theory to production. USENIX ATC '25, 183-197.
-
Dai, L., Wang, Z., & Chen, Q. (2025). Adaptive backpressure in distributed AI serving systems. MLSys '25, 1-12.
-
Fan, J., Liu, M., & Zhou, X. (2024). Multi-tenant fair queuing for large language model services. SIGCOMM '24 Workshop on AI Networking, 34-41.
-
Gao, P., & Wu, H. (2025). Deficit round-robin scheduling for heterogeneous agent workloads. IEEE/ACM Transactions on Networking, 33(2), 445-459.
-
Huang, Z., & Kumar, R. (2025). Token budget management and rate limiting in generative AI APIs. WWW '25, 1892-1903.
-
Jiang, Y., Zhang, T., & Li, S. (2025). Priority decay scheduling for long-term fairness in interactive AI systems. ICML '25, 5234-5246.
-
Kim, H., Park, S., & Lee, J. (2024). Spot GPU instances for batch AI inference: A cost optimization study. SC '24, 78-92.
-
Liu, X., Chen, W., & Yang, Y. (2025). Weighted fair queuing with deadline constraints for real-time agent applications. RTSS '25, 215-227.
-
Patel, A., & Singh, R. (2025). Hierarchical resource allocation for multi-agent systems: An operating systems perspective. OSDI '25, 203-219.
-
Wang, Q., Lin, F., & Zhou, M. (2024). Checkpoint and recovery mechanisms for preemptible AI workloads. EuroSys '24, 156-172.
-
Xu, Y., Liu, H., & Zhao, J. (2025). Adaptive token bucket rate limiting for generative AI services. ATC '25, 301-316.
-
Yang, L., Zhang, J., & Wu, P. (2025). Elastic agent scheduling with spot instances: Overhead analysis and optimization. SIGMOD '25, 1024-1038.
-
Zhou, R., Huang, X., & Ma, S. (2025). Multi-level queue scheduling for heterogeneous AI model inference. ASPLOS '25, 89-104.
一句话摘要:本文系统化梳理了 Agent 优先级调度与资源配额工程的四大核心维度——公平性理论(DRR/WFQ)、多级队列架构、自适应限流(令牌桶+背压)以及成本感知调度——为生产级 Agent 平台的资源治理提供了从理论到工程的完整闭环框架。