一种大小核处理器调度配置系统及其实现方法与流程
未命名
09-14
阅读:89
评论:0

1.本发明涉及嵌入式实时操作系统的技术领域,具体涉及一种大小核处理器调度配置系统及其实现方法。
背景技术:
2.目前docker等通用容器所基于的windows,linux等操作系统虽已根据不同用途与场景设计了专门的调度器,将任务类型与其优先级作为亲和调度策略的重要参数使用,但这些系统对大小核处理器调度的实时性并无太多优化,使得容器的配置方式中仅能针对具体需要亲和设置的 cpu 核号进行配置,而不能根据实时性调度策略进行配置。docker 等通用容器如应用在移动计算领域等,更多考虑的是电池续航能力,从而导致大小核系统中运行的容器任务实时性抖动较大。而专业的商用实时操作系统目前尚未有一款具备满足强实时性的同时支持大小核能耗与算力调度的容器产品发布。
3.同时,现有的设计方案中认为任务优先级与算力需求是两个维度的需求,优先级代表任务的紧急程度,紧急的任务未必需要强大的算力,而需要强大算力的任务,如ai、多媒体、3d 等运算任务往往对实时响应要求并不高。
4.因此,亟需提供一种大小核处理器调度配置系统及其实现方法以解决上述现有技术中存在的缺陷与不足。
技术实现要素:
5.为了解决现有技术中存在的缺陷与不足,本发明提供了一种大小核处理器调度配置系统及其实现方法。
6.本发明提供的具体方案为:一种大小核处理器调度配置系统,所述系统包括任务模块,所述任务模块内存储待处理的任务;处理模块,所述处理模块内至少包括有大核处理器和小核处理器,以对所述任务模块内的任务进行对应处理;任务控制块,所述任务控制块分别连接任务模块及处理模块,以将任务模块内存储的待处理的任务分别调度至处理模块中对应的处理器进行处理;其特征在于:所述任务控制块内设置有任务算力需求模块和处理器算力供应模块;所述任务算力需求模块实时检测各任务对算力的使用需求;所述处理器算力供应模块实时确定各处理器当前已使用的算力;当处理器当前已使用的算力已无法满足任务对算力的使用需求时,所述任务控制块根据待处理的任务与不同处理器的亲和度确定调度策略。
7.作为本发明的进一步优选实施方式,待处理的任务与不同处理器的亲和度至少包括有:
1)无亲和;2)与大核处理器弱亲和;3)与大核处理器强亲和;4)与小核处理器弱亲和;5)与小核处理器强亲和。
8.作为本发明的进一步优选实施方式,调度策略至少包括有:1)亲和度显示为无亲和时,调度策略为自由调度;2)与大核处理器弱亲和时,调度策略为倾向使用大核处理器;3)与大核处理器强亲和时,调度策略为仅使用大核处理器;4)与小核处理器弱亲和时,调度策略为倾向使用小核处理器;5)与小核处理器强亲和时,调度策略为仅使用小核处理器。
9.作为本发明的进一步优选实施方式,所述处理模块内根据算力强弱对不同处理器进行排序编号。
10.作为本发明的进一步优选实施方式,当调度策略为自由调度时,所述任务控制块将算力强的处理器优先配置给对算力的使用需求大的待处理任务。
11.作为本发明的进一步优选实施方式,当亲和度呈现为与大核处理器弱亲和时,调度策略为倾向使用大核处理器,此时:当大核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在大核处理器上处理;当大核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到小核处理器上处理。
12.作为本发明的进一步优选实施方式,当亲和度呈现为与大核处理器强亲和时,调度策略为仅使用大核处理器,此时待处理的任务仅被调度到大核处理器上处理,且所述任务控制块将算力强的大核处理器优先配置给对算力的使用需求大的待处理任务。
13.作为本发明的进一步优选实施方式,当亲和度呈现为与小核处理器弱亲和时,调度策略为倾向使用小核处理器,此时:当小核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在小核处理器上处理;当小核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到大核处理器上处理。
14.作为本发明的进一步优选实施方式,当亲和度呈现为与小核处理器强亲和时,调度策略为仅使用小核处理器,此时待处理的任务仅被调度到小核处理器上处理,且所述任务控制块将算力强的小核处理器优先配置给对算力的使用需求大的待处理任务。
15.进一步地,本发明还提供一种大小核处理器调度配置系统的实现方法,其特征在于:包括以下步骤:1)实时检测各任务对算力的使用需求;2)实时确定各处理器当前已使用的算力;3)判断处理器当前已使用的算力是否能够满足任务对算力的使用需求,当不能满足时,任务控制块根据待处理的任务与不同处理器的亲和度确定调度策略;
4.1)当亲和度为无亲和时,选用自由调度策略,将算力强的处理器优先配置给对算力的使用需求大的待处理任务;4.2)与亲和度为与大核处理器弱亲和时,调度策略为倾向使用大核处理器,此时:当大核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在大核处理器上处理;当大核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到小核处理器上处理4.3)当亲和度为与大核处理器强亲和时,调度策略为仅使用大核处理器,此时待处理的任务仅被调度到大核处理器上处理,且将算力强的大核处理器优先配置给对算力的使用需求大的待处理任务;4.4)当亲和度为与小核处理器弱亲和时,调度策略为倾向使用小核处理器,此时:当小核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在小核处理器上处理;当小核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到大核处理器上处理;4.5)当亲和度呈现为与小核处理器强亲和时,调度策略为仅使用小核处理器,此时待处理的任务仅被调度到小核处理器上处理,且将算力强的小核处理器优先配置给对算力的使用需求大的待处理任务。
16.相较于现有技术,本发明能够实现的技术效果包括:1)本发明提供一种大小核处理器调度配置系统及其实现方法,基于大小核处理器的基础上,保证调度实时性要求的基础上,基于优先级的抢占调度,同时满足将不同算力需求的任务配置于合适的大小核处理器上,保证实时性的同时,提高运算效率,在降低能耗的同时具有更强的实时性。
17.2)本发明提供一种大小核处理器调度配置系统及其实现方法,将大小核的调度策略划分为 5 种,不同的调度策略配置结果可以使待处理任务具有不同的实时性响应结果。
18.3)本发明提供一种大小核处理器调度配置系统及其实现方法,在系统文件中支持对待处理文件进行基于调度策略的大小核配置,实现对处理器总算力进行动态分配。
19.4)本发明提供一种大小核处理器调度配置系统及其实现方法,在使用默认的自由调度策略时,通过实时检测各任务对算力的使用需求,实时对处理器总算力进行动态分配,自动对待处理任务所对应的运行核进行动态配置。
附图说明
20.如图1所示为本发明一种大小核处理器调度配置系统的结构示意图。
21.如图2所示为本发明一种数据传输系统的控制方法的演示示意图。
22.如图3所示为本发明一种大小核处理器调度配置系统的实现方法的步骤流程图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
25.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
26.[第一实施例]如图1-2所示为本发明提供的第一实施例,本实施例中提供一种大小核处理器调度配置系统,如图1所示,系统包括任务模块,任务模块内存储待处理的任务;任务可以经由处理模块中的大核处理器或小核处理器进行处理;处理模块,处理模块内至少包括有大核处理器和小核处理器,以对任务模块内的任务进行对应处理;作为优选,处理模块内根据算力强弱对不同处理器进行排序编号,可以根据算力强弱进行顺序或逆序进行编号,例如编号顺序可以从 0 开始,编号越小表明算力越低。
[0027]
任务控制块,任务控制块分别连接任务模块及处理模块,以将任务模块内存储的待处理的任务分别调度至处理模块中对应的处理器进行处理;在本实施例中,任务控制块内设置有任务算力需求模块和处理器算力供应模块;任务算力需求模块实时检测各任务对算力的使用需求;例如可以采用大小核算力自动感知算法并结合之前被调度的运行记录等经验数据进行检测;处理器算力供应模块实时确定各处理器当前已使用的算力,各处理器当前已使用的算力可以百分比的方式表示;当处理器当前已使用的算力已无法满足任务对算力的使用需求时,说明此时操作系统需要实时对处理器的总算力进行动态分配,使待处理任务可以在大小核处理器之间迁移,任务控制块根据待处理的任务与不同处理器的亲和度确定调度策略。
[0028]
在本实施例中,待处理的任务与不同处理器的亲和度至少包括有:1)无亲和;2)与大核处理器弱亲和;3)与大核处理器强亲和;4)与小核处理器弱亲和;5)与小核处理器强亲和。
[0029]
具体将亲和度配置为以上情形中的哪一种,是由用户在评估具体的应用场景后进行布置的。其与具体的应用场景有关,比如:当用户更关注运行性能时,用户可以设置亲和
度为与大核处理器强亲和或弱亲和;当用户更关注功耗时,用户可以设置亲和度为与小核处理器强亲和或弱亲和。
[0030]
与之对应地,不同亲和度下相应的调度策略至少包括有:1)亲和度显示为无亲和时,调度策略为自由调度;2)与大核处理器弱亲和时,调度策略为倾向使用大核处理器;3)与大核处理器强亲和时,调度策略为仅使用大核处理器;4)与小核处理器弱亲和时,调度策略为倾向使用小核处理器;5)与小核处理器强亲和时,调度策略为仅使用小核处理器。
[0031]
当调度策略为自由调度时,待处理任务可以运行在任何一个大小核处理器上,由任务控制块选择最合适的大核心或小核心处理器处理任务,例如可以通过任务控制块将算力强的处理器优先配置给对算力的使用需求大的待处理任务,从而进一步提高计算能力和处理效率,此模式为容器任务的默认状态。
[0032]
当亲和度呈现为与大核处理器弱亲和时,调度策略为倾向使用大核处理器,此时:当大核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在大核处理器上处理;当大核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到小核处理器上处理。在不破坏实时性的原则下,任务控制块会尽量将待处理任务调度到大核心处理器进行处理,以使待处理任务获得更多的算力支持。
[0033]
当亲和度呈现为与大核处理器强亲和时,调度策略为仅使用大核处理器,此时待处理的任务仅被调度到大核处理器上处理,以使得待处理任务可以得到最强算力支持,且任务控制块将算力强的大核处理器优先配置给对算力的使用需求大的待处理任务,使得在若干大核心处理器内依然采用优先级抢占的实时调度策略以提高计算能力和处理效率。
[0034]
当亲和度呈现为与小核处理器弱亲和时,调度策略为倾向使用小核处理器,此时:当小核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在小核处理器上处理;当小核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到大核处理器上处理。在不破坏实时性的原则下,任务控制块会尽量将待处理任务调度到小核心处理器进行处理,以使待处理任务获得更多的算力支持,从而在实现任务处理的同时实现节约大核心处理器的资源配置的作用。
[0035]
当亲和度呈现为与小核处理器强亲和时,调度策略为仅使用小核处理器,此时待处理的任务仅被调度到小核处理器上处理以节约能源,且任务控制块将算力强的小核处理器优先配置给对算力的使用需求大的待处理任务,使得在若干小核心处理器内依然采用优先级抢占的实时调度策略以提高计算能力和处理效率。
[0036]
本实施例所提供的一种大小核处理器调度配置系统基于大小核处理器的基础上,保证调度实时性要求的基础上,基于优先级的抢占调度,同时满足将不同算力需求的任务配置于合适的大小核处理器上,保证实时性的同时,提高运算效率,在降低能耗的同时具有更强的实时性。
[0037]
不破坏实时性是指自动调度不做核心限制,不向功耗妥协太多,必须保证高优先级任务有合适的大小核处理器进行处理。同时可以避免激进迁移:算力感知与迁移逐级递进,避免出现多算力簇颠簸,尽量保证 处理器核心cache 热度。此外还可以避免"小核有难大核围观":调度配置系统实现了 "联赛升降级" 算法,保证在低算力簇利用率达极限时,
算力阈值调度带来的错误判断问题。
[0038]
具体示例为:调度配置系统主要包括以下配置项:hetrcc 配置:该配置可以支持如下的配置选项,“auto”、“weak”或“strong”。其中“strong”类的亲和设置可以继承给自己的子线程,例如需要使用 openmp 设计并行算法,可以使用此方法让这些并行子线程运行在强算力核心上达到最佳计算性能。
[0039]
cluster 配置:该配置可以支持指定不同的算力簇,以编号配置,从 0 开始编号越小所需算力越低。
[0040]
以上两种配置配合使用:当hetrcc 配置非
ꢀ“
auto”选项时,必须配置cluster配置,若使用“auto”配置选项,待处理任务将采用自由调度策略,通过对待处理任务需要算力的实时检测结果以及处理器当前已使用的算力检测结果,将待处理任务按照实时性优先的方式进行调度,不向算力进行妥协,使得待处理任务根据优先级可以始终得到抢占式调度。
[0041]
若使用“weak”或“strong”配置选项,则需要同时指定 cluster 配置,指定的算力簇编号越小,则容器任务将尽量(对应“weak”配置)或绝对(对应“strong”配置)调度到低算力核(即小核处理器)上运行。
[0042]
[第二实施例]如图3所示为本发明所提供第二实施例提供的一种大小核处理器调度配置系统的实现方法,其包括以下步骤:1)实时检测各任务对算力的使用需求;2)实时确定各处理器当前已使用的算力;3)判断处理器当前已使用的算力是否能够满足任务对算力的使用需求,当不能满足时,任务控制块根据待处理的任务与不同处理器的亲和度确定调度策略;4.1)当亲和度为无亲和时,选用自由调度策略,将算力强的处理器优先配置给对算力的使用需求大的待处理任务;4.2)与亲和度为与大核处理器弱亲和时,调度策略为倾向使用大核处理器,此时:当大核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在大核处理器上处理;当大核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到小核处理器上处理4.3)当亲和度为与大核处理器强亲和时,调度策略为仅使用大核处理器,此时待处理的任务仅被调度到大核处理器上处理,且将算力强的大核处理器优先配置给对算力的使用需求大的待处理任务;4.4)当亲和度为与小核处理器弱亲和时,调度策略为倾向使用小核处理器,此时:当小核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在小核处理器上处理;当小核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到大核处理器上处理;4.5)当亲和度呈现为与小核处理器强亲和时,调度策略为仅使用小核处理器,此
时待处理的任务仅被调度到小核处理器上处理,且将算力强的小核处理器优先配置给对算力的使用需求大的待处理任务。
[0043]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
技术特征:
1.一种大小核处理器调度配置系统,所述系统包括任务模块,所述任务模块内存储待处理的任务;处理模块,所述处理模块内至少包括有大核处理器和小核处理器,以对所述任务模块内的任务进行对应处理;任务控制块,所述任务控制块分别连接任务模块及处理模块,以将任务模块内存储的待处理的任务分别调度至处理模块中对应的处理器进行处理;其特征在于:所述任务控制块内设置有任务算力需求模块和处理器算力供应模块;所述任务算力需求模块实时检测各任务对算力的使用需求;所述处理器算力供应模块实时确定各处理器当前已使用的算力;当处理器当前已使用的算力已无法满足任务对算力的使用需求时,所述任务控制块根据待处理的任务与不同处理器的亲和度确定调度策略。2.根据权利要求1所述的一种大小核处理器调度配置系统,其特征在于:待处理的任务与不同处理器的亲和度至少包括有:1)无亲和;2)与大核处理器弱亲和;3)与大核处理器强亲和;4)与小核处理器弱亲和;5)与小核处理器强亲和。3.根据权利要求2所述的一种大小核处理器调度配置系统,其特征在于:调度策略至少包括有:1)亲和度显示为无亲和时,调度策略为自由调度;2)与大核处理器弱亲和时,调度策略为倾向使用大核处理器;3)与大核处理器强亲和时,调度策略为仅使用大核处理器;4)与小核处理器弱亲和时,调度策略为倾向使用小核处理器;5)与小核处理器强亲和时,调度策略为仅使用小核处理器。4.根据权利要求1所述的一种大小核处理器调度配置系统,其特征在于:所述处理模块内根据算力强弱对不同处理器进行排序编号。5.根据权利要求3所述的一种大小核处理器调度配置系统,其特征在于:当调度策略为自由调度时,所述任务控制块将算力强的处理器优先配置给对算力的使用需求大的待处理任务。6.根据权利要求3所述的一种大小核处理器调度配置系统,其特征在于:当亲和度呈现为与大核处理器弱亲和时,调度策略为倾向使用大核处理器,此时:当大核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在大核处理器上处理;当大核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到小核处理器上处理。7.根据权利要求3所述的一种大小核处理器调度配置系统,其特征在于:当亲和度呈现为与大核处理器强亲和时,调度策略为仅使用大核处理器,此时待处理
的任务仅被调度到大核处理器上处理,且所述任务控制块将算力强的大核处理器优先配置给对算力的使用需求大的待处理任务。8.根据权利要求3所述的一种大小核处理器调度配置系统,其特征在于:当亲和度呈现为与小核处理器弱亲和时,调度策略为倾向使用小核处理器,此时:当小核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在小核处理器上处理;当小核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到大核处理器上处理。9.根据权利要求3所述的一种大小核处理器调度配置系统,其特征在于:当亲和度呈现为与小核处理器强亲和时,调度策略为仅使用小核处理器,此时待处理的任务仅被调度到小核处理器上处理,且所述任务控制块将算力强的小核处理器优先配置给对算力的使用需求大的待处理任务。10.根据权利要求1-9中任一项所述的一种大小核处理器调度配置系统的实现方法,其特征在于:包括以下步骤:1)实时检测各任务对算力的使用需求;2)实时确定各处理器当前已使用的算力;3)判断处理器当前已使用的算力是否能够满足任务对算力的使用需求,当不能满足时,任务控制块根据待处理的任务与不同处理器的亲和度确定调度策略;4.1)当亲和度为无亲和时,选用自由调度策略,将算力强的处理器优先配置给对算力的使用需求大的待处理任务;4.2)与亲和度为与大核处理器弱亲和时,调度策略为倾向使用大核处理器,此时:当大核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在大核处理器上处理;当大核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到小核处理器上处理4.3)当亲和度为与大核处理器强亲和时,调度策略为仅使用大核处理器,此时待处理的任务仅被调度到大核处理器上处理,且将算力强的大核处理器优先配置给对算力的使用需求大的待处理任务;4.4)当亲和度为与小核处理器弱亲和时,调度策略为倾向使用小核处理器,此时:当小核处理器的算力满足待处理的任务对算力的使用需求时,该任务将在小核处理器上处理;当小核处理器的算力无法满足待处理的任务对算力的使用需求时,该任务将被调度到大核处理器上处理;4.5)当亲和度呈现为与小核处理器强亲和时,调度策略为仅使用小核处理器,此时待处理的任务仅被调度到小核处理器上处理,且将算力强的小核处理器优先配置给对算力的使用需求大的待处理任务。
技术总结
本发明提供一种大小核处理器调度配置系统及其实现方法,所述任务控制块内设置有任务算力需求模块和处理器算力供应模块;所述任务算力需求模块实时检测各任务对算力的使用需求;所述处理器算力供应模块实时确定各处理器当前已使用的算力;当处理器当前已使用的算力已无法满足任务对算力的使用需求时,所述任务控制块根据待处理的任务与不同处理器的亲和度确定调度策略;基于大小核处理器的基础上,保证调度实时性要求的基础上,基于优先级的抢占调度,同时满足将不同算力需求的任务配置于合适的大小核处理器上,保证实时性的同时,提高运算效率,在降低能耗的同时具有更强的实时性。性。性。
技术研发人员:韩辉 弓羽箭 徐贵洲 王翾
受保护的技术使用者:南京翼辉信息技术有限公司
技术研发日:2023.08.14
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种高效率的重型鳞板输送机的制作方法 下一篇:一种放射源的密封结构的制作方法