一种基于NUMA节点的进程访问方法及装置制造方法及图纸

技术编号:16717775 阅读:82 留言:0更新日期:2017-12-05 16:17
本发明专利技术公开了一种基于NUMA节点的进程访问方法,包括利用各进程的类型确定进程组,所述进程组内的各个进程与至少一个所述进程组内的其他进程互为相关进程;将所述进程组中每个进程的资源绑定至同一NUMA节点,以便所述进程组内的第一进程在本NUMA节点上,对所述进程组内的其他相关进程的内存进行访问。由此可知,本发明专利技术实施例提供的进程访问方法通过NUMA绑定,将同一进程组内的进程和进程所需的资源都绑定在同一个NUMA节点上,减少了处理器的远程访问,使显卡虚拟化性能得到最大化的利用,提高了系统的运行效率。本发明专利技术还公开了一种进程访问装置,同样能达到上述技术效果。

A process access method and device based on NUMA node

The invention discloses a method of accessing NUMA node based on the process, including the determination of process group use types for each process, each process of the process within the group and at least one of the processes in the group's other processes are related with each other will process; resource is bound to the same NUMA node of each process is the process group in the process of the process, so that the first group in the NUMA node, the other related process the process group in memory access. Therefore, the process of access method provided by the embodiment of the invention by NUMA binding, will be required to process and process the same process within the group's resources are bound to the same NUMA node, reduce the remote access to the virtual processor, graphics performance maximize the use, improve the operating efficiency of the system. The invention also discloses a process access device, which can also achieve the above technical effect.

【技术实现步骤摘要】
一种基于NUMA节点的进程访问方法及装置
本专利技术涉及虚拟化
,更具体地说,涉及一种基于NUMA节点的进程访问方法及装置。
技术介绍
虚拟化是一种资源管理技术,是将计算机的各种石头资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。当前虚拟化服务器大部分采用非统一内存访问架构(Non-uniformmemoryaccess,简称NUMA)。NUMA是一种为多处理器的电脑设计的内存,内存访问时间取决于内存相对于处理器的位置。在NUMA下,处理器会有与之绑定的内存(被称为本地内存),两者共同组成一个NUMA节点(node),一种典型的NUMA节点结构如图1所示。处理器访问本地内存的速度比访问其他内存的速度要快,即本地访问的速度快于远程访问的速度。在现有技术中,由于没有充分考虑到NUMA体系结构对系统性能的影响,各处理器核之间随机调度进程,导致进程远程访问频繁出现,大量的时间耗费在远程访问上,从而导致性能的浪费、系统的运行效率的降低。因此,如何减少远程访问,提升进程访问资源的效率是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种基于NUMA节点的进程访问方法及装置,以减少远程访问,提升进程访问资源的效率。为实现上述目的,本专利技术实施例提供了如下技术方案:一种基于NUMA节点的进程访问方法,包括:利用各进程的类型确定进程组,所述进程组内的各个进程与至少一个所述进程组内的其他进程互为相关进程;将所述进程组中每个进程的资源绑定至同一NUMA节点,以便所述进程组内的第一进程在本NUMA节点上,对所述进程组内的其他相关进程的内存进行访问。其中,所述利用各进程的类型确定进程组,包括:根据各进程之间的交互访问信息确定进程组。其中,所述利用各进程的类型确定进程组,包括:将同一虚拟机运行实例所对应的进程确定为进程组。其中,将所述进程组中每个进程的资源绑定至同一NUMA节点,包括:通过CGroup将所述进程组中的每个进程绑定在一个或一组CPU上运行。其中,还包括:接收第一进程发送的显卡资源分配请求;判断所述第一进程所属NUMA节点上是否存在显卡资源;若存在,则向所述第一进程分配负载最小的显卡资源;若不存在,则向所述第一进程分配其他NUMA节点上的显卡资源。其中,向所述第一进程分配其他NUMA节点上的显卡资源,包括:利用显卡资源队列确定其他NUMA节点中负载最小的显卡资源;将其他NUMA节点中负载最小的显卡资源分配至所述第一进程。为实现上述目的,本专利技术实施例还提供了一种基于NUMA节点的进程访问装置,包括:确定模块,用于利用各进程的类型确定进程组,所述进程组内的各个进程与至少一个所述进程组内的其他进程互为相关进程;绑定模块,用于将所述进程组中每个进程的资源绑定至同一NUMA节点,以便所述进程组内的第一进程在本NUMA节点上,对所述进程组内的其他相关进程的内存进行访问。其中,所述确定模块具体为根据各进程之间的交互访问信息确定进程组的模块。其中,所述确定模块具体为将同一虚拟机运行实例所对应的进程确定为进程组的模块。其中,所述绑定模块包括:CPU绑定单元,用于通过CGroup将所述进程组绑定在一个或一组CPU上运行。其中,还包括:接收模块,用于接收第一进程发送的显卡资源分配请求;判断模块,用于判断所述第一进程所属NUMA节点上是否存在显卡资源;第一分配模块,用于在所述第一进程所属NUMA节点上存在显卡资源时,向所述第一进程分配负载最小的显卡资源;第二分配模块,用于在所述第一进程所属NUMA节点上不存在显卡资源时,向所述第一进程分配其他NUMA节点上的显卡资源。其中,所述第二分配模块包括:确定单元,用于在所述第一进程所属NUMA节点上不存在显卡资源时,利用显卡资源队列确定其他NUMA节点中负载最小的显卡资源;分配单元,用于将其他NUMA节点中负载最小的显卡资源分配至所述第一进程。通过以上方案可知,本专利技术实施例提供的进程访问方法,包括利用各进程的类型确定进程组,所述进程组内的各个进程与至少一个所述进程组内的其他进程互为相关进程;将所述进程组中每个进程的资源绑定至同一NUMA节点,以便所述进程组内的第一进程在本NUMA节点上,对所述进程组内的其他相关进程的内存进行访问。由此可知,本专利技术实施例提供的进程访问方法通过NUMA绑定,将同一进程组内的进程和进程所需的资源都绑定在同一个NUMA节点上,减少了处理器的远程访问,使显卡虚拟化性能得到最大化的利用,提高了系统的运行效率。本专利技术实施例还提供了一种进程访问装置,同样能达到上述技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为一种典型的NUMA节点结构的示意图;图2为本专利技术实施例公开的一种进程访问方法的流程图;图3a为本专利技术实施例公开的一种进程访问方法的node0节点结构示意图;图3b为本专利技术实施例公开的一种进程访问方法的node1节点结构示意图;图4为本专利技术实施例公开的另一种进程访问方法的流程图;图5为本专利技术实施例公开的又一种进程访问方法的流程图;图6为本专利技术实施例公开的一种进程访问装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种进程访问方法,以减少远程访问,提升进程访问资源的效率。参见图2和图3a、图3b,图2为本专利技术实施例提供的一种进程访问方法的流程图,图3a为本专利技术实施例公开的一种进程访问方法的node0节点结构示意图;图3b为本专利技术实施例公开的一种进程访问方法的node1节点结构示意图。如图2所示,包括:S201:利用各进程的类型确定进程组,所述进程组内的各个进程与至少一个所述进程组内的其他进程互为相关进程;在具体实施中,可以根据各进程之间的交互信息确定进程组,也可以将同一虚拟机运行实例所对应的进程确定为进程组。以图3a和图3b为例,一台虚拟机对应的一对进程host-renderer进程(3DHR进程)和3D虚拟机进程(3DVM进程)可以确定为一个进程组。一组进程组内进程的数量可以是两个,也可以是两个以上,进程组内的进程与至少一个所述进程组内的其他进程互为相关进程,相关进程是指存在信息交互的进程。以图3a为例,进程组G0中存在两个进程3DVM0和3DHR0;进程组G1中,3DVM1和3DHR1之间存在频繁的信息交互,3DHR1和3DG1之间也存在着信息交互,由于3DVM1与3DG1都与3DHR1存在信息交互,即使两者之间没有任何通信存在,也应同属于G1进程组,由此可知,3DVM1、3DHR1和3DG1同属于G1进程组。S202:将所述进程组中每个进程的资源绑定至同一NUMA节点,以便本文档来自技高网...
一种基于NUMA节点的进程访问方法及装置

