一种基于RISC-V的多核系统的程序调度方法及系统技术方案

技术编号:38334000 阅读:12 留言:0更新日期:2023-08-02 09:14
本发明专利技术涉及IC芯片设计技术,为一种基于处理器的程序调度方法,具体为一种基于RISC

【技术实现步骤摘要】
一种基于RISC

V的多核系统的程序调度方法及系统


[0001]本专利技术涉及IC芯片设计技术,为一种基于处理器的程序调度方法,具体为一种基于RISC

V的多核系统的程序调度方法及系统。

技术介绍

[0002]RISC

V是加州大学伯克利分校(University of California at Berkeley,UCB)设计并发布的一种开源指令集架构,其目标是成为指令集架构领域的Linux,应用覆盖IoT(Internet of Things)设备、桌面计算机、高性能计算机等众多领域。
[0003]相比于现有技术中的其他指令集框架,RISC

V框架具有开源性、差异化和自由选择权的关键优势,因此,出现了很多基于RISC

V框架的处理器,这些处理器的实现范围十分广泛,从简单物联网处理器到运行Linux的应用处理器,都是基于一套共同的指令集。同时,为了提高程序运行效率,产生了基于RISC

V框架的多核处理器。
[0004]RISC

V的多核程序调度机制。现有的操作系统采用任务统一调度,多核程序设计采用并行程序设计模型来设计应用程序,将应用程序划分成多个独立的任务。线程启停以及线程上下文切换都会引起额外的开销,这带来了消耗的时间比单线程多。同时对于一些要求响应时间苛刻的程序,在多核处理器上面采用统一调度的模式,难以满足日益苛刻的响应时间要求。
[0005]采用传统的任务调度策略,会导致任务的中断,不能保证连续执行,对于实时性要求极高的任务,无法满足要求。不同的任务需要的硬件资源不同,在通用处理器核上运行,效率无法提高,无法做到任务与处理器核的有效适配,导致系统整体性能无法有效提高。

技术实现思路

[0006]本申请实施例提供一种基于RISC

V的多核系统的程序调度方法及系统,以通过构建多任务的调度方法,实现了任务进程的连续性,降低了会导致任务的中断,不能保证连续执行,对于实时性要求极高的任务,无法满足要求的问题。
[0007]为了达到上述目的,本申请实施例采用的技术方案如下:
[0008]第一方面,本申请实施例提供了一种基于RISC

V的多核系统的程序调度方法,应用于软件系统,所述多核系统程序包括至少两个处理器内核上的应用程序;每个所述处理器绑定有处理线程;从多个所述处理器内选择一个作为主处理器,所述主处理器用于处理多核程序调度指令;所述线程分别与各个所述处理器的IO接口一一对应绑定;所述IO接口用于接收生成的任务后,将自身接收的任务通过寄存器发送至自身绑定的线程内运行;所述方法包括:获取主处理器所对应的线程的利用率以及预测利用率;确定所述任务的所需要的待处理空间;将所述待处理空间与所述利用率及所述预测利用率的阈值进行比较;基于比较结果与第一规则将任务分发至所述主处理器或协处理器自身绑定的线程内运行。
[0009]进一步的,基于比较结果与第一规则将任务分发至所述主处理器或协处理器自身绑定的线程内运行包括:基于所述主处理器内核标识确定对应的协处理器,具体包括以下
方法:响应于所述多核程序调度指令,获取当前线程所占用的主处理器内核的内核标识;判断所述主处理器内核的内核标识和任一协处理器内核的内核标识是否相同,并得到判断结果;基于判断结果确定对应的协处理器。
[0010]进一步的,获取主处理器所对应的线程的利用率以及预测利用率包括:获取主处理器所对应的线程的实时利用率和预测利用率;所述预测利用率的确定方法包括:获取所述任务的任务属性,基于所述任务属性确定对应的预测模型;所述任务属性包括短期任务、中期任务和长期任务,所述预测模型包括与所述短期任务对应的训练后呈收敛状态的残差网络,与所述中期任务对应的训练后呈收敛状态的LSTM模型,与所述长期任务对应的训练后呈收敛状态的GRU模型;获取所述主处理器的单位时序数据,并将所述单位时序数据数据输入至对应的预测模型中,得到所述主处理器的所述预测利用率。
[0011]进一步的,在将所述单位时序数据输入至对应的预测模型之前还需要对所述单位时序数据进行拼接处理,所述拼接处理包括将所述时序数据进行分片处理,并将分片处理后的所述单位时序数据拼接为二维张量,并基于所述二维张量得到对应的向量输出。
[0012]进一步的,所述分片处理基于所述时序数据按照对应所述任务属性所对应的时间频率进行。
[0013]进一步的,将所述待处理空间与所述利用率及所述预测利用率的阈值进行比较包括:将所述待处理空间所对应的处理量与所述预测利用率阈值进行比较得到第一结果;基于第一结果确定是否与所述预测利用率的阈值进行比较得到第二结果,具体包括:当所述待处理空间所对应的利用率与所述利用率阈值进行比较,当所述待处理空间所对应的利用率大于所述利用率阈值,将所述待处理空间的利用率与所述预测利用率的阈值进行比较得到第二结果。
[0014]进一步的,基于比较结果与第一规则将任务分发至所述主处理器或协处理器自身绑定的线程内运行包括:当所述待处理空间所对应的处理量大于所述利用率阈值且大于预测利用率的阈值时,将任务分发至所述协处理器自身绑定的线程内运行;当所述待处理空间所对应的处理量小于所述利用率阈值时,将任务分发至所述主处理器;当所述待处理空间所对应的处理量大于所述利用率阈值小于预测利用率阈值时,将预测利用率对应的后台运行程序分发至所述协处理器,将需调度程序保持所述主处理器线程上运行。
[0015]进一步的,基于判断结果确定对应的协处理器包括:如果所述主处理器内核的内核标识与所述协处理器内核的内核标识相同,则将所述协处理器的目标线程加入到所述主处理器内核的调度列表。
[0016]进一步的,各个所述处理器内核上的绑定的线程数量相同。
[0017]进一步的,各个所述处理器内核上绑定的线程一个线程。
[0018]第二方面,本申请实施例还提供一种RISC

