(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210477181.1
(22)申请日 2022.05.03
(71)申请人 南京大学
地址 210093 江苏省南京市 鼓楼区汉口路
22号
(72)发明人 顾荣 仇伶玮 袁春风 黄宜华
(74)专利代理 机构 苏州威世朋知识产权代理事
务所(普通 合伙) 32235
专利代理师 沈晓敏
(51)Int.Cl.
G06F 9/50(2006.01)
G06F 9/48(2006.01)
G06N 3/08(2006.01)
G06N 20/00(2019.01)
(54)发明名称
一种面向深度学习的作业资源自动弹性伸
缩方法
(57)摘要
本发明公开了一种面向深度学习的作业资
源自动弹性伸缩方法, 包括如下步骤: 用户通过
系统接口提交深度学习 作业和作业描述文件; 根
据同类型作业的历史执行数据, 建立作业资源预
测模型; 使用该模型预测作业的初始资源量, 启
动相应数量的实例; 对每一个作业实例, 基于主
机资源负载、 集群拓扑、 用户偏好以及GPU设备的
分布进行调度; 每一轮深度学习训练迭代完成
后, 判断作业能否按预期时间完成; 根据作业当
前执行速度, 计算作业资源弹性伸缩系数; 进行
作业实例数的自动调整。 本发明可解决现有弹性
伸缩方法在深度学习场景下资源利用率低、 GPU
设备分配依赖人工的问题。
权利要求书1页 说明书5页 附图2页
CN 114816757 A
2022.07.29
CN 114816757 A
1.一种面向深度学习的作业资源自动弹性伸缩方法, 包括以下步骤:
(1)用户通过系统接口提交深度学习作业和一份作业描述文件, 所述深度学习作业包
括需要执行的深度学习程序, 作为步骤(2)的输入; 所述作业描述文件包括作业的启动参数
和用户期望的作业完成时间, 作为 步骤(3)的输入;
(2)根据用户提交 的深度学习作业, 找到同类型作业的历史执行数据, 从历史执行数据
中提取作业启动参数、 作业资源使用情况以及作业完成情况, 建立作业资源的预测模型, 并
将所述预测模型传入步骤(3);
(3)根据用户当前提交作业的启动参数和期望的作业完成时间, 使用预测模型估算作
业需要的初始资源量, 以及需要为作业启动的实例数; 将资源均分给所有实例, 并将所有实
例作为需要调度的实例传入步骤(4);
(4)对于需要调度的每个实例, 基于集群中主机的资源负载、 集群总体的拓扑结构、 用
户偏好以及GPU设备的分布进行调度, 依次将实例分发到合 适的主机上;
(5)作业每一轮深度 学习训练迭代结束后, 根据作业的当前执行速度, 估算作业的预期
完成时间; 如果所述预期 完成时间相比用户期 望的作业完成时间误差超过了系统允许的偏
差系数, 则进入步骤(6), 否则等待下一次迭代完成;
(6)作业弹性伸缩: 根据作业当前耗时和用户期望的作业完成时间, 计算得到用户期望
的作业执行速度, 再结合作业当前的执行速度, 计算得到作业资源的弹性伸缩系数, 将所述
弹性伸缩系数作为结果传入步骤(7);
(7)根据弹性伸缩系数调整作业资源, 创建相应数量的实例或停止相应数量的实例; 更
新完成后, 重复执 行步骤(4)至(7), 直到作业 最终完成。
2.根据权利要求1所述一种面向深度 学习的作业资源自动弹性伸缩方法, 其特征在于:
所述步骤(2)中, 所述预测模型是随机森林模型, 预测模型的输入特征分为两个部分, 第一
部分是用户作业的启动参数, 从所述作业描述文件中提取或由系统自动补全; 第二部分是
同类型作业的历史执行数据; 预测模型的输出标签是用户作业需求的资源以及需要为作业
启动的实例数; 训练预测模型时, 使用先随机 搜索再网格搜索的最佳参数搜索策略。
3.根据权利要求1所述一种面向深度 学习的作业资源自动弹性伸缩方法, 其特征在于:
所述步骤(3)中, 每次进行预测后, 使用新数据对预测模型进行完善; 完善时只优化模型参
数; 当新增记录的数量超过系统设定阈值时, 才重新训练预测模型。
4.根据权利要求1所述一种面向深度 学习的作业资源自动弹性伸缩方法, 其特征在于:
所述步骤(4)中, 使用三个调度队列分别保存 可调度实例、 执行失败需重调度的实例以及暂
无法调度的实例; 每次调度实例时, 将集群中主机的资源负载、 集群总体的拓扑结构、 用户
偏好以及GPU设备的分布都各自实现为一个子模块, 对主机进行打分; 打分过程中, 所有子
模块并行工作, 每一个子模块 都得到一个得分; 对 所有的得分按统一标准归一化后, 基于权
重wk进行求和, 作为主机的总得分; 将实例调度到总得分最高的主机上。
5.根据权利要求1所述一种面向深度 学习的作业资源自动弹性伸缩方法, 其特征在于:
所述步骤(6)中, 所述用户期望的作业执行速度Speedexpect=(Texpect‑Tcost)/Epochremaining,
式中Texpect表示用户期望的作业完成时间, Tcost表示作业当前耗时, Epochremaining表示剩余
的深度学习训练迭代轮数, 由作业启动参数中的总迭代轮数减去当前已迭代轮数获得; 所
述弹性伸缩系数为作业当前的执 行速度除以用户期望的作业执 行速度。权 利 要 求 书 1/1 页
2
CN 114816757 A
2一种面向深度学习的作业资源自动弹性伸缩方 法
技术领域
[0001]本发明涉及作业资源弹性伸缩技术领域, 尤其是一种面向深度学习的作业资源自
动弹性伸缩方法。
背景技术
[0002]近年来, 随着深度学习算法理论与技术的革新, 深度学习技术得到了快速发展和
普及应用。 深度学习主要用于对数据进行表征学习, 学习过程以训练参数更多的深层神经
网络为基础架构, 相比普通神经网络, 能完成更复杂的学习任务, 因此在计算机视觉、 语音
识别、 自然语言处 理等领域都得到 了广泛运用。
[0003]深度学习程序对计算、 存储资源需求较大, 且其中图形处理器(Graphics
Processing Unit, GPU)资源售价昂贵。 而云服务商提供了按 需付费的服务模 式, 为用户提
供动态可伸缩的计算、 存储资源, 还提供按月、 日、 小时等多样的租赁模式和多样的资源规
模。
[0004]因此, 为降低使用成本, 越来越多用户借助容器及其云编排技术对资源进行高效
动态的共享使用。
[0005]基于上述背景, 现有研究人员提出了许多支持在线伸缩的深度学习框架。 基于此
类框架开发的深度学习程序, 往往利用容器及其云编排技术, 以弹性可伸缩的资源运行, 从
而实现GPU等资源的高效利用。 用户提交弹性深度学习作业时, 最常提出的期 望指标就是作
业完成时间, 用户通常希望作业能够 在某一个时间点左右完成。
[0006]然而, 现有深度学习场景下, 现有系统对深度学习作业的在线伸缩机制支持较差。
例如, 深度学习作业在弹性伸缩过程中若要使用GPU资源, 往往由人工配置GPU设备分配策
略, 这样的使用方式加剧了 GPU等资源的浪费问题, 也有 可能造成一些程序在执行时性能不
足。
[0007]因此, 就需要设计一种作业资源自动弹性伸缩方法, 使得深度学习作业在弹性伸
缩过程中可以自动调整以GPU为代 表的资源, 保证作业按照用户期望的时间完成。
发明内容
[0008]发明目的: 针对上述现有技术存在的问题和不足, 本发明的目的是提供一种面向
深度学习的作业资源自动弹性伸缩方法, 解决现有系统在深度学习场景下资源利用率低、
GPU设备分配依赖人工的问题。
[0009]技术方案: 为实现上述发明目的, 本发明提出了一种面向深度学习的作业资源自
动弹性伸缩方法, 包括如下步骤:
[0010](1)用户通过系统接 口提交深度学习作业和一份作业描述文件, 所述深度学习作
业包括需要 执行的深度学习程序, 作为步骤(2)的输入; 所述作业描述文件包括作业的启动
参数和用户期望的作业完成时间, 作为 步骤(3)的输入;
[0011](2)根据用户提 交的深度学习作业, 找到同类型作业的历史执行数据, 从历史执行说 明 书 1/5 页
3
CN 114816757 A
3
专利 一种面向深度学习的作业资源自动弹性伸缩方法
文档预览
中文文档
9 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 07:14:17上传分享