一种用于动态分配片上网络带宽的方法及装置制造方法及图纸

技术编号:29789070 阅读:14 留言:0更新日期:2021-08-24 18:07
本发明专利技术实施例提供了一种用于动态分配片上网络带宽的方法及装置,该方法获取用户自定义配置的配置文件;根据配置文件将片上网络带宽划分为多个不同优先级的子带宽以及对片上网络上传输的任务进行优先级划分;为各优先级的子带宽分别维护与之对应的任务队列,将相应优先级的任务预分配到与之相同优先级的任务队列;基于轮询机制在每个时间片查询各个任务队列中的可用时间片以及判断相应任务的实时性需求能否满足,若不能满足,则根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽,本发明专利技术可以在片上网络中充分利用带宽,更好地满足片上网络带宽中复杂的任务传输需求。

【技术实现步骤摘要】
一种用于动态分配片上网络带宽的方法及装置
本专利技术涉及计算机体系结构领域,具体来说涉及片上网络的带宽分配
,更具体地说,涉及一种用于动态分配片上网络带宽的方法及装置。
技术介绍
早期的计算机系统是基于单个处理器的顺序处理机器。程序员编写串行执行的代码,让其在处理器上串行执行,甚至每一条指令的执行也是串行的(取指令、取操作数、执行操作、存储结果)。为提高计算机处理的速度,并行处理技术得到了迅猛的发展,计算机系统不再局限于单处理器和单数据流,出现了多处理器系统,各种各样的并行结构得到了应用。在多处理器系统中,片上网络带宽成了限制计算机系统运算能力提升的重要因素。芯片内各功能部件之间通过总线进行数据传输,受成本与工艺的制约,总线带宽不能无线扩大,那么如何高效利用有限的带宽,为每个处理器提供充足的数据,从而充分发挥多处理器系统的性能,成为一个研究的热点问题,具有重要的工程与研究价值。当前,用于分配片上网络带宽的现有技术主要有以下几类:第一类技术是通过不同的算法或者方法对每个任务增加一个优先级标签,然后根据任务的优先级由高到低依次获得带宽,进行数据传输。此类技术存在的缺点有:首先,优先级较低的任务可能会长时间无法获得带宽,导致处理该任务的处理器处于长时间等待状态;其次,该类方法属于静态带宽调度方法,在多处理器系统中,很难满足复杂的任务传输需求,比如可能因为一个处理器的长时间占用带宽传输导致其他处理器等待的情况,不具有灵活性;再者,对任务进行优先级划分以及调度需要占用处理器资源。第二类技术是对第一类技术的进一步优化,解决了带宽在某一时刻只由一个任务占用的不足,该类方法允许同一时刻可由多个任务同时占用带宽。此类问题的不足在于:首先,此类技术仍属于软件层面的优化,求解最优化问题,速度慢且占用运算资源;其次,多处理器系统中任务具有多样性和复杂性,用软件层面进行调度会存在灵活性差、响应时间长的缺点;再者,在低优先级任务较多时,低优先级的任务还会存在长时间等待的问题,不能充分利用闲置的其他优先级的带宽。专利技术人在进行多处理器系统带宽分配研究时,发现现有技术中低优先级的任务无法获得带宽,现有技术的另一个不足是某个任务可能长时间占用带宽,导致其他任务对应的处理器不能及时获得所需任务数据,长时间处于等待状态。因此有必要对现有技术进行改进,以充分利用片上网络带宽,满足多处理器系统的任务传输需求。
技术实现思路
因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种用于动态分配片上网络带宽的方法及装置。本专利技术的目的是通过以下技术方案实现的:根据本专利技术的第一方面,提供一种用于动态分配片上网络带宽的方法,可以包括:获取用户自定义配置的配置文件,所述配置文件包括对片上网络带宽的优先级划分信息、任务的优先级划分信息;根据配置文件将片上网络带宽划分为多个不同优先级的子带宽以及对片上网络上传输的任务进行优先级划分;为各优先级的子带宽分别维护与之对应的任务队列,将相应优先级的任务预分配到与之相同优先级的任务队列;基于轮询机制在每个时间片查询各个任务队列中的可用时间片以及判断相应任务的实时性需求能否满足,若不能满足,则根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽。在本专利技术的一些实施例中,所述根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽的步骤可以包括:在其他优先级的子带宽空闲时,优先将所述相应任务分配到其他优先级的子带宽对应的任务队列。在本专利技术的一些实施例中,在有多个子带宽空闲时,优先将所述相应任务重组到空闲的多个子带宽中较低优先级的子带宽对应的任务队列。在本专利技术的一些实施例中,所述根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽的步骤可以包括:在没有空闲的子带宽但有子带宽对应的任务队列存在的可用时间片足以满足相应任务的实时性需求时,将所述相应任务插入到所述任务队列中的可用时间片。在本专利技术的一些实施例中,有多个子带宽对应的任务队列存在的可用时间片均足以满足相应任务的实时性需求时,将所述相应任务插入到多个子带宽中较低优先级的子带宽对应的任务队列的可用时间片。在本专利技术的一些实施例中,所述根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽的步骤可以包括:在单个子带宽对应的任务队列的可用时间片不能满足相应任务的实时性需求,但共用多个子带宽对应的任务队列存在的可用时间片能够满足相应任务的实时性需求时,将所述相应任务拆分为多个子任务插入到多个任务队列中的可用时间片。在本专利技术的一些实施例中,所述根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽的步骤可以包括:在相应任务拆分为多个子任务插入到多个任务队列中的可用时间片后,如果在轮询过程中发现其任意子任务的实时性需求得不到满足,则将其剩余子任务合并到可满足其实时性需求的较高优先级的子带宽对应的任务队列。在本专利技术的一些实施例中,所述方法可以用于FPGA芯片或者ASIC芯片中为传输至多处理器的任务分配片上网络带宽,所述方法用FPGA芯片或者ASIC芯片中的硬件逻辑实现。根据本专利技术的第二方面,提供一种用于动态分配片上网络带宽的装置,包括:配置文件模块,用于获取用户自定义配置的配置文件,所述配置文件包括对片上网络带宽的优先级划分信息、相应任务的优先级划分信息;匹配模块,用于根据配置文件将片上网络带宽划分为多个不同优先级的子带宽以及对片上网络上传输的任务进行优先级划分;任务队列模块,用于为各优先级的子带宽分别维护与之对应的任务队列,将相应优先级的任务预分配到与之相同优先级的任务队列;重组模块,用于基于轮询机制在每个时间片查询各个任务队列中的可用时间片以及判断相应任务的实时性需求能否满足,若不能满足,则根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽。在本专利技术的一些实施例中,该装置由FPGA芯片或者ASIC芯片实现,在芯片上配置用于为传输至多处理器的任务分配片上网络带宽的硬件逻辑,所述硬件逻辑包括所述配置文件模块、所述匹配模块、所述任务队列模块以及所述重组模块。与现有技术相比,本专利技术的优点在于:本专利技术获取用户自定义配置的配置文件,配置文件中存储有用户对片上网络带宽的优先级划分信息、相应任务的优先级划分信息;根据配置文件将片上网络带宽划分为多个不同优先级的子带宽以及对片上网络上传输的任务进行优先级划分;为各优先级的子带宽分别维护与之对应的任务队列,将相应优先级的任务预分配到与之相同优先级的任务队列;基于轮询机制在每个时间片查询各个任务队列中的可用时间片以及判断相应任务的实时性需求能否满足,若不能满足,则根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽。根据本专利技术,在各个任务队列的任务的实时性能够得到满足时,则可以按照预定的任务与子带宽的对应方式进行任务传输,否则,可以根据需要进行任务重组,跨优先级利用其他子带宽进行任务传输,从而在片上网络中充分利用带宽,更好地满足片上网络带宽中复杂的任务传输需求。...

