一种进程调度方法、计算设备及存储介质技术

技术编号:36507860 阅读:18 留言:0更新日期:2023-02-01 15:34
本发明专利技术公开了一种进程调度方法、计算设备及存储介质,涉及计算机技术领域。方法包括:如果进程在预定时间段内发生的缺页异常次数大于预定次数,则将进程确定为内存密集型进程,并更新进程所属的进程调度队列和进程调度组中的内存密集型进程数量;判断当前进程调度组中的内存密集型进程数量与当前节点的处理器数量的比值是否大于第一预定比值;如果是,则判断当前进程调度组中的内存密集型进程数量,是否比目标进程调度组中的内存密集型进程数量多预定百分比,目标节点是否具有内部存储器;如果是,则将内存密集型进程迁移到目标节点。根据本发明专利技术的技术方案,充分考虑了内存带宽竞争对进程性能的影响,能避免将进程无效迁移到没有内存的节点。移到没有内存的节点。移到没有内存的节点。

【技术实现步骤摘要】
一种进程调度方法、计算设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种进程调度方法、计算设备及存储介质。

技术介绍

[0002]在传统的UMA架构中,多个CPU与主存储器模块通过一条系统总线进行通信。随着系统规模的扩大,CPU数量不断增加,对系统总线的争抢现象越来越严重,系统总线带宽成为了多CPU访存的瓶颈。为了减少访存过程中的总线竞争,越来越多的高性能计算机采用NUMA内存架构。
[0003]NUMA采用Node(节点)来管理CPU与主存。一个NUMA系统包括多个NUMA Node。每个Node可以包括多个CPU,并且具有独立的本地内存、 I/O 资源等,这里,与CPU处于同一Node上的内存称为本地内存。多个Node之间通过互联总线连接,对于任意一个Node上的CPU来说,其他Node上的内存称为远程内存。由于CPU访问自己的本地内存会有更低的延迟以及更高的性能表现,CPU访问本地内存的速度远远高于访问远程内存的速度。对于一个指定的Node来说,由于该Node与其他Node之间的距离不同,访问不同Node上的内存的延迟也不一样。
[0004]在Linux内核中,内存管理器默认从进程当前运行的NUMA节点上获取内存。如果当前NUMA节点内存不足,则从邻近的NUMA节点上申请内存。为了充分利用CPU的计算能力,多核负载均衡机制会在不同的CPU间迁移进程,这会使进程运行在其他节点上,但内存依然在原节点上,导致进程访问远程内存而产生延迟,性能下降。
[0005]为了解决进程访问访问远程内存造成的性能下降问题,现有技术中,Linux内核通过NUMA自动均衡(Automatic NUMA Balancing)机制,将远程内存迁移到进程运行的节点上,或者将进程迁移到访问内存最多的节点上,以此增加进程访问本地内存的概率,进而提升系统性能。这种NUMA均衡方案没有考虑最大化利用系统中的内存带宽:如果同一节点上频繁访问内存的进程(内存密集型进程)数量较多,因内存带宽竞争可能导致进程性能严重劣化;如果部分节点上没有内存,导致将内存密集型进程无效迁移到没有内存的节点,由于仍存在访问远程内存的问题,而需要将进程迁移到有内存的节点。
[0006]为此,需要一种进程调度方法,以解决上述方案中存在的问题。

技术实现思路

