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 在在线任务调度中仍然存在三个关键瓶颈

  1. 初始阶段性能差
    网络随机初始化,训练初期只能依赖低质量样本,导致早期调度决策很差。

  2. 样本效率不高
    需要大量与环境交互才能学到有效策略,训练成本较高。

  3. 动态环境下易震荡
    当工作负载分布发生瞬时变化或趋势变化时,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 方法,而是一个 模仿学习增强型强化学习框架。其结构可以概括为:

  1. DRL 主体
    负责在线与环境交互并输出调度动作。

  2. OINPT
    在离线阶段根据专家 demonstrations 训练 actor-critic 网络的初始参数。

  3. 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 的机制大致如下:

  1. 在线调度开始后,系统会周期性触发 emulator
  2. 每个 emulator 中包含多个 experts 和一个异步云环境;
  3. experts 在模拟环境中对近期任务生成 demonstrations;
  4. demonstrations 被转化为 imitation loss,用于更新当前策略;
  5. 因为 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 在不同云规模下都能更快达到更高的累计回报。

这说明:

  1. OINPT 可以显著改善冷启动问题
  2. OAIL 也能促进在线收敛
  3. 二者结合效果最好

对动态变化的适应能力

论文特别分析了 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,而是:

  1. 构建仿真环境
  2. 用优化器/规则器生成 demonstrations
  3. 训练 imitation policy
  4. 先做出一个稳定、可解释、推理快的基线策略

这条路线更容易形成可发表结果。

三、后续再做 RL 微调会更稳

在 imitation policy 已经具备基本调度能力后,再加入 RL 做 fine-tuning,用来应对:

  • 电网指令分布漂移
  • 网络状态波动
  • 任务模式变化
  • 负荷映射误差

这样 RL 的职责就从“从零学会调度”变成了“在可用策略上做局部优化”。

四、我们的状态空间要比本文复杂得多

本文状态主要围绕任务与服务器资源。
而在电网指令驱动算网调度里,状态至少应包括:

  • 电网侧指令:目标降载/增载、持续时长、响应时间窗
  • 算力资源:CPU/GPU/内存使用率、排队任务、可迁移任务集合
  • 网络状态:链路带宽、时延、拥塞水平
  • 业务属性:优先级、deadline、迁移代价、服务等级约束
  • 能源属性:节点功耗、区域碳强度、电价或可再生能源比例
  • 历史反馈:前几轮指令跟踪误差、违约率等

因此不能直接照搬本文的状态设计。

五、动作空间也要比本文复杂

本文动作是“把当前任务选配到某个服务器”。
而算网调度问题中的动作更可能包括:

  • 是否迁移任务
  • 迁移到哪里
  • 是否延迟执行
  • 资源配额如何调整
  • 哪些任务降级、暂停或重排
  • 如何联合满足功率响应目标与 SLA 约束

这说明你后续更适合考虑:

  • 分层动作
  • 组合动作
  • 先粗后细的决策结构

六、奖励函数需要体现“指令跟踪”而非仅仅时延能耗

本文的奖励主要围绕响应时间与能耗。
而在电网指令驱动场景中,奖励至少要考虑:

  • 指令跟踪误差
  • SLA 违约代价
  • 任务迁移成本
  • 网络占用成本
  • 响应平滑性
  • 可能还要包括碳成本或经济成本

因此你真正的创新点,很可能不在于“把 ILETS 原样搬过来”,而在于:

如何把电网响应约束、算网资源约束与业务 QoS 统一进可学习的状态—动作—奖励框架中。

一个更适合本课题的迁移思路

如果把这篇论文的方法思想迁移到“电网指令驱动算网调度”中,我认为更可行的路线是:

阶段一:构建专家调度器

使用以下一种或多种方式作为 expert:

  • 小规模精确优化
  • 启发式调度器
  • 规则 + 优化混合求解器
  • 滚动 MPC / Lyapunov 方法

输出电网指令约束下的近优调度轨迹。

阶段二:做 imitation learning 基线

把问题写成:

  • 输入:电网指令 + 任务队列 + 算网状态 + 网络状态
  • 输出:迁移/部署/延迟/资源调整动作

训练一个 imitation policy,先证明其比纯规则法更快、比纯 RL 更稳。

阶段三:做在线微调

在仿真环境中少量加入 RL 或在线反馈学习,使策略在分布漂移场景下保持稳定。

这个三阶段路线,本质上就是把 ILETS 的思想迁移到更复杂的算电协同调度中,但对问题建模进行了扩展。

评论