System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种DPU任务调度方法和DPU任务调度系统技术方案_技高网
当前位置: 首页 > 专利查询>厦门大学专利>正文

一种DPU任务调度方法和DPU任务调度系统技术方案

技术编号:44559664 阅读:1 留言:0更新日期:2025-03-11 14:20
本发明专利技术公开了一种DPU任务调度方法和DPU任务调度系统,该方法用于将任务调度至CPU侧或DPU侧,其包括:根据待处理的任务信息,生成任务包;根据任务包的计算量、截止时间以及DPU侧是否存在针对该任务包的专用硬件,计算任务包的优先级;根据任务包的优先级,将任务包存储至调度队列中与其优先级对应的位置,并按顺序向CPU侧或DPU侧输送任务包;根据CPU侧或DPU侧对接收的任务包的执行结果,更新调度队列。通过该调度方法和调度系统,可通过对任务进行有效调度以提高系统整体性能。

【技术实现步骤摘要】

本专利技术涉及dpu任务调度,具体涉及一种dpu任务调度方法和dpu任务调度系统。


技术介绍

1、dpu(data processing unit),即数据处理单元,是一种专门为处理数据中心内大量数据工作负载而设计的可编程处理器。dpu的主要目的是从cpu上卸载特定类型的任务,尤其是那些与数据传输、网络通信、存储管理和安全相关的任务,从而释放cpu资源,使其专注于应用程序的执行。dpu通常以pcie接口与对应主机相接,形成完整的数据处理系统。然而,对于dpu,现有的使用方式往往对其数据处理能力期待过高,一味地将任务从cpu卸载至dpu,反而导致系统整体性能下降。


技术实现思路

1、本专利技术的目的在于克服
技术介绍
中存在的上述缺陷或问题,提供一种dpu任务调度方法和dpu任务调度系统,其能够通过对任务进行有效调度以提高系统整体性能。

2、为达成上述目的,本专利技术采用如下技术方案:

3、技术方案一:一种dpu任务调度方法,其用于将任务调度至cpu侧或dpu侧,其包括:根据待处理的任务信息,生成任务包;根据任务包的计算量、截止时间以及dpu侧是否存在针对该任务包的专用硬件,计算任务包的优先级;根据任务包的优先级,将任务包存储至调度队列中与其优先级对应的位置,并按顺序向cpu侧或dpu侧输送任务包;根据cpu侧或dpu侧对接收的任务包的执行结果,更新调度队列。

4、基于技术方案一的技术方案二:计算所述任务包的优先级时,采用以下公式:p=a*cal+b*tim+c*hav;其中,p为任务包的优先级,cal为任务包的计算量,tim为任务包的截止时间,hav为0或1,a、b、c为预设的加权系数;所述任务包中记录有与其本身相关的计算量信息、截止时间信息和任务类型信息;计算所述任务包的优先级时,基于该任务包的任务类型信息,判断dpu侧是否存在与该任务类型信息对应的专用硬件,并在存在时将hav的值设为1,在不存在时将hav的值设为0。

5、基于技术方案一的技术方案三:在所述调度队列中,任务包从左至右按照优先级从大到小连续放置,并从所述调度队列的左端向dpu侧输送任务包,从所述调度队列的右端向cpu侧输送任务包。

6、基于技术方案三的技术方案四:所述调度队列分为第一单元和第二单元,其中第一单元位于所述调度队列的左侧,第二单元位于所述调度队列的右侧;在新的任务包存储至所述调度队列中时,根据第一单元和第二单元中的任务包的数量,将所述调度队列中的任务包向数量更少的单元移动,以空出新的任务包的存储位置。

7、基于技术方案四的技术方案五:所述第一单元和第二单元的长度根据dpu侧和cpu侧对任务包的处理效率调整,在第一单元或第二单元中,存在任一单元的任务包数量为0,且另一单元中的任务包数量大于0时,将任务包数量大于0的单元的长度减1,并将任务包数量为0的单元的长度加1。

8、基于技术方案五的技术方案六:每次调整所述第一单元和第二单元的长度后,新的任务包存储至所述调度队列并在根据第一单元和第二单元中的任务包的数量移动调度队列中的任务包时,将长度增加的单元中的任务包数量加1,将长度减小的单元中的任务包数量减1,并以计算后的值进行比较,决定调度队列中的任务包的移动方向。

9、基于技术方案三的技术方案七:在任一任务包的截止时间与当前时间的差值小于预设的时间阈值时,若该任务包位于所述第一单元,则将该任务包的位置调整至调度队列的最左侧,并将原本位于该任务包左侧的其他任务包的位置向右侧移动一位;若该任务包位于所述第二单元,则将该任务包的位置调整至调度队列的最右侧,并将原本位于该任务包右侧的其他任务包的位置向左侧移动一位。

10、基于技术方案一的技术方案八:当dpu侧或cpu侧处于满载状态时,暂停从调度队列向dpu侧或cpu侧输送任务包;所述满载状态为dpu侧或cpu侧的计算资源消耗大于预设的满载阈值。

11、基于技术方案八的技术方案九:当dpu侧或cpu侧处于满载状态时,若存在任一任务包的截止时间与当前时间的差值小于预设的时间阈值,则将该任务包输送至dpu侧或cpu侧。

12、此外,本专利技术还提供技术方案十:一种dpu任务调度系统,其包括:任务生成模块,其用于根据待处理的任务信息生成任务包;所述任务包中记录有与其本身相关的计算量信息、截止时间信息和任务类型信息;优先级计算模块,其接收所述任务生成模块生成的任务包,并根据任务包的计算量、截止时间以及dpu侧是否存在针对该任务包的专用硬件,计算任务包的优先级;所述任务包的任务类型信息用于判断dpu侧是否存在针对该任务包的专用硬件;队列存储模块,其用于根据任务包的优先级,将任务包存储至调度队列中与其优先级对应的位置,并按顺序向cpu侧或dpu侧输送任务包;队列更新模块,其用于根据cpu侧或dpu侧对接收的任务包的执行结果,更新调度队列。

13、由上述对本专利技术的描述可知,相对于现有技术,本专利技术具有如下有益效果:

14、本专利技术提供一种dpu任务调度方法和dpu任务调度系统,采用该方法和系统,可有效提升dpu任务调度的效率和可靠性,改善dpu复杂任务卸载问题,实现cpu和dpu之间的负载均衡,确保系统的高性能和稳定性。

15、其中,通过综合考虑任务的计算量、截止时间和dpu侧是否具有专用硬件,能够更加合理地分配任务,提高系统的整体效率。任务的优先级计算不仅考虑了任务的固有属性,还结合了系统当前的状态,确保任务调度的灵活性和实时性。此外,通过优先级排序和任务分配,实现了cpu和dpu之间的负载均衡,避免某一方过载导致系统性能下降。

16、其次,优先级计算公式通过引入加权系数,可以灵活调整计算量、截止时间和专用硬件的存在性对优先级的影响,使得优先级计算更加精确。通过判断dpu侧是否存在专用硬件并调整优先级,优先调度适合dpu处理的任务,充分利用dpu的硬件加速能力,进一步提高任务执行效率。

17、在任务调度过程中,优先级高的任务优先调度,确保重要任务及时处理,提高了系统的响应速度和可靠性。通过从调度队列的两端分别向dpu和cpu输送任务,实现了负载均衡,避免某一方过载。同时,根据任务包的数量动态调整任务包的存储位置,确保调度队列的灵活性和扩展性,进一步提高了负载均衡的效果。

18、为了适应当前的系统状态,调度队列的单元长度根据dpu和cpu的处理效率动态调整,使调度队列更加灵活。通过确保任务包数量为0的单元能够及时接收新的任务包,避免了资源浪费。任务包数量的精细控制确保了任务包的移动方向和数量更加合理,持续保持调度队列中任务数量的平衡,进一步优化了负载均衡效果。

19、对于接近截止时间的紧急任务,系统能够迅速调整其位置,确保这些任务优先处理,提高了系统的实时性和可靠性。通过快速调整任务包的位置,系统能够迅速响应紧急任务的需求,确保关键任务的及时完成。

20、当dpu或cpu处于满载状态时,系统会暂停任务包的输送本文档来自技高网...

【技术保护点】

