(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210801018.6
(22)申请日 2022.07.08
(71)申请人 北京交通大 学
地址 100044 北京市海淀区西直门外上园
村3号
(72)发明人 赵宏智 何景静 刘恂
(74)专利代理 机构 北京市诚辉律师事务所
11430
专利代理师 岳东升 杨帅峰
(51)Int.Cl.
G06F 9/50(2006.01)
G06F 9/54(2006.01)
G06N 3/10(2006.01)
G06N 3/04(2006.01)
G06N 5/04(2006.01)
(54)发明名称
一种在多核CPU服务器上的卷积神经网络推
断任务调度优化方法
(57)摘要
一种在多核CPU服务器上的卷积神经网络推
断任务调度优化方法, 其特征在于: 该方法包括
初始化设置模块、 缓冲区数据存储模块、 缓冲区
数据探测模块和若干卷积神经网络计算层模块;
所述初始化设置模块用于关键变量初始化计算
设置; 所述缓冲区数据存储模块用于接收存储
CNN推断任务; 所述缓冲区数据探测模块用于探
测所述缓冲区数据存储模块内的待处理CNN推断
任务, 运行CNN推断时间预测方法, 评估是否进行
优化调度处理; 每个所述卷积神经网络计算层模
块用于执行部分CNN推断计算操作。 本发明通过
利用多核CPU服务器多线程资源, 一边接收新到
达任务数据, 一边处理推断任务, 利用动态批量
计算优化单个样本的推断时间, 提高服务器单位
时间CNN推断任务吞吐量。
权利要求书2页 说明书8页 附图4页
CN 115168039 A
2022.10.11
CN 115168039 A
1.一种在多核CPU服务器上的卷积神经网络推断任务调度优化方法, 其特征在于: 该方
法包括初始化设置模块、 缓冲区数据存储模块、 缓冲区数据探测模块和若干卷积神经网络
计算层模块;
所述初始化设置模块用于调度优化方法关键变量的初始化计算和设置;
所述缓冲区数据存储模块用于接收并存储用户发送到多核CPU云端服务器上的CNN推
断任务及其样本数据;
所述缓冲区数据探测模块用于探测所述缓冲区数据存储模块内是否有待处理CNN推断
任务, 并运行CNN推断时间预测方法, 来评估处于计算状态下的CNN推断任务是否可以进行
优化调度处 理;
所述卷积神经网络计算层模块用于执 行部分CN N推断阶段的计算操作。
2.如权利要求1所述的一种在多核CPU服务器上的卷积神经网络推断任务调度优化方
法, 其特征在于: 该 方法包括如下的工作步骤:
S1: 所述初始化设置模块设置的用户偏好延迟;
S2: 所述初始化设置模块 运行单次批处 理CNN推断任务样本的最优数量预测算法;
S3: 所述初始化设置模块划分所述卷积神经网络计算层模块104, 建立运行时间占比查
找表;
S4: 判断服务器是否开始启动一种在多核CPU服务器上的卷积神经网络推断任务调度
优化方法, 若是, 则转入步骤S5, 否则结束;
S5: 启动主 线程;
主线程的工作流 程如下:
S1': 主线程处于挂 起状态, 启动 后转入步骤S2';
S2': 启动所述缓冲区数据存 储模块CNN推断任务接收存 储线程;
S3': 判断所述缓冲区数据探测模块探测所述缓冲区数据存储模块102是否有待处理
CNN推断任务, 若是则转入步骤S4', 否则重新执 行步骤S3';
S4': 创建并启动所述卷积神经网络计算层模块计算线程对象;
S5': 所述缓冲区数据存储模块回收计算状态下CNN推断任务占用的存储空间, 完成后
转入步骤S3';
所述卷积神经网络计算层模块计算线程的工作流 程如下:
S4'1: 所述卷积神经网络计算层模块计算线程处于挂 起状态, 启动 后转入步骤S4'2;
S4'2: 从所述缓冲区数据存 储模块读取n个CN N推断任务;
S4'3: n个CN N推断任务批量处 理, 完成第1个所述卷积神经网络计算层模块的计算
S4'4: 判断所有N个所述卷积神经网络计算层模块是否完成计算, 若是则转入步骤S4'
1, 否则转入步骤S4'5;
S4'5: 判断线程中处于计算状态下的CNN推断任务是否已经优化调度了, 若是则转入步
骤S4'7, 否则转入步骤S4'6;
S4'6: 判断所述缓冲 区数据探测模块探测所述缓冲 区数据存储模块是否有待处理CNN
推断任务, 若是则转入步骤S4'8, 否则转入步骤S4'7;
S4'7: 计算下一个所述卷积神经网络计算层模块, 完成后转入步骤S4'4;
S4'8: 所述缓冲区数据探测模块 运行CNN推断时间预测方法;权 利 要 求 书 1/2 页
2
CN 115168039 A
2S4'9: 判断是否可以优化调度, 若是则转入步骤S4'10, 否则转入步骤S4'7;
S4'10: 从所述缓冲区数据存 储模块中读取n'个待处 理CNN推断任务;
S4'11: n'个待处理CNN推断任务完成从第1个到当前所述卷积神经网络计算层模块的
批量计算;
S4'12: n和n'个中间计算结果共同向后进行批量计算处 理, 完成后转入步骤S4'7。
3.如权利要求1所述的一种在多核CPU服务器上的卷积神经网络推断任务调度优化方
法, 其特征在于, 所述初始化设置模块设置多核CPU服务器上的用户偏好延迟, 计算单次批
处理CNN推断任务样本的最优数量, 设定所述卷积神经网络计算层模块, 建立在不同CNN推
断任务批量样本数量下剩余未计算的所述卷积神经网络计算层模块的运行时间占比查找
表。
4.如权利要求1所述的一种在多核CPU服务器上的卷积神经网络推断任务调度优化方
法, 其特征在于: 所述缓冲区数据存储模块使用独立的线程接收CNN推断任务及其样 本数据
后存储到缓冲区内, 所述缓冲区数据存储模块内的待处理CNN推断任务一旦被所述卷积神
经网络计算层模块调用进入计算状态, 就回收该任务样本占用的存 储空间。
5.如权利要求1所述的一种在多核CPU服务器上的卷积神经网络推断任务调度优化方
法, 其特征在于: 所述缓冲区数据探测模块记录处于计算状态下的CNN推断任务批量样本数
量, 所处的所述卷积神经网络计算层模块编号和已运行的计算时间。
6.如权利要求1所述的一种在多核CPU服务器上的卷积神经网络推断任务调度优化方
法, 其特征在于: 所述卷积神经网络计算层模块, 用于使用独立线程执行部分CNN推断阶段
的计算操作, 所述卷积神经网络计算层模块有两类, 一类是以 “卷积层‑激活层‑池化层”为
代表的组合模块, 另一类是包含全连接层组成的模块, 所有的所述卷积神经网络计算层模
块按计算 顺序串连 可还原成完整的原 始CNN网络结构。
7.如权利要求1所述的一种在多核CPU服务器上的卷积神经网络推断任务调度优化方
法, 其特征在于: 所述缓冲区数据探测模块中的CNN推断时间预测方法流程如下: 首先, 读取
计算状态CNN推 断任务批量样本数量, 所处的所述卷积神经网络计算层模块编号和已运行
计算时间; 其次, 从所述缓冲数据存储模块中读取到达时间最靠前的待处理CNN推断任务批
量样本数量, 根据运行时间占比查找表, 预测待处理CNN推断任务样本运行时间; 然后, 计算
待处理和计算状态下CNN推断任务的总样本数量, 根据运行时间占比查找表, 预测总样本运
行时间; 最后, 总运行时间是计算状态下的CNN推断任务已运行时间, 待处理CNN推断任务样
本运行时间和总样本运行时间的总和。
8.如权利要求2所述的一种在多核CPU服务器上的卷积神经网络推断任务调度优化方
法, 其特征在于: 所述步骤S2中的单次批处理CNN推断任务样 本的最优数量预测算法流程如
下: 首先, 拟合得到单次可处理CNN推断样本数量与在该样本数量下的CNN推断任务样本总
运行时间的函数表达式; 其次, 计算各个样本数量下 的样本平均运行时间和 运行时间的平
均波动比率; 然后, 选择最大的样 本运行时间平均波动比率来计算更严格的用户偏好延迟;
最后, 根据更严格的用户偏好延迟和总运行时间的函数表达式, 可计算出在多核CPU服务器
上单次批处 理CNN推断任务样本的最优数量。权 利 要 求 书 2/2 页
3
CN 115168039 A
3
专利 一种在多核CPU服务器上的卷积神经网络推断任务调度优化方法
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:26:39上传分享