CN117369985A - 处理器资源隔离方法、装置、电子设备及介质 - Google Patents
处理器资源隔离方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN117369985A CN117369985A CN202210774498.1A CN202210774498A CN117369985A CN 117369985 A CN117369985 A CN 117369985A CN 202210774498 A CN202210774498 A CN 202210774498A CN 117369985 A CN117369985 A CN 117369985A
- Authority
- CN
- China
- Prior art keywords
- processor
- service
- cpu
- load
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 90
- 238000004590 computer program Methods 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000010200 validation analysis Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
本申请实施例提供一种处理器资源隔离方法、装置、电子设备及介质,该方法包括:确定预设的第一处理器集合中的对应第一业务的至少一个处理器;获取对应至少一个处理器的第一负载;确定第一负载是否小于相应的第一阈值;在第一负载小于第一阈值的情况下,确定对应第一业务的目标处理器集合为第一处理器集合;在第一负载大于或者等于第一阈值的情况下,确定对应第一业务的目标处理器集合为预设的第二处理器集合,其中,第一处理器集合为第二处理器集合的子集;根据对应第一业务的目标处理器集合,确定待运行第一业务的处理器。
Description
技术领域
本申请涉及电子设备技术领域,特别涉及一种处理器资源隔离方法、装置、电子设备及介质。
背景技术
当今处理器核数越来越多,为了更好的利用处理器资源,往往很多业务都是混合部署在同一台机器上。虽然不同业务混合部署能提高处理器利用率,但是也加剧了处理器、Cache(Cache Memory,缓存)等资源竞争,影响关键业务的QOS(Quality of Service,服务质量)。
发明内容
本发明实施例提供了一种处理器资源隔离方法、装置、电子设备及介质,能够保障关键业务的服务质量,避免其受其他业务干扰。
第一方面,本发明实施例提供一种处理器资源隔离方法,包括:确定预设的第一处理器集合中的对应第一业务的至少一个处理器;获取对应所述至少一个处理器的第一负载;确定所述第一负载是否小于相应的第一阈值;在所述第一负载小于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为所述第一处理器集合;在所述第一负载大于或者等于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为预设的第二处理器集合,其中,所述第一处理器集合为所述第二处理器集合的子集;根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器。
可选地,在所述获取对应所述至少一个处理器的第一负载之前,所述方法还包括:确定所述至少一个处理器中是否存在空闲的处理器;在所述至少一个处理器中不存在空闲的处理器的情况下,执行所述获取对应所述至少一个处理器的第一负载的步骤。
可选地,在所述确定所述至少一个处理器中是否存在空闲的处理器之后,以及在所述根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器之前,所述方法还包括:在所述至少一个处理器中存在空闲的处理器的情况下,确定对应所述第一业务的目标处理器集合为所述第一处理器集合。
可选地,所述确定预设的第一处理器集合中的对应第一业务的至少一个处理器,包括:确定所述第一业务所在的第一群组;根据群组与处理器间的预设对应关系,确定所述第一处理器集合中的对应所述第一群组的处理器;确定所述至少一个处理器包括所述第一处理器集合中的对应所述第一群组的处理器。
可选地,所述获取对应所述至少一个处理器的第一负载,包括:确定所述第一群组中的业务在所述至少一个处理器上的负载之和;以确定的负载之和作为所述第一负载。
可选地,所述至少一个处理器包括所述第一处理器集合中的每一个处理器;所述获取对应所述至少一个处理器的第一负载,包括:确定所述第一处理器集合中每一个处理器的负载之和;以确定的负载之和作为所述第一负载。
可选地,所述根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器,包括:根据预设的待运行处理器确定规则,确定第三处理器;确定所述第三处理器是否在对应所述第一业务的目标处理器集合中;在所述第三处理器在对应所述第一业务的目标处理器集合中的情况下,确定待运行所述第一业务的处理器为所述第三处理器。
可选地,在所述确定所述第三处理器是否在对应所述第一业务的目标处理器集合中之后,所述方法还包括:在所述第三处理器没有在对应所述第一业务的目标处理器集合中的情况下,从所述第一处理器集合中确定出第四处理器,其中,所述第四处理器的负载小于或者等于所述第一处理器集合中任一其他处理器的负载;确定待运行所述第一业务的处理器为所述第四处理器。
可选地,所述方法还包括:在电子设备中的任一第五处理器进入负载均衡流程的情况下,确定所述电子设备中具有最高负载的第六处理器;确定所述第五处理器和所述第六处理器的负载差值是否大于预设的第二阈值;在所述负载差值大于所述第二阈值的情况下,确定所述第六处理器的业务队列中的业务;在确定的所述第六处理器的业务队列中的业务为所述第一业务的情况下,确定对应所述第一业务的目标处理器集合是否包括所述第五处理器;在对应所述第一业务的目标处理器集合包括所述第五处理器的情况下,将所述第一业务迁移至所述第五处理器的业务队列中,并再次执行所述确定所述第五处理器和所述第六处理器的负载差值是否大于预设的第二阈值的步骤。
可选地,在所述确定对应所述第一业务的目标处理器集合是否包括所述第五处理器之后,所述方法还包括:在对应所述第一业务的目标处理器集合不包括所述第五处理器的情况下,从对应所述第一业务的目标处理器集合中确定出第七处理器;将所述第一业务迁移至所述第七处理器的业务队列中,并再次执行所述确定所述第五处理器和所述第六处理器的负载差值是否大于预设的第二阈值的步骤。
第二方面,本发明实施例提供一种处理器资源隔离装置,包括:第一确定模块,用于确定预设的第一处理器集合中的对应第一业务的至少一个处理器;获取模块,用于获取对应所述至少一个处理器的第一负载;第二确定模块,用于确定所述第一负载是否小于相应的第一阈值;第三确定模块,用于在所述第一负载小于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为所述第一处理器集合;第四确定模块,用于在所述第一负载大于或者等于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为预设的第二处理器集合,其中,所述第一处理器集合为所述第二处理器集合的子集;第五确定模块,用于根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器。
第三方面,本发明实施例提供一种电子芯片,包括:处理器,其用于执行存储在存储器上的计算机程序指令,其中,当所述计算机程序指令被所述处理器执行时,触发所述电子芯片执行如第一方面中任一项所述的方法。
第四方面,本发明实施例提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器、用于执行计算机程序指令的处理器和通信装置,其中,当所述计算机程序指令被该处理器执行时,触发所述电子设备执行如第一方面中任一项所述的方法。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
第六方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面中任一项所述的方法。
本发明实施例基于预设的两个处理器集合,并结合对业务所对应处理器的负载感知,动态调节业务使用的处理器资源范围,来实现处理器资源隔离。如此能够保障关键业务的服务质量,避免其受其他业务干扰。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一实施例提供的一种处理器资源隔离实现方式的系统构架图;
图2为本发明一实施例提供的一种处理器资源隔离实现方式的实现流程图;
图3为本发明一实施例提供的另一种处理器资源隔离实现方式的系统构架图;
图4为本发明一实施例提供的另一种处理器资源隔离实现方式的实现流程图;
图5为本发明一实施例提供的一种处理器资源隔离系统构架图;
图6为本发明一实施例提供的一种CPU资源隔离方法的流程示意图;
图7为本发明一实施例提供的另一种处理器资源隔离系统构架图;
图8为本发明一实施例提供的优先CPU集合和有效CPU集合的配置逻辑流程图;
图9为本发明一实施例提供的生效CPU范围决策逻辑流程图;
图10为本发明一实施例提供的CPU选核逻辑流程图;
图11为本发明一实施例提供的CPU负载均衡逻辑流程图;
图12为本发明一实施例提供的一种处理器资源隔离方法的流程示意图;
图13为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“至少一个”是指一个或者多个,“多个”是指两个或两个以上。本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述设定阈值,但这些设定阈值不应限于这些术语。这些术语仅用来将设定阈值彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一设定阈值也可以被称为第二设定阈值,类似地,第二设定阈值也可以被称为第一设定阈值。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
在介绍本申请实施例之前,首先对一些关键术语进行说明。
优先CPU(Central Processing Unit,中央处理器):由用户设置,为task(业务,或称任务)优先使用的CPU,优先CPU的范围一般比较小。
有效CPU:由用户设置,当负载较高时才使用,有效CPU的范围一般比较大。
其中,优先CPU集合为有效CPU集合的子集(优先CPU集合小于或者等于有效CPU集合)。
生效CPU范围:该范围影响业务(task)选核行为,在该范围内为业务选核(即挑选task待运行的CPU)。
群组:一个群组下可以有多个业务(task),可以设置各个群组对应(或称绑定)的优选CPU组,一个优先CPU组包括一个或多个优先CPU。该群组比如可以为cgroup(Controlgroups,控制群组)。
在介绍本申请实施例之前,首先对已有技术进行说明。
当今处理器核数越来越多,为了更好的利用处理器(如CPU)资源,往往很多业务都是混合部署在同一台机器上。虽然不同业务混合部署能提高处理器利用率,但是也加剧了处理器、Cache(Cache Memory,缓存)等资源竞争,影响关键业务的QOS(Quality ofService,服务质量)。
此外,对于同一种业务,在满足服务质量(QOS)的前提下,可用处理器资源越多,迁移也会更加频繁,高频的处理器切换导致缓存(Cache)命中率下降,增加了处理器资源的消耗。
考虑到在不隔离处理器资源的情况下,随着系统处理器个数越多,业务处理器迁移频率越频繁,业务间相互竞争处理器资源、干扰严重,故为保障关键业务的服务质量,避免其受其他业务干扰,可以对处理器资源进行隔离。该处理器可以为CPU,也可以为其他类型的处理器,如GPU(graphics processing unit,图形处理器)等。
下面,以CPU这一处理器为例,对一些处理器资源隔离实现方式进行分别说明。但这些实现方式同样适用于其他类型的处理器。
在一个实施例中,提供了一种处理器资源隔离实现方式(实现方式1),该实现方式1可以通过绑核技术,将关键业务隔离,以保障关键业务的服务质量。
不过,虽然实现方式1通过绑核技术,可以保障关键业务的服务质量,但受CPU资源限制,在该实现方式下,要么业务部署密度低,要么业务高峰期服务质量受影响。
比如考虑到业务流量是波动的,为了保障业务流量高峰期的服务质量,在该实现方式1中,可按照业务流量高峰期需要去分配CPU资源。这样虽然保障了关键业务的服务质量,但受CPU资源的限制,系统业务部署密度会下降,从而导致系统CPU利用率处于较低水位,对CPU资源造成极大浪费。
在另一个实施例中,提供了另一种处理器资源隔离实现方式(实现方式2),请参考图1-2,该实现方式2可以通过比较优先CPU内外负载差,更多地使用优先CPU,以实现CPU资源隔离。
请参考图1,该实现方式2的系统构架可以涉及生效CPU范围确定模块(比如可以记作“动态CPU affinity模块”)101、选核模块102、CPU103、用户请求模块104、调度器105和CPU资源池106。
该调度器105可以为Linux调度器。Linux是一种操作系统。
在实现方式2中,请参考图1,为实现CPU资源隔离,可以新增生效CPU范围确定模块101,并修改调度器105的选核模块102。生效CPU范围确定模块101的输出为其确定出的生效CPU范围,生效CPU范围确定模块101的输出作为选核模块102的输入,从而影响选核模块102对业务的选核行为。
该业务可以分别为图1所示的业务1、业务2、业务3等,这些业务可以根据用户请求模块104提供的用户请求得到。
在一个实施例中,请参考图2,实现方式2中CPU资源隔离的实现过程可以包括以下步骤:
步骤201,配置优先CPU集合和有效CPU集合,配置使用优先CPU和有效CPU的权重值。
该步骤中,可以根据CPU的参数、负载均衡策略等,分别配置每一个优先CPU的权重值和每一个有效CPU的权重值。
步骤202,从优先CPU集合中挑选优先CPU,以及从有效CPU集合中挑选有效CPU。
该步骤中,以挑选优先CPU为例,挑选的先选CPU的个数可以为一个,也可以为多个,还可以为整个优先CPU集合。
挑选方式可以为随机挑选,也可以为固定挑选。比如可以固定挑选集合中的第一个CPU。
步骤203,计算所挑选优先CPU和所挑选有效CPU的负载比,以及计算所挑选优先CPU和所挑选有效CPU的权重比。
该步骤中,挑选的CPU的个数为一个时,以所挑选CPU的负载来计算负载比。挑选的CPU的个数为多个时,以所挑选的各个CPU的负载之和来计算负载比。
步骤204,判断负载比是否大于权重比,若是,将生效CPU范围设置为有效CPU集合(即在有效CPU集合中选核),否则将生效CPU范围设置为优先CPU集合(即在优先CPU集合中选核)。
该步骤中,对比负载比和权重比的关系,根据对比结果决策出生效CPU范围,生效CPU范围可以作用于选核模块,影响选核模块的选核行为。基于选核行为,可以为各个业务选择相应的待运行CPU。
基于上述内容可以看出,该实现方式2可能存在以下不足:
1)有效CPU范围一般较大,对比有效CPU负载,故算法底噪较高。
2)该有效CPU与优先CPU权重控制的方式对业务局部性约束不好,业务高峰期受权重比控制,不能最大限度发挥有效CPU的作用,CPU复用程度不高。
3)该统计CPU负载的方式为无差别的负载统计方式,对于不同业务类型混部场景(比如在线业务和离线业务混合部署),该无差别的负载统计方式受离线业务负载的影响,在线业务无法压制离线业务。
在又一个实施例中,提供了又一种处理器资源隔离实现方式(实现方式3),请参考图3-4,该实现方式3可以通过周期性迁移业务(task)使用优先CPU,以实现CPU资源隔离。
请参考图3,该实现方式3的系统构架可以涉及选核模块310、负载均衡模块320、控制群组的优先CPU动态调节模块(比如可以记作“cgroup balancer模块”)330、CPU340、用户请求模块350、调度器360和CPU资源池370。
该调度器360可以为Linux调度器。
在实现方式3中,请参考图3,为实现CPU资源隔离,可以新增控制群组的优先CPU动态调节模块330,并修改调度器360的负载均衡模块320。
该业务可以分别为图3所示的业务1、业务2等,这些业务可以根据用户请求模块350提供的用户请求得到。
在技术实现上,通过修改负载均衡模块320,可以限制业务迁出控制群组(cgroup)的优先CPU(技术点1),以及通过增加控制群组的优先CPU动态调节模块,可以周期性迁移业务到控制群组的优先CPU(技术点2),如此以实现CPU资源隔离。
对于技术点1,负载均衡模块320可以周期性地检查各CPU负载情况,当CPU负载出现不均衡时,就会从较忙的CPU队列上拉取业务到相对空闲的CPU上,以维护各CPU负载相对均衡。其中,业务迁移策略为当需要将业务从较忙的源CPU迁移到相对空闲的目标CPU上的时候,识别目标CPU是否在业务所属控制群组的优先CPU中,若目标CPU不在业务所属控制群组的优先CPU则不能迁移(即不能将业务从源CPU迁移至目标CPU)。进而,调度器360基于相同的业务迁移策略继续迁移源CPU的其他业务,以达到负载均衡。
对于技术点2,控制群组的优先CPU动态调节模块330周期性检查各CPU当前业务是否运行在该业务所属控制群组的优先CPU上。如果当前业务A不在其所属控制群组的优先CPU上,则从该控制群组的优先CPU队列中寻找业务B(业务A当前运行CPU包含在业务B所属控制群组的优先CPU中),若存在业务B即可将业务A与业务B进行交换。
由于调度器360是根据CPU负载选核,业务唤醒时可能被分配到系统任何CPU上运行,使得单纯技术点1的资源隔离效果欠佳。该实现方式3在技术点1的基础之上增加了控制群组的优先CPU动态调节模块330,从而通过技术点2可以进一步提升资源隔离效果。
该实现方式3针对控制群组设定优先CPU属性,在满足CPU负载均衡的前提下,尽可能更多地使用控制群组的优先CPU,以达到CPU资源隔离、增强CPU局部性的目的。
在一个实施例中,请参考图4,对应于上述技术点2,该实现方式4中CPU资源隔离的实现过程可以包括以下步骤:
步骤401,基于用户通过操作系统所提供接口的操作,从系统CPU资源池中划分出不同的优先CPU组。
步骤402,若控制群组启动了控制群组的优先CPU动态调节功能,则从划分出的优先CPU组中选择一个相对空闲的优先CPU组与该控制群组进行绑定。
步骤403,通过启动定时器,周期性触发业务当前CPU检测操作,以检查业务A是否在业务A所属控制群组的优先CPU上运行,若是,结束当前流程,否则执行步骤404。
该业务A可以为任一业务。
该控制群组的优先CPU包括:与该控制群组绑定的优先CPU组中的各个优先CPU。
步骤404,查找业务A所属控制群组的优先CPU上是否存在业务B,其中,业务A的当前运行CPU被包含在业务B所属控制群组的优先CPU中,若是执行步骤405,否则执行步骤406。
步骤405,将业务A和业务B进行交换。
比如在交换前,业务A在CPU1、业务B在CPU2,在交换后,业务A在CPU2、业务B在CPU1。交换后,业务A和业务B均在其各自所属控制群组的优先CPU中运行。
步骤406,查找业务A所属控制群组的优先CPU中是否存在空闲的CPU(IDLE CPU),若是,将业务A迁移至该空闲的CPU,否则结束当前流程。
通过将业务A迁移至该空闲的CPU,同样使得业务A在其所属控制群组的优先CPU中运行。
在图4所示的实现过程中,可以先执行查找是否存在业务B的操作(见步骤404),若不存在再执行查找是否存在空闲CPU的操作(见步骤406)。
在其他可行的一种实现过程中,也可以先执行查找是否存在空闲CPU的操作,若存在空闲的CPU则将业务A迁移至该空闲的CPU,若不存在空闲的CPU再执行查找是否存在业务B的操作。若存在业务B则将业务A和业务B进行交换,若不存在业务B则结束当前流程。
在其他可行的另一种实现过程中,也可以仅执行查找是否存在业务B的操作。若存在业务B则将业务A和业务B进行交换,否则结束当前流程。
在其他可行的又一种实现过程中,也可以仅执行查找是否存在空闲CPU的操作。若存在空闲的CPU则将业务A迁移至该空闲的CPU,否则结束当前流程。
在其他可行的再一种实现过程中,也可以同时查找是否存在业务B和空闲CPU中的至少一个,若存在则将业务A和业务B进行交换,或者将业务A迁移至该空闲的CPU,否则结束当前流程。
基于上述内容可以看出,该实现方式2可能存在以下不足:算法较复杂,且由于需要维护负载均衡,导致中低负载业务局部性差,CPU资源供给控制性差。
为了既能有效实现处理器资源隔离,又能提升处理器资源利用率,如图5所示,本申请一个实施例提供了一种处理器资源隔离系统构架图。
请参考图5,该处理器资源隔离系统可以涉及到生效处理器范围确定模块510、选核模块520、负载均衡模块530、处理器540、用户请求模块550、调度器560、处理器资源池570。
处理器540提供业务可以使用的处理器硬件资源。该业务可以分别为图5所示的业务1、业务2、业务3等,这些业务可以根据用户请求模块550提供的用户请求得到。用户请求可以表现为一个个业务实体,并承载用户的请求。
请参考图5,为实现处理器资源隔离,可以新增生效处理器范围确定模块510,并修改调度器560的选核模块520和负载均衡模块530。
在可行地实现方式中,可以在开源的Linux内核代码中,通过修改Linux内核的选核模块与负载均衡模块这两个内部模块,并增加生效处理器范围确定模块。生效处理器范围确定模块用于通过感知业务负载情况,决策出当前最优的生效处理器范围,并将该生效处理器范围作为输入传递到选核模块和负载均衡模块,从而最终影响业务处理器资源供给。
生效处理器范围确定模块510可以感知业务优先处理器的负载情况,据此动态调节业务使用的处理器资源范围(即生效处理器范围)。后续可基于该生效处理器范围,在该范围内为业务选核。
调度器560可以为Linux调度器。
调度器560的选核模块520可以负责业务唤醒时,分配业务到处理器上运行。
调度器560的负载均衡模块530可以周期性检测处理器负载情况,保持处理器负载均衡。
以处理器为CPU为例,生效处理器范围确定模块510可以确定出生效CPU范围,确定的生效CPU范围可以作用于选核模块520以影响对业务(task)的选核行为,以及确定的生效CPU范围可以作用于负载均衡模块530以影响负载均衡行为。
在一个实施例中,请参考图6,本申请一个实施例提供了一种CPU资源隔离方法,该方法包括以下步骤601~步骤605。示例性的,图5所示的处理器资源隔离系统可以通过该CPU资源隔离方法以实现CPU资源隔离。
步骤601,配置优先CPU集合与有效CPU集合,优先CPU集合为有效CPU集合的子集,以及配置负载阈值。
示例性的,步骤601可以由生效处理器范围确定模块510执行。
可行地,用户可以根据正常的业务请求数量,合理配置优先CPU集合与有效CPU集合。优先CPU集合能够保障正常业务请求时的服务质量,有效CPU集合可以为最大可使用的CPU集合。
该负载阈值为突破优先CPU的负载阈值。基于优先CPU负载(针对业务所对应的优先CPU的负载)与该负载阈值的对比,可以决策出是否突破优先CPU为业务选核。
其中,优先CPU负载高于该负载阈值时,允许业务使用有效CPU集合中的CPU,即允许使用有效CPU运行业务。优先CPU负载不高于该负载阈值时,允许业务使用优先CPU集合中的CPU,即允许使用优先CPU运行业务。
可行的,该负载阈值可以为按需预设的固定值。
可行的,该负载阈值可以为业务(该业务为优先CPU负载所对应的业务)所对应优先CPU的CPU容量之和与设定百分比的乘积。该设定百分比的取值可以为65%、80%等数值。该情况下,配置负载阈值可以理解为配置该设定百分比的取值、以及负载阈值的计算方式。
该设定百分比的取值可以按需灵活设定,使得复用CPU资源的阈值灵活可调,从而可满足不同负载压力下CPU资源的隔离与复用。
比如,业务对应的优先CPU为CPU1~CPUn(n为正整数),该业务对应的优先CPU负载可以为针对CPU1~CPUn的负载,相应的负载阈值可以为CPU1~CPUn的CPU容量之和与设定百分比的乘积。
在控制群组(cgroup)负载统计方式中,可以对业务进行控制群组划分,并为每个控制群组分配相应的优先CPU组(一个优先CPU组中可以有一个或者多个优先CPU)。基于此,业务对应的优先CPU可以为业务所属控制群组所对应的优先CPU。如此,对于不同的业务,其所属控制群组对应的优先CPU不同时,相应的负载阈值不同。
在根组负载统计方式中,所有业务可以属于同一根组。基于此,业务所对应的优先CPU可以为优先CPU集合中的所有优先CPU。如此,对于不同的业务,配置的负载阈值可以相同。
负载阈值用于反映业务负载(即业务对应的优先CPU负载)与CPU容量的关系,为用于动态隔离、复用CPU资源的阈值。以负载阈值为对比基准,并结合业务负载的变化,可以动态调节生效CPU范围,满足不同负载压力的CPU资源隔离与复用需求。
请参考图7,图7提供了另一种处理器资源隔离系统构架图,图7所示的系统构架除了包括图6所示系统构建中的各个单元模块,还包括配置组件701和系统调用模块702。示例性的,步骤601也可以由配置组件701来执行。
配置组件701可以为Kubelet组件这一用户态组件,该组件可以负责CPU资源的编排。
配置组件701可以调用内核系统的调用接口,以配置优先CPU集和有效CPU集,以及配置负载阈值。
在一个实施例中,请参考图8,图8提供了优先CPU集合和有效CPU集合的配置逻辑流程图,包括以下步骤801~步骤804。
步骤801,确定用户对用户接口的配置信息,所述配置信息包括用户配置的每一个控制群组和各个控制群组对应的优先CPU组。
可行地,步骤801可以由上述配置组件701执行。
可行地,该用户接口可以为POD。用户可以部署一个或多个POD,以相应的配置一个或多个控制群组。
步骤802,根据配置信息,从CPU资源池中取出CPU,为每一个控制群组配置优先CPU组,以及配置优先CPU集合。
可行地,上述系统调用模块702可以从CPU资源池(或称共享池)取出cpu.request个CPU,并据此配置POD的cpuset.preferred_cpus这一配置接口,如此来配置控制群组对应的优先CPU组,配置优先CPU集合。
步骤803,响应于取出CPU的操作,更新CPU资源池。
可行地,在每次从CPU资源池取出CPU后,均可更新CPU资源池,更新后的CPU资源池不包括被取出的CPU。如此,可使得各个控制群组对应的优先CPU组不持有同一CPU。
步骤804,根据配置的优先CPU集合和更新后的CPU资源池,配置有效CPU集合。
可行地,可以将cpuset.preferred_cpus这一配置接口配置的优先CPU、和更新后的CPU资源池中的CPU,设置到POD的cpuset.cpus中,如此来配置有效CPU集合。
步骤602,确定业务对应的优先CPU负载,并检测优先CPU负载与负载阈值的大小关系。
步骤603,根据检测得到的大小关系决策业务当前的生效CPU范围,业务当前的生效CPU范围为优先CPU集合和有效CPU集合中的一个。
示例性的,步骤602和步骤603可以由生效处理器范围确定模块510执行。
通过对比优先CPU负载和负载阈值,可以检测得到优先CPU负载与相应优先CPU容量阈值(即负载阈值)的关系,进而可根据该关系决策出是否突破优先CPU为业务选核。
业务负载低时,通常会小于相应负载阈值,从而确定为从优先CPU选核,如此可以使用更少的CPU,增强CPU资源局部性,减少CPU与Cache资源冲突。而业务负载高时,通常会不小于相应负载阈值,从而确定为从有效CPU选核,如此可以供给更多的CPU,保障业务服务质量的同时,提升系统CPU资源利用率。
可行地,可以遍历待运行的业务,并对遍历到的每一个业务均执行步骤602-步骤603,以确定出其生效CPU范围。
可行地,用户可以配置优先CPU负载计算模型,该模型可以通过下述负载计算方式1或者负载计算方式2,来计算优先CPU负载。
负载计算方式1:为对应于控制群组负载统计的负载计算方式,计算业务所在控制群组的优先CPU的负载。
在控制群组(cgroup)负载统计方式中,可以对业务进行控制群组划分,并为每个控制群组分配相应的优先CPU组。
示例性的,可以先确定业务所属控制群组对应的优先CPU组,以该控制群组的业务在该优先CPU组上的负载作为业务对应的优选CPU负载。
举例来说,优先CPU集合包括CPU1~CPU3,有效CPU集合包括CPU1~CPU10,控制群组1对应的优先CPU组包括CPU1和CPU2,控制群组2对应的优先CPU组包括CPU1~CPU3。每一个控制群组可以包括一个或者多个业务。
其中,在线业务和离线业务在不同的控制群组中,比如,控制群组1中的业务均为在线业务,控制群组2中的业务均为离线业务。
若业务1属于控制群组1,业务1对应的优选CPU负载为控制群组1的业务在CPU1和CPU2上的负载。该优先CPU负载不包括其他控制群组(如控制群组2)中的业务在CPU1和CPU2上的负载。该优先CPU负载对应的优先CPU为CPU1和CPU2。根据该优先CPU负载和相应负载阈值的大小关系,可以得到业务1的生效CPU范围。
若业务2属于控制群组2,业务2对应的优选CPU负载为控制群组2的业务在CPU1~CPU3上的负载。该优先CPU负载对应的优先CPU为CPU1~CPU3。根据该优先CPU负载和相应负载阈值的大小关系,可以得到业务2的生效CPU范围。
基于负载计算方式1的实现,本实施例提供的CPU资源隔离方法可以基于业务组进行CPU资源统计与决策,能够区分不同业务类型,适用于不同优先级类型业务混合部署(比如在线业务和离线业务混合部署)的场景。
负载计算方式2:为对应于根组负载统计的负载计算方式,计算优先CPU集合的负载。
在根组负载统计方式中,所有业务可以视作属于同一根组。
举例来说,优先CPU集合包括CPU1~CPU3,有效CPU集合包括CPU1~CPU10。业务对应的优选CPU负载为优先CPU集合中所有CPU上的负载,即为CPU1~CPU3上的负载。该优先CPU负载对应的优先CPU为CPU1~CPU3。根据该优先CPU负载和相应负载阈值的大小关系,可以得到业务的生效CPU范围。
基于负载计算方式2的实现,本实施例提供的CPU资源隔离方法适用于相同类型业务混合部署(比如所有在线业务混合部署、所有离线业务混合部署)的场景。
在一个实施例中,请参考图9,图9提供了一种生效CPU范围决策逻辑流程图,包括以下步骤901~步骤903。
步骤901,遍历业务对应的优先CPU,确定其中是否存在空闲的CPU,若是,将生效CPU范围设置为优先CPU(即在优先CPU集合中选核),否则执行步骤902。
步骤902,计算业务对应的优先CPU负载。
步骤903,检测优先CPU负载是否低于相应的负载阈值,若是,将生效CPU范围设置为优先CPU,否则将生效CPU范围设置为有效CPU(即在有效CPU集合中选核)。
在另一个实施例中,也可以不执行步骤901,而直接检测优先CPU负载与负载阈值的大小关系,若优先CPU负载低于负载阈值,则将生效CPU范围设置为优先CPU,否则将生效CPU范围设置为有效CPU。
本实施例提供的CPU资源隔离方法可以通过动态感知业务负载与CPU容量关系,来动态调节影响选核行为的生效CPU范围,动态进行CPU资源隔离与复用,如此既能有效实现CPU资源隔离,又能提升CPU资源利用率。
步骤604,根据业务当前的生效CPU范围执行选核行为,确定出运行业务的CPU。
可行地,业务唤醒时,选核模块520可以挑选出待运行该业务的CPU。示例性地,选核模块520可以根据CPU负载、缓存、业务当前的生效CPU范围等参考信息,挑选合适的CPU。可行地,可以基于挑选空闲CPU这一选核快速路径,来挑选合适的CPU。如此,当不存在空闲的CPU时,挑选出的CPU可能不在业务当前的生效CPU范围内。
若挑选的CPU在决策出的生效CPU范围内,则确定该CPU待运行该业务。若挑选的CPU不在决策出的生效CPU范围内,则可确定优先CPU集合中相对最空闲的CPU,并确定该CPU待运行该业务。
基于上述内容,请参考图10,本发明一个实施例中提供了一种CPU选核逻辑流程图,包括以下步骤1001~步骤1004。
步骤1001,确定业务的生效CPU范围。
步骤1002,进入选核模块,挑选合适的CPU。
步骤1003,判断挑选的CPU是否在业务的生效CPU范围内,若是,输出挑选的CPU作为业务的待运行CPU,否则执行步骤1004。
步骤1004,从优先CPU集合中选择相对最空闲的CPU,并输出选择的CPU作为业务的待运行CPU。
可行地,还可以从优先CPU集合中的、业务对应的优先CPU中,来选择相对最空闲的CPU。业务对应的优先CPU,比如可以为业务所属控制群组所绑定的优先CPU组。
在其他可行地实现方式中,也可以限定根据CPU负载、缓存等参考信息,在业务当前的生效CPU范围内挑选合适的CPU,从而可在挑选的CPU上运行该业务。
步骤605,根据业务当前的生效CPU范围作用于负载均衡行为,更新运行业务的CPU。
可行地,为保证各个CPU之间负载均衡,负载均衡模块530基于负载均衡策略,可以对运行业务的CPU进行更新,将业务从当前CPU迁移至其他CPU上运行。
请参考图11,本发明一个实施例中提供了CPU负载均衡逻辑流程图,包括以下步骤1101~步骤1105。
步骤1101,在当前CPU开始运行时,查找系统上负载最高的源CPU(即最忙的CPU)。
任一CPU开始运行时,该CPU作为当前CPU进入负载均衡流程,此时需要查找源CPU以判定是否需要进行负载均衡控制。
步骤1102,判断源CPU和当前CPU的负载差是否大于相应的负载均衡阈值,若是,执行步骤1103,否则结束当前流程。
若负载差大于负载均衡阈值,可以认为CPU间负载不均衡,需进行负载均衡处理,反之可以认为CPU间负载保持均衡,无需进行负载均衡处理。
步骤1103,从源CPU的队列中遍历业务,对于遍历到的业务,判断该业务的生效CPU范围是否包括当前CPU,若是执行步骤1104,否则执行步骤1105。
步骤1104,将该业务从源CPU的队列迁移到当前CPU的队列,并再次执行步骤1102。
步骤1105,从该业务的生效CPU范围中挑选CPU,将该业务从源CPU的队列迁移到所挑选CPU的队列,并再次执行步骤1102。
其中,可以根据生效CPU范围中各个CPU的负载,从生效CPU范围中挑选相对最空闲的CPU。
本申请实施例通过实现一种拓扑感知的CPU资源编排与隔离的技术,可以在保障业务服务质量的基础上提高系统业务部署密度,以提升系统CPU资源使用率。
为了既能有效实现处理器资源隔离,又能提升处理器资源利用率,如图12所示,本申请一个实施例提供了一种处理器资源隔离方法,该方法可以包括以下步骤1201~步骤1206。
本实施例中的处理器可以为CPU、GPU等类型的处理器。本实施例的技术实现细节可参考本发明其他实施例中的相关技术说明,本实施例在此不做赘述。
步骤1201,确定预设的第一处理器集合中的对应第一业务的至少一个处理器。
第一业务可以为待运行的任一业务(task)。
以CPU为例,第一处理器集合即可以为本发明其他实施例中所述的优先CPU集合。
步骤1201中所确定的对应第一业务的至少一个处理器,可以为第一业务所属群组所绑定的优先CPU组中的各个优先CPU(对应于上述控制群组负载统计方式),也可以为优先CPU集合中的各个优先CPU(对应于上述根组负载统计方式)。
步骤1202,获取对应至少一个处理器的第一负载。
以CPU为例,该第一负载可以为本发明其他实施例中所述的优先CPU负载。
对应于控制群组负载统计方式,在本发明一个实施例中,步骤1201,确定预设的第一处理器集合中的对应第一业务的至少一个处理器,可以包括:确定第一业务所在的第一群组;根据群组与处理器间的预设对应关系,确定第一处理器集合中的对应第一群组的处理器;确定至少一个处理器包括第一处理器集合中的对应第一群组的处理器。
基于此,在一个实施例中,步骤1202,获取对应至少一个处理器的第一负载,可以包括:确定第一群组中的业务在该至少一个处理器上的负载之和;以确定的负载之和作为第一负载。
该第一群组可以为控制群组(cgroup)。以CPU为例,对业务划分群组的情况下,首先确定业务所属控制群组所绑定的各个优先CPU,再确定该控制群组中的业务在该各个优先CPU上的负载,以得到优先CPU负载。该优先CPU负载不包括其他控制群组中的业务在该各个优先CPU上的负载。
对应于根组负载统计方式,在一个实施例中,所述至少一个处理器包括第一处理器集合中的每一个处理器。步骤1202,获取对应至少一个处理器的第一负载,可以包括:确定第一处理器集合中每一个处理器的负载之和;以确定的负载之和作为第一负载。
以CPU为例,可以先判断业务对应的优先CPU中是否存在空闲的CPU,若不存在再执行步骤1202,若存在空闲的CPU,即可确定在优先CPU集合中选核。
如此,在一个实施例中,在步骤1202,获取对应至少一个处理器的第一负载之前,该方法还可以包括:确定至少一个处理器中是否存在空闲的处理器;在至少一个处理器中不存在空闲的处理器的情况下,执行获取对应至少一个处理器的第一负载的步骤(即执行步骤1202)。
在一个实施例中,在确定至少一个处理器中是否存在空闲的处理器之后,以及在根据对应第一业务的目标处理器集合,确定待运行第一业务的处理器之前,该方法还可以包括:在至少一个处理器中存在空闲的处理器的情况下,确定对应第一业务的目标处理器集合为第一处理器集合。
步骤1203,确定第一负载是否小于相应的第一阈值。
以CPU为例,该第一阈值可以为本发明其他实施例中所述的负载阈值。
步骤1204,在第一负载小于第一阈值的情况下,确定对应第一业务的目标处理器集合为第一处理器集合。
以CPU为例,优先CPU负载小于负载阈值时,在优先CPU集合中选核。目标处理器集合可以为本发明其他实施例中所述的生效CPU范围。
步骤1205,在第一负载大于或者等于第一阈值的情况下,确定对应第一业务的目标处理器集合为预设的第二处理器集合,其中,第一处理器集合为第二处理器集合的子集。
以CPU为例,第二处理器集合可以为本发明其他实施例中所述的有效CPU集合。优先CPU负载不小于负载阈值时,在有效CPU集合中选核。
步骤1206,根据对应第一业务的目标处理器集合,确定待运行第一业务的处理器。
以CPU为例,根据生效CPU范围为业务选核,即确定业务的待运行CPU。
在本发明一个实施例中,步骤1206,根据对应第一业务的目标处理器集合,确定待运行第一业务的处理器,可以包括:根据预设的待运行处理器确定规则,确定第三处理器;确定第三处理器是否在对应第一业务的目标处理器集合中;在第三处理器在对应第一业务的目标处理器集合中的情况下,确定待运行第一业务的处理器为第三处理器。
以CPU为例,该待运行处理器确定规则可以包括:根据CPU负载、缓存、业务当前的生效CPU范围等参考信息,来挑选合适的CPU,以及基于挑选空闲CPU这一选核快速路径,来挑选合适的CPU。
在本发明一个实施例中,在确定第三处理器是否在对应第一业务的目标处理器集合中之后,该方法还可以包括:在第三处理器没有在对应第一业务的目标处理器集合中的情况下,从第一处理器集合中确定出第四处理器,其中,第四处理器的负载小于或者等于第一处理器集合中任一其他处理器的负载;确定待运行第一业务的处理器为第四处理器。
可行地,还可以从第一处理器集合中、对应第一业务的至少一个处理器中,确定出第四处理器。
以CPU为例,可以从优先CPU集合中选择相对最空闲(负载最小)的CPU,作为第四处理器。或者还可以从优先CPU集合中的、业务对应的优先CPU中,来选择相对最空闲的CPU。业务对应的优先CPU,比如可以为业务所属控制群组所绑定的优先CPU组。
在本发明一个实施例中,该方法还可以包括:在电子设备中的任一第五处理器进入负载均衡流程的情况下,确定电子设备中具有最高负载的第六处理器;确定第五处理器和第六处理器的负载差值是否大于预设的第二阈值;在负载差值大于第二阈值的情况下,确定第六处理器的业务队列中的业务;在确定的第六处理器的业务队列中的业务为第一业务的情况下,确定对应第一业务的目标处理器集合是否包括第五处理器;在对应第一业务的目标处理器集合包括第五处理器的情况下,将第一业务迁移至第五处理器的业务队列中,并再次执行确定第五处理器和第六处理器的负载差值是否大于预设的第二阈值的步骤。
第二阈值的取值可以按需灵活设定。
以CPU为例,任一CPU开始运行时,该CPU作为当前CPU进入负载均衡流程,此时需要查找系统最忙的源CPU以判定是否需要进行负载均衡控制。第五处理器即可以为该当前CPU,第六处理器即可以为该源CPU。
在本发明一个实施例中,在确定对应第一业务的目标处理器集合是否包括第五处理器之后,该方法还可以包括:在对应第一业务的目标处理器集合不包括第五处理器的情况下,从对应第一业务的目标处理器集合中确定出第七处理器;将第一业务迁移至第七处理器的业务队列中,并再次执行确定第五处理器和第六处理器的负载差值是否大于预设的第二阈值的步骤。
以CPU为例,第七处理器可以为生效CPU范围中的相对最空闲的CPU。
示例性的,本申请任一方法实施例提供的处理器资源隔离方法的产品实现形态,可以为包含在OS(Operating System,操作系统)内核中、并部署在服务器硬件上的程序代码。以图5所示系统架构图为例,该程序代码存在于Linux调度器560的选核模块520与负载均衡模块530中。运行时,该程序代码运行于服务器的主机内存。
本发明一个实施例还提供了一种处理器资源隔离装置,该装置包括:第一确定模块,用于确定预设的第一处理器集合中的对应第一业务的至少一个处理器;获取模块,用于获取对应至少一个处理器的第一负载;第二确定模块,用于确定第一负载是否小于相应的第一阈值;第三确定模块,用于在第一负载小于第一阈值的情况下,确定对应第一业务的目标处理器集合为第一处理器集合;第四确定模块,用于在第一负载大于或者等于第一阈值的情况下,确定对应第一业务的目标处理器集合为预设的第二处理器集合,其中,第一处理器集合为第二处理器集合的子集;第五确定模块,用于根据对应第一业务的目标处理器集合,确定待运行第一业务的处理器。
本申请任一实施例提供的处理器资源隔离方法可以应用于图13所示的电子设备100中。图13示出了电子设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。温度传感器180J用于检测温度。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。
本发明一个实施例还提供一种电子芯片,该任务处理芯片安装在电子设备(UE)中,电子芯片包括:处理器,其用于执行存储在存储器上的计算机程序指令,其中,当计算机程序指令被处理器执行时,触发电子芯片执行本申请任意方法实施例提供的方法步骤。
本申请一实施例还提出了一种终端设备,终端设备包括通信模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发终端设备执行本申请任意方法实施例提供的方法步骤。
本申请一实施例还提出了一种服务器设备,服务器设备包括通信模块、用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发服务器设备执行本申请任意方法实施例提供的方法步骤。
本发明一个实施例还提供一种电子设备,电子设备包括多根天线、用于存储计算机程序指令的存储器、用于执行计算机程序指令的处理器和通信装置(比如可以基于NR协议实现5G通信的通信模块),其中,当计算机程序指令被该处理器执行时,触发电子设备执行本申请任意方法实施例提供的方法步骤。
具体的,在本申请一实施例中,一个或多个计算机程序被存储在上述存储器中,该一个或多个计算机程序包括指令,当该指令被上述设备执行时,使得上述设备执行本申请实施例所述的方法步骤。
具体的,在本申请一实施例中,电子设备的处理器可以是片上装置SOC(System onChip,系统级芯片),该处理器中可以包括中央处理器(Central Processing Unit,CPU),还可以进一步包括其他类型的处理器。具体的,在本申请一实施例中,电子设备的处理器可以是PWM控制芯片。
具体的,在本申请一实施例中,涉及的处理器可以例如包括CPU、DSP(digitalsignal processor,数字信号处理器)或微控制器,还可包括GPU(graphics processingunit,图形处理器)、嵌入式神经网络处理器(Neural-network Process Units,NPU)和图像信号处理器(Image Signal Processing,ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
具体的,在本申请一实施例中,电子设备的存储器可以是只读存储器(read-onlymemory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。
具体的,在本申请一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本申请实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。
进一步的,本申请实施例阐明的设备、装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法步骤。
本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法步骤。
本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/
或方框图一个方框或多个方框中指定的功能的步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以意识到,本申请实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (15)
1.一种处理器资源隔离方法,其特征在于,包括:
确定预设的第一处理器集合中的对应第一业务的至少一个处理器;
获取对应所述至少一个处理器的第一负载;
确定所述第一负载是否小于相应的第一阈值;
在所述第一负载小于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为所述第一处理器集合;
在所述第一负载大于或者等于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为预设的第二处理器集合,其中,所述第一处理器集合为所述第二处理器集合的子集;
根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器。
2.根据权利要求1所述的方法,其特征在于,在所述获取对应所述至少一个处理器的第一负载之前,所述方法还包括:
确定所述至少一个处理器中是否存在空闲的处理器;
在所述至少一个处理器中不存在空闲的处理器的情况下,执行所述获取对应所述至少一个处理器的第一负载的步骤。
3.根据权利要求2所述的方法,其特征在于,在所述确定所述至少一个处理器中是否存在空闲的处理器之后,以及在所述根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器之前,所述方法还包括:
在所述至少一个处理器中存在空闲的处理器的情况下,确定对应所述第一业务的目标处理器集合为所述第一处理器集合。
4.根据权利要求1所述的方法,其特征在于,所述确定预设的第一处理器集合中的对应第一业务的至少一个处理器,包括:
确定所述第一业务所在的第一群组;
根据群组与处理器间的预设对应关系,确定所述第一处理器集合中的对应所述第一群组的处理器;
确定所述至少一个处理器包括所述第一处理器集合中的对应所述第一群组的处理器。
5.根据权利要求4所述的方法,其特征在于,所述获取对应所述至少一个处理器的第一负载,包括:
确定所述第一群组中的业务在所述至少一个处理器上的负载之和;
以确定的负载之和作为所述第一负载。
6.根据权利要求1所述的方法,其特征在于,所述至少一个处理器包括所述第一处理器集合中的每一个处理器;
所述获取对应所述至少一个处理器的第一负载,包括:
确定所述第一处理器集合中每一个处理器的负载之和;
以确定的负载之和作为所述第一负载。
7.根据权利要求1所述的方法,其特征在于,所述根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器,包括:
根据预设的待运行处理器确定规则,确定第三处理器;
确定所述第三处理器是否在对应所述第一业务的目标处理器集合中;
在所述第三处理器在对应所述第一业务的目标处理器集合中的情况下,确定待运行所述第一业务的处理器为所述第三处理器。
8.根据权利要求7所述的方法,其特征在于,在所述确定所述第三处理器是否在对应所述第一业务的目标处理器集合中之后,所述方法还包括:
在所述第三处理器没有在对应所述第一业务的目标处理器集合中的情况下,从所述第一处理器集合中确定出第四处理器,其中,所述第四处理器的负载小于或者等于所述第一处理器集合中任一其他处理器的负载;
确定待运行所述第一业务的处理器为所述第四处理器。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在电子设备中的任一第五处理器进入负载均衡流程的情况下,确定所述电子设备中具有最高负载的第六处理器;
确定所述第五处理器和所述第六处理器的负载差值是否大于预设的第二阈值;
在所述负载差值大于所述第二阈值的情况下,确定所述第六处理器的业务队列中的业务;
在确定的所述第六处理器的业务队列中的业务为所述第一业务的情况下,确定对应所述第一业务的目标处理器集合是否包括所述第五处理器;
在对应所述第一业务的目标处理器集合包括所述第五处理器的情况下,将所述第一业务迁移至所述第五处理器的业务队列中,并再次执行所述确定所述第五处理器和所述第六处理器的负载差值是否大于预设的第二阈值的步骤。
10.根据权利要求9所述的方法,其特征在于,在所述确定对应所述第一业务的目标处理器集合是否包括所述第五处理器之后,所述方法还包括:
在对应所述第一业务的目标处理器集合不包括所述第五处理器的情况下,从对应所述第一业务的目标处理器集合中确定出第七处理器;
将所述第一业务迁移至所述第七处理器的业务队列中,并再次执行所述确定所述第五处理器和所述第六处理器的负载差值是否大于预设的第二阈值的步骤。
11.一种处理器资源隔离装置,其特征在于,包括:
第一确定模块,用于确定预设的第一处理器集合中的对应第一业务的至少一个处理器;
获取模块,用于获取对应所述至少一个处理器的第一负载;
第二确定模块,用于确定所述第一负载是否小于相应的第一阈值;
第三确定模块,用于在所述第一负载小于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为所述第一处理器集合;
第四确定模块,用于在所述第一负载大于或者等于所述第一阈值的情况下,确定对应所述第一业务的目标处理器集合为预设的第二处理器集合,其中,所述第一处理器集合为所述第二处理器集合的子集;
第五确定模块,用于根据对应所述第一业务的目标处理器集合,确定待运行所述第一业务的处理器。
12.一种电子芯片,其特征在于,包括:
处理器,其用于执行存储在存储器上的计算机程序指令,其中,当所述计算机程序指令被所述处理器执行时,触发所述电子芯片执行权利要求1-10中任一项所述的方法。
13.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器、用于执行计算机程序指令的处理器和通信装置,其中,当所述计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求1-10中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-10中任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-10中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210774498.1A CN117369985A (zh) | 2022-07-01 | 2022-07-01 | 处理器资源隔离方法、装置、电子设备及介质 |
PCT/CN2023/103345 WO2024002189A1 (zh) | 2022-07-01 | 2023-06-28 | 处理器资源隔离方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210774498.1A CN117369985A (zh) | 2022-07-01 | 2022-07-01 | 处理器资源隔离方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117369985A true CN117369985A (zh) | 2024-01-09 |
Family
ID=89383129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210774498.1A Pending CN117369985A (zh) | 2022-07-01 | 2022-07-01 | 处理器资源隔离方法、装置、电子设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117369985A (zh) |
WO (1) | WO2024002189A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021138B2 (en) * | 2011-08-26 | 2015-04-28 | Microsoft Technology Licensing, Llc | Performance of multi-processor computer systems |
US10754696B1 (en) * | 2017-07-20 | 2020-08-25 | EMC IP Holding Company LLC | Scale out capacity load-balancing for backup appliances |
CN109669758A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 服务器资源的调配方法、装置、设备及存储介质 |
CN113590313B (zh) * | 2021-07-08 | 2024-02-02 | 杭州网易数之帆科技有限公司 | 负载均衡方法、装置、存储介质和计算设备 |
-
2022
- 2022-07-01 CN CN202210774498.1A patent/CN117369985A/zh active Pending
-
2023
- 2023-06-28 WO PCT/CN2023/103345 patent/WO2024002189A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024002189A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114449599B (zh) | 基于电子设备位置的网络链路切换方法和电子设备 | |
CN115696483B (zh) | 基于电子设备状态的网络链路切换方法和电子设备 | |
CN114461588B (zh) | 调节预读窗口的方法及电子设备 | |
CN115757193B (zh) | 一种内存的管理方法及电子设备 | |
CN113115460B (zh) | 时隙选择方法及相关设备 | |
CN116680153B (zh) | 应用帧率平滑方法、电子设备及存储介质 | |
CN112947947A (zh) | 安装包的下载方法、分发方法、终端设备、服务器及系统 | |
WO2022078105A1 (zh) | 内存管理方法、电子设备以及计算机可读存储介质 | |
CN113722087A (zh) | 虚拟内存管理方法和电子设备 | |
CN112671080A (zh) | 充电方法和装置 | |
CN114546511A (zh) | 插件管理方法、系统及装置 | |
CN117130773A (zh) | 资源分配方法、装置和设备 | |
CN113596919B (zh) | 数据下载方法、装置和终端设备 | |
CN114172596B (zh) | 信道噪声检测方法及相关装置 | |
CN114253737B (zh) | 电子设备及其内存回收方法、介质 | |
CN114461589B (zh) | 读取压缩文件的方法、文件系统及电子设备 | |
CN117369985A (zh) | 处理器资源隔离方法、装置、电子设备及介质 | |
CN114945019B (zh) | 数据传输方法、装置及存储介质 | |
WO2021238376A1 (zh) | 功能包的加载方法、装置、服务器和电子设备 | |
CN111836226B (zh) | 数据传输控制方法、装置及存储介质 | |
CN116048772B (zh) | 中央处理单元频率的调整方法、装置和终端设备 | |
CN115065824B (zh) | 解码器确定方法、装置、芯片、电子设备及介质 | |
WO2024087840A1 (zh) | 资源管控方法、装置、芯片、电子设备及介质 | |
CN116048769B (zh) | 内存回收方法、装置和终端设备 | |
CN116414782B (zh) | 识别重复文件的方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |