Imitation Learning Enabled Fast and Adaptive Task Scheduling in Cloud
论文笔记 - 模仿学习增强的云任务调度方法
这篇论文提出了一个 模仿学习增强型云任务调度框架 ILETS,通过“离线专家初始化 + 在线异步专家纠偏”显著提升了 DRL 在动态云环境中的收敛速度、调度性能与鲁棒性。
论文信息
标题:Imitation Learning Enabled Fast and Adaptive Task Scheduling in Cloud
期刊:Future Generation Computer Systems
年份:2024
核心关键词:Cloud task scheduling,Imitation Learning,Deep Reinforcement Learning,Deadline Constraint,Energy-aware Scheduling
概括
这篇论文研究的是高动态云环境中的在线任务调度问题。作者认为,纯深度强化学习虽然具备在线自学习能力,但在任务调度场景中存在几个明显问题:一是冷启动阶段表现差,二是训练样本效率不高,三是面对动态环境时容易震荡并学到次优策略。为了解决这些问题,论文提出 ILETS(Imitation Learning Enabled Fast and Adaptive Task Scheduling) 框架,在强化学习前后分别引入两类模仿学习机制:离线阶段通过 OINPT 利用专家示范初始化网络参数,改善 DRL 的早期决策质量;在线阶段通过 OAIL 使用异步专家持续生成 demonstrations,对当前策略进行纠偏和增强,从而提升动态适应能力。实验表明,该方法在平均响应时间、能耗、任务成功率和收敛速度等指标上都优于纯 DRL 及若干对比方法。论文最有价值的启发在于:在调度问题中,模仿学习未必一定要替代强化学习,更现实的角色往往是作为强化学习的初始化器与在线纠偏器。
研究背景
云任务调度是典型的动态资源分配问题。任务持续在线到达,服务器资源异构,系统既希望缩短响应时间,又要降低能耗,同时还要尽量保证任务在 deadline 前完成。传统优化方法与启发式方法虽然在静态或中小规模场景中有效,但随着任务规模和环境动态性上升,其在线求解开销会迅速增大。论文综述指出,动态规划、概率算法和启发式算法在大规模在线任务调度中面临时间复杂度高、实时性差等问题,而传统机器学习方法又往往缺乏对高动态环境的持续适应能力。
近年来,深度强化学习被广泛用于调度研究,因为它能够通过与环境交互逐步学习策略,并具备一定的在线自适应能力。但作者进一步指出,纯 DRL 在在线任务调度中仍然存在三个关键瓶颈:
初始阶段性能差
网络随机初始化,训练初期只能依赖低质量样本,导致早期调度决策很差。样本效率不高
需要大量与环境交互才能学到有效策略,训练成本较高。动态环境下易震荡
当工作负载分布发生瞬时变化或趋势变化时,DRL 依赖自身生成样本更新,容易偏离更优学习方向。
基于这一背景,作者提出一个自然问题:
能否将模仿学习引入 DRL 调度流程,让 agent 在开始调度前先“学会像专家那样做”,并在在线调度过程中继续接受专家指导?
这就是 ILETS 的出发点。
论文试图解决什么问题
论文核心要解决的问题可以概括为:
在高动态云环境中,如何同时兼顾调度性能与在线适应能力,并克服纯 DRL 在冷启动、收敛速度和分布漂移下鲁棒性不足的问题?
围绕这个问题,作者实际上分解成了两个更具体的子问题:
- 如何让 DRL 一开始就拥有较好的初始调度能力?
- 如何让 DRL 在在线运行阶段持续适应不断变化的环境?
论文对应地提出两项机制:
- OINPT:解决前者;
- OAIL:解决后者。
问题建模
优化目标
论文研究的是带 deadline
约束的在线云任务调度问题,目标是在满足任务完成时限和服务器资源约束的前提下,同时优化任务响应时间与系统能耗。作者用一个加权目标统一刻画两者,并通过系数
- 任务响应时间不能超过其 deadline;
- 任务的资源需求不能超过被分配服务器的资源容量。
从本质上看,这是一类比较标准的 deadline-constrained energy-aware cloud scheduling 问题。
系统与任务模型
论文考虑一个由多台异构服务器组成的云数据中心。任务按时间顺序在线到达,每个任务都携带资源需求、任务长度和 deadline 等属性;每台服务器则具有服务速率、资源容量与静态功耗等参数。实验中任务的 CPU request 来自 Google Trace,任务长度与服务器服务率则在给定区间中生成。
这类建模的特点
这篇论文的调度动作本质上是将当前到达任务分配给某一台服务器,因此它研究的是典型的单任务逐步决策问题。需要注意的是,这种建模虽然适合验证“IL + RL”框架的有效性,但其复杂度仍然低于真正的算网协同场景,因为它尚未涉及:
- 多区域协同
- 任务迁移成本
- 网络带宽约束
- 电网指令跟踪约束
- 功率响应可行域建模
因此它对更复杂问题的启发主要体现在学习框架,而不在于系统建模深度。
ILETS 的总体思路
ILETS 的核心思想非常清晰:
在强化学习进入真实在线调度前,先用离线专家示范把策略初始化到一个“足够可用”的区域;在在线运行后,再通过异步专家持续补充高质量轨迹,减少纯 DRL 的探索偏差和收敛震荡。
从整体结构看,ILETS 不是一个纯 imitation learning 方法,而是一个 模仿学习增强型强化学习框架。其结构可以概括为:
DRL 主体
负责在线与环境交互并输出调度动作。OINPT
在离线阶段根据专家 demonstrations 训练 actor-critic 网络的初始参数。OAIL
在在线阶段周期性利用异步专家环境生成 demonstrations,对当前策略做再优化。
这个设计的关键意义在于,它没有把 IL 和 RL 看成二选一,而是让二者承担不同职责:
- IL 负责给策略提供更好的起点和方向
- RL 负责在真实动态环境中持续修正和适应
方法与算法设计
OINPT:离线初始网络参数训练
为什么需要 OINPT
作者指出,纯 DRL 在调度初期的主要问题是:由于网络参数随机、训练样本不足,agent 很难在前期做出合理决策。对于 deadline 约束任务调度,这会直接导致:
- 更长的响应时间
- 更高的任务失败率
- 更差的能耗表现
- 更慢的收敛速度。
因此,OINPT 的目标并不是直接训练出最终策略,而是先让 agent 从“随机不会调度”变成“初步会调度”。
专家数据来自哪里
论文明确说明,离线专家示范由优化方法生成,而不是来自人工标注。这意味着在调度场景中,模仿学习的 expert 完全可以是优化器、启发式算法或近优求解器。
这是这篇论文非常重要的一点,因为它说明:
在调度问题中,模仿学习并不依赖“人类专家数据”,而更适合利用“算法专家数据”。
OINPT 的学习方式
作者使用 behavior cloning 结合专门设计的损失函数来训练 actor-critic 网络,把 demonstrations 中的 expert knowledge 编码到初始参数中。论文强调,这样做的目的不是简单做监督分类,而是让网络参数从一开始就落在更合理的策略区域,从而减少后续 DRL 的无效探索。
OINPT 的作用
OINPT 的主要作用可以概括为三点:
- 减轻冷启动问题;
- 提高训练初期的调度质量;
- 加快后续 DRL 的收敛。
OAIL:在线异步模仿学习
为什么还需要 OAIL
即使经过 OINPT 初始化,DRL 在线运行时仍然会受到环境动态变化的影响。论文特别关注两类变化:
- instant changes:工作负载的瞬时波动
- trend changes:工作负载分布随时间持续漂移。
在这些场景下,纯 DRL 由于主要依赖自己生成的样本更新,很容易产生 oscillation,甚至偏离更优策略方向。因此作者提出 OAIL,为在线阶段持续补充专家指导。
OAIL 的运行逻辑
从论文描述来看,OAIL 的机制大致如下:
- 在线调度开始后,系统会周期性触发 emulator;
- 每个 emulator 中包含多个 experts 和一个异步云环境;
- experts 在模拟环境中对近期任务生成 demonstrations;
- demonstrations 被转化为 imitation loss,用于更新当前策略;
- 因为 emulator 与真实调度过程并行运行,所以不会阻塞主决策流程。
OAIL 的本质
如果用更直白的话理解,OAIL 本质上是一种:
在线多专家并行纠偏机制
主策略负责实时调度,而异步专家在后台持续给出局部高质量轨迹,帮助当前策略减少震荡并更快适应环境变化。
OAIL 的意义
OAIL 的价值主要体现在:
- 提升动态环境下的鲁棒性;
- 缓解纯 DRL 的在线样本偏差;
- 降低工作负载变化下的收敛震荡。
ILETS 与普通 DRL 的区别
这篇论文的真正贡献,不只是“加了一点 imitation”,而是重新定义了 IL 在调度中的角色。
纯 DRL 的方式
- 随机初始化
- 全靠在线探索慢慢学
- 对动态变化响应较慢
- 容易产生较多 early bad decisions
ILETS 的方式
- 先模仿专家初始化
- 再在在线阶段接受异步专家纠偏
- 初始决策质量更高
- 动态环境下更稳定。
所以 ILETS 并不是“用 IL 替代 RL”,而是:
把 IL 变成 RL 的初始化器和稳定化器。
实验设计
数据集
论文使用 Google Trace 作为实验数据来源,从 2011 年 5 月 Google 云数据中心轨迹中选取了 第 10 天的 50 分钟高动态 workload。作者选择这段数据,是因为它同时包含明显的瞬时变化和趋势变化,适合验证算法的动态适应能力。
数据划分方式
- 前 25 分钟:用于 OINPT 离线训练,共 330,632 个任务
- 后 25 分钟:用于在线调度与 OAIL,共 259,368 个任务。
这种划分方式很好地对应了 ILETS 的“双阶段”结构:先离线学习专家知识,再在后半段环境中验证在线适应能力。
系统规模
实验中设置了三种服务器规模:
- 50 servers
- 100 servers
- 200 servers。
关键参数
文中给出的主要参数包括:
- 任务 CPU request:
- 任务长度:
MI - 服务器服务率:
MIPS - 静态功耗:
W。
网络设置
actor 与 critic 均采用全连接网络,每个网络包含 128
个神经元,优化器使用 Adam,学习率为
对比方法
除了标准 DRL 与启发式基线外,论文还专门设置了两个消融版本:
- DRL+:只使用 OINPT,不使用 OAIL
- ILETS−:只使用 OAIL,不使用 OINPT。
这组实验设计非常关键,因为它能够分离分析:
- 离线 imitation 的贡献
- 在线 imitation 的贡献
实验结果分析
收敛表现
论文结果显示:
- DRL+ 与 ILETS 在训练初期就明显优于 DRL 和 ILETS−;
- ILETS− 的收敛速度也快于纯 DRL;
- ILETS 在不同云规模下都能更快达到更高的累计回报。
这说明:
- OINPT 可以显著改善冷启动问题
- OAIL 也能促进在线收敛
- 二者结合效果最好
对动态变化的适应能力
论文特别分析了 workload 中的瞬时变化和趋势变化。结果表明:
- 在 instant changes 场景下,ILETS 仍能保持平稳收敛,振荡很少;
- 在 trend changes 场景下,所有算法都会出现 oscillation,但 ILETS 的波动最小。
这说明 OAIL 的主要价值不是提升静态性能,而是:
提高策略对环境分布漂移的鲁棒性。
调度性能结果
文中显示,相较于 DRL:
- ILETS− 在平均响应时间上提升 22.30%
- DRL+ 在平均响应时间上提升 36.73%
- ILETS− 在能耗上提升 10.56%
- DRL+ 在能耗上提升 20.92%
- ILETS− 在成功率上提升 5.69%
- DRL+ 在成功率上提升 12.99%。
从这个结果可以得到一个非常重要的结论:
只有离线初始化的 DRL+,效果居然比只有在线纠偏的 ILETS− 更好。
这说明在这篇论文中,OINPT 的贡献比 OAIL 更关键。
这对后续研究很有启发,因为它意味着:
- 在调度问题中,优先构造高质量 expert trajectories 往往比直接做复杂在线纠偏更划算;
- 一个好的离线初始化,有时比更复杂的在线学习机制更重要。
决策开销
论文还给出了平均单任务决策时间:
- DRL:50/100/200 servers 下约为 0.021 / 0.027 / 0.038 s
- ILETS:约为 0.026 / 0.047 / 0.074 s。
这说明 ILETS 的性能提升并不是零代价的。虽然作者通过异步 emulator 避免了主线程阻塞,但整体系统复杂度和计算开销确实上升了。因此,“异步专家不增加调度时延”更准确的理解应当是:
- 不明显阻塞主流程
- 但总体计算成本仍然更高
论文的主要贡献
我认为这篇论文的贡献可以概括为三层。
第一层:方法框架贡献
提出了 ILETS,将 imitation learning 明确嵌入 DRL 调度流程的前后两个关键阶段,而不是只做一个简单 warm start。
第二层:调度学习范式贡献
证明了在动态调度问题中,模仿学习非常适合作为:
- 策略初始化器
- 在线稳定化器
这比把 IL 与 RL 看成互相替代更符合工程现实。
第三层:实验结论贡献
通过 DRL+ 与 ILETS− 的消融分析,清楚表明:
- 离线 imitation 与在线 imitation 都有效;
- 但 离线初始化 OINPT 更关键。
论文的局限性
问题建模仍偏基础
这篇论文本质上仍然是“在线任务到服务器”的云调度问题,动作空间较简单,尚未涉及:
- 任务迁移
- 多数据中心协同
- 网络带宽约束
- 电网侧功率跟踪目标
- 复杂业务 SLA 组合
因此它更适合作为“学习框架参考”,而不是直接拿来解决更复杂的算电协同问题。
专家质量决定上限
ILETS 的表现很大程度依赖 expert demonstrations。如果专家求解器本身质量有限,模仿学习可能会把这种偏差一并继承下来。
在线异步机制工程复杂度较高
OAIL 需要 emulator、多专家以及环境同步机制,工程实现难度并不低。
泛化验证不够充分
论文主要在 Google Trace 子集与不同服务器规模下验证方法,尚未充分展示跨数据集、跨目标权重、跨约束结构的泛化能力。
我的理解与评价
这篇论文最值得肯定的地方,是它并没有陷入“IL 和 RL 谁替代谁”的二元对立,而是提出了一个更符合调度实际的判断:
在调度问题中,IL 最合适的价值不一定是取代 RL,而是帮助 RL 更快起步、更稳运行。
从研究路线角度看,这篇论文并没有证明“模仿学习天然优于强化学习”,它真正证明的是:
- 纯 DRL 直接上调度,代价很高;
- expert trajectories 非常有价值;
- 先模仿、再强化,是一种更稳妥的路线。
对我当前研究的启发
结合“电网指令驱动算网调度”这一研究方向,这篇论文至少有六点直接启发。
一、调度中的 expert 不必来自人工
这篇论文已经明确说明,在调度场景中,expert demonstrations 完全可以由优化器或启发式算法生成,而不需要人工标注。
这对算网调度尤其重要,因为我们的问题里很难获得人工高质量决策数据,但完全可以利用:
- 小规模最优求解器
- 鲁棒优化器
- Lyapunov / MPC / 滚动优化器
- 启发式规则器
- 现网调度日志
来生成 expert trajectories。
二、先做离线 imitation 比直接从零做 RL 更现实
从本文消融结果看,OINPT 比 OAIL 更关键。
这意味着在我们的研究里,如果目前算力和工程资源有限,那么最合理的起点不是上来就做完整在线 RL,而是:
- 构建仿真环境
- 用优化器/规则器生成 demonstrations
- 训练 imitation policy
- 先做出一个稳定、可解释、推理快的基线策略
这条路线更容易形成可发表结果。
三、后续再做 RL 微调会更稳
在 imitation policy 已经具备基本调度能力后,再加入 RL 做 fine-tuning,用来应对:
- 电网指令分布漂移
- 网络状态波动
- 任务模式变化
- 负荷映射误差
这样 RL 的职责就从“从零学会调度”变成了“在可用策略上做局部优化”。
四、我们的状态空间要比本文复杂得多
本文状态主要围绕任务与服务器资源。
而在电网指令驱动算网调度里,状态至少应包括:
- 电网侧指令:目标降载/增载、持续时长、响应时间窗
- 算力资源:CPU/GPU/内存使用率、排队任务、可迁移任务集合
- 网络状态:链路带宽、时延、拥塞水平
- 业务属性:优先级、deadline、迁移代价、服务等级约束
- 能源属性:节点功耗、区域碳强度、电价或可再生能源比例
- 历史反馈:前几轮指令跟踪误差、违约率等
因此不能直接照搬本文的状态设计。
五、动作空间也要比本文复杂
本文动作是“把当前任务选配到某个服务器”。
而算网调度问题中的动作更可能包括:
- 是否迁移任务
- 迁移到哪里
- 是否延迟执行
- 资源配额如何调整
- 哪些任务降级、暂停或重排
- 如何联合满足功率响应目标与 SLA 约束
这说明你后续更适合考虑:
- 分层动作
- 组合动作
- 先粗后细的决策结构
六、奖励函数需要体现“指令跟踪”而非仅仅时延能耗
本文的奖励主要围绕响应时间与能耗。
而在电网指令驱动场景中,奖励至少要考虑:
- 指令跟踪误差
- SLA 违约代价
- 任务迁移成本
- 网络占用成本
- 响应平滑性
- 可能还要包括碳成本或经济成本
因此你真正的创新点,很可能不在于“把 ILETS 原样搬过来”,而在于:
如何把电网响应约束、算网资源约束与业务 QoS 统一进可学习的状态—动作—奖励框架中。
一个更适合本课题的迁移思路
如果把这篇论文的方法思想迁移到“电网指令驱动算网调度”中,我认为更可行的路线是:
阶段一:构建专家调度器
使用以下一种或多种方式作为 expert:
- 小规模精确优化
- 启发式调度器
- 规则 + 优化混合求解器
- 滚动 MPC / Lyapunov 方法
输出电网指令约束下的近优调度轨迹。
阶段二:做 imitation learning 基线
把问题写成:
- 输入:电网指令 + 任务队列 + 算网状态 + 网络状态
- 输出:迁移/部署/延迟/资源调整动作
训练一个 imitation policy,先证明其比纯规则法更快、比纯 RL 更稳。
阶段三:做在线微调
在仿真环境中少量加入 RL 或在线反馈学习,使策略在分布漂移场景下保持稳定。
这个三阶段路线,本质上就是把 ILETS 的思想迁移到更复杂的算电协同调度中,但对问题建模进行了扩展。