1.一种DPU任务调度方法,其用于将任务调度至CPU侧或DPU侧,其特征是,包括:

2.如权利要求1所述的一种DPU任务调度方法,其特征是,

3.如权利要求1所述的一种DPU任务调度方法,其特征是,在所述调度队列中,任务包从左至右按照优先级从大到小连续放置,并从所述调度队列的左端向DPU侧输送任务包,从所述调度队列的右端向CPU侧输送任务包。

4.如权利要求3所述的一种DPU任务调度方法,其特征是,所述调度队列分为第一单元和第二单元,其中第一单元位于所述调度队列的左侧,第二单元位于所述调度队列的右侧;在新的任务包存储至所述调度队列中时,根据第一单元和第二单元中的任务包的数量,将所述调度队列中的任务包向数量更少的单元移动,以空出新的任务包的存储位置。

5.如权利要求4所述的一种DPU任务调度方法,其特征是,所述第一单元和第二单元的长度根据DPU侧和CPU侧对任务包的处理效率调整,在第一单元或第二单元中,存在任一单元的任务包数量为0,且另一单元中的任务包数量大于0时,将任务包数量大于0的单元的长度减1,并将任务包数量为0的单元的长度加1

6.如权利要求5所述的一种DPU任务调度方法,其特征是,每次调整所述第一单元和第二单元的长度后,新的任务包存储至所述调度队列并在根据第一单元和第二单元中的任务包的数量移动调度队列中的任务包时,将长度增加的单元中的任务包数量加1,将长度减小的单元中的任务包数量减1,并以计算后的值进行比较,决定调度队列中的任务包的移动方向。

7.如权利要求3所述的一种DPU任务调度方法,其特征是,在任一任务包的截止时间与当前时间的差值小于预设的时间阈值时,若该任务包位于所述第一单元,则将该任务包的位置调整至调度队列的最左侧,并将原本位于该任务包左侧的其他任务包的位置向右侧移动一位;若该任务包位于所述第二单元,则将该任务包的位置调整至调度队列的最右侧,并将原本位于该任务包右侧的其他任务包的位置向左侧移动一位。

8.如权利要求1所述的一种DPU任务调度方法,其特征是,当DPU侧或CPU侧处于满载状态时,暂停从调度队列向DPU侧或CPU侧输送任务包;所述满载状态为DPU侧或CPU侧的计算资源消耗大于预设的满载阈值。

9.如权利要求8所述的一种DPU任务调度方法,其特征是,当DPU侧或CPU侧处于满载状态时,若存在任一任务包的截止时间与当前时间的差值小于预设的时间阈值,则将该任务包输送至DPU侧或CPU侧。

10.一种DPU任务调度系统,其特征是,包括:

...

【技术特征摘要】

1.一种dpu任务调度方法,其用于将任务调度至cpu侧或dpu侧,其特征是,包括:

2.如权利要求1所述的一种dpu任务调度方法,其特征是,

3.如权利要求1所述的一种dpu任务调度方法,其特征是,在所述调度队列中,任务包从左至右按照优先级从大到小连续放置,并从所述调度队列的左端向dpu侧输送任务包,从所述调度队列的右端向cpu侧输送任务包。

4.如权利要求3所述的一种dpu任务调度方法,其特征是,所述调度队列分为第一单元和第二单元,其中第一单元位于所述调度队列的左侧,第二单元位于所述调度队列的右侧;在新的任务包存储至所述调度队列中时,根据第一单元和第二单元中的任务包的数量,将所述调度队列中的任务包向数量更少的单元移动,以空出新的任务包的存储位置。

5.如权利要求4所述的一种dpu任务调度方法,其特征是,所述第一单元和第二单元的长度根据dpu侧和cpu侧对任务包的处理效率调整,在第一单元或第二单元中,存在任一单元的任务包数量为0,且另一单元中的任务包数量大于0时,将任务包数量大于0的单元的长度减1,并将任务包数量为0的单元的长度加1。

6.如权利要求5所述的一种dpu任务调度方法,其特征是,每次调整所述第一单元和第二单元的长度...

【专利技术属性】
技术研发人员:毛波马钦鸿吴素贞
申请(专利权)人:厦门大学
类型:发明
国别省市:

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

1