CN107832151B - 一种cpu资源分配方法、装置及设备 - Google Patents
一种cpu资源分配方法、装置及设备 Download PDFInfo
- Publication number
- CN107832151B CN107832151B CN201711105475.7A CN201711105475A CN107832151B CN 107832151 B CN107832151 B CN 107832151B CN 201711105475 A CN201711105475 A CN 201711105475A CN 107832151 B CN107832151 B CN 107832151B
- Authority
- CN
- China
- Prior art keywords
- cpu core
- core
- cpu
- service
- information
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种CPU资源分配方法、装置及设备,所述CPU资源分配方法应用于多核设备,所述方法包括:获取所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息;从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。一旦需要对CPU核的分配进行修改,只需要对CPU核配置文件进行修改即可,实现简单,无需涉及程序代码的修改,不会引起程序代码出错,同时对专业性要求也不高。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种CPU资源分配方法、装置及设备。
背景技术
多核是指在处理器中集成两个或两个以上完整的计算引擎(又称为CPU核),对于多核设备,通常需要为其上运行的各个业务预先分配CPU资源。
目前,为多核设备中的各个业务进行CPU资源的分配方式,通常是将CPU资源的分配写入业务的程序代码中,一旦想要对原有的CPU资源分配进行修改,则需要对程序代码中涉及CPU资源分配的代码进行修改,实现过程较复杂。
发明内容
本发明提供了一种CPU资源分配方法、装置及设备,利用配置文件对CPU资源进行分配,实现简单,且易于修改。
第一方面,本发明提供一种CPU资源分配方法,所述CPU资源分配方法应用于多核设备,所述方法包括:
获取所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息;
从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;
将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
可选的,所述获取所述多核设备的CPU核配置文件,包括:
确定所述多核设备的机型信息;
根据所述机型信息,获取所述多核设备的CPU核配置文件。
可选的,所述获取所述多核设备的CPU核配置文件,包括:
确定所述多核设备中的各个业务的CPU核配置需求信息以及所述多核设备的CPU核信息;
根据所述CPU核配置需求信息以及所述CPU核信息,生成所述多核设备的CPU核配置文件。
可选的,所述方法还包括:
确定所述多核设备的资源区信息,所述资源区信息包括资源区与CPU核的对应关系;
相应的,所述根据所述CPU核配置需求信息以及所述CPU核信息,生成所述多核设备的CPU核配置文件,具体为:
结合所述CPU核配置需求信息、所述CPU核信息以及所述资源区信息,生成所述多核设备的CPU核配置文件。
可选的,所述CPU核配置信息用于利用预设位数的十六进制表征所述第一业务对应的CPU核。
可选的,所述方法还包括:
确定所述多核设备的CPU核配置更新信息;
根据所述CPU核配置更新信息,对所述CPU核配置文件进行更新。
第二方面,本发明还提供了一种CPU资源分配装置,所述CPU资源分配装置应用于多核设备,所述装置包括:
第一获取模块,用于获取所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息;
第二获取模块,用于从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;
绑定模块,用于将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
可选的,所述第一获取模块,包括:
第一确定子模块,用于确定所述多核设备的机型信息;
第一获取子模块,用于根据所述机型信息,获取所述多核设备的CPU核配置文件。
可选的,所述第一获取模块,包括:
第二确定子模块,用于确定所述多核设备中的各个业务的CPU核配置需求信息以及所述多核设备的CPU核信息;
生成子模块,用于根据所述CPU核配置需求信息以及所述CPU核信息,生成所述多核设备的CPU核配置文件。
可选的,所述装置还包括:
第三确定子模块,用于确定所述多核设备的资源区信息,所述资源区信息包括资源区与CPU核的对应关系;
相应的,所述生成子模块,具体用于:
结合所述CPU核配置需求信息、所述CPU核信息以及所述资源区信息,生成所述多核设备的CPU核配置文件。
可选的,所述CPU核配置信息用于利用预设位数的十六进制表征所述第一业务对应的CPU核。
可选的,所述装置还包括:
确定模块,用于确定所述多核设备的CPU核配置更新信息;
更新模块,用于根据所述CPU核配置更新信息,对所述CPU核配置文件进行更新。
第三方面,本发明还提供了一种CPU资源分配设备,所述设备包括存储器和处理器,所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行以下步骤:获取多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息;从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
本发明提供的CPU资源分配方法中,多核设备利用CPU核配置文件配置各个业务被分配的CPU核,将各个业务与被分配的CPU核进行绑定,从而利用绑定的CPU核处理对应的业务,实现CPU资源的分配。一旦需要对CPU核的分配进行修改,只需要对CPU核配置文件进行修改即可,实现简单,无需涉及程序代码的修改,不会引起程序代码出错,同时对专业性要求也不高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种CPU资源分配方法的流程图;
图2为本申请实施例提供的另一种CPU资源分配方法的流程图;
图3为本申请实施例提供的一种CPU资源分配装置的结构示意图;
图4为本申请实施例提供的一种CPU资源分配设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,为多核设备中各个业务分配CPU资源的方式是,将CPU资源的分配写入业务的程序代码中,通过对涉及CPU资源分配的代码进行修改,实现对原有CPU资源分配的修改,显然实现过程较复杂,同时涉及到对代码的修改不仅对专业性要求较高,且容易引起原有程序出错。
基于此,本发明提供了一种CPU资源分配方法,利用CPU核配置文件对多核设备中的各个业务进行CPU核的分配,一旦需要对原有CPU核的分配进行修改,只需要对CPU核配置文件进行修改即可,实现简单,无需涉及程序代码的修改,不会引起程序代码出错,同时对专业性要求也不高。
本发明实施例提供了一种CPU资源分配方法,参考图1,为本发明实施例的一种CPU资源分配方法的流程图。其中,所述CPU资源分配方法可以应用于多核设备,多核设备可以包括多核的网络设备,如防火墙等。
具体的,所述CPU资源分配方法可以包括:
S101:获取所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息。
通常,在设备的系统启动后,配置文件为设备提供需要加载的环境等信息,CPU核配置文件属于一种类型的配置文件,用于为多核设备提供CPU资源分配的信息。
本发明实施例中,预先将多核设备中各个业务分别对应的CPU核配置信息写入CPU核配置文件中,以用于多核设备的CPU资源分配。其中,每个业务分别对应的CPU核配置信息可以包括该业务被分配的CPU核的标识,例如A业务对应的CPU核配置信息可以包括A业务被分配的核1、核2和核3。
S102:从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核。
对于该多核设备中的第一业务,本发明实施例可以从获取到的CPU核配置文件中,获取第一业务对应的CPU核配置信息,也就是说,获取第一业务被分配的CPU核的标识。
其中,CPU核配置信息可以利用各种方式表征第一业务对应的CPU核,例如,一种实现方式中,可以利用建立第一业务与CPU核的标识的对应关系的方式,表征第一业务对应的CPU核,其他方式本发明也不做限定。
另外,值得注意的是,第一业务可以是多核设备中的任意一个业务。
S103:将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
本发明实施例中,在获取第一业务对应的CPU核配置信息后,将该CPU核配置信息中分配给第一业务的CPU核与第一业务进行绑定。
在多核设备对第一业务进行处理时,用于处理第一业务的进程可以直接利用与第一业务绑定的CPU核处理第一业务。实际应用中,多核设备中各个业务均由被分配的CPU核进行处理,从而实现CPU资源的分配。
本发明实施例提供的CPU资源分配方法中,多核设备利用CPU核配置文件配置各个业务被分配的CPU核,将各个业务与被分配的CPU核进行绑定,从而利用绑定的CPU核处理对应的业务,实现CPU资源的分配。一旦需要对CPU核的分配进行修改,只需要对CPU核配置文件进行修改即可,实现简单,无需涉及程序代码的修改,不会引起程序代码出错,同时对专业性要求也不高。
上述S101的实现方式较多,以下通过两种实现方式对多核设备的CPU核配置文件的获取方式进行介绍:
一种实现方式中,可以通过多核设备的机型信息确定该多核设备的CPU核配置文件。具体的,首先确定多核设备的机型信息,其次,根据该机型信息获取该多核设备的CPU核配置文件。
以一种防火墙为例,防火墙的机型可以包括4G,8G,16G,32G机型,每种机型对应一种CPU核配置文件,具体的,可以预先为每种机型配置对应的CPU核配置文件。如表1所示,4G机型的CPU核配置文件core.cfg.2core中的CPU核配置信息为ufast:0x01,kfast:0x02;8G机型的CPU核配置文件core.cfg.4core中的CPU核配置信息为ufast:0x0c,kfast:0x03;16G机型的CPU核配置文件core.cfg.12core中的CPU核配置信息为ufast:0xc0c,kfast:0x303;32G机型的CPU核配置文件core.cfg.16core中的CPU核配置信息为ufast:0x3838,kfast:0x0707。
其中,各个CPU核配置文件中的ufast表示防火墙中的数据面,kfast表示防火墙中的控制面,数据面可以理解为一种对数据包进行实时转发处理的业务,控制面可以理解为一种对接收到的数据包进行后续处理(如杀毒)的业务。以4G机型为例,ufast:0x01和kfast:0x02分别为4G机型的防火墙中为数据面业务和控制面业务进行CPU核分配的CPU核配置信息。
表1
本发明实施例中,在确定多核设备的机型信息后,在预先为每种机型设置的CPU核配置文件中,获取与该多核设备的机型对应的CPU核配置文件,作为该多核设备的CPU核配置文件,用于实现该多核设备的CPU资源分配,具体的,可以将确定的CPU核配置文件链接到对应位置,以便能够获取到该确定的CPU核配置文件。
举例说明,假设确定多核设备的机型为8G机型,则将表1中的CPU核配置文件core.cfg.4core作为该多核设备的CPU核配置文件,利用对应的CPU核配置信息ufast:0x0c,kfast:0x03实现CPU资源分配,具体实现方式在后续进行介绍。
另外,对于完成CPU核配置文件配置的多核设备,随着业务需求的变化,可以对CPU核配置文件进行适应性修改,以实现对多核设备中CPU资源的重新分配,具体实现方式在后续进行介绍。
值得注意的是,利用本发明实施例提供的CPU资源分配方法进行资源分配的业务不仅限于数据面业务和控制面业务,还可以为其他各种类型、各种粒度大小的业务,在此不做限定。
在获取多核设备的CPU核配置文件的另一种实现方式中,可以基于多核设备的业务需求进行CPU核配置文件的生成。具体的,首先确定多核设备中的各个业务的CPU核配置需求信息以及该多核设备的CPU核信息,其次,根据CPU核配置需求信息以及CPU核信息,生成该多核设备的CPU核配置文件。其中,多核设备的CPU核信息可以包括该多核设备中用于分配的CPU核的标识;各个业务的CPU核配置需求信息可以包括各个业务需要配置CPU核的个数等信息。
实际应用中,在确定多核设备的中的各个业务的CPU核配置需求信息以及CPU核信息后,根据CPU核配置需求信息以及CPU核信息,为该多核设备中的各个业务分配CPU核。具体的,可以根据各个业务需要配置CPU核的个数,为各个业务分配对应个数的CPU核。
一种实现方式中,可以在脚本中通过echo命令,将该多核设备中各个业务的CPU核分配情况写入CPU核配置文件,作为该多核设备的CPU核配置文件,以ufast业务和kfast业务的CPU核分配情况为例,具体如下:
echo"ufast:0x00fc0fc0">$CONF_DIR/cores.cfg;
echo"kfast:0x0003f03f">$CONF_DIR/cores.cfg
其中,ufast:0x00fc0fc0和kfast:0x0003f03f分别为多核设备中ufast业务和kfast业务的CPU核分配情况,即为CPU核配置信息。ufast表示网络设备(如防火墙)中的数据面,kfast表示网络设备中的控制面,数据面可以理解为一种对数据包进行实时转发处理的业务,控制面可以理解为一种对接收到的数据包进行后续处理(如杀毒)的业务。
ufast:0x00fc0fc0和kfast:0x0003f03f是利用8位16进制分别表征数据面和控制面对应的CPU核,即表征数据面和控制面的CPU资源分配,实际应用中也可以用其他方式表征CPU核分配情况,如直接利用2进制表征CPU核分配情况,在此不做限制。
以ufast:0x00fc0fc0为例,0x00fc0fc0为6位16进制(前两位为0,不计入位数),将其转换为2进制后变成48位,对应表示48核机器中的48个CPU核,当第i位为1时,则说明第i核分配给ufast。
具体的,16进制的f转换成2进制为1111,16进制的c转换成2进制为为1100,所以,fc0fc0->111111000000111111000000,其中,最后一位为第0核。可以理解的是,fc0fc0表示网络设备中的第6,7,8,9,10,11,18,19,20,21,22,23核分配给ufast;同理,03f03f表示网络设备中的第0,1,2,3,4,5,12,13,14,15,16,17核分配给kfast。通过解析CPU核配置文件中的CPU核配置信息,可以获知ufast和kfast的CPU资源分配情况。
另外,为了保证多核设备中的CPU核分配使得各个业务的处理效率最大化,本发明实施例在为多核设备生成CPU核配置文件时,还考虑了该多核设备的资源区信息。具体的,资源区信息包括资源区与CPU核的对应关系,用于表征多核设备中的各个CPU核所属的资源区。其中,资源区信息也可以叫做numa信息,具体表征多核设备中的各个CPU核所属的numa。
numa(也叫做非统一内存访问)是一种用于多处理器的设计,内存访问时间取决于处理器的内存位置。这是目前一种比较完善的体系架构,许多多处理器系统都是多numa的系统,这样的架构可以使计算机有更高的性能。
实际应用中,在为多核设备中的各个业务分配CPU核时,尽量保持系统的负载均衡。具体的,假设上述网络设备中的第0-11核属于numa0,第12-23核属于numa1,为了实现负载均衡,可以将分配给同一业务的CPU核确定为均衡属于numa0、numa1的CPU核,如上述分配即可。
另外,对于需要访问同一资源的业务,例如需要对同一个存储空间进行访问的业务,为了便于分配给该业务的CPU核对同一个存储空间的访问,从而提高业务的处理效率,本发明实施例可以为这种类型的业务尽量分配属于同一个numa的CPU核。
可以理解的是,在对多核设备中的各个业务分配CPU资源时,选择的CPU资源分配方式尽量保证系统性能,提高业务的处理效率。
另外,由于各种类型的业务具有自身的特性,例如数据转发业务属于快速模式业务,需要CPU核对其进行实时处理;而对数据包的后续处理业务(如杀毒处理等)属于慢速模式业务,不要求CPU核做实时处理,所以,为了提高多核设备中各个业务的处理效率,本发明实施例最好为不同的业务分配不同的CPU核,例如,为多核设备中的A业务分配核1、核2、核3,为B业务分配核4、核5。
另外,本发明实施例还可以通过修改多核设备的CPU核配置文件中的内容,实现对多核设备中CPU资源的重新分配。具体的,首先确定多核设备的CPU核配置更新信息;其次,根据该CPU核配置更新信息,对CPU核配置文件进行更新。其中,CPU核配置更新信息用于表征为各个业务分配的CPU核的更新信息,例如,CPU核配置更新信息可以包括表示为A业务增加分配CPU核的信息。
一种应用场景中,还是以ufast:0x00fc0fc0为例,上述实施例中已经介绍过ufast:0x00fc0fc0表示网络设备中的第6,7,8,9,10,11,18,19,20,21,22,23核分配给ufast,如果业务需求存在变化,即CPU核配置更新信息包括将网络设备中的第0,1,2,3,4,5,12,13,14,15,16,17核重新分配给ufast,完全替换原有配置,则本发明实施例可以通过修改CPU核配置文件中的内容,即将ufast:0x00fc0fc0修改为ufast:0x0003f03f,实现对多核设备中CPU资源的重新分配。
可以理解的是,本发明实施例在对多核设备中的CPU资源分配情况进行修改时,只需要修改该多核设备的CPU核配置文件即可,实现简单,不需要对程序代码进行修改,从而不会引起程序代码出错,同时对专业性要求也不高。
基于上述内容,本发明实施例还提供了一种CPU资源分配方法,参考图2,为本发明实施例提供的另一种CPU资源分配方法的流程图。所述CPU资源分配方法应用于多核设备,具体包括:
S201:确定所述多核设备的机型信息。
S202:判断预先为各种机型设置的CPU核配置文件中,是否存在所述机型信息对应的CPU核配置文件,如果是,则执行S203;否则执行S204、S205。
S203:获取所述机型信息对应的CPU核配置文件,继续执行S206。
S204:确定所述多核设备中的各个业务的CPU核配置需求信息、所述多核设备的CPU核信息以及所述多核设备的资源区信息,所述资源区信息包括资源区与CPU核的对应关系。
S205:结合所述CPU核配置需求信息、所述CPU核信息以及所述资源区信息,生成所述多核设备的CPU核配置文件。
S206:从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核。
S207:将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
本发明实施例中,多核设备优先选择根据机型信息获取CPU核配置文件,如果在预先为各种机型设置的CPU核配置文件中,不存在该机型信息对应的CPU核配置文件,则可以根据该多核设备中各个业务的CPU核配置需求,生成CPU核配置文件。
另外一种实施方式中,在预先为各种机型设置的CPU核配置文件中不存在该多核设备的机型对应的CPU核配置文件时,还可以使用默认的CPU核配置文件作为该多核设备的CPU核配置文件,用于该多核设备的CPU资源分配。其中,默认的CPU核配置文件通常为配置较低的机型对应的CPU核配置文件,如4G机型对应的CPU核配置文件。
S201-S207中的其他内容可以参照上述实施例进行理解,在此不再赘述。
上述实施例中,在对多核设备中的CPU资源分配情况进行修改时,也是只需要修改该多核设备的CPU核配置文件即可,实现简单。
相应的,本发明还提供了一种CPU资源分配装置,参考图3,为本发明实施例提供的一种CPU资源分配装置的结构示意图,其中所述CPU资源分配装置应用于多核设备,所述装置具体包括:
第一获取模块301,用于获取所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息;
第二获取模块302,用于从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;
绑定模块303,用于将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
一种实现方式中,所述第一获取模块,包括:
第一确定子模块,用于确定所述多核设备的机型信息;
第一获取子模块,用于根据所述机型信息,获取所述多核设备的CPU核配置文件。
另一种实现方式中,所述第一获取模块,包括:
第二确定子模块,用于确定所述多核设备中的各个业务的CPU核配置需求信息以及所述多核设备的CPU核信息;
生成子模块,用于根据所述CPU核配置需求信息以及所述CPU核信息,生成所述多核设备的CPU核配置文件。
另外,所述装置还包括:
第三确定子模块,用于确定所述多核设备的资源区信息,所述资源区信息包括资源区与CPU核的对应关系;
相应的,所述生成子模块,具体用于:
结合所述CPU核配置需求信息、所述CPU核信息以及所述资源区信息,生成所述多核设备的CPU核配置文件。
其中,所述CPU核配置信息用于利用预设位数的十六进制表征所述第一业务对应的CPU核。
另外,所述装置还包括:
确定模块,用于确定所述多核设备的CPU核配置更新信息;
更新模块,用于根据所述CPU核配置更新信息,对所述CPU核配置文件进行更新。
本发明实施例提供的CPU资源分配装置中,利用CPU核配置文件配置各个业务被分配的CPU核,将各个业务与被分配的CPU核进行绑定,从而利用绑定的CPU核处理对应的业务,实现CPU资源的分配。一旦需要对CPU核的分配进行修改,只需要对CPU核配置文件进行修改即可,实现简单,无需涉及程序代码的修改,不会引起程序代码出错,同时对专业性要求也不高。
相应的,本发明实施例还提供一种CPU资源分配设备,参见图4所示,可以包括:
处理器401、存储器402、输入装置403和输出装置404。CPU资源分配设备中的处理器401的数量可以一个或多个,图4中以一个处理器为例。在本发明的一些实施例中,处理器401、存储器402、输入装置403和输出装置404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行CPU资源分配设备的各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置403可用于接收输入的数字或字符信息,以及产生与CPU资源分配设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现以下功能:
获取多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息;从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种CPU资源分配方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (6)
1.一种CPU资源分配方法,其特征在于,所述CPU资源分配方法应用于多核设备,所述方法包括:
根据所述多核设备的资源区信息,生成所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息,所述资源区信息包括资源区与所述CPU核的对应关系,并为需要访问同一资源的业务分配属于同一资源区的CPU核;
从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;
将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
2.根据权利要求1所述的CPU资源分配方法,其特征在于,所述根据所述多核设备的资源区信息,生成所述多核设备的CPU核配置文件,包括:
确定所述多核设备中的各个业务的CPU核配置需求信息以及所述多核设备的CPU核信息;
结合所述CPU核配置需求信息、所述CPU核信息以及所述多核设备的资源区信息,生成所述多核设备的CPU核配置文件。
3.根据权利要求1-2中任一项所述的CPU资源分配方法,其特征在于,所述方法还包括:
确定所述多核设备的CPU核配置更新信息;
根据所述CPU核配置更新信息,对所述CPU核配置文件进行更新。
4.一种CPU资源分配装置,其特征在于,所述CPU资源分配装置应用于多核设备,所述装置包括:
第一获取模块,用于根据所述多核设备的资源区信息,生成所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息,所述资源区信息包括资源区与所述CPU核的对应关系,并为需要访问同一资源的业务分配属于同一资源区的CPU核;
第二获取模块,用于从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;
绑定模块,用于将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
5.根据权利要求4所述的CPU资源分配装置,其特征在于,第一获取模块具体用于:
确定所述多核设备中的各个业务的CPU核配置需求信息以及所述多核设备的CPU核信息;
结合所述CPU核配置需求信息、所述CPU核信息以及所述资源区信息,生成所述多核设备的CPU核配置文件。
6.一种CPU资源分配设备,其特征在于,所述设备为多核设备,包括存储器和处理器,所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行以下步骤:
根据所述多核设备的资源区信息,生成所述多核设备的CPU核配置文件,其中,所述CPU核配置文件中配置有所述多核设备中的各个业务分别对应的CPU核配置信息,所述资源区信息包括资源区与所述CPU核的对应关系,并为需要访问同一资源的业务分配属于同一资源区的CPU核;从所述CPU核配置文件中,获取所述多核设备中的第一业务对应的CPU核配置信息,所述CPU核配置信息用于表征所述第一业务对应的CPU核;将所述CPU核与所述第一业务进行绑定,以便所述第一业务对应的进程利用与所述第一业务绑定的CPU核处理所述第一业务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711105475.7A CN107832151B (zh) | 2017-11-10 | 2017-11-10 | 一种cpu资源分配方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711105475.7A CN107832151B (zh) | 2017-11-10 | 2017-11-10 | 一种cpu资源分配方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832151A CN107832151A (zh) | 2018-03-23 |
CN107832151B true CN107832151B (zh) | 2020-09-25 |
Family
ID=61654122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711105475.7A Active CN107832151B (zh) | 2017-11-10 | 2017-11-10 | 一种cpu资源分配方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832151B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460296B (zh) * | 2018-10-23 | 2019-12-27 | 中科驭数(北京)科技有限公司 | 一种处理器的资源分配方法、装置和存储介质 |
CN111352725B (zh) * | 2018-12-24 | 2023-08-18 | 杭州海康威视系统技术有限公司 | 存储负载均衡的方法和装置 |
CN110825528B (zh) * | 2019-11-11 | 2022-02-01 | 聚好看科技股份有限公司 | 资源管理方法、装置及设备 |
CN111221774B (zh) * | 2020-01-10 | 2023-05-19 | 华为技术有限公司 | 处理单元配置方法和处理单元配置装置 |
CN112068960B (zh) * | 2020-09-10 | 2024-02-06 | 华云数据控股集团有限公司 | 一种cpu资源分配方法、装置、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207808A (zh) * | 2012-01-13 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 多核系统中的处理方法及装置 |
CN106339252A (zh) * | 2015-07-08 | 2017-01-18 | 阿里巴巴集团控股有限公司 | 分布式dag系统的自适应优化方法和装置 |
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN106850740A (zh) * | 2016-12-19 | 2017-06-13 | 中国科学院信息工程研究所 | 一种高吞吐数据流处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886313B2 (en) * | 2015-06-19 | 2018-02-06 | Sap Se | NUMA-aware memory allocation |
-
2017
- 2017-11-10 CN CN201711105475.7A patent/CN107832151B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207808A (zh) * | 2012-01-13 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 多核系统中的处理方法及装置 |
CN106339252A (zh) * | 2015-07-08 | 2017-01-18 | 阿里巴巴集团控股有限公司 | 分布式dag系统的自适应优化方法和装置 |
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN106850740A (zh) * | 2016-12-19 | 2017-06-13 | 中国科学院信息工程研究所 | 一种高吞吐数据流处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107832151A (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832151B (zh) | 一种cpu资源分配方法、装置及设备 | |
CN109684065B (zh) | 一种资源调度方法、装置及系统 | |
CN108537543B (zh) | 区块链数据的并行处理方法、装置、设备和存储介质 | |
CN112513811B (zh) | 按需网络代码执行系统中的操作系统定制 | |
US8930957B2 (en) | System, method and program product for cost-aware selection of stored virtual machine images for subsequent use | |
CN110289983B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN110389843B (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
CN109995814B (zh) | 云主机资源的迁移方法及装置、通信设备、存储介质 | |
CN104461698A (zh) | 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统 | |
KR20200062299A (ko) | 블록체인 트랜잭션들을 선택하기 위한 트랜잭션 선택 디바이스 | |
WO2017000645A1 (zh) | 一种分配宿主机资源的方法和装置 | |
JP5315128B2 (ja) | 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
CN113114515B (zh) | 一种资源文件配置方法及装置 | |
CN110417856B (zh) | 多活负载均衡应用的扩容方法、装置、设备及存储介质 | |
CN113626173A (zh) | 调度方法、装置及存储介质 | |
US7634578B2 (en) | Node-to-node communication pipelines | |
CN110290172B (zh) | 容器应用克隆方法、装置、计算机设备及存储介质 | |
CN112015552A (zh) | hash环均衡负载方法、装置、电子设备和存储介质 | |
US11200070B2 (en) | Dynamic-link library usage based on memory size | |
CN115150268A (zh) | Kubernetes集群的网络配置方法、装置、及电子设备 | |
US6792610B2 (en) | Attaching a device driver to multiple logical devices of one physical device | |
JP6953768B2 (ja) | 支援装置、プログラム | |
CN115665231A (zh) | 服务创建方法、装置以及计算机可读存储介质 | |
CN110333870B (zh) | Simulink模型变量分配的处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |