一种NUMA体系结构自适应的进程分类绑定方法技术

技术编号:8131002 阅读:209 留言:0更新日期:2012-12-27 03:09
一种NUMA体系结构自适应的进程分类绑定方法,该方法有四大步骤:步骤101.对处理器核的亲近性进行初始化;步骤102.对处理器核亲近性进行探测,并根据探测结果进行归类;步骤103.遍历系统内的进程并识别用户级进程和内核级进程;步骤104.根据进程的识别结果以及处理器亲近性的探测结果进行进程分类绑定。本发明专利技术限定了内核级进程和用户级进程的可运行CPU,避免了远地访存的出现,提高了系统的效率;内核级进程和用户级进程实现了物理资源上的隔离,用户级进程的崩溃不会导致内核级进程的崩溃,提高了系统的稳定性和安全性。它在计算机操作系统技术领域里具有较好的实用价值和应用前景。

【技术实现步骤摘要】

本专利技术涉及一种NUMA体系结构自适应的进程分类绑定方法,具体涉及一种体系结构探测技术以及基于此技术的进程分类绑定方法,它能够实现操作系统内核对体系结构的探测感知及调度性能的优化,属于计算机操作系统

技术介绍
当前采用国产龙芯处理器的服务器中,大部分采用NUMA体系结构设计,然而现有的支持龙芯NUMA处理器的操作系统内核在调度过程中没有充分考虑到NUMA体系结构对系统性能的影响,如图I所示,内核在调度决策时在各处理器核之间随机调度进程,导致进程远地访存频繁出现,从而降低了系统的运行效率,另一方面,远地访存的频繁出现也使得系统的稳定性和安全性降低。 如果在操作系统内核中对NUMA体系结构进行探测,在调度过程中充分考虑到NUMA体系结构的影响,如图2所示,将进程的调度控制在与当前进程的物理内存相近的CPU上,则可以避免远地访存的出现,提高系统的效率,同时也可以把内核级进程和用户级进程分类管理,提高系统的安全性和稳定性。综上,本专利技术对提高龙芯NUMA服务器操作系统的性能和稳定性有很重要的意义。
技术实现思路
I、目的本专利技术的目的是提供一种NUMA体系结构自适应的进程分类绑定方法,它首先通过对体系结构的探测,获知系统内CPU的分布情况,再根据探测结果对系统内的用户级进程和内核级进程进行分组绑定,限定相应进程的调度域,从而避免远地访存的出现,提高系统的性能和稳定性。2、技术方案为达到上述目的,本专利技术的技术方案如下如图3所示,本专利技术一种NUMA体系结构自适应的进程分类绑定方法,该方法包括以下步骤步骤101.对处理器核的亲近性进行初始化;步骤102.对处理器核亲近性进行探测,并根据探测结果进行归类;步骤103.遍历系统内的进程并识别用户级进程和内核级进程;步骤104.根据进程的识别结果以及处理器亲近性的探测结果进行进程分类绑定。其中,步骤101所述的处理器核的亲近性指的是各处理器核与O号处理器核的亲近关系,处于同一处理器内部的所有处理器核,其亲近性相同。以O号处理器核为基准,各处理器核与O号处理器核的通信时间呈台阶式变化,处于同一台阶的处理器核其亲近性相同。对处理器核的亲近性进行初始化主要是探测处理器核的数目,并默认为所有处理器核与O号处理器核均处于相同等级的亲近性。处理器核数目的探测需要根据内核的初始化信息来确定,如果内核本身在初始化的时候没有提供相应的处理器核信息,则有必要人为指定系统内的处理器核数目。本专利技术在硬件条件方面,适用但不限于基于龙芯处理器的NUMA架构服务器。在软件条件方面,适用于基于Linux内核以及基于标准Linux内核裁剪的操作系统。其中,步骤102所述的对处理器核亲近性进行探测,主要是指的对系统内所有使能的处理器核的远近关系进行探测,通过进程的通信时延差别来归类亲近性处于同一等级的处理器核。处理器核亲近性的探测将为进程的分类绑定提供绑定目标依据,其详细步骤如下I)创建及绑定探测子进程创建与处理器核数目相等的子进程,并将每个子进程各绑定到一个处理器核上。例如将绑定到O号处理器核的子进程记为pid_core0,将绑定到i号处理器核的子进程记为pid—corei ο cpu_sci_t iiicisk; C\>{ CPL_SET(core」, &mask);_schcd sctalTinity(pid corci. si/cor(mask), &inask);_2)探测子进程间通信及通信延迟计时以O号处理器核的探测子进程为基准,与其余探测子进程通过管道(pipe)建立通信,并记录通信延迟。例如将将pid_core0与pid_corei的通信延迟记为T0_i,则pid_coreO和pid_corel的通信延迟记为T0-1。再以最后一个处理器核的探测子进程为基准,与其余探测子进程通过管道建立通信并记录通信延迟。例如将pid_corel5和pid_corei的通信延迟记为T15_i,则pid_corel5和pid_corel4的通信延迟记为T15-14。3)探测子进程通信计时归类对T0-1到T0-15的数据进行排序,以最小的数为基数,取每个数与基数的差值百分比,并设定一个同节点核间进程通信延迟差值百分比阈值,差值百分比在阈值以内的数据归为同一级通信延迟数据。再在剩下的数据中选取最小的数作为基数,按照上面的方法归类下一级通信延迟数据,以此类推。再将T15-14到T15-0的数据也进行排序,按照上面的方法进行数据归类处理。此处的同节点处理器核间进程通信延迟百分比阈值可以动态设定,龙芯上比较合理的百分比阈值在10%—20%之间。4)处理器核亲近性归类根据上面的T0-1到T0-15以及T15-14到T15-0的数据分类,分别得到一个相同亲近性级别的处理器核分类,将两种分类进行合并,即可得到处于同一亲近性的处理器核集合。例如 a, a, a, a为一个集合,a,a,a,a为一个集合,a, a, a, a为一个集合,a,a,a,a为一个集合。5)探测子进程注销及返回将各个探测子进程注销并更新处理器核亲近性集合。其中,步骤103所述的遍历系统内的进程指的是遍历系统内所有进程的task_struct数据结构。通过task_struct数据结构来识别用户级进程和内核级进程。由于内核级进程关系到系统的初始化、运行中的管理以及关机等功能,其将被绑定在O号处理器核所在的节点。其中,步骤104所述的进程分类绑定指的是根据用户级进程和内核级进程的识别结果,对进程的task_struct结构体中的cpus_allowed成员进行限定,从而限制其可调度范围。内核级进程限制在O号处理器核以及与O号处理器核处于相同亲近性等级的处理器核上,其余的用户级进程限制在其他的各个处于相同亲近性等级的处理器核集合中。3、优点及功效本专利技术是一种NUMANUMA体系结构自适应的进程分类绑定方法,它与现有技术相t匕,其主要优点如下(1)限定了内核级进程和用户级进程的可运行CPU,避免了远地访存的出现,提高了系统的效率;(2)内核级进程和用户级进程实现了物理资源上的隔离,用户级进程的崩溃不会导致内核级进程的崩溃,提高了系统的稳定性和安全性。 附图说明图I改进前的NUMA体系结构上的进程调度示意2改进后的NUMA体系结构上的进程调度示意3为本专利技术的体系结构自适应的进程绑定方法总体流程4为本专利技术的体系结构自适应探测方法流程图具体实施例方式为使本专利技术的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本专利技术再作进一步详细的说明。本专利技术的主要思想是通过进程的通信时延或者访存时延来获取系统内处理器核的分布,进而对处理器核的亲近性进行分类。通过对处理器核的亲近性分类以及对用户级进程和内核级进程的识别,分别将其限制在处于同一亲近性的处理器核集合中,从而避免远地访存的出现,并实现用户级进程和内核级进程在物理资源上的隔离,从而提高系统的性能和稳定性。见图I、图2、图3及图4,本专利技术一种NUMA体系结构自适应的进程分类绑定方法,该方法包括以下步骤步骤201 :探测处理器核数目,初始化处理器核亲近关系数组。在内核的init进程初始化完成之后,对系统内处理器核的亲近性进行初始化。具体步骤为探测系统内的处理器核数目,初始本文档来自技高网...

【技术保护点】
一种NUMA体系结构自适应的进程分类绑定方法,其特征在于:该方法包括以下步骤:步骤101.对处理器核的亲近性进行初始化;步骤102.对处理器核亲近性进行探测,并根据探测结果进行归类;步骤103.遍历系统内的进程并识别用户级进程和内核级进程;步骤104.根据进程的识别结果以及处理器亲近性的探测结果进行进程分类绑定。

【技术特征摘要】

【专利技术属性】
技术研发人员:祝明发田鸿运肖利民张坤李秀桥
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1