(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202211082045.9
(22)申请日 2022.09.06
(65)同一申请的已公布的文献号
申请公布号 CN 115168058 A
(43)申请公布日 2022.10.11
(73)专利权人 深流微智能科技 (深圳) 有限公司
地址 518000 广东省深圳市南 山区粤海街
道高新区社区高新南九道10号深圳湾
科技生态园10 栋510
(72)发明人 陈玉龙 张坚
(74)专利代理 机构 深圳汉林汇融知识产权代理
事务所(普通 合伙) 44850
专利代理师 吴洪波
(51)Int.Cl.
G06F 9/50(2006.01)G06F 9/48(2006.01)
G06T 1/20(2006.01)
G06T 1/60(2006.01)
(56)对比文件
CN 10125 6515 A,20 08.09.03
CN 10125 6515 A,20 08.09.03
CN 10195141 1 A,2011.01.19
US 2018285157 A1,2018.10.04
US 6105053 A,2000.08.15
CN 104506452 A,2015.04.08
审查员 张诗伯
(54)发明名称
线程负载均衡方法、 装置、 设备及存 储介质
(57)摘要
本发明涉及计算机技术领域, 公开了一种线
程负载均衡方法、 装置、 设备及存储介质, 用于实
现负载分配均衡化以及提高计算 资源的利用率。
所述方法包括: 基于预置的图形处理器和预置的
负载均衡策略构建全局调度器; 通过全局调度器
接收绘图指令并生成第一绘图任务, 并计算多个
第一调度器和多个第二调度器的第一负载数据,
并根据第一负载数据对第一绘图任务进行逐级
平均分配和负载数据更新, 得到第二负载数据;
根据第二负载数据配置多个计算单元待运行的
着色器线程, 并监测多个计算单元是否产生第二
绘图任务; 若是, 则按照任务分配策略并通过多
个第一调度器和多个第二调度器对第二绘图任
务进行负载分配, 得到负载分配结果。
权利要求书3页 说明书12页 附图6页
CN 115168058 B
2022.11.25
CN 115168058 B
1.一种线程负载均衡方法, 其特 征在于, 所述线程负载均衡方法包括:
基于预置的图形处理器和预置的负载均衡策略构建全局调度器, 其中, 所述全局调度
器包括多个第一调度器, 每个第一调度器包括多个第二调度器, 每个第二调度器包括多个
计算单元;
通过所述全局调度器接收绘图指令并生成第 一绘图任务, 并将所述第 一绘图任务下发
至所述多个第一调度器和所述多个第二调度器;
计算所述多个第一调度器和所述多个第 二调度器的第 一负载数据, 并根据所述第 一负
载数据对 所述第一绘图任务进 行逐级平均分配和负载数据更新, 得到第二负载数据; 其中,
所述计算所述多个第一调度器和所述多个第二调度器的第一负载数据, 并根据所述第一负
载数据对 所述第一绘图任务进 行逐级平均分配和负载数据更新, 得到第二负载数据, 包括:
计算所述多个第一调度器和所述多个第二调度器的第一负载数据, 其中, 所述第一负载数
据用于指示所述多个第一调 度器和所述多个第二调 度器中的原始负载数据; 获取所述多个
第一调度器的第一调度器数量, 以及获取每个第一调度器中的第二调度器数量; 根据所述
第一绘图任务、 所述第一负载数据和所述第一调度器数量计算每个第一调度器的负载数
据, 并根据每个第一调 度器的负载数据和每个第一调度器中的第二调 度器数量计算每个第
二调度器的负载数据; 根据每个第一调 度器的负载数据和每个第二调 度器的负载数据生成
第二负载 数据;
根据所述第 二负载数据配置所述多个计算单元待运行的着色器线程, 并通过所述多个
计算单元运行所述着色器线程, 以及监测所述多个 计算单元是否产生第二绘图任务;
若是, 则按照预置的任务分配策略并通过所述多个第 一调度器和所述多个第 二调度器
对所述第二绘图任务进行负载分配, 得到负载分配结果; 其中, 所述若是, 则按照预置的任
务分配策略并通过所述多个第一调度器和所述多个第二调度器对所述第二绘图任务进行
负载分配, 得到负载分配结果, 包括: 若 是, 则获取产生所述第二绘图任务的目标计算单元,
并确定所述目标计算单元所属的目标第二调 度器; 获取所述目标第二调 度器中所有计算单
元的计算单元总负载数据, 并根据所述计算单元总负载数据判断所述目标第二调度器是否
满足第一任务分配条件, 得到第一判断结果; 根据所述第一判断结果和所述第二绘图任务
对所述全局调度器进行负载分配, 得到负载分配结果。
2.根据权利要求1所述的线程负载均衡方法, 其特征在于, 所述根据所述第 一判断结果
和所述第二绘图任务对所述全局调度器进行负载分配, 得到负载分配结果, 包括:
当所述第一判断结果为不满足时, 确定所述目标第二调度器不满足第一任务分配条
件, 并将所述第二绘图任务反馈 至所述目标第二调度器所属的目标第一调度器;
获取所述目标第一调度器中所有第 二调度器的第 二调度器总负载数据, 并通过所述第
二调度器总负载 数据判断所述目标第一调度器是否满足第二任务分配条件;
若所述目标第 一调度器不满足第 二任务分配条件, 则将所述第 二绘图任务反馈至所述
全局调度器, 并通过所述全局调度器对所述第二绘图任务进行任务分配, 得到负载分配结
果。
3.根据权利要求1所述的线程负载均衡方法, 其特征在于, 所述第一任务分配条件包
括: 判断所述目标第二调度器的节点负载是否超过同层其他所有的第二调 度器的节点负载
平均值对应的目标倍数, 若超过, 则确定所述目标第二调度器的负载状态为超载。权 利 要 求 书 1/3 页
2
CN 115168058 B
24.根据权利要求1所述的线程负载均衡方法, 其特征在于, 所述线程负载均衡方法还包
括:
当所述多个计算单元运行所述着色器线程 时, 通过所述第 二调度器计算所述着色器线
程运行过程中所消耗的时钟周期和数据量;
统计所述第 二调度器中所有计算单元运行的每种着色器线程的数量, 以及 分别计算所
述时钟周期和所述数据量对应的时钟周期平均值和数据量平均值;
基于所述每种着色器线程的数量、 所述 时钟周期平均值和所述数据量平均值生成每种
着色器线程的负载 数据。
5.根据权利要求1 ‑4中任一项所述的线程负载均衡方法, 其特征在于, 所述线程负载均
衡方法还 包括:
在所述第二调度器进行负载分配之后, 获取每个第 二调度器中所有计算单元对应的计
算单元负载数据;
根据所述计算单元负载数据获取每个第一调度器中所有第二调度器的调度器负载数
据;
根据调度器负载 数据并通过 所述全局调度器 计算每种着色器线程的负载 数据。
6.一种线程负载均衡装置, 其特 征在于, 所述线程负载均衡装置包括:
构建模块, 用于基于预置的图形处理器和预置的负载均衡策略构建全局调度器, 其中,
所述全局调度器包括多个第一调度器, 每个第一调度器包括多个第二调度器, 每个第二调
度器包括多个 计算单元;
处理模块, 用于通过所述全局调度器接收绘图指令并生成第一绘图任务, 并将所述第
一绘图任务下发至所述多个第一调度器和所述多个第二调度器;
更新模块, 用于计算所述多个第一调度器和所述多个第二调度器的第一负载数据, 并
根据所述第一负载数据对所述第一绘图任务进行逐级平均分配和负载数据更新, 得到第二
负载数据; 其中, 所述计算所述多个第一调度器和所述多个第二调度器的第一负载数据, 并
根据所述第一负载数据对所述第一绘图任务进行逐级平均分配和负载数据更新, 得到第二
负载数据, 包括: 计算所述多个第一调度器和所述多个第二调度器的第一负载数据, 其中,
所述第一负载数据用于指示所述多个第一调度器和所述多个第二调度器中的原始负载数
据; 获取所述多个第一调度器的第一调度器数量, 以及获取每个第一调度器中的第二调度
器数量; 根据所述第一绘图任务、 所述第一负载数据和所述第一调度器数量计算每个第一
调度器的负载数据, 并根据每个第一调 度器的负载数据和每个第一调 度器中的第二调 度器
数量计算每个第二调度器的负载数据; 根据每个第一调 度器的负载数据和每个第二调 度器
的负载数据生成第二负载 数据;
配置模块, 用于根据所述第二负载数据配置所述多个计算单元待运行的着色器线程,
并通过所述多个计算单元运行所述着色器线程, 以及监测所述多个计算单元是否产生第二
绘图任务;
分配模块, 用于若是, 则按照预置的任务分配策略并通过所述多个第一调度器和所述
多个第二调度器对所述第二绘图任务进行负载分配, 得到负载分配结果; 其中, 所述若是,
则按照预置的任务分配策略并通过所述多个第一调度器和所述多个第二调度器对所述第
二绘图任务进行负载分配, 得到负载分配结果, 包括: 若是, 则获取产生所述第二绘图任务权 利 要 求 书 2/3 页
3
CN 115168058 B
3
专利 线程负载均衡方法、装置、设备及存储介质
文档预览
中文文档
22 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:14:58上传分享