[发明专利]一种多程序实例同时运行下CPU资源分配方法及装置在审
申请号: | 201710692515.6 | 申请日: | 2017-08-14 |
公开(公告)号: | CN107479976A | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 刘如意;孙京本 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 实例 同时 运行 cpu 资源 分配 方法 装置 | ||
技术领域
本发明涉及CPU技术领域,特别涉及一种多程序实例同时运行下CPU资源分配方法及装置。
背景技术
目前,经常会有多个人公用一个工作站或服务器进行科学计算、数据处理等的情况。
而对于大型的计算或数据处理程序,尤其是当每个实例都会使用多线程时,各个线程在哪个CPU核心上执行依赖于操作系统的调度系统。一般地,随机选择空闲的CPU核心调度执行,并且会随着系统运行的情况,不断切换调度的核心。这种会由于经常切换CPU执行,会导致CPU Cache命中率较低。即每个实例都期望自己独占CPU资源,多个实例直接相互竞争资源,导致性能急剧下降的。
因此,如何合理分配多程序实例同时运行下的CPU资源,以达到既不会浪费,又不会相互之间发生冲突的目的是本领域需要解决的问题。
发明内容
本发明的目的是提供一种多程序实例同时运行下CPU资源分配方法及装置,目的在于解决现有多程序实例同时运行下CPU资源分配不合理导致性能低下的问题。
为解决上述技术问题,本发明提供一种多程序实例同时运行下CPU资源分配方法,该方法包括:
获取CPU核心使用信息;
根据所述CPU核心使用信息和待分配实例所需启动线程的数量,从空闲CPU核心中选取出所述数量个CPU核心,分配给所述待分配实例,并将已分配的CPU核心标注为已使用;
利用CPU亲和性函数,将所述待分配实例的多个线程绑定到所分配的所述CPU核心。
可选地,所述根据所述CPU核心使用信息和待分配实例所需启动的线程数,从空闲CPU核心中选取出所述数量个CPU核心,分配给所述待分配实例包括:
当系统为NUMA系统时,根据所述CPU核心使用信息和所述待分配实例所需启动线程的所述数量,从所述空闲CPU核心中选取出位于同一NUMA节点的所述数量个CPU核心,分配给所述待分配实例。
可选地,还包括:
当所述待分配实例停止运行时,释放分配给所述待分配实例的所述数量个CPU核心,并修改所释放的CPU核心使用信息。
可选地,所述获取CPU核心使用信息包括:
获取系统共享内存内的CPU核心总数信息及CPU核心占用信息。
此外,本发明还提供了一种多程序实例同时运行下CPU资源分配装置,该装置包括:
获取模块,用于获取CPU核心使用信息;
分配模块,用于根据所述CPU核心使用信息和待分配实例所需启动线程的数量,从空闲CPU核心中选取出所述数量个CPU核心,分配给所述待分配实例,并将已分配的CPU核心标注为已使用;
绑定模块,用于利用CPU亲和性函数,将所述待分配实例的多个线程绑定到所分配的所述CPU核心。
可选地,所述分配模块包括:
分配单元,用于当系统为NUMA系统时,根据所述CPU核心使用信息和所述待分配实例所需启动线程的所述数量,从所述空闲CPU核心中选取出位于同一NUMA节点的所述数量个CPU核心,分配给所述待分配实例。
可选地,还包括:
释放模块,用于当所述待分配实例停止运行时,释放分配给所述待分配实例的所述数量个CPU核心,并修改所释放的CPU核心使用信息。
可选地,所述获取模块包括:
获取单元,用于获取系统共享内存内的CPU核心总数信息及CPU核心占用信息。
本发明所提供的多程序实例同时运行下CPU资源分配方法及装置,通过获取CPU核心使用信息;根据CPU核心使用信息和待分配实例所需启动线程的数量,从空闲CPU核心中选取出数量个CPU核心,分配给待分配实例,并将已分配的CPU核心标注为已使用;利用CPU亲和性函数,将待分配实例的多个线程绑定到所分配的CPU核心。本申请通过根据CPU核心使用信息,为实例分配所需的处于空闲状态的CPU核心,并将多个线程绑定至所分配的CPU核心,这样可以避免多个线程间相互竞争CPU资源,从而使多个实例性能最优化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的多程序实例同时运行下CPU资源分配方法的一种具体实施方式的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710692515.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟机管理方法和系统
- 下一篇:一种确定设备性能的方法和设备