一种创建进程时选择运行CPU的方法、装置与计算设备制造方法及图纸

技术编号:32916797 阅读:17 留言:0更新日期:2022-04-07 12:07
本发明专利技术公开了一种创建进程时选择运行CPU的方法、装置与计算设备。上述方法包括步骤:当父进程创建子进程时,在多核系统的全部节点中,根据每个所述节点与父进程访问的文件缓存所对应的节点之间的距离,选择至少部分节点作为候选节点;在所述候选节点对应的CPU之中,至少基于CPU负载大小确定子进程的运行CPU;将创建的所述子进程运行在所述运行CPU上。本发明专利技术一并公开了相应的装置和计算设备。一并公开了相应的装置和计算设备。一并公开了相应的装置和计算设备。

【技术实现步骤摘要】
一种创建进程时选择运行CPU的方法、装置与计算设备


[0001]本专利技术涉及进程调度
,尤其是一种创建进程时选择运行CPU的方法、装置与计算设备。

技术介绍

[0002]在多核系统中,创建进程的进程称为父进程,而新的进程称为子进程,每个新进程可以再创建其他的子进程,现有流程创建进程选择CPU时,选择一个空闲CPU,此时选择的CPU存在跨NODE(节点)的可能。
[0003]当父、子进程操作同一个文件时,父进程在操作文件时,已经将文件缓存申请在父进程所在CPU所在NODE最近内存上或者父进程已经迁移到操作文件所对应的NODE上。此时子进程也可能操作相同文件,即读写的文件缓存在父进程所在NODE的内存上,如果创建子进程时选择运行子进程的CPU是跨NODE的,那么就会读写远端内存,导致性能出现严重劣化,从而产生性能损失。

技术实现思路

