首页> 中国专利> 一种智能调度系统硬件中断的方法及装置

一种智能调度系统硬件中断的方法及装置

摘要

本发明提供了一种智能调度系统硬件中断的方法及装置,属于虚拟化系统设计的技术领域,解决了当CPU进程、中断切换频繁会导致Cache缓存失效,大幅降低缓存命中率,从而导致性能下降的问题。包括多个NUMA架构的系统,根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA,若是,则将本地NUMA作为被选NUMA;若否,则根据负载分布从远端NUMA中确定被选NUMA,根据负载和中断数量从被选NUMA中选择CPU进行硬件中断映射。本发明通过智能调度中断算法机制,优化虚拟化系统整体中断处理效率,提升系统整体性能,提高虚拟化产品竞争力,根据系统整体CPU、内存等资源进行动态调整硬件中断的分布,从而提高系统性能。

著录项

  • 公开/公告号CN112181611A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 苏州浪潮智能科技有限公司;

    申请/专利号CN202010889100.X

  • 发明设计人 王培辉;

    申请日2020-08-28

  • 分类号G06F9/48(20060101);G06F9/50(20060101);G06F9/455(20060101);

  • 代理机构11570 北京众达德权知识产权代理有限公司;

  • 代理人张晓冬

  • 地址 215000 江苏省苏州市吴中经济开发区郭巷街道官浦路1号9幢

  • 入库时间 2023-06-19 09:26:02

说明书

技术领域

本发明涉及虚拟化系统设计技术领域,尤其是涉及一种智能调度系统硬件中断的方法及装置。

背景技术

服务器也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。通常分为文件服务器(能使用户在其它计算机访问文件)、数据库服务器、应用程序服务器、WEB服务器等,服务器的构成包括处理器、硬盘、内存、系统总线等,相比通用的计算机架构,在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求更高,服务器的硬件架构经过多年的发展,为了硬件架构的扩展性和高性能,已经从SMP架构向 NUMA架构转变,NUMA架构在中大型系统上一直非常盛行,也是高性能的解决方案,尤其在系统延迟方面表现都很优秀。

但是现有的服务器CPU在使用时存在了一些缺陷,当数据的访问一般都具有局部性的特点,并且有些数据访问的数据很频繁,利用这一特性, CPU经常在Cache缓存一些常用数据,提高CPU缓存命中率,但是当CPU 进程、中断切换频繁会导致Cache缓存失效,大幅降低缓存命中率,从而导致性能下降,进而会影响服务器CPU的使用寿命,没有针对这一缺陷进行相应的改进。

发明内容

本发明的目的在于提供一种智能调度系统硬件中断的方法及装置,以缓解了(减少了、降低了)等现有技术中存在的当CPU进程、中断切换频繁会导致Cache缓存失效,大幅降低缓存命中率,从而导致性能下降,进而会影响服务器CPU的使用寿命的技术问题。

第一方面,本发明提供的一种硬件中断的调度方法,应用于包括多个 NUMA架构的系统,其调度方法包括以下步骤:

S1、根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA;

S2、步骤S1中,若是,则将本地NUMA作为被选NUMA;若否,则根据负载分布从远端NUMA中确定被选NUMA;

S3、根据负载和中断数量从被选NUMA中选择CPU进行硬件中断映射。

进一步的,在根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA的步骤之前,还包括以下步骤:

A、判断是否达到调度时间间隔;

B、根据步骤A中,若是,则执行根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA的步骤。

进一步的,所述系统包括2个NUMA架构时,所述调度时间间隔为60s;所述系统包括4个NUMA架构时,所述调度时间间隔为300s;所述系统包括8个NUMA架构时,所述调度时间间隔为600s。

进一步的,根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA的步骤,包括以下步骤:

A、如果本地NUMA的内存小于1G,当本地NUMA的硬件特性和软件运行状态满足第一阈值时,将硬件中断映射到本地NUMA;

B、如果本地NUMA的内存大于等于1G,当本地NUMA的硬件特性和软件运行状态满足第二阈值时,将硬件中断映射到本地NUMA。

进一步的,所述第一阈值为本地NUMA平均中断数量小于系统平均中断数量,且本地NUMA平均负载小于系统平均负载;所述第二阈值为本地 NUMA平均中断数量小于系统平均中断数量的3倍,且本地NUMA平均负载小于系统平均负载。

进一步的,根据负载分布从远端NUMA中确定被选NUMA的步骤,包括选择NUMA平均负载最低并且NUMA平均中断数量小于系统平均中断数量3倍的远端NUMA,作为被选NUMA。

进一步的,根据负载和中断数量从被选NUMA中选择CPU进行硬件中断映射的步骤,包括从被选NUMA中选择负载最小或中断数量最少的 CPU进行硬件中断映射。

第二方面,本发明还提供一种硬件中断的调度装置,应用于包括多个 NUMA架构的系统,包括NUMA选择模块和CPU选择模块,所述NUMA 选择模块,用于根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA;若是,则将本地NUMA作为被选NUMA;若否,则根据负载分布从远端NUMA中确定被选NUMA,所述CPU选择模块,用于根据负载和中断数量从被选NUMA中选择CPU 进行硬件中断映射。

有益效果