【技术保护点】
1.一种用于动态分配片上网络带宽的方法,其特征在于,包括:/n获取用户自定义配置的配置文件,所述配置文件包括对片上网络带宽的优先级划分信息、任务的优先级划分信息;/n根据配置文件将片上网络带宽划分为多个不同优先级的子带宽以及对片上网络上传输的任务进行优先级划分;/n为各优先级的子带宽分别维护与之对应的任务队列,将相应优先级的任务预分配到与之相同优先级的任务队列;/n基于轮询机制在每个时间片查询各个任务队列中的可用时间片以及判断相应任务的实时性需求能否满足,若不能满足,则根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽。/n

【技术特征摘要】
1.一种用于动态分配片上网络带宽的方法,其特征在于,包括:
获取用户自定义配置的配置文件,所述配置文件包括对片上网络带宽的优先级划分信息、任务的优先级划分信息;
根据配置文件将片上网络带宽划分为多个不同优先级的子带宽以及对片上网络上传输的任务进行优先级划分;
为各优先级的子带宽分别维护与之对应的任务队列,将相应优先级的任务预分配到与之相同优先级的任务队列;
基于轮询机制在每个时间片查询各个任务队列中的可用时间片以及判断相应任务的实时性需求能否满足,若不能满足,则根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽。


2.根据权利要求1所述的方法,其特征在于,所述根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽的步骤包括:
在其他优先级的子带宽空闲时,优先将所述相应任务分配到其他优先级的子带宽对应的任务队列。


3.根据权利要求2所述的方法,其特征在于,在有多个子带宽空闲时,优先将所述相应任务重组到空闲的多个子带宽中较低优先级的子带宽对应的任务队列。


4.根据权利要求3所述的方法,其特征在于,所述根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽的步骤还包括:
在没有空闲的子带宽但有子带宽对应的任务队列存在的可用时间片足以满足相应任务的实时性需求时,将所述相应任务插入到所述任务队列中的可用时间片。


5.根据权利要求4所述的方法,其特征在于,有多个子带宽对应的任务队列存在的可用时间片均足以满足相应任务的实时性需求时,将所述相应任务插入到多个子带宽中较低优先级的子带宽对应的任务队列的可用时间片。


6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述可用时间片对任务队列中的任务进行重组以跨优先级利用子带宽的步骤还包括:
在单个子带宽对应的任务...

【专利技术属性】
技术研发人员:欧焱范志华吴欣欣李文明叶笑春范东睿
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1