【技术保护点】
一种基于NUMA节点的进程访问方法,其特征在于,包括:利用各进程的类型确定进程组,所述进程组内的各个进程与至少一个所述进程组内的其他进程互为相关进程;将所述进程组中每个进程的资源绑定至同一NUMA节点,以便所述进程组内的第一进程在本NUMA节点上,对所述进程组内的其他相关进程的内存进行访问。

【技术特征摘要】
1.一种基于NUMA节点的进程访问方法,其特征在于,包括:利用各进程的类型确定进程组,所述进程组内的各个进程与至少一个所述进程组内的其他进程互为相关进程;将所述进程组中每个进程的资源绑定至同一NUMA节点,以便所述进程组内的第一进程在本NUMA节点上,对所述进程组内的其他相关进程的内存进行访问。2.根据权利要求1所述的进程访问方法,其特征在于,所述利用各进程的类型确定进程组,包括:根据各进程之间的交互访问信息确定进程组。3.根据权利要求1所述的进程访问方法,其特征在于,所述利用各进程的类型确定进程组,包括:将同一虚拟机运行实例所对应的进程确定为进程组。4.根据权利要求1所述的进程访问方法,其特征在于,将所述进程组中每个进程的资源绑定至同一NUMA节点,包括:通过CGroup将所述进程组中的每个进程绑定在一个或一组CPU上运行。5.根据权利要求1-4任一项所述的进程访问方法,其特征在于,还包括:接收第一进程发送的显卡资源分配请求;判断所述第一进程所属NUMA节点上是否存在显卡资源;若存在,则向所述第一进程分配负载最小的显卡资源;若不存在,则向所述第一进程分配其他NUMA节点上的显卡资源。6.根据权利要求5所述的进程访问方法,其特征在于,向所述第一进程分配其他NUMA节点上的显卡资源,包括:利用显卡资源队列确定其他NUMA节点中负载最小的显卡资源;将其他NUMA节点中负载最小的显卡资源分配至所述第一进程。7.一种基于NUMA节点的进程访问装置,其特征在于,包括:确定模块,用于利用各进程...

【专利技术属性】
技术研发人员:肖俊丁辉
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:广东,44

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

1