该智能调度系统硬件中断的方法及装置,通过根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地 NUMA,若是,则将本地NUMA作为被选NUMA;若否,则根据负载分布从远端NUMA中确定被选NUMA,根据负载和中断数量从被选NUMA 中选择CPU进行硬件中断映射,NUMA选择模块,用于根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA;若是,则将本地NUMA作为被选NUMA;若否,则根据负载分布从远端NUMA中确定被选NUMA,CPU选择模块,用于根据负载和中断数量从被选NUMA中选择CPU进行硬件中断映射,系统包括2个 NUMA架构时,调度时间间隔为60s;系统包括4个NUMA架构时,调度时间间隔为300s;系统包括8个NUMA架构时,调度时间间隔为600s,智能调度中断算法机制,优化虚拟化系统整体中断处理效率,提升系统整体性能,提高虚拟化产品竞争力,根据系统整体CPU、内存等负载、设备所属NUMA、内存等资源进行动态调整硬件中断的分布,从而提高系统性能。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的中断调度算法特点的示意图;

图2为本发明实施例提供的中断调度算法特点的框架图;

图3为本发明实施例提供的NUMA架构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-3,本发明提供一种技术方案:一种硬件中断的调度方法,应用于包括多个NUMA架构的系统,其调度方法包括以下步骤:

S1、根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA;

S2、步骤S1中,若是,则将本地NUMA作为被选NUMA;若否,则根据负载分布从远端NUMA中确定被选NUMA;

S3、根据负载和中断数量从被选NUMA中选择CPU进行硬件中断映射。

进一步的,在根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA的步骤之前,还包括以下步骤:

A、判断是否达到调度时间间隔;

B、根据步骤A中,若是,则执行根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA的步骤。

进一步的,系统包括2个NUMA架构时,调度时间间隔为60s;系统包括4个NUMA架构时,调度时间间隔为300s;系统包括8个NUMA架构时,调度时间间隔为600s。

进一步的,根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA的步骤,包括以下步骤:

A、如果本地NUMA的内存小于1G,当本地NUMA的硬件特性和软件运行状态满足第一阈值时,将硬件中断映射到本地NUMA;

B、如果本地NUMA的内存大于等于1G,当本地NUMA的硬件特性和软件运行状态满足第二阈值时,将硬件中断映射到本地NUMA。

进一步的,第一阈值为本地NUMA平均中断数量小于系统平均中断数量,且本地NUMA平均负载小于系统平均负载;第二阈值为本地NUMA 平均中断数量小于系统平均中断数量的3倍,且本地NUMA平均负载小于系统平均负载。

进一步的,根据负载分布从远端NUMA中确定被选NUMA的步骤,包括选择NUMA平均负载最低并且NUMA平均中断数量小于系统平均中断数量3倍的远端NUMA,作为被选NUMA。

进一步的,根据负载和中断数量从被选NUMA中选择CPU进行硬件中断映射的步骤,包括从被选NUMA中选择负载最小或中断数量最少的 CPU进行硬件中断映射。

进一步,一种硬件中断的调度装置,应用于包括多个NUMA架构的系统,包括NUMA选择模块和CPU选择模块,NUMA选择模块,用于根据产生硬件中断的本地NUMA的硬件特性和软件运行状态,确定是否将硬件中断映射到本地NUMA;若是,则将本地NUMA作为被选NUMA;若否,则根据负载分布从远端NUMA中确定被选NUMA,CPU选择模块,用于根据负载和中断数量从被选NUMA中选择CPU进行硬件中断映射。

工作原理:

如图1所示展示了NUMA架构图,也就是每个CPU(缓存)、内存、IO 都有自己所属的NUMA域,在这样的架构下,本地访问时最优的,也性能最好的,不同的CPU采用QPI互连,设备跨越本地CPU,访问远端CPU 会带来一定延迟。基于这样的前提整合考虑各个影响因子来进行硬件中断的调度,可以最大化系统整体性能,在NUMA架构下,每个外网设备都有所属的NUMA,也就是本地CPU,通常直接访问本地CPU,是最优的访问,性能也会非常好,硬件中断是服务器外网设备运行过程中产生的信号,需要CPU干预处理一些逻辑,硬件中断的产生会暂停CPU正在运行的程序, CPU转而去处理硬件中断;例如,网卡设备在收到一个数据报文时,网卡设备就要产生一个硬件中断,通知CPU有报文到达需要处理,这时CPU 就会暂停正在运行的程序,去处理到达的网络报文。可以通过调整硬件中断的亲和性把硬件设备的中断动态映射到不同的CPU。例如,当CPU1负载非常高时,可以调整中断到CPU2,让CPU2进行硬件中断处理,从而提高性能,为了解决数据的访问一般都具有局部性的特点,并且有些数据访问的数据很频繁,利用这一特性,CPU经常在Cache缓存一些常用数据,提高CPU缓存命中率,但是当CPU进程、中断切换频繁会导致Cache缓存失效,大幅降低缓存命中率,从而导致性能下降的问题,用如下算法来表达影响性能的因子,并根据相关因子的权重来调整硬件中断调度的算法:P =M1W1+M2W2+M3W3+…,其中P是性能参数,其中M是影响因子,可以是CPU、缓存、内存等,W是相关因子权重,而中断调度算法具体实现时,同样需要考虑权重,比如本地化是最高的,没有特殊的情况,中断尽量不要映射到远端CPU,具体可以用伪码表示为:

因而通过智能调度中断算法机制,优化虚拟化系统整体中断处理效率,提升系统整体性能,提高虚拟化产品竞争力,根据系统整体CPU、内存等负载、设备所属NUMA、内存等资源进行动态调整硬件中断的分布,从而提高系统性能。

本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号