[发明专利]一种基于任务循环划分策略的负载平衡方法在审
申请号: | 202110381658.1 | 申请日: | 2021-04-09 |
公开(公告)号: | CN114217940A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 史俊达;尹万旺;袁欣辉;林蓉芬;魏迪;王飞;孙浩男;孙强 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 任务 循环 划分 策略 负载 平衡 方法 | ||
本发明公开一种基于任务循环划分策略的负载平衡方法,包括以下步骤:S1、根据任务实际需求和线程的任务处理能力,将任务池中的每个任务划分为线程们可高效并行处理的若干子任务;S2、对S1中得到若干子任务编号,将任务池中的任务编号为taskid,每个任务划分后子任务编号为jobid,则每个子任务有唯一编号,记线程个数为n;S3、依次处理每个任务,根据S2中编号,将编号为(taskid,jobid)的子任务分配给第(jobid%n+taskid)%n个线程。本发明可以在异构众核处理器上多线程并行处理任务时,从整体上均衡各线程的任务负载,提升计算效率与系统稳定性。
技术领域
本发明涉及一种基于任务循环划分策略的负载平衡方法,属于高性能计算技术领域。
背景技术
异构众核处理器最突出的优势是高性能,尤其适用于高性能计算领域,主要应用于超大规模并行机等大型实用系统中,它包含数量众多的从核,在多线程并行处理任务方面具有得天独厚的优势。但是,任务划分时,各个线程的任务数量未必相等,从而造成线程之间负载的不均衡,这在一定程度上造成了计算资源的闲置浪费,影响运算效率,延长计算时间。
使用多线程并行处理任务时,通常会将任务池中的每个任务划分为若干子任务,然后根据子任务编号依次将若干子任务分配给各个线程,由于线程数不一定整除子任务数量,因此可能有一些线程任务比其他线程多,导致部分线程空转,影响运算效率,尽管程序会反复多次处理一系列任务,但损耗总是存在,且近乎固定。
在异构众核处理器上,当子任务数量不能够被线程数整除时,传统的任务划分策略会导致线程之间任务负载的不均衡,造成计算资源的闲置浪费,影响运算效率;而芯片的持续高负载会影响系统的稳定性,引起故障。
发明内容
本发明的目的是提供一种基于任务循环划分策略的负载平衡方法,以解决基于异构众核处理器的负载不均衡问题。
为达到上述目的,本发明采用的技术方案是:提供一种基于任务循环划分策略的负载平衡方法,包括以下步骤:
S1、根据任务实际需求和线程的任务处理能力,将任务池中的每个任务划分为线程们可高效并行处理的若干子任务;
S2、对S1中得到若干子任务编号,将任务池中的任务编号为taskid,每个任务划分后子任务编号为jobid,则每个子任务有唯一编号(taskid,jobid),记线程个数为n;
S3、依次处理每个任务,根据S2中编号,将编号为(taskid,jobid)的子任务分配给第(jobid%n + taskid)%n个线程;
S4、当任务池中所有任务处理完毕,程序退出。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明一种基于任务循环划分策略的负载平衡方法,可以在异构众核处理器上多线程并行处理任务时,从整体上均衡各线程的任务负载,提升计算效率与系统稳定性,对于减少程序运行时间、降低功耗、改善基于异构众核处理器超算的工程应用有重要意义。
附图说明
附图1为逻辑控制流示意图;
附图2为传统的任务划分策略下线程负载情况示意图;
附图3为本专利任务循环划分策略下线程负载情况示意图;
附图4为本专利任务循环划分策略示意图。
具体实施方式
实施例:本发明提供一种基于任务循环划分策略的负载平衡方法,具体包括以下步骤:
S1、根据任务实际需求(如矩阵分块策略、算法要求)和线程的任务处理能力(如异构众核芯片中从核的局存大小限制、访存性能),将任务池中的每个任务划分为线程们可高效并行处理的若干子任务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110381658.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:异步通信优化方法
- 下一篇:一种基于异构处理器的Fork内存支撑方法