V的多核系统的程序调度装置,所述多核系统包括至少两个处理器内核,所述多核协同程序包括至少两个处理器内核上的应用程序,每个所述处理器绑定有处理线程;多个所述处理器包括一个主处理器和至少两个协处理器,所述线程分别与各个所述处理器IO接口一一对应绑定;所述装置包括:主处理器利用率获取模块,用于获取主处理器所对应的线程的利用率以及预测利用率;待处理空间确定模块,用于确定任务程序所需要的待处理空间;比较模块,用于将待处理空间与所述利用率以及所述预测利用率的阈值进行比较;分发模块,配置有第一规则基于比较结果将任务程
序分发至主处理器或协处理器自身绑定的线程内运行。
[0019]进一步的,所述分发模块包括:协处理器确定单元,用于基于所述主处理器内核标识确定对应的协处理器;第一规则确定单元,用于确定第一规则。
[0020]本申请实施例提供的技术方案中,基于RISC

V的多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RISC

V的多核系统的程序调度方法,应用于软件系统,其特征在于,所述多核系统程序包括至少两个处理器内核上的应用程序;每个所述处理器绑定有处理线程;从多个所述处理器内选择一个作为主处理器,所述主处理器用于处理多核程序调度指令;所述线程分别与各个所述处理器的IO接口一一对应绑定;所述IO接口用于接收生成的任务后,将自身接收的任务通过寄存器发送至自身绑定的线程内运行;所述方法包括:获取主处理器所对应的线程的利用率以及预测利用率;确定所述任务的所需要的待处理空间;将所述待处理空间与所述利用率及所述预测利用率的阈值进行比较;基于比较结果与第一规则将任务分发至所述主处理器或协处理器自身绑定的线程内运行。2.根据权利要求1所述的基于RISC

V的多核系统的程序调度方法,其特征在于,基于比较结果与第一规则将任务分发至所述主处理器或协处理器自身绑定的线程内运行包括:基于所述主处理器内核标识确定对应的协处理器,具体包括以下方法:响应于所述多核程序调度指令,获取当前线程所占用的主处理器内核的内核标识;判断所述主处理器内核的内核标识和任一协处理器内核的内核标识是否相同,并得到判断结果;基于判断结果确定对应的协处理器。3.根据权利要求2所述的基于RISC

V的多核系统的程序调度方法,其特征在于,获取主处理器所对应的线程的利用率以及预测利用率包括:获取主处理器所对应的线程的实时利用率和预测利用率;所述预测利用率的确定方法包括:获取所述任务的任务属性,基于所述任务属性确定对应的预测模型;所述任务属性包括短期任务、中期任务和长期任务,所述预测模型包括与所述短期任务对应的训练后呈收敛状态的残差网络,与所述中期任务对应的训练后呈收敛状态的LSTM模型,与所述长期任务对应的训练后呈收敛状态的GRU模型;获取所述主处理器的单位时序数据,并将所述单位时序数据数据输入至对应的预测模型中,得到所述主处理器的所述预测利用率。4.根据权利要求3所述的基于RISC

V的多核系统的程序调度方法,其特征在于,在将所述单位时序数据输入至对应的预测模型之前还需要对所述单位时序数据进行拼接处理,所述拼接处理包括将所述...

【专利技术属性】
技术研发人员:侯卫兵潘旭强
申请(专利权)人:北京力通通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1