本赛题聚焦云-边-端异构计算环境中的资源管理与调度问题。给定任务 DAG 及多类型计算资源(云/边/端),任务之间存在依赖约束;在资源速度与跨节点通信带宽不一致的情况下,调度器需要在每一步选择一个就绪任务并将其分配到合适的计算节点,从而尽量降低整体完成时间(makespan)。赛题强调的不仅是“训练一个DRL模型”,更要求参赛者提供一个可复用的训练与评测框架:参赛方法应当能够抽象并封装环境状态、动作空间与合法性约束,支持场景(任务图与资源参数)的生成/加载,提供统一的策略接口以便评测脚本批量调用,并能与外部调度方法(如启发式基线、行为克隆等)进行公平对比。参赛者需要设计清晰的模块边界,使得环境与资源配置可替换、算法可插拔、实验流程可复现。最终,参赛者应输出在验证集上的标准化指标与模型/配置说明,展示其框架的可训练性、可扩展性与工程可用性。
Topcuoglu, H., Hariri, S., & Wu, M. Y. (2002). Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE TPDS, 13(3), 260–274.
Schulman, J., et al. (2017). Proximal Policy Optimization Algorithms. arXiv:1707.06347.
GrapheonRL: A Graph Neural Network and Reinforcement Learning Framework for Constraint and Data-Aware Workflow Mapping and Scheduling in Heterogeneous HPC Systems.
赛题题目:基于深度强化学习的云-边-端异构计算资源管理调度方法(高校赛题)
赛题说明:
本赛题聚焦云-边-端异构计算环境中的资源管理与调度问题。给定任务 DAG 及多类型计算资源(云/边/端),任务之间存在依赖约束;在资源速度与跨节点通信带宽不一致的情况下,调度器需要在每一步选择一个就绪任务并将其分配到合适的计算节点,从而尽量降低整体完成时间(makespan)。赛题强调的不仅是“训练一个DRL模型”,更要求参赛者提供一个可复用的训练与评测框架:参赛方法应当能够抽象并封装环境状态、动作空间与合法性约束,支持场景(任务图与资源参数)的生成/加载,提供统一的策略接口以便评测脚本批量调用,并能与外部调度方法(如启发式基线、行为克隆等)进行公平对比。参赛者需要设计清晰的模块边界,使得环境与资源配置可替换、算法可插拔、实验流程可复现。最终,参赛者应输出在验证集上的标准化指标与模型/配置说明,展示其框架的可训练性、可扩展性与工程可用性。
赛题要求:
基于 openEuler、openKylin、OpenHarmony 等至少一个国内主流开源操作系统开发,鼓励在更多Linux发行版上编译、运行和测试。
参赛者需提交一个可训练的 DRL 调度框架,用于云-边-端异构计算资源管理调度。
框架必须支持将环境与资源参数抽象为可配置组件,便于更换任务规模、资源类型与异构参数。
框架必须提供统一的调度策略接口,使评测脚本能够在同一组验证场景上对不同策略进行公平比较。
评分细则(明确评审角度、标准和分值范围):
功能完整性(40 分) (1)代码可运行:一键完成“训练 + 验证评测 + 产出结果文件”(如 summary.json/表格),且不依赖手工修改关键代码(10 分) (2)模块化/抽象能力:环境、资源配置、场景来源、策略接口(Policy/Scheduler)解耦清晰,能通过配置替换资源规模/异构参数(10 分) (3)插拔接口:参赛者框架支持接入至少一种外部调度方法(如 HEFT、BC 或用户自定义策略),评测脚本可统一调用并输出同一指标(10 分) (4)合法动作处理:对 ready/task mask 等约束有明确实现(如 action masking、非法动作惩罚/过滤),训练与推理阶段行为一致(10 分)
性能优化(35 分) (1)指标表现:在给定验证集上达到更优 mean_ratio = mean(RL_makespan / HEFT_makespan),并给出均值与方差或样本规模说明(15 分) (2)泛化能力:在未参与训练的场景(或不同划分)上性能保持稳定,避免仅对少量场景过拟合(10 分) (3)训练策略有效性:合理设计采样/更新/早停/超参,并能解释选择原因(5 分) (4)工程效率:在合理时间/算力预算下达到性能(5 分)
文档质量(25 分) (1)赛题对齐说明:文档清楚描述“问题建模—环境—动作定义—奖励设计—训练流程—评估指标”的对应关系,且与代码一致(10 分) (2)复现实验说明:给出运行命令/配置文件示例、关键超参、数据划分方式、输出路径、依赖版本(如 PyTorch 版本)(10 分) (3)可读性与结构:目录组织合理、接口原型/类职责明确、图示或伪代码帮助理解框架(5 分)
项目简介
面向云—边—端异构计算环境的 DAG 工作流调度框架,支持场景建模、策略训练、统一评测、搜索增强推理与结果可视化。
项目将任务依赖、计算资源差异和跨节点通信开销统一建模为调度环境,并使用带合法动作掩码的 Pairwise GNN-PPO 选择
(ready_task, resource)。框架内置 HEFT、Lookahead HEFT 与随机策略,可在同一验证集上比较总完成时间(makespan),形成从配置、训练、推理到评测的完整实验闭环。核心特性
赛题要求对应关系
Dockerfile、docker-compose.ymlsb3-contribMaskablePPO,实现 Pairwise GNN 策略网络cloud_edge_scheduler/training/ppo.py、cloud_edge_scheduler/policies/ppo_gnn.pyconfigs/resources.yamlcloud_edge_scheduler/envs/cloud_edge_scheduler/envs/dag_env.py、gym_env.pycloud_edge_scheduler/policies/configs/summary.jsonscripts/run_all.py、runs/scripts/config_editor.py、scripts/viz_demo.py方法概览
每一步调度从所有已就绪任务和可执行资源中选择一个合法组合:
动作编码为:
核心评测指标为:
ratio < 1.0表示该策略在对应场景上的 makespan 优于 HEFT。训练与推理链路
PPO-guided Beam 与单调局部修复
正式质量档并行生成三类完整候选:
Beam 每层联合扩展 PPO 高概率动作、EFT 较小动作和 HEFT 当前动作,并使用 HEFT completion 与可选 PPO tail 补全剩余任务。前缀以完整计划的真实 makespan 排序,而不是仅按 PPO 概率或局部奖励排序。
每条完整候选都会独立执行最多 8 轮单任务资源迁移和相邻独立任务换序,随后尝试成对资源交换以及 Top-16 依赖边共置。Top-16 由 8 条静态 bottom-level 关键边和 8 条实际尾部协同边组成。候选只有在完整重放后 makespan 严格下降时才会被接受;边共置产生新收益时,最多继续到第 3 个修复周期。最后从所有修复后的候选中选择真实 makespan 最小的计划。
搜索与修复属于推理阶段,不改变 PPO checkpoint。详细实现与消融结果见 PPO Beam 推理优化实测。
快速开始
1. 环境要求
CPU 环境可以完成训练和评测;GPU 用于缩短模型训练和搜索实验时间,具体耗时取决于硬件、场景规模与搜索参数。
2. 安装依赖
Linux、openEuler 或 openKylin:
3. 运行完整流程
训练、动作先验校准并在验证集上评测:
完成后主要产物位于
runs/default/:其中,
summary.json记录各策略的 makespan、相对 HEFT 的 ratio、均值、标准差和胜率。4. 分步运行
如需训练期间的实时曲线,移除
--no-plot。快速验收
为避免混淆默认训练流程与正式质量结果,建议按以下两条路径验收。
功能完整性验收
在 openEuler 容器中执行默认的训练、校准和评测流程:
运行完成后检查:
该路径用于确认环境、训练、checkpoint 保存和多策略评测链路能够完整运行,不代表下文记录的正式最优质量配置。
正式质量结果复核
若已包含正式模型时,可跳过训练,直接在固定验证配置上评测:
Docker 运行
默认 Compose 服务基于 openEuler 24.03 LTS 构建 CPU 环境,并将运行结果映射到宿主机的
runs/:已配置 NVIDIA Container Toolkit 时,可使用 GPU 服务:
直接构建和运行镜像:
Windows PowerShell 的挂载写法为:
配置说明
configs/default.yaml是默认入口,通过includes合并四类配置:configs/scenario.yamlconfigs/resources.yamlconfigs/training.yamlconfigs/eval.yaml场景支持三种来源:
generate:按配置生成可复现的随机 DAG;stg:读取 GrapheonRL/STG 工作流数据;load:读取项目原生 Scenario JSON 文件。可视化
场景编辑器
编辑器支持:
configs/resources.yaml;runs/custom/scenarios/。调度结果对比
输出包含 DAG 依赖图、策略 makespan 对比和 HEFT/PPO/Random 调度甘特图。
提交版本与结果口径
正式质量评测使用:
在 seed 42 的 24 个 64-task 固定验证场景上,端到端结果为:
mean_ratiostd_ratiomin_ratiomax_ratio在 seed 43、44、45 各 4 个未见场景上,同配置 top-16 评测的聚合
mean_ratio为0.995929。上述指标来自 PPO-guided beam search + 严格单调局部修复 的完整推理流程。
完整实验口径、消融与复现说明见:
实现边界
cores和memory用于任务—资源可行性检查,不表示节点内部多任务并行容量(参考赛题的参考资料进行搭建)。storage为兼容资源配置保留字段,当前不参与环境和 HEFT 计算。项目结构
扩展策略
新增调度方法可继承统一策略接口:
将策略注册到
scripts/eval.py的build_policies()后,即可与现有策略在相同场景和指标下比较。提交材料与文档
赛题联系人:
汪老师 wlp@nwpu.edu.cn
参考资料: