说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211005592.7 (22)申请日 2022.08.22 (71)申请人 北京计算机技 术及应用研究所 地址 100854 北京市海淀区永定路51号 (72)发明人 刘云鹏 张明庆 谢红亮 吴琼  (74)专利代理 机构 中国兵器 工业集团公司专利 中心 11011 专利代理师 刘瑞东 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/455(2006.01) (54)发明名称 一种异构计算资源协同管理调度的方法 (57)摘要 本发明涉及一种异构计算资源协同管理调 度的方法, 属于计算资源管理领域。 本发明构建 NPU、 FPGA、 GPU异构资源镜像; 编辑任务资源文 件, 填写异构资源的数量需求、 应用路径、 执行命 令, 分时复杂任务需按照执行顺序组织为任务列 表; 将任务资源文件发送给协 同管理调度程序, 程序根据任务的资源满足需求调度异构资源: 若 空闲资源满足需求, 分配资源; 若不满足 需求, 将 任务加入等待执行队列, 当有空闲资源时唤醒任 务并分配资源; 根据分配的资源和任务创建容 器, 执行命令。 本发明支持更多种类型的异构计 算资源管理调度, 包括国产FPGA、 NPU等, 并针对 分时使用多种异构资源的复杂任务进行设计, 使 异构资源分工协作, 使资源调度对用户透明。 权利要求书1页 说明书4页 附图2页 CN 115391035 A 2022.11.25 CN 115391035 A 1.一种异构计算资源协同管理调度的方法, 其特 征在于, 该 方法包括如下步骤: S1、 构建异构资源镜像; 异构资源 包括: NPU、 FPGA、 GPU; S2、 编辑任务资源文件, 填写异构资源的数量需求、 应用路径和执行命令, 分时复杂任 务需按照执 行顺序组织 为任务列表; S3、 将任务资源文件发送给协同管理调度程序, 程序根据任务的资源需求调度异构资 源: 若空闲资源满足 需求, 分配 资源; 若不满足需求, 将任务加入等待 执行队列, 当有空闲资 源时唤醒任务并分配资源; S4、 根据分配的资源和任务创建容器, 执 行命令。 2.如权利要求1所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S1具 体包括: 将宿 主机上异构资源的依赖库、 SDK、 驱动和开 发框架封装在镜像中, 构建相互隔离 的应用开发和运行环境, 异构资源 包括NPU、 FPGA和GPU。 3.如权利要求1所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S1 中, 每种异构资源 对应一种镜像, 或者 根据依赖版本构建多种镜像。 4.如权利要求1所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S3 中, 每个异构资源 对应系统中的一个逻辑设备, 具有唯一的资源ID。 5.如权利要求1 ‑4任一项所述的异构计算资源协同管理调度的方法, 其特征在于, 所述 步骤S3具体包括: 协同管理调度程序启动时, 通过扫描发现异构资源, 并将空闲异构资源按 照ID排序, 组织成资源队列; 所有异构资源队列组成异构计算资源池; 对于单个任务, 如果 有空闲的异构资源, 则从队列头部选择所需数量的异构资源构建资源容器并执行; 如果没 有空闲的异构资源, 则加入待 执行任务队列, 并定期 检查异构资源占用情况, 当有足够的异 构资源时, 唤醒等待的任务; 任务执行完毕后, 释放占用的异构资源, 并将异构资源对应的 ID插入资源队列尾部 。 6.如权利要求5所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S3还 包括: 对于有执 行顺序要求的分时复杂任务, 根据关联任务的执 行情况来确定执 行时机。 7.如权利要求5所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S3还 包括: 协同管理调度程序在创建分时复杂任务时, 根据任务资源文件建立并维护各功能段 的顺序关系, 监控每个功能段的异构资源容器运行状态; 任务列 表按序分解为单个任务, 第 一个任务立即执行, 后续任务加入待 执行任务队列; 一旦 发现功能段执行完 毕, 立即启动下 一功能段的任务。 8.如权利要求5所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S4 中, 将宿主机上的异构资源以指定名称映射到容器中, 且指定名称对容器内的应用可 见。 9.如权利要求8所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S4 中, 通过异构资源映射将多个应用隔离开, 运行于独立的命名空间, 只要宿 主机有空闲的该 类资源, 即映射 为指定名称使用。 10.如权利要求8所述的异构计算资源协同管理调度的方法, 其特征在于, 所述步骤S4 中, 通过容器管理接口实现对多种异构资源的统一管理。权 利 要 求 书 1/1 页 2 CN 115391035 A 2一种异构计算资源 协同管理调度的方 法 技术领域 [0001]本发明属于计算资源管理领域, 具体涉及一种异构计算资源协同管理调度的方 法。 背景技术 [0002]在专用领域的计算任务中, 异构计算资源表现出了比CPU更为优越的性能。 如GPU (图形处理单元)具有更强的并行计算能力, 更适合图像处理相关操作; FPGA(现场可编辑逻 辑门阵列)灵活性更强, 可动态重构并实现硬件级算法, 快速执行算法对应的加解密任务; NPU(神经网络处理单元)支持定制的算法算子, 可显著 提高神经网络训练、 推理等密集计算 任务的速度等。 [0003]由于商业原因, 每种异构计算资源的驱动与管理程序通常是由硬件厂商提供的, 即异构资源管理与硬件设备是紧耦合的, 每种异构资源对应一种 管理程序, 管理程序之间 相互独立。 同时, 异构资源管理程序更多地是对设备的状态进行监控, 保证设备功能正常, 提供查询和调用接口等。 异构资源的调度往往由用户实现, 如在应用代码 中指定使用的设 备, 这无疑增加了应用开发的难度。 此外, 随着算力的增强和算法的改进, 一些复杂应用需 要分时使用不同异构资源, 如何实现多种异构资源的管理与协作, 充分利用异构资源的计 算特性也需要用户进 行精心设计。 另一方面, 异构资源都有 各自依赖的驱动和开发、 运行库 (如opencv), 不同异构资源的依赖 之间可能产生冲突, 即便同一种异构资源, 也可能由于依 赖的迭代更新 导致已有应用无法正常运行, 不能向前兼容。 [0004]现有的一种异构计算资源管理调度方法。 Kubernetes实现了设备插件机制, 以允 许容器访问GPU等异构资源, 目前支持对节点上的AMD和NVIDIA  GPU进行管理, 该功能处于 实验状态。 通过将异构资源的依赖封装到容器中, 可以解决不同资源间依赖冲突以及依赖 向前兼容的问题, 并将对异构资源的管理转化为对容器的管理, 从而打破不同异构资源的 独立性, 提供统一的容器管理接口。 然而, Kubernetes存在以下问题: (1)仅实验性地支持 GPU资源管理, 没有适配FPGA、 NPU等异构计算资源(2)资源管理局限于一类异构资源的使 用, 没有从计算任务的角度进 行设计, 异构资源间相互独立, 多种异构资源间的协作仍需要 用户进行实现。 发明内容 [0005](一)要解决的技 术问题 [0006]本发明要解决的技术问题是如何提供一种异构计算资源协同管理调度的方法, 以 解决Kubernetes仅实验性地支持GPU资源管理, 没有适配FPGA、 NPU等异构计算资源, 而且资 源管理局限于一类异构资源的使用, 没有从计算任务的角度进行设计, 异构资源间相互独 立, 多种异构资源间的协作仍需要用户进行实现的问题。 [0007](二)技术方案 [0008]为了解决上述技术问题, 本发明提出一种异构计算资源协同管理调度的方法, 该说 明 书 1/4 页 3 CN 115391035 A 3

.PDF文档 专利 一种异构计算资源协同管理调度的方法

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种异构计算资源协同管理调度的方法 第 1 页 专利 一种异构计算资源协同管理调度的方法 第 2 页 专利 一种异构计算资源协同管理调度的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:09:33上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。