[发明专利]一种核资源分配方法、装置及众核系统在审
申请号: | 201310059705.6 | 申请日: | 2013-02-26 |
公开(公告)号: | CN104008013A | 公开(公告)日: | 2014-08-27 |
发明(设计)人: | 吴小科;王伟 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 核资 分配 方法 装置 系统 | ||
技术领域
本发明涉及通信技术领域,具体涉及一种核资源分配方法、装置及众核系统。
背景技术
随着计算机技术的不断发展,处理器已经迈入多核/众核时代,增加计算机系统中可调度的核数,将同一进程中的多个线程分配到不同的核上运行,使多核并行合作完成特定任务。为了提升多核/众核处理器的使用效率,降低应用对核资源的竞争,可以对核进行物理分区,形成多个domain(表示核分区),每个domain可包含多个在位置上连续或分散的核,可将不同domain的核资源集提供给不同应用来缓解资源竞争。
一般情况下,在进行核分区之后,还需要通过负载均衡机制实现对核的管理和分配,用以提升多核/众核处理器的整体利用率,充分发挥处理器的并行处理能力。目前的均衡方式可描述如下:
首先,从当前domain中确定出一个当前核core,并由该当前core遍历检测当前domain中每个core的负载情况,找到最忙的core;
其次,判断最忙的core是否是当前core,如果是则终止操作;否则遍历检测最忙core中每个运行队列的负载情况,并找到最忙core的最忙运行队列;
接着,结合当前core的负载情况确定出可挪动的进程数量,并从上述最忙运行队列中挪动确定数量的进程到当前core的运行队列中,实现当前domain的负载均衡。
最后,将当前domain作为子节点,切换到其所属的父节点,按照上述方法对父节点进行负载均衡。
这种负载均衡方法就存在如下缺点:
经过核资源调度之后,同一进程中的不同线程可能会被分配在距离较远的分散core上运行,当线程间需要进行信息交互时,可能要经过多个正在运行其它任务的core,导致进程中的线程间通信发生冲突,大大降低通信效率。另外,线程间的通信要等运行其它任务的core空闲之后才能进行,这也会导致通信效率低下。
除此之外,这种方式还缺乏对core的全局统一管理,会产生大量分散的core,致使包含较少核资源的核资源分区无法被分配出去,无法利用每个core来响应应用,造成核资源的浪费,影响多核/众核处理器的并行处理能力。
发明内容
本发明实施例的核资源分配方法、装置及众核系统,用以实现提高进程间的通信效率以及处理器的并行处理能力。
为此,本发明实施例提供如下技术方案:
第一方面,本发明实施例提供了一种核资源分配方法,用于对众核平台中的核资源进行分配,所述方法包括:
获取用户进程所需的空闲核数目;
找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核;
将所述至少两个分散的核分区组成一个连续的核分区;
将形成的所述连续的核分区分配给所述用户进程。
在第一方面的第一种可能的实现方式中,所述获取用户进程所需的空闲核数目,包括:
接收所述用户进程发送的请求,解析所述请求获得所述用户进程所需的空闲核数目;或者,
查找空闲核数目配置数据库,获得所述用户进程所需的空闲核数目,所述数据库保存有所述用户进程与所述空闲核数目的对应关系。
结合第一方面以及第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述至少两个分散的核分区组成一个连续的核分区,包括:
从所述至少两个分散的核分区中选取一个基准核分区;
迁移剩余的其它核分区,使所述基准核分区与其它核分区合并形成所述连续的核分区。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述迁移剩余的其它核分区,包括:
保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述其它核分区中的核数目相同;
将所述任务分配到所述其它核分区运行。
结合第一方面以及第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述将所述至少两个分散的核分区组成一个连续的核分区,包括:
根据核分区迁移代价,从所述至少两个分散核分区中选取一个基准核分区和一个从核分区,以使总的核分区迁移代价最小,其中,所述总的核分区迁移代价为各个分散的核分区的迁移代价之和;
迁移所述从核分区,使所述从核分区与所述基准核分区合并;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310059705.6/2.html,转载请声明来源钻瓜专利网。