[0007]为此,本专利技术提供一种进程调度方法及计算设备,以解决或至少缓解上面存在的问题。
[0008]根据本专利技术的一个方面,提供一种进程调度方法,在计算设备中执行,所述计算设备包括通信相连的多个节点,每个所述节点分别包括多个处理器,所述处理器包括进程调度队列,所述进程调度队列中包括一个或多个进程,所述节点包括进程调度组,所述进程调度组包括所述节点的多个处理器的多个进程调度队列,所述方法包括:获取每个进程在预定时间段内发生的缺页异常次数;如果进程在预定时间段内发生的缺页异常次数大于预定
次数,则将所述进程确定为内存密集型进程,并更新所述进程所属的进程调度队列和进程调度组中的内存密集型进程数量;判断当前节点的当前进程调度组中的内存密集型进程数量,与所述当前节点包含的处理器数量的比值,是否大于第一预定比值;如果是,则判断当前节点的当前进程调度组中的内存密集型进程数量,是否比目标节点的目标进程调度组中的内存密集型进程数量多预定百分比,以及,所述目标节点是否具有内部存储器;如果是,则将所述当前进程调度组中的内存密集型进程,迁移到所述目标节点。
[0009]可选地,在根据本专利技术的进程调度方法中,将所述当前进程调度组中的内存密集型进程,迁移到所述目标节点,包括:将所述当前进程调度组中的内存密集型进程以及所述内存密集型进程的内存页,迁移到所述目标节点。
[0010]可选地,在根据本专利技术的进程调度方法中,还包括:如果进程在预定时间段内发生的缺页异常次数小于或等于预定次数,则将所述进程确定为非内存密集型进程;如果所述目标节点不具有内部存储器,则将所述当前进程调度组中的非内存密集型进程迁移到所述目标节点。
[0011]可选地,在根据本专利技术的进程调度方法中,还包括:响应于进程发生缺页异常,更新所述进程发生的缺页异常次数。
[0012]可选地,在根据本专利技术的进程调度方法中,响应于进程发生缺页异常,更新所述进程发生的缺页异常次数,包括:每隔预定时间间隔,检测进程是否发生缺页异常;如果是,则将进程在预定时间间隔内发生的缺页异常次数加1。
[0013]可选地,在根据本专利技术的进程调度方法中,更新所述进程所属的进程调度队列和进程调度组中的内存密集型进程数量,包括:将所述进程所属的进程调度队列中的内存密集型进程数量加1;更新所述进程调度队列所属的进程调度组中的内存密集型进程数量;其中,所述进程调度组中的内存密集型进程数量,等于所述进程调度组所包含的所有进程调度队列中的内存密集型进程数量之和。
[0014]可选地,在根据本专利技术的进程调度方法中,还包括:如果当前节点的当前进程调度组中的进程数量,与所述当前节点包含的处理器数量的比值小于第二预定比值,且目标节点不具有内部存储器,则不将当前进程调度组中的进程迁移到所述目标节点。
[0015]可选地,在根据本专利技术的进程调度方法中,所述预定百分比为30%,所述第一预定比值为1/2。
[0016]可选地,在根据本专利技术的进程调度方法中,所述第二预定比值为1/4。
[0017]根据本专利技术的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的进程调度方法的指令。
[0018]根据本专利技术的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的进程调度方法。
[0019]根据本专利技术的技术方案,提供了一种进程调度方法,获取每个进程在预定时间段内发生的缺页异常次数,如果进程在预定时间段内发生的缺页异常次数大于预定次数,则将进程确定为内存密集型进程,并更新进程所属的进程调度队列和进程调度组中的内存密集型进程数量。如果当前节点的当前进程调度组中的内存密集型进程数量与当前节点包含的处理器数量的比值大于第一预定比值,进一步判断当前节点的当前进程调度组中的内存
密集型进程数量是否比目标节点的目标进程调度组中的内存密集型进程数量多预定百分比,并判断目标节点是否具有内部存储器,如果是,才会将当前进程调度组中的内存密集型进程以及内存密集型进程的内存页迁移到目标节点。这样,本专利技术是在确定当前节点上运行的内存密集型进程较多、目标节点上运行的内存密集型进程较少、目标节点具有内部存储器、具有迁移价值的情况下才会迁移进程,能实现避免内存密集型进程被无效迁移到没有内存的目标节点。可见,根据本专利技术的进程调度方法,充分考虑了当前节点的内存密集型进程数量较多的情况,以及目标节点没有内存的情况,这样,不仅可以解决进程访问访问远程内存造成的性能下降问题,而且充分考虑了内存带宽本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进程调度方法,在计算设备中执行,所述计算设备包括通信相连的多个节点,每个所述节点分别包括多个处理器,所述处理器包括进程调度队列,所述进程调度队列中包括一个或多个进程,所述节点包括进程调度组,所述进程调度组包括所述节点的多个处理器的多个进程调度队列,所述方法包括:获取每个进程在预定时间段内发生的缺页异常次数;如果进程在预定时间段内发生的缺页异常次数大于预定次数,则将所述进程确定为内存密集型进程,并更新所述进程所属的进程调度队列和进程调度组中的内存密集型进程数量;判断当前节点的当前进程调度组中的内存密集型进程数量,与所述当前节点包含的处理器数量的比值,是否大于第一预定比值;如果是,则判断当前节点的当前进程调度组中的内存密集型进程数量,是否比目标节点的目标进程调度组中的内存密集型进程数量多预定百分比,以及,所述目标节点是否具有内部存储器;如果是,则将所述当前进程调度组中的内存密集型进程,迁移到所述目标节点。2.如权利要求1所述的方法,其中,将所述当前进程调度组中的内存密集型进程,迁移到所述目标节点,包括:将所述当前进程调度组中的内存密集型进程以及所述内存密集型进程的内存页,迁移到所述目标节点。3.如权利要求1所述的方法,其中,还包括:如果进程在预定时间段内发生的缺页异常次数小于或等于预定次数,则将所述进程确定为非内存密集型进程;如果所述目标节点不具有内部存储器,则将所述当前进程调度组中的非内存密集型进程迁移到所述目标节点。4.如权利要求1

3中任一项所述的方法,其中,还包括:响应于进程发生缺页异常,更新所述进程发生的缺页异常次数。5.如权利要求4所...

【专利技术属性】
技术研发人员:王晓华
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

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

1