[0004]为此,本专利技术提供了一种创建进程时选择运行CPU的方法、装置与计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
[0005]根据本专利技术的一个方面,提供了一种创建进程时选择运行CPU的方法,包括步骤:当父进程创建子进程时,在多核系统的全部节点中,根据每个所述节点与父进程访问的文件缓存所对应的节点之间的距离,选择至少部分节点作为候选节点;在所述候选节点对应的CPU之中,至少基于CPU负载大小确定子进程的运行CPU;将创建的所述子进程运行在所述运行CPU上。
[0006]可选地,在根据本专利技术的方法中,所述根据每个所述节点与父进程访问的文件缓存所对应的节点之间的距离,选择至少部分节点作为候选节点的步骤包括:将所述距离小于或者等于距离阈值的节点作为候选节点。
[0007]可选地,在根据本专利技术的方法中,所述至少基于CPU负载大小确定子进程的运行CPU的步骤包括:按照所述距离从小至大的顺序,逐一对所述节点中的CPU进行负载检测,对于每个节点,检测所述节点中是否有CPU的负载低于预设创建阈值;当所述节点中有CPU的负载低于预设创建阈值时,停止对当前节点及后续节点的负载检测;将所述CPU确定为运行CPU;当全部节点中均没有CPU的负载低于预设创建阈值时,将所述父进程所在CPU确定为运行CPU,或者将所述距离最小的节点中负载最低的CPU确定为运行CPU。
[0008]可选地,在根据本专利技术的方法中,所述至少基于CPU负载大小确定子进程的运行CPU的步骤包括:对所述候选节点中全部CPU进行负载检测,检测是否有CPU的负载低于预设创建阈值;当存在CPU的负载低于预设创建阈值时,将负载最低的CPU确定为运行CPU或者将所述距离最小的节点的CPU确定为运行CPU;当不存在CPU的负载低于预设创建阈值时,将所述父进程所在CPU确定为运行CPU,或者将所述距离最小的节点中负载最低的CPU确定为运
行CPU。
[0009]可选地,在根据本专利技术的方法中,M≤所述距离阈值≤N;其中,M为任一节点与父进程访问的文件缓存所对应的节点之间的最小距离;N为任一节点与父进程访问的文件缓存所对应的节点之间的最大距离。
[0010]可选地,在根据本专利技术的方法中,将所述距离最小的节点的CPU确定为运行CPU的步骤包括:如果所述距离最小的节点中存在多个CPU的负载低于预设创建阈值,将所述节点中负载最低的CPU确定为运行CPU。
[0011]根据本专利技术的另一方面,还提供了一种创建进程时选择运行CPU的装置,包括:测距模块,适于当父进程创建子进程时,在多核系统的全部节点中,根据每个所述节点与父进程访问的文件缓存所对应的节点之间的距离,选择至少部分节点作为候选节点;查找模块,适于在所述候选节点对应的CPU之中,至少基于CPU负载大小确定子进程的运行CPU;运行模块,适于将创建的所述子进程运行在所述运行CPU上。
[0012]可选地,所述查找模块基于CPU负载大小确定子进程的运行CPU适于:按照所述距离从小至大的顺序,逐一对所述节点中的CPU进行负载检测,对于每个节点,检测所述节点中是否有CPU的负载低于预设创建阈值;当所述节点中有CPU的负载低于预设创建阈值时,停止对当前节点及后续节点的负载检测;将所述CPU确定为运行CPU;当全部节点中均没有CPU的负载低于预设创建阈值时,将所述父进程所在CPU确定为运行CPU,或者将所述距离最小的节点中负载最低的CPU确定为运行CPU;或者,对所述候选节点中全部CPU进行负载检测,检测是否有CPU的负载低于预设创建阈值;当存在CPU的负载低于预设创建阈值时,将负载最低的CPU确定为运行CPU或者将所述距离最小的节点的CPU确定为运行CPU;当不存在CPU的负载低于预设创建阈值时,将所述父进程所在CPU确定为运行CPU,或者将所述距离最小的节点中负载最低的CPU确定为运行CPU。
[0013]根据本专利技术的另一方面,还提供了一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当程序指令被处理器读取并执行时,使得计算设备执行如上的创建进程时选择运行CPU的方法。
[0014]根据本专利技术的再一方面,还提供了一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的创建进程时选择运行CPU的方法。
[0015]根据本专利技术的创建进程时选择运行CPU的方法、装置与计算设备,能够实现以下有益效果:
[0016]当父进程创建文件时,一般会在距离当前CPU最近的内存上申请文件缓存,创建出来的子进程也读写这个文件,利用本申请的方法创建子进程选择CPU时,兼顾距离和负载;依次找距离最近的NODE,负载也不再仅仅是找最空闲的CPU,而是选择满足要求或者低负载的CPU的机制,会选出距离文件缓存所在内存最近的并且负载最合适的CPU,使得子进程和父进程共享文件缓存的NODE的性能达到最佳状态。
附图说明
[0017]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述
以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0018]图1示出了根据本专利技术一个实施例的创建进程的框架示意图;
[0019]图2示出了根据本专利技术一个实施例的计算设备200的示意图;
[0020]图3示出了根据本专利技术一个实施例的创建进程时选择运行CPU的方法300的流程图;
[0021]图4示出了根据本专利技术一个实施例的创建进程时选择运行CPU的装置400的结构示意图;
[0022]图5是根据本申请实施例的第一种计算机可读存储介质的示意性结构框图;
[0023]图6是根据本申请实施例的第二种计算机可读存储介质的示意性结构框图。
具体实施方式
[0024]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种创建进程时选择运行CPU的方法,包括步骤:当父进程创建子进程时,在多核系统的全部节点中,根据每个所述节点与父进程访问的文件缓存所对应的节点之间的距离,选择至少部分节点作为候选节点;在所述候选节点对应的CPU之中,至少基于CPU负载大小确定子进程的运行CPU;将创建的所述子进程运行在所述运行CPU上。2.如权利要求1所述的方法,其中,所述根据每个所述节点与父进程访问的文件缓存所对应的节点之间的距离,选择至少部分节点作为候选节点的步骤包括:将所述距离小于或者等于距离阈值的节点作为候选节点。3.如权利要求1或2所述的方法,其中,所述至少基于CPU负载大小确定子进程的运行CPU的步骤包括:按照所述距离从小至大的顺序,逐一对所述节点中的CPU进行负载检测,对于每个节点,检测所述节点中是否有CPU的负载低于预设创建阈值;当所述节点中有CPU的负载低于预设创建阈值时,停止对当前节点及后续节点的负载检测;将所述CPU确定为运行CPU;当全部节点中均没有CPU的负载低于预设创建阈值时,将所述父进程所在CPU确定为运行CPU,或者将所述距离最小的节点中负载最低的CPU确定为运行CPU。4.如权利要求1或2所述的方法,其中,所述至少基于CPU负载大小确定子进程的运行CPU的步骤包括:对所述候选节点中全部CPU进行负载检测,检测是否有CPU的负载低于预设创建阈值;当存在CPU的负载低于预设创建阈值时,将负载最低的CPU确定为运行CPU或者将所述距离最小的节点的CPU确定为运行CPU;当不存在CPU的负载低于预设创建阈值时,将所述父进程所在CPU确定为运行CPU,或者将所述距离最小的节点中负载最低的CPU确定为运行CPU。5.如权利要求2所述的方法,其中,M≤所述距离阈值≤N;其中,M为任一节点与父进程访问的文件缓存所对应的节点之间的最小距离;N为任一节点与父进程访问的文件缓存所对应的节点之间的最大距离。6.如权利要求4所述的方法,其中,将所述距离最小的节点的CPU确定为运行CPU的步骤包括:如果所...

【专利技术属性】
技术研发人员:周鹏胡翔叶中玉陈毅翀
申请(专利权)人:西安统信软件技术有限公司
类型:发明
国别省市:

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

1