CN104008013A - 一种核资源分配方法、装置及众核系统 - Google Patents
一种核资源分配方法、装置及众核系统 Download PDFInfo
- Publication number
- CN104008013A CN104008013A CN201310059705.6A CN201310059705A CN104008013A CN 104008013 A CN104008013 A CN 104008013A CN 201310059705 A CN201310059705 A CN 201310059705A CN 104008013 A CN104008013 A CN 104008013A
- Authority
- CN
- China
- Prior art keywords
- core
- subregion
- core subregion
- migration
- check
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种核资源分配方法、装置及众核系统,用于对众核平台中的核资源进行分配,所述方法包括:获取用户进程所需的空闲核数目;找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核;将所述至少两个分散的核分区组成一个连续的核分区;将形成的所述连续的核分区分配给所述用户进程。这样,分配给用户进程的连续的核分区内的不同核之间就可以直接进行进程交互,提高了进程间通信的效率;同时还可以有效避免核资源浪费,提升处理器的整体利用率以及并行处理能力。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种核资源分配方法、装置及众核系统。
背景技术
随着计算机技术的不断发展,处理器已经迈入多核/众核时代,增加计算机系统中可调度的核数,将同一进程中的多个线程分配到不同的核上运行,使多核并行合作完成特定任务。为了提升多核/众核处理器的使用效率,降低应用对核资源的竞争,可以对核进行物理分区,形成多个domain(表示核分区),每个domain可包含多个在位置上连续或分散的核,可将不同domain的核资源集提供给不同应用来缓解资源竞争。
一般情况下,在进行核分区之后,还需要通过负载均衡机制实现对核的管理和分配,用以提升多核/众核处理器的整体利用率,充分发挥处理器的并行处理能力。目前的均衡方式可描述如下:
首先,从当前domain中确定出一个当前核core,并由该当前core遍历检测当前domain中每个core的负载情况,找到最忙的core;
其次,判断最忙的core是否是当前core,如果是则终止操作;否则遍历检测最忙core中每个运行队列的负载情况,并找到最忙core的最忙运行队列;
接着,结合当前core的负载情况确定出可挪动的进程数量,并从上述最忙运行队列中挪动确定数量的进程到当前core的运行队列中,实现当前domain的负载均衡。
最后,将当前domain作为子节点,切换到其所属的父节点,按照上述方法对父节点进行负载均衡。
这种负载均衡方法就存在如下缺点:
经过核资源调度之后,同一进程中的不同线程可能会被分配在距离较远的分散core上运行,当线程间需要进行信息交互时,可能要经过多个正在运行其它任务的core,导致进程中的线程间通信发生冲突,大大降低通信效率。另外,线程间的通信要等运行其它任务的core空闲之后才能进行,这也会导致通信效率低下。
除此之外,这种方式还缺乏对core的全局统一管理,会产生大量分散的core,致使包含较少核资源的核资源分区无法被分配出去,无法利用每个core来响应应用,造成核资源的浪费,影响多核/众核处理器的并行处理能力。
发明内容
本发明实施例的核资源分配方法、装置及众核系统,用以实现提高进程间的通信效率以及处理器的并行处理能力。
为此,本发明实施例提供如下技术方案:
第一方面,本发明实施例提供了一种核资源分配方法,用于对众核平台中的核资源进行分配,所述方法包括:
获取用户进程所需的空闲核数目;
找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核;
将所述至少两个分散的核分区组成一个连续的核分区;
将形成的所述连续的核分区分配给所述用户进程。
在第一方面的第一种可能的实现方式中,所述获取用户进程所需的空闲核数目,包括:
接收所述用户进程发送的请求,解析所述请求获得所述用户进程所需的空闲核数目;或者,
查找空闲核数目配置数据库,获得所述用户进程所需的空闲核数目,所述数据库保存有所述用户进程与所述空闲核数目的对应关系。
结合第一方面以及第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述至少两个分散的核分区组成一个连续的核分区,包括:
从所述至少两个分散的核分区中选取一个基准核分区;
迁移剩余的其它核分区,使所述基准核分区与其它核分区合并形成所述连续的核分区。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述迁移剩余的其它核分区,包括:
保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述其它核分区中的核数目相同;
将所述任务分配到所述其它核分区运行。
结合第一方面以及第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述将所述至少两个分散的核分区组成一个连续的核分区,包括:
根据核分区迁移代价,从所述至少两个分散核分区中选取一个基准核分区和一个从核分区,以使总的核分区迁移代价最小,其中,所述总的核分区迁移代价为各个分散的核分区的迁移代价之和;
迁移所述从核分区,使所述从核分区与所述基准核分区合并;
如果还有剩余的其它核分区,则再从合并后的核分区和剩余的其它核分区中确定一个基准核分区和一个从核分区进行核分区迁移,直至将所述至少两个分散核分区合并形成一个连续的核分区。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,根据迁移路径的长短和/或迁移核数目的多少确定所述迁移代价,其中,所述迁移路径长则迁移代价大,所述迁移核数目多则迁移代价大。
结合第一方面的第四种可能的实现方式,在第六种可能的实现方式中,所述迁移所述从核分区,包括:
保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述从核分区中的核数目相同;
将所述任务分配到所述从核分区运行。
结合第一方面的第四种可能的实现方式,在第七种可能的实现方式中,所述将所述任务分配到所述从核分区运行包括:
确定所述从核分区与所述基准核分区之间的最短迁移路径;
按照所述最短迁移路径将所述任务中转到所述从核分区运行。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,如果存在至少两个最短迁移路径,则依据所述最短迁移路径经过的核分区包含的核数目,对所述最短迁移路径进行加权处理,并将权值最小的最短路径确定为最佳路径,按照所述最佳路径中转所述任务。
结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述加权处理的方式为:
将所述最短路径经过的核分区的权值相加作为所述最短路径的权值;其中,所述核分区的权值为所述核分区包含的核数目,或者所述核分区的权值为依据所述核分区包含的核数目多少确定的权重。
结合第一方面的第八种可能的实现方式,在第十种可能的实现方式中,如果存在至少两个最佳路径,则计算按照最佳路径迁移形成的所述连续的核分区中的至少两个核分区的核分布密集程度,并迁移所述从核分区,使所述连续的核分区的核分布密集程度最高。
结合第一方面的第十种可能的实现方式,在第十一种可能的实现方式中,计算所述核分布密集程度的方式为:
计算所述连续的核分区中两两核之间的距离之和;或者,
计算所述连续的核分区中两两核之间的距离平方之和。
结合第一方面、第一方面的第一种至第十一种任一种可能的实现方式,在第十二种可能的实现方式中,将满足所述数目请求的至少两个分散的核分区作为一个组合,如果存在至少两个满足所述数目请求的组合,则计算每个组合的核分区分布密集程度,并将核分区密集程度最高的组合确定为最佳组合,再利用形成所述最佳组合的至少两个分散的核分区组成所述连续的核分区。
结合第一方面的第十二种可能的实现方式,在第十三种可能的实现方式中,计算所述核分区分布密集程度的方式为:
计算所述组合中两两核分区之间的距离之和;或者,
计算所述组合中两两核分区之间的距离平方之和。
结合第一方面、第一方面的第一种至第十一种任一种可能的实现方式,在第十四种可能的实现方式中,在所述找到满足所述数目请求的至少两个分散的核分区之前,所述方法还包括:
判断所述众核平台中是否存在满足所述数目请求的连续核分区,如果存在,则将所述连续核分区分配给所述用户进程;如果不存在,再执行所述找到满足所述数目请求的至少两个分散的核分区的步骤。
第二方面,本发明实施例提供了一种核资源分配装置,用于对众核平台中的核资源进行分配,所述装置包括:
获取单元,用于获取用户进程所需的空闲核数目;
查找单元,用于找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核;
组合单元,用于将所述至少两个分散的核分区组成一个连续的核分区;
分配单元,用于将所述组合单元形成的所述连续的核分区分配给所述用户进程。
在第二方面的第一种可能的实现方式中,所述获取单元,具体用于接收所述用户进程发送的请求,并解析所述请求获得所述用户进程所需的空闲核数目;或者,所述获取单元,具体用于查找空闲核数目配置数据库,获得所述用户进程所需的空闲核数目,所述数据库保存有所述用户进程与所述空闲核数目的对应关系。
结合第二方面以及第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述组合单元包括:
第一选取单元,用于从所述至少两个分散的核分区中选取一个基准核分区;
第一迁移单元,用于迁移剩余的其它核分区,使所述基准核分区与其它核分区合并形成所述连续的核分区。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一迁移单元包括:
第一保存单元,用于保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述其它核分区中的核数目相同;
第一任务分配单元,用于将所述任务分配到所述其它核分区运行。
结合第二方面以及第二方面的第一种可能的实现方式,在第四种可能的实现方式中,所述组合单元包括:
第二选取单元,用于根据核分区迁移代价,从所述至少两个分散核分区中选取一个基准核分区和一个从核分区,以使总的核分区迁移代价最小,其中,所述总的核分区迁移代价为各个分散的核分区的迁移代价之和;
第二迁移单元,用于迁移所述从核分区,使所述从核分区与所述基准核分区合并;如果还有剩余的其它核分区,则再从合并后的核分区和剩余的其它核分区中确定一个基准核分区和一个从核分区进行核分区迁移,直至将所述至少两个分散核分区合并形成一个连续的核分区。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述第二迁移单元包括:
第二保存单元,用于保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述从核分区中的核数目相同;
第二任务分配单元,用于将所述任务分配到所述从核分区运行。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第二任务分配单元包括:
第一确定单元,用于确定所述从核分区与所述基准核分区之间的最短迁移路径;
第一分配子单元,用于按照所述最短迁移路径将所述任务中转到所述从核分区运行。
结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述第二任务分配单元还包括:
加权处理单元,用于在存在至少两个最短迁移路径时,依据所述最短迁移路径经过的核分区包含的核数目,对所述最短迁移路径进行加权处理,并将权值最小的最短路径确定为最佳路径,使所述第一分配子单元按照所述最佳路径中转所述任务。
结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述第二任务分配单元还包括:
核密集度计算单元,用于在存在至少两个最佳路径时,计算按照最佳路径迁移形成的所述连续的核分区中的至少两个核分区的核分布密集程度,并迁移所述从核分区,使所述连续的核分区的核分布密集程度最高。
结合第二方面、第二方面的第一种至第八种任一种可能的实现方式,在第九种可能的实现方式中,所述装置还包括:
核分区密集度计算单元,用于将满足所述数目请求的至少两个分散的核分区作为一个组合,如果存在至少两个满足所述数目请求的组合,则计算每个组合的核分区分布密集程度,并将核分区密集程度最高的组合确定为最佳组合,使所述组合单元利用形成所述最佳组合的至少两个分散的核分区组成所述连续的核分区。
结合第二方面、第二方面的第一种至第八种任一种可能的实现方式,在第十种可能的实现方式中,所述装置还包括:
判定单元,用于判断所述众核平台中是否存在满足所述数目请求的连续核分区,如果存在,则将所述连续核分区分配给所述用户进程;如果不存在,再通知所述查找单元找到满足所述数目请求的至少两个分散的核分区。
第三方面,本发明实施例提供了一种众核系统,所述系统包括多个核,所述多个核中包含一个执行核,所述执行核用于按照上述方法对所述多个核中的其它多个核进行资源分配。
本发明实施的核资源分配方法、装置及众核系统,获取到用户进程需要的空闲核数目之后,先查找确定至少两个分散的核分区,然后再迁移所述分散的核分区使之组成一个连续的核分区,并分配给用户进程运行。这样,分配给用户进程的连续的核分区内的不同核之间就可以直接进行进程交互,提高了进程间通信的效率;同时还可以有效避免核资源浪费,提升处理器的整体利用率以及并行处理能力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1是多核/众核处理器的任务分配示意图;
图2是本发明核资源分配方法实施例1的流程图;
图3是本发明实施例中核区域链表与连通图的示意图;
图4是本发明实施例中步骤103组合过程实施例1的流程图;
图5是本发明实施例中步骤103组合过程实施例2的流程图;
图6是本发明实施例中分散的核分区节点的一种分布示意图;
图7a是本发明实施例中连续核分区示例一的示意图;
图7b是本发明实施例中连续核分区示例二的示意图;
图8是本发明核资源分配方法实施例2的流程图;
图9是本发明核资源分配方法实施例3的流程图;
图10是本发明实施例中迁移前核分区的第一种分布示意图;
图11是本发明实施例中迁移后核分区的第一种分布示意图;
图12是本发明实施例中迁移前核分区的第二种分布示意图;
图13是本发明实施例中迁移后核分区的第二种分布示意图;
图14是本发明实施例核资源分配装置实施例1的示意图;
图15是本发明实施例中组合单元603实施例1的示意图;
图16是本发明实施例中组合单元603实施例2的示意图;
图17是本发明实施例核资源分配装置实施例2的示意图;
图18是本发明实施例核资源分配装置实施例3的示意图;
图19是本发明实施例核资源分配装置的硬件构成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
在介绍本发明核资源分配方法之前,先对多核协同合作完成任务的过程进行简单介绍。同一进程中的多个线程可以被分配到不同的core上运行,具体可以被分配到连续的core上运行,即多个core位于一个连续区域,例如参见图1中的app3;也可以被分配到分散的core上运行,例如可参见图1中的任务FS。
对于app3来说,其位于连续的核资源分区内,core间的消息交互过程快、效率高;FS位于分散的core中,为了完成文件系统服务,需要所有FS协同合作,则在FS之间通过IPC通信实现消息交互时,一个FS需要经过正在运行其它任务的core,才可以实现与另一个FS间的消息通信,导致通信效率低下。
另外,采用现有技术进行核资源分配后即可能如图1所示产生大量分散的core,对于这种情况还可能会降低处理器的整体利用率,影响处理器的并行处理能力。例如,当前任务需要4个core并行运行,由上述分析可知,为了避免core分散导致的通信效率低下,应尽量为当前任务分配连续的核资源分区,在这种情况下,对于app2和app4之间的2个core来说,就会因为不满足当前任务需求而分配不出去,导致核资源的浪费。或者,又例如,预先规定6个core为一个核资源分区,且每个分区只负责管理其拥有的core,若当前任务需要申请5个core并行运行,那么将该任务分配到一个核资源分区后,该分区就会剩余一个core,同样造成了核资源的浪费。
为此,本发明提供一种新的核资源分配方法,用于对众核平台中的核资源进行分配,以期提高进程间通信的效率,避免核资源浪费,提升处理器的整体利用率以及并行处理能力。
参见图2,示出了本发明核资源分配方法实施例1的流程图,所述方法包括:
步骤101,获取用户进程所需的空闲核数目。
本发明技术方案从全局角度统一管理处理器中所有的core,本步骤即是核资源分配装置在用户进程的触发下开始进行资源分配。
本发明中的用户进程可以是OS(Operating System,操作系统)的系统服务,在系统服务启动时,可以向核资源分配装置申请服务启动所需的core,核资源分配装置即会按照本发明方案将一块连续的core资源分区分配给系统服务。这样,系统服务便可运行在为其分配的core资源分区中,来提供特定的服务,例如进程服务、设备驱动、文件服务、虚拟内存等。
另外,本发明中的用户进程还可以是应用程序,核资源分配装置在接收到应用程序的申请之后,同样会按照本发明方案分配一块连续的core资源分区供应用程序运行。
本步骤提供了以下两种具体实现方式:
方式一,接收所述用户进程发送的请求,解析所述请求获得所述用户进程所需的空闲核数目。
用户进程向核资源分配装置发送请求的目的就是为了申请供其运行的核,因此请求中应包含用户进程运行需要的核数目,这样核资源分配装置才能解析请求获知用户进程所需的空闲核数目。
方式二,查找空闲核数目配置数据库,获得所述用户进程所需的空闲核数目,所述数据库保存有所述用户进程与所述空闲核数目的对应关系。
本方式中,预先配置好用户进程与空闲核数目之间的映射关系,当用户进程启动的时候,读取配置数据库(可以体现为配置文件)确定出当前用户进程所需的空闲核数目。
需要说明的是,本步骤获取空闲核数目的执行主体,从软件层面来说,其可具体体现为是OS的chips管理模块,从硬件层面来说,其可具体体现为是运行chips管理模块的core。
步骤102,找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核。
需要说明的是,满足所述数目请求的至少两个分散的核分区是指,找到的至少两个分散的核分区包含的空闲核总数与用户进程所需的空闲核数目相同。而若将几个核分区称为分散的核分区,那么就表示这些核分区中的任何一个核分区中的核要与其它核分区中的核通信时,必须经过不属于这些分区的其它核。
作为本发明技术方案的一种实现方式,核资源分配装置维护着一个核区域链表和一个核区域连通图,可以通过查找核区域链表的方式来查找分散的核分区。
核区域连通图是按照处理器包含的所有核分区(包括空闲核分区和已分配核分区)的位置绘制而成,用于表示不同核分区间的位置关系、不同核分区包含的核数目,具体可参见图3所示示意图中的第I部分。其中region0~region14表示的是15个已被分配的核分区,虚线框圈起的黑色节点表示的是2个空闲核分区(一个包含2个空闲核,定义为第一空闲核分区;一个包含4个空闲核,定义为第二空闲核分区)。
核区域链表用于存放指向核区域连通图中空闲核分区的节点,核资源分配装置遍历核区域链表就能通过相应的节点确定出上述分散的核分区,具体可参见图3所示示意图的第II部分。其中,free core region1是能够指向连通图中第一空闲核分区的节点,free core region2是能够指向连通图中第二空闲核分区的节点。
核资源分配装置维护着图3所示的链表与连通图,就可以在需要时遍历链表查找满足用户进程需求的至少两个分散核分区。
需要说明的是,为了提高本发明的分配效率,在执行步骤102之前,可以先判断下处理器中当前空闲core的总数是否满足用户进程的需要,即当前空闲core总数应不小于用户程序需要的核数目,如果满足,则执行步骤102,否则可暂时缓存用户进程的请求,待到处理器有能力运行用户进程时,再按照本发明方案为用户进程分配连续的核分区。仍以图3所示链表为例,如果用户进程请求8个核资源,则参见图3可知处理器当前只有6个空闲核,不能满足用户进程需求,因此可暂时缓存该申请8个核资源的请求。
当然,不在步骤102之前执行上述判断过程亦是可行的,因为经步骤102之后也会产生两种结果,一是查找到满足所述数目请求的至少两个分散的核分区,可继续按本发明方案进行资源分配;另一是未查找到(即当前空闲核数目不满足用户进程的需求),同样可缓存用户进程的请求,待处理器有能力时再做处理。
步骤103,将所述至少两个分散的核分区组成一个连续的核分区。
在步骤102找到至少两个分散的核分区之后,就可以通过迁移核分区的方式,使所述至少两个分散的核分区合并为一个连续的核分区,也就是说,要改变分散核分区的位置,使将要分配给用户进程的不同分区合并到一起,这样,在用户进程运行过程中,不同core之间就可以直接通过IPC通信进行消息交互,而无需经过任何运行其它任务的core,也就无需等待运行其它任务的core空闲后再进行消息交互,从而可以提高处理器的通信效率,使处理器最大程度的发挥其并行处理能力。
步骤104,将形成的所述连续的核分区分配给所述用户进程。
步骤103组合形成一个连续核分区之后,核资源分配装置即可将该连续核分区分配给用户进程,使该连续核分区中包含的所有core并行运行,协同合作完成任务。其中,连续的核分区可以理解为,分区中任意两个核不经过分区之外的其它核即可进行信息交互,也就是说,分区中的任何一个核与分区中其它核通信时,无需经过分区之外的核。
对于步骤103来说,只要将至少两个分散的核分区组成一个连续的核分区即可实现本发明技术目的,更优的,还可考虑分散核分区组成连续核分区过程中花费的代价,并使代价尽量小,对此将在后续一一展开说明。
需要说明的是,本发明中花费的代价,可从以下两个方面来理解,一方面是迁移路径的长短以及迁移核数目的多少,路径长则代价大,数目多代价也大;另一方面是迁移过程保存任务花费的代价,具体可体现为保存上下文环境花费的代价,例如保存处理器状态信息的进程控制块部分,可包括程序计数器、其它处理器寄存器和栈信息,当进程迁移到另一个核资源分区上运行时,需要载入之前保存的处理器状态信息的进程控制块部分。
下面对步骤103中将至少两个分散的核分区组成一个连续的核分区的实现过程进行解释说明。
参见图4,示出了组合过程实施例1的流程图,可包括:
步骤201,从所述至少两个分散的核分区中选取一个基准核分区;
步骤202,迁移剩余的其它核分区,使所述基准核分区与其它核分区合并形成所述连续的核分区。
也就是说,要先确定一个分区作为基准核分区,然后控制使剩余的其它核分区分别迁移到该基准核分区附近,从而使分散的分区合并组成一个连续的核分区。
对于选取确定基准核分区的方式,可以是随机的择一选定;也可以考虑迁移代价,将位于中心区域(此处的中心区域,是依据至少两个分散的核分区的实际分布位置确定出的一个相对中心的区域)的核分区确定为基准核分区,使剩余其它核分区的迁移路径尽量短(迁移路径越短迁移代价也就越小);或者也可以是将包含核数目最多的分区确定为基准核分区,使迁移的核数目尽量少(核迁移虽然是整个分区一起迁移,但是每个分区的迁移代价又受迁移的核数目影响,参与迁移的核数目越多迁移代价就越大)。
需要说明的是,本发明中的迁移是指,空出基准核分区周围的一些正在使用的已分配分区的核,也就是说,将基准核分区周围的一些正在运行任务的核调整为空闲核。具体地,步骤202将任务分配到其它核分区的过程可体现如下:
保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述其它核分区中的核数目相同;将所述任务分配到所述其它核分区运行。
在上述通过分区所处位置或者分区包含的核数目确定基准核分区,使迁移代价尽量小的基础之上,为了进一步降低迁移代价,本发明还提供了连续的核分区的组合过程的实施例2,具体可参见图5所示流程图,包括:
步骤301,根据核分区迁移代价,从所述至少两个分散核分区中选取一个基准核分区和一个从核分区,以使总的核分区迁移代价最小,其中,所述总的核分区迁移代价为各个分散的核分区的迁移代价之和;
步骤302,迁移所述从核分区,使所述从核分区与所述基准核分区合并;
步骤303,如果还有剩余的其它核分区,则再从合并后的核分区和剩余的其它核分区中确定一个基准核分区和一个从核分区进行核分区迁移,直至将所述至少两个核分区合并形成一个连续的核分区。
与上述实施例1不同的是,本实施例中在每次迁移之后都会根据实际情况重新确定一下基准核分区,参见图6所示示意图,找到四个分散的核分区ABCD,在第一次迁移过程中将位于中心区域的C确定为基准核分区,D确定为从核分区,并将D迁移至C处形成新的分区C′,如果在第二次迁移过程中仍将C′(也就是原来的C所处的位置)作为基准核分区,将A和B分别迁移到C′处,则迁移代价会较大,这是因为在分区ABC′三者之中,显然B是位于中心区域的,将A和C′分别迁移到B处,相对于将A和B迁移到C′的代价要小。因此可以根据实际迁移情况在执行下一次迁移过程之前重新确定下基准核分区。当然,也可能本次迁移重新确定的基准核分区还是上次迁移过程的基准核分区。
另外,需要说明的是,如果找到的满足用户进程数目请求的是两个分散的核分区,则按本实施例的方法进行一次从核分区迁移即可形成一个连续的核分区。但是,如若找到的是至少三个分散的核分区,则在确定一个从核分区进行一次迁移之后,还需要再重新确定基准核分区和从核分区,进行第二次以至更多次的核分区迁移,此处不再赘述。
下面对步骤301中提及的,根据核分区迁移代价选取基准核分区和从核分区,使总的核分区迁移代价最小,进行解释说明。
首先,需要说明的是,总的核分区迁移代价指的是在将分散的核分区组成连续的核分区的过程中每次迁移过程花费的代价的总和。迁移代价主要受迁移路径、迁移核数目两方面因素的影响,也就是说,迁移代价是由迁移路径长短和/或迁移核数目多少来确定的。
为了使总的迁移代价最小就要使每次迁移的代价都尽量小,一般情况下,在分散的核分区较多时,优选通过分区所处位置确定基准核分区和从核分区;如果只找到两个分散的核分区,或者是经过多次迁移后剩余两个分散的核分区,则可通过核分区包含的核数目确定基准核分区和从核分区,根据上述对迁移代价的介绍可知,包含核数目多的应作为基准核分区,包含核数目少的作为从核分区。
所谓使总的核分区迁移代价最小,可以理解为在确定从核分区时,应尽量选取较为边缘的分区(较为边缘的分区可以理解为距离基准核分区最远的分区,也即迁移路径中经过分区节点最多的分区。一般情况下,两个相邻分区之间的节点数定义为1,若二者之间多间隔一个分区则节点数就相应的加1,例如中间间隔有1个分区节点的两个分区之间的节点数为2,间隔有3个分区节点的两个分区之间的节点数为4,节点数越多,则说明两个分区之间的距离越远)或含核数目少的分区。仍以图6所示示意图为例,第一次迁移过程中将最边缘的分区D确定为从核分区,就可使第一次迁移后的分区(ABC′)都尽量集中,进而在第二次迁移时将B确定为基准核分区,迁移分布密集程度较高的A和C′,使迁移代价最小。相比较的,如果在第一次迁移过程中将B确定为从核分区,并将其迁移到C处形成新的分区C″,然后迁移分布相对分散的A和D,与上述迁移A和C′的路径相比要长很多,相应地代价也就要大很多。
步骤302中迁移从核分区的过程,可具体体现为:
保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述从核分区中的核数目相同;将所述任务分配到所述从核分区运行。
步骤302和303的迁移过程与上述步骤202中迁移剩余的其它核分区的过程相同,均是使基准核分区周围的已分配核分区空闲出来,只是本过程为了降低迁移代价,需要注意分区迁移的顺序。也就是说,步骤202中对剩余其它核分区中先迁移哪个分区再迁移哪个分区并不做限定,步骤302和步骤303则迁移的是根据迁移代价确定好的从核分区,也即核分区迁移存在顺序要求。此外,还有一点不同需要说明的是,步骤202中只存在唯一一个基准核分区,步骤302和步骤303则可能要根据迁移后的实际情况在下次迁移之前重新确定一个基准核分区,而重新确定的基准核分区可能与上次迁移过程中确定的基准核分区并不相同。
下面以迁移从核分区为例,对将任务分配到从核分区运行的实现方式进行简单介绍。
第一种情况,参见图10所示示意图,若要将核分区c作为从核分区迁移到基准核分区b处,则经过判断可发现核分区c含有2个空闲核,已分配核分区region9也包含2个核,在不需拆分region9的情况下,即可直接将region9的任务加载到核分区c上运行,使region9空闲出来,实现核分区c的迁移。
第二种情况,参见图12所示示意图,若要将核分区d作为从核分区迁移到基准核分区e处,则经过判断可发现核分区d含有2个空闲核,已分配核分区region11含有8个核,如果采用上述方式直接将region11的部分任务加载到核分区d上运行,则会出现拆分region11的情况,就会导致region11运行的任务进程间交互效率低,因此在需要拆分已分配核分区的情况下,本发明通过任务中转的方式实现迁移。具体体现为:将核分区d通过路径region10、region11中转至核分区e周围,也就是说,先将region10的部分任务加载到d上运行,因为d与region10相邻,因此如此操作后也不会出现拆分region10的情况;然后再将region11的部分任务加载到中转后的d上运行,形成图13所示示意图,这样在不拆分任何一个region的情况下,就实现了组合核分区d与e的目的。本实施例中,从操作结果来说,相当于先将region10上移,再将region11右移,当然,其并不是如此简单的核分区移动,其中还包含着复杂的任务分配与迁移中转过程。
也就是说,在进行任务分配时,如果无需拆分基准核分区周围的已分配核分区,则直接进行任务的分配与加载;如果需要拆分已分配核分区,则按一定的迁移路径进行任务的中转分配。
在上述第二种情况下,且依据本发明方法确定好最佳的基准核分区和从核分区之后,通过什么样的路径将从核分区中转迁移到基准核分区周围,也会影响到迁移代价,对此,本发明还提供了如下方案来进一步降低迁移代价。
方案一,确定所述从核分区与所述基准核分区之间的最短迁移路径;按照所述最短迁移路径将所述任务中转迁移到所述从核分区运行。
如前文所说,迁移路径的长短直接影响着迁移代价的大小,因此在将从核分区迁移到基准核分区之前,应先确定出能够使从核分区迁移到基准核分区的所有路径,并从中找到最短的路径,也就是迁移代价最小的路径,按照该最短路径进行核分区的迁移,也即按照该最短路径将保存的任务分配到从核分区运行。仍以图12所示示意图为例,若要将核分区d作为从核分区迁移到基准核分区e处,除了可以通过region10、region11路径中转之外,还可通过region6、region5、region8、region7路径中转,然而通过比较就会发现,这两条迁移路径的长短不同,即路径经过的核分区节点数不同,因此在上面的示例中,我们选取路径较短的region10、region11进行任务的中转迁移,以使本次迁移的代价最小。
方案二,确定从核分区和基准核分区间的最短迁移路径,如果存在至少两个最短迁移路径,则依据所述最短迁移路径经过的核分区包含的核数目,对所述最短迁移路径进行加权处理,并将权值最小的最短路径确定为最佳路径,按照所述最佳路径中转所述任务。
本方案即是在方案一的基础之上,在确定出不止一个最短迁移路径时,通过加权的方式从最短迁移路径中确定出一个最佳路径,然后按照最佳路径将保存的任务中转到从核分区迁移。
所谓依据经过的分区包含的核数目进行加权处理是指,以核数目作为确定权重的依据,通过加权处理的方式从至少两个最短迁移路径中找到一个迁移代价最小的作为最佳路径。也就是说,在迁移路径相同的情况下,还有一个因素会影响迁移代价,就是参与任务中转的核数目,如果迁移路径经过的核分区节点数相同,则参与任务中转的核数目越多,迁移代价就越大,反之迁移代价就小。
本方案中加权处理的具体方式为,将最短路径经过的核分区的权值相加作为该最短路径的权值。一般情况下,在计算迁移路径时,两个分散的核分区之间间隔有几个核分区节点,则将这些核分区节点视为“1”,此处,为了从间隔有相同核分区节点数的路径中选择一个最佳路径,不再简单的将一个核分区节点视为“1”,而是视其包含的核数目取其权值相加,并以此最终得到表示该路径迁移代价的值。
对于核分区节点对应的权值来说,可以直接将核分区节点包含的核数目确定为权值,例如,一个核分区节点包含4个核,则该核分区节点的权值就是4,如果包含2个核,则权值为2。或者,还可为具有不同核数目的分区预先设置不同的权值,例如,包含4个核的分区和包含2个核的分区的权值可分别设置为40%和20%。无论是上述哪种确定权值的方式,其均是为了对包含不同核数目的核分区节点加以区分,以在迁移路径经过的节点数相同时,通过核数目选择一个迁移代价最小的最佳路径。本发明对确定权值的方式不做限定,只要能实现上述目的即可。
方案三,确定从核分区和基准核分区间的最短迁移路径,如果存在至少两个最短路径,则分别对每个最短路径进行加权处理,将权值最小的确定为最佳路径;如果存在至少两个最佳路径,则分别计算按照至少两个最佳路径迁移形成的连续的核分区中的至少两个核分区的核分布密集程度,并迁移所述从核分区,使所述连续的核分区的核分布密集程度最高。
本方案即是在方案二的基础之上,在确定出不止一个最佳路径时,通过计算组成的连续核分区中的核分布的密集程度的方式,从最佳路径中选择一个路径进行核分区的迁移。
本方案中的密集程度主要用来表示连续的核分区中多个核间的位置分布情况,如果各个核分布的越集中则密集程度就越高,分布的越分散密集程度就越低。作为表示密集程度的一种最简单的实现方式,就是统计两两核之间的距离之和;为了更明显的体现出不同核之间分布关系的波动情况,还可利用两两核间的距离平方和来表示密集程度,除此之外,通过其它可替换方式亦可清楚体现出核的密集程度,例如相同大小核分区中分布的核的数量、核分区中分布的核的密度等。
对于组合而成的连续核分区的密集程度来说,可以参见图7a和图7b,两个连续的核分区同样是由I、II、III、IV四个分散的核分区迁移形成,且均包含8个core,然而通过计算两两核之间的距离平方和就会发现,图7a的密集程度要高于图7b(即与图7b相比,图7a中8个core间的距离平方和要小一些),因此在确定好基准核分区和从核分区,且存在至少两个最佳路径时,应迁移从核分区,使之形成图7a所示的连续核分区。
本方案中,通过迁移路径和参与迁移的核数目无法确定迁移方式时,还可考虑组合而成的连续核分区的通信效率。图7a所示的8个core的密集程度高,可直接实现进程间的消息交互,通信效率高;相应地,图7b所示的8个core的密集程度较低,在I、II、III包含的core之间可以直接实现进程间的消息交互,而I、II包含的core分别与IV包含的core进行消息交互时,可能还要经过其它core(图中未示出)才能实现,就会影响处理器的通信效率。
参见图8,示出了本发明核资源分配方法实施例2的流程图,所述方法包括:
步骤401,获取用户进程所需的空闲核数目。
步骤402,找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核。
步骤403,将满足所述数目请求的至少两个分散的核分区作为一个组合,判断是否存在至少两个满足所述数目请求的组合,如果是,则执行步骤404,否则直接执行步骤405。
步骤404,计算每个组合的核分区分布密集程度,并将核分区密集程度最高的组合确定为最佳组合,再利用形成所述最佳组合的至少两个分散的核分区组成所述连续的核分区。
步骤405,将所述至少两个分散的核分区组成一个连续的核分区。
步骤406,将形成的所述连续的核分区分配给所述用户进程。
与分配方法实施例1所不同的是,本实施例中找到至少两个分散的核分区之后,可将其视为一个组合,在将分散的核分区组成一个连续的核分区之前,可以先判断下处理器中存在几个这样的组合,然后从多个组合中确定一个作为最佳核分区组合,该最佳核分区组合既能够满足用户进程所需的空闲核数目,又能保证迁移代价尽量小。
例如,用户进程需要的是包含8个核的分区,核资源分配装置在查找过程中确定了2个满足用户进程需求的组合,一个组合包含3个核分区,且每个核分区又分别包含2个、4个、2个core;另一个组合也包含3个核分区,但是每个核分区分别包括2个、3个、3个core,此时可以从这两个组合中择一(装置随机确定或者用户自主选择)进行迁移处理,也可以从这两个组合中选取一个最佳核分区组合(所谓最佳核分区组合是指总的迁移代价最小的组合)。本发明提供的确定最佳核分区组合的方式为,计算每个组合包含的核分区节点间的密集程度,密集程度高就表示核分区节点分布集中,相应地总的迁移代价也就小。
计算核分区节点间密集程度的方式与上述方案三中介绍计算core密集程度的方式相类似,可通过计算两两核分区节点间的距离之和或者距离的平方和的方式实现,此处不再赘述。需要说明的是,二者除了计算对象有所不同之外(方案三中计算对象是连续的核分区包含的core,本实施例中计算对象是用于形成连续的核分区的分散核分区),还存在以下区别:
方案三中主要是利用密集程度反映连续的核分区中core的通信效率,本实施例中主要是利用密集程度反映核分区节点间的分布情况,进而反映出核分区节点的迁移代价。当然,在本实施例任务分配过程中需要确定迁移路径时,也可能会利用方案三来实现,也就是说在一整套分配流程中可能需要计算两次密集程度:一次是存在至少两个核分区组合时,通过计算组合中至少两个分散的核分区节点(迁移前)间密集程度的方式找到一个最佳核分区组合;一次是存在至少两个最佳路径时,通过计算组合而成的连续的核分区(迁移后)中core间密集程度的方式找到一个路径完成任务分配。
参见图9,示出了本发明核资源分配方法实施例3的流程图,所述方法包括:
步骤501,获取用户进程所需的空闲核数目。
步骤502,判断所述众核平台中是否存在满足所述数目请求的连续核分区,如果存在,则执行步骤503将所述连续核分区分配给所述用户进程;如果不存在,则执行步骤504。
步骤504,找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核。
步骤505,将所述至少两个分散的核分区组成一个连续的核分区。
步骤506,将形成的所述连续的核分区分配给所述用户进程。
本实施例中,在找到至少两个分散的核分区之前,先判断众核平台(也即处理器)中是否存在既能满足用户进程需求,又在位置上相邻的连续核分区,如果存在即可直接将该连续核分区分配给用户进程,无需利用分散核分区组成一个连续核分区。也就是说,核资源分配装置获取用户进程所需的空闲核数目之后,直接查找满足该数目要求的连续核分区,只有在查找不到这种连续核分区时才按本发明迁移分区的方案,为用户进程合并一个连续的核分区。如此方案,既能保证处理器的整体利用率以及通信效率,又能提高本发明核资源分配的效率。
下面以核资源分配装置维护核区域链表和连通图的方式为例,对本发明核资源分配的过程进行简单介绍。
在OS启动后,核资源分配装置会首先启动获取处理器(即众核平台)所有核的信息,然后统一管理所有的核。在用户进程启动时,会向核资源分配装置申请所需要的核分区,例如需要申请8个核。具体分配过程如下:
首先,核资源分配装置判断处理器当前存在的空闲核总数是否满足用户进程所需的空闲核数目,如果不满足,则缓存用户进程的请求;否则继续下述分配流程。
其次,在核资源分配装置确定处理器当前的空闲核满足用户进程所需时,查找链表判断是否存在一块连续核分区能满足用户进程的需求,如果存在,则直接将该连续核分区分配给用户进程供其运行,同时还要更新连通图中该连续核分区的状态为已分配,并将该连续核分区对应的节点从链表中移除;否则继续下述分配流程。
接着,核资源分配装置遍历链表找到满足用户进程数目请求的至少两个分散的核分区,例如,从图10所示的处理器核分区分布图中确定了三个分区节点abc(其中a包含3个空闲core,b包含3个空闲core,c包含2个空闲core),并将分区节点b选定为基准核分区,确定好a的迁移路径为region3,c的迁移路径为region9、region10。需要说明的是,图中黑色节点表示的是空闲核,白色节点表示的是已分配核。
然后,将c选定为从核分区,并按上述确定的迁移路径将c迁移至b处,同时更新连通图中分区13、12、10、9、5、a、c的位置关系。
最后,将a选定为从核分区,并按上述确定的迁移路径将a迁移至b处,使abc三者组合形成一个连续的核分区14,具体可参见图11所示的迁移后的核分区分布图,同时还要更新连通图中分区0、1、5、2、3、6、a、b的位置关系,并将连通图中原来为空闲状态的分区abc更新为处于已分配状态的分区14,同时将原分区abc对应的节点从链表中移除,图3即为迁移并更新后的链表。
需要说明的是,如果无法在不拆分基准核分区周围的已分配核分区的情况下进行任务分配,则可通过判断该已分配核分区运行的任务的优先级与请求核资源分配的用户进程的优先级,如果用户进程的优先级较低,则等已分配核分区运行的任务完成后,再进行核分区迁移;如果用户进程的优先级较高,则拆分已分配核分区运行的任务,使该分区空闲出来形成连续核分区供用户进程运行。当然,本发明对在什么情况下迁移核分区以及决定迁移的策略(上述介绍的优先级即为一种决定迁移的策略)方面并不做限定,只要能在保证众核平台正常工作的情况下,将至少两个分散的核分区组成一个连续的核分区即可。
相应地,本发明还提供一种核资源分配装置,参见图14,示出了装置实施例1的示意图,所述装置包括:
获取单元601,用于获取用户进程所需的空闲核数目。
其中,所述获取单元,具体用于接收所述用户进程发送的请求,并解析所述请求获得所述用户进程所需的空闲核数目;或者,所述获取单元,具体用于查找空闲核数目配置数据库,获得所述用户进程所需的空闲核数目,所述数据库保存有所述用户进程与所述空闲核数目的对应关系。
查找单元602,用于找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核。
组合单元603,用于将所述至少两个分散的核分区组成一个连续的核分区。
分配单元604,用于将所述组合单元形成的所述连续的核分区分配给所述用户进程。
进一步地,与图4所示组合过程实施例1相对应地,本发明还提供组合单元603实施例1的构成示意图,参见图15,包括:
第一选取单元6031,用于从所述至少两个分散的核分区中选取一个基准核分区。
第一迁移单元6032,用于迁移剩余的其它核分区,使所述基准核分区与其它核分区合并形成所述连续的核分区。
其中,所述第一迁移单元包括:
第一保存单元,用于保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述其它核分区中的核数目相同;
第一任务分配单元,用于将所述任务分配到所述其它核分区运行。
进一步地,与图5所示组合过程实施例2相对应地,本发明还提供组合单元603实施例2的构成示意图,参见图16,包括:
第二选取单元6033,用于根据核分区迁移代价,从所述至少两个分散核分区中选取一个基准核分区和一个从核分区,以使总的核分区迁移代价最小,其中,所述总的核分区迁移代价为各个分散的核分区的迁移代价之和。
第二迁移单元6034,用于迁移所述从核分区,使所述从核分区与所述基准核分区合并;如果还有剩余的其它核分区,则再从合并后的核分区和剩余的其它核分区中确定一个基准核分区和一个从核分区进行核分区迁移,直至将所述至少两个分散核分区合并形成一个连续的核分区。
其中,所述第二迁移单元包括:
第二保存单元,用于保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述从核分区中的核数目相同;
第二任务分配单元,用于将所述任务分配到所述从核分区运行。
进一步地,为了降低核分区的迁移代价,在第二任务分配单元迁移从核分区时,还应选择一个合理的迁移路径,对此本发明提供了以下三个方案:
方案一,所述第二任务分配单元包括:
第一确定单元,用于确定所述从核分区与所述基准核分区之间的最短迁移路径;
第一分配子单元,用于按照所述最短迁移路径将所述任务中转到所述从核分区运行。
在上述方案一的基础上,还提供如下方案二,所述第二任务分配单元还包括:
加权处理单元,用于在存在至少两个最短迁移路径时,依据所述最短迁移路径经过的核分区包含的核数目,对所述最短迁移路径进行加权处理,并将权值最小的最短路径确定为最佳路径,使所述第一分配子单元按照所述最佳路径中转所述任务。
在上述方案二的基础上,还提供如下方案三,所述第二任务分配单元还包括:
核密集度计算单元,用于在存在至少两个最佳路径时,计算按照最佳路径迁移形成的所述连续的核分区中的至少两个核分区的核分布密集程度,并迁移所述从核分区,使所述连续的核分区的核分布密集程度最高。
参见图17,示出了核资源分配装置实施例2的示意图,所述装置包括:
获取单元701,用于获取用户进程所需的空闲核数目。
查找单元702,用于找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核。
核分区密集度计算单元703,用于将满足所述数目请求的至少两个分散的核分区作为一个组合,如果存在至少两个满足所述数目请求的组合,则计算每个组合的核分区分布密集程度,并将核分区密集程度最高的组合确定为最佳组合。
组合单元704,用于将所述最佳组合的至少两个分散的核分区组成一个连续的核分区。
分配单元705,用于将所述组合单元形成的所述连续的核分区分配给所述用户进程。
参见图18,示出了核资源分配装置实施例3的示意图,所述装置包括:
获取单元801,用于获取用户进程所需的空闲核数目。
判定单元802,用于判断所述众核平台中是否存在满足所述数目请求的连续核分区,如果存在,则将所述连续核分区分配给所述用户进程。
查找单元803,用于在所述判定单元判断不存在所述连续核分区时,找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核。
组合单元804,用于将所述至少两个分散的核分区组成一个连续的核分区。
分配单元805,用于将所述组合单元形成的所述连续的核分区分配给所述用户进程。
除此之外,本发明还提供一种众核系统,所述系统包括多个核,所述多个核中包含一个执行核,所述执行核用于按照本发明提供的分配方法对所述多个核中的其它多个核进行资源分配。需要说明的是,执行核即是本发明分配方法的执行主体,在用户进程申请核资源时,由执行核负责对系统中的其它核进行资源分配,以供用户进程运行。
进一步地,本发明实施例还分别提供了核资源分配装置的硬件构成。可包括至少一个处理器(例如CPU),至少一个网络接口或者其它通信接口,存储器,和至少一个通信总线,用于实现这些装置之间的连接通信。处理器用于执行存储器中存储的可执行模块,例如计算机程序。存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
参见图19,在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,程序指令包括获取单元601、查找单元602、组合单元603、分配单元604,各单元的具体实现可参见图14所揭示的相应单元。或者程序指令还可包括图17或18所揭示的其它单元,这里不再赘述。
本发明方案可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序单元。一般地,程序单元包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明方案,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (27)
1.一种核资源分配方法,其特征在于,用于对众核平台中的核资源进行分配,所述方法包括:
获取用户进程所需的空闲核数目;
找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核;
将所述至少两个分散的核分区组成一个连续的核分区;
将形成的所述连续的核分区分配给所述用户进程。
2.根据权利要求1所述的方法,其特征在于,所述获取用户进程所需的空闲核数目,包括:
接收所述用户进程发送的请求,解析所述请求获得所述用户进程所需的空闲核数目;或者,
查找空闲核数目配置数据库,获得所述用户进程所需的空闲核数目,所述数据库保存有所述用户进程与所述空闲核数目的对应关系。
3.根据权利要求1-2任一所述的方法,其特征在于,所述将所述至少两个分散的核分区组成一个连续的核分区,包括:
从所述至少两个分散的核分区中选取一个基准核分区;
迁移剩余的其它核分区,使所述基准核分区与其它核分区合并形成所述连续的核分区。
4.根据权利要求3所述的方法,其特征在于,所述迁移剩余的其它核分区,包括:
保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述其它核分区中的核数目相同;
将所述任务分配到所述其它核分区运行。
5.根据权利要求1-2任一所述的方法,其特征在于,所述将所述至少两个分散的核分区组成一个连续的核分区,包括:
根据核分区迁移代价,从所述至少两个分散核分区中选取一个基准核分区和一个从核分区,以使总的核分区迁移代价最小,其中,所述总的核分区迁移代价为各个分散的核分区的迁移代价之和;
迁移所述从核分区,使所述从核分区与所述基准核分区合并;
如果还有剩余的其它核分区,则再从合并后的核分区和剩余的其它核分区中确定一个基准核分区和一个从核分区进行核分区迁移,直至将所述至少两个分散核分区合并形成一个连续的核分区。
6.根据权利要求5所述的方法,其特征在于,
根据迁移路径的长短和/或迁移核数目的多少确定所述迁移代价,其中,所述迁移路径长则迁移代价大,所述迁移核数目多则迁移代价大。
7.根据权利要求5所述的方法,其特征在于,所述迁移所述从核分区,包括:
保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述从核分区中的核数目相同;
将所述任务分配到所述从核分区运行。
8.根据权利要求5所述的方法,其特征在于,所述将所述任务分配到所述从核分区运行包括:
确定所述从核分区与所述基准核分区之间的最短迁移路径;
按照所述最短迁移路径将所述任务中转到所述从核分区运行。
9.根据权利要求8所述的方法,其特征在于,如果存在至少两个最短迁移路径,则依据所述最短迁移路径经过的核分区包含的核数目,对所述最短迁移路径进行加权处理,并将权值最小的最短路径确定为最佳路径,按照所述最佳路径中转所述任务。
10.根据权利要求9所述的方法,其特征在于,所述加权处理的方式为:
将所述最短路径经过的核分区的权值相加作为所述最短路径的权值;其中,所述核分区的权值为所述核分区包含的核数目,或者所述核分区的权值为依据所述核分区包含的核数目多少确定的权重。
11.根据权利要求9所述的方法,其特征在于,如果存在至少两个最佳路径,则计算按照最佳路径迁移形成的所述连续的核分区中的至少两个核分区的核分布密集程度,并迁移所述从核分区,使所述连续的核分区的核分布密集程度最高。
12.根据权利要求11所述的方法,其特征在于,计算所述核分布密集程度的方式为:
计算所述连续的核分区中两两核之间的距离之和;或者,
计算所述连续的核分区中两两核之间的距离平方之和。
13.根据权利要求1-12任一项所述的方法,其特征在于,
将满足所述数目请求的至少两个分散的核分区作为一个组合,如果存在至少两个满足所述数目请求的组合,则计算每个组合的核分区分布密集程度,并将核分区密集程度最高的组合确定为最佳组合,再利用形成所述最佳组合的至少两个分散的核分区组成所述连续的核分区。
14.根据权利要求13所述的方法,其特征在于,计算所述核分区分布密集程度的方式为:
计算所述组合中两两核分区之间的距离之和;或者,
计算所述组合中两两核分区之间的距离平方之和。
15.根据权利要求1-12任一项所述的方法,其特征在于,在所述找到满足所述数目请求的至少两个分散的核分区之前,所述方法还包括:
判断所述众核平台中是否存在满足所述数目请求的连续核分区,如果存在,则将所述连续核分区分配给所述用户进程;如果不存在,再执行所述找到满足所述数目请求的至少两个分散的核分区的步骤。
16.一种核资源分配装置,其特征在于,用于对众核平台中的核资源进行分配,所述装置包括:
获取单元,用于获取用户进程所需的空闲核数目;
查找单元,用于找到满足所述数目请求的至少两个分散的核分区,其中,每个核分区为一个或多个核的集合并且每个核分区中的所有核都是空闲核;
组合单元,用于将所述至少两个分散的核分区组成一个连续的核分区;
分配单元,用于将所述组合单元形成的所述连续的核分区分配给所述用户进程。
17.根据权利要求16所述的装置,其特征在于,
所述获取单元,具体用于接收所述用户进程发送的请求,并解析所述请求获得所述用户进程所需的空闲核数目;或者,
所述获取单元,具体用于查找空闲核数目配置数据库,获得所述用户进程所需的空闲核数目,所述数据库保存有所述用户进程与所述空闲核数目的对应关系。
18.根据权利要求16-17任一所述的装置,其特征在于,所述组合单元包括:
第一选取单元,用于从所述至少两个分散的核分区中选取一个基准核分区;
第一迁移单元,用于迁移剩余的其它核分区,使所述基准核分区与其它核分区合并形成所述连续的核分区。
19.根据权利要求18所述的装置,其特征在于,所述第一迁移单元包括:
第一保存单元,用于保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述其它核分区中的核数目相同;
第一任务分配单元,用于将所述任务分配到所述其它核分区运行。
20.根据权利要求16-17任一所述的装置,其特征在于,所述组合单元包括:
第二选取单元,用于根据核分区迁移代价,从所述至少两个分散核分区中选取一个基准核分区和一个从核分区,以使总的核分区迁移代价最小,其中,所述总的核分区迁移代价为各个分散的核分区的迁移代价之和;
第二迁移单元,用于迁移所述从核分区,使所述从核分区与所述基准核分区合并;如果还有剩余的其它核分区,则再从合并后的核分区和剩余的其它核分区中确定一个基准核分区和一个从核分区进行核分区迁移,直至将所述至少两个分散核分区合并形成一个连续的核分区。
21.根据权利要求20所述的装置,其特征在于,所述第二迁移单元包括:
第二保存单元,用于保存所述基准核分区相邻的已分配核分区正在运行的任务,所述已分配核分区中的核数目与所述从核分区中的核数目相同;
第二任务分配单元,用于将所述任务分配到所述从核分区运行。
22.根据权利要求21所述的装置,其特征在于,所述第二任务分配单元包括:
第一确定单元,用于确定所述从核分区与所述基准核分区之间的最短迁移路径;
第一分配子单元,用于按照所述最短迁移路径将所述任务中转到所述从核分区运行。
23.根据权利要求22所述的装置,其特征在于,所述第二任务分配单元还包括:
加权处理单元,用于在存在至少两个最短迁移路径时,依据所述最短迁移路径经过的核分区包含的核数目,对所述最短迁移路径进行加权处理,并将权值最小的最短路径确定为最佳路径,使所述第一分配子单元按照所述最佳路径中转所述任务。
24.根据权利要求23所述的装置,其特征在于,所述第二任务分配单元还包括:
核密集度计算单元,用于在存在至少两个最佳路径时,计算按照最佳路径迁移形成的所述连续的核分区中的至少两个核分区的核分布密集程度,并迁移所述从核分区,使所述连续的核分区的核分布密集程度最高。
25.根据权利要求16-24任一项所述的装置,其特征在于,所述装置还包括:
核分区密集度计算单元,用于将满足所述数目请求的至少两个分散的核分区作为一个组合,如果存在至少两个满足所述数目请求的组合,则计算每个组合的核分区分布密集程度,并将核分区密集程度最高的组合确定为最佳组合,使所述组合单元利用形成所述最佳组合的至少两个分散的核分区组成所述连续的核分区。
26.根据权利要求16-24任一项所述的装置,其特征在于,所述装置还包括:
判定单元,用于判断所述众核平台中是否存在满足所述数目请求的连续核分区,如果存在,则将所述连续核分区分配给所述用户进程;如果不存在,再通知所述查找单元找到满足所述数目请求的至少两个分散的核分区。
27.一种众核系统,其特征在于,所述系统包括多个核,所述多个核中包含一个执行核,所述执行核用于按照权利要求1-15任一项所述的方法对所述多个核中的其它多个核进行资源分配。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310059705.6A CN104008013B (zh) | 2013-02-26 | 2013-02-26 | 一种核资源分配方法、装置及众核系统 |
PCT/CN2014/070061 WO2014131317A1 (zh) | 2013-02-26 | 2014-01-03 | 一种核资源分配方法、装置及众核系统 |
EP14756339.9A EP2921957A4 (en) | 2013-02-26 | 2014-01-03 | METHOD AND APPARATUS FOR ALLOCATING A HEART RESOURCE, AND MULTICOVER SYSTEM |
US14/791,730 US20150309842A1 (en) | 2013-02-26 | 2015-07-06 | Core Resource Allocation Method and Apparatus, and Many-Core System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310059705.6A CN104008013B (zh) | 2013-02-26 | 2013-02-26 | 一种核资源分配方法、装置及众核系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104008013A true CN104008013A (zh) | 2014-08-27 |
CN104008013B CN104008013B (zh) | 2018-02-09 |
Family
ID=51368678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310059705.6A Active CN104008013B (zh) | 2013-02-26 | 2013-02-26 | 一种核资源分配方法、装置及众核系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150309842A1 (zh) |
EP (1) | EP2921957A4 (zh) |
CN (1) | CN104008013B (zh) |
WO (1) | WO2014131317A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808328A (zh) * | 2014-12-31 | 2016-07-27 | 杭州华为数字技术有限公司 | 任务调度的方法、装置和系统 |
CN105874757A (zh) * | 2014-11-12 | 2016-08-17 | 华为技术有限公司 | 一种数据处理方法及多核处理器系统 |
CN107193656A (zh) * | 2017-05-17 | 2017-09-22 | 深圳先进技术研究院 | 多核系统的资源管理方法、终端设备及计算机可读存储介质 |
CN108170525A (zh) * | 2016-12-07 | 2018-06-15 | 晨星半导体股份有限公司 | 动态调整多核心处理器的任务负载配置的装置以及方法 |
CN109558248A (zh) * | 2018-12-11 | 2019-04-02 | 中国海洋大学 | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 |
CN110795385A (zh) * | 2019-10-29 | 2020-02-14 | 天津飞腾信息技术有限公司 | 片上系统的可信核与计算核核资源分配方法及装置 |
WO2020156212A1 (zh) * | 2019-01-28 | 2020-08-06 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置及电子设备 |
CN111837104A (zh) * | 2019-02-21 | 2020-10-27 | 华为技术有限公司 | 一种在多个处理器之间调度软件任务的方法和装置 |
CN113157427A (zh) * | 2020-01-07 | 2021-07-23 | 中科寒武纪科技股份有限公司 | 任务迁移的方法、装置、计算机设备及可读存储介质 |
WO2023151460A1 (zh) * | 2022-02-14 | 2023-08-17 | 北京灵汐科技有限公司 | 数据处理方法、装置、芯片及介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6666553B2 (ja) * | 2016-05-10 | 2020-03-18 | 富士通株式会社 | 情報処理装置、ジョブ管理方法およびジョブ管理プログラム |
US10691502B2 (en) | 2016-06-03 | 2020-06-23 | International Business Machines Corporation | Task queuing and dispatching mechanisms in a computational device |
US11029998B2 (en) | 2016-06-03 | 2021-06-08 | International Business Machines Corporation | Grouping of tasks for distribution among processing entities |
US10185593B2 (en) * | 2016-06-03 | 2019-01-22 | International Business Machines Corporation | Balancing categorized task queues in a plurality of processing entities of a computational device |
JP2018092311A (ja) * | 2016-12-01 | 2018-06-14 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
US11150944B2 (en) | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Balancing mechanisms in ordered lists of dispatch queues in a computational device |
WO2020150728A1 (en) | 2019-01-18 | 2020-07-23 | Quadric. Io, Inc. | Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit |
CN110750363B (zh) * | 2019-12-26 | 2021-02-05 | 中科寒武纪科技股份有限公司 | 计算机存储管理方法和装置、电子设备和存储介质 |
CN111966479B (zh) * | 2020-08-19 | 2024-03-29 | 支付宝(杭州)信息技术有限公司 | 业务处理、风险识别业务处理方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094481A1 (en) * | 2006-02-28 | 2009-04-09 | Xavier Vera | Enhancing Reliability of a Many-Core Processor |
US20100153700A1 (en) * | 2008-12-16 | 2010-06-17 | International Business Machines Corporation | Multicore Processor And Method Of Use That Configures Core Functions Based On Executing Instructions |
CN102622208A (zh) * | 2011-01-27 | 2012-08-01 | 中兴通讯股份有限公司 | 一种多核可重构处理器簇及其实现重构的方法 |
CN102831011A (zh) * | 2012-08-10 | 2012-12-19 | 上海交通大学 | 一种基于众核系统的任务调度方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229065A1 (en) * | 2007-03-13 | 2008-09-18 | Hung Qui Le | Configurable Microprocessor |
US20090089792A1 (en) * | 2007-09-27 | 2009-04-02 | Sun Microsystems, Inc. | Method and system for managing thermal asymmetries in a multi-core processor |
US8495636B2 (en) * | 2007-12-19 | 2013-07-23 | International Business Machines Corporation | Parallelizing single threaded programs by performing look ahead operation on the single threaded program to identify plurality of instruction threads prior to execution |
KR101366075B1 (ko) * | 2007-12-20 | 2014-02-21 | 삼성전자주식회사 | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 |
US8645965B2 (en) * | 2007-12-31 | 2014-02-04 | Intel Corporation | Supporting metered clients with manycore through time-limited partitioning |
CN101499020B (zh) * | 2008-01-28 | 2011-08-31 | 财团法人工业技术研究院 | 具有动态工作管理能力的多处理器界面及其程序加载或卸载方法 |
US8180604B2 (en) * | 2008-09-30 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Optimizing a prediction of resource usage of multiple applications in a virtual environment |
US8056080B2 (en) * | 2009-08-31 | 2011-11-08 | International Business Machines Corporation | Multi-core/thread work-group computation scheduler |
US8904154B2 (en) * | 2010-04-16 | 2014-12-02 | Massachusetts Institute Of Technology | Execution migration |
US20120079501A1 (en) * | 2010-09-27 | 2012-03-29 | Mark Henrik Sandstrom | Application Load Adaptive Processing Resource Allocation |
KR101859188B1 (ko) * | 2011-09-26 | 2018-06-29 | 삼성전자주식회사 | 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법 |
-
2013
- 2013-02-26 CN CN201310059705.6A patent/CN104008013B/zh active Active
-
2014
- 2014-01-03 WO PCT/CN2014/070061 patent/WO2014131317A1/zh active Application Filing
- 2014-01-03 EP EP14756339.9A patent/EP2921957A4/en not_active Withdrawn
-
2015
- 2015-07-06 US US14/791,730 patent/US20150309842A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094481A1 (en) * | 2006-02-28 | 2009-04-09 | Xavier Vera | Enhancing Reliability of a Many-Core Processor |
US20100153700A1 (en) * | 2008-12-16 | 2010-06-17 | International Business Machines Corporation | Multicore Processor And Method Of Use That Configures Core Functions Based On Executing Instructions |
CN102622208A (zh) * | 2011-01-27 | 2012-08-01 | 中兴通讯股份有限公司 | 一种多核可重构处理器簇及其实现重构的方法 |
CN102831011A (zh) * | 2012-08-10 | 2012-12-19 | 上海交通大学 | 一种基于众核系统的任务调度方法及装置 |
Non-Patent Citations (1)
Title |
---|
O. KANG 等: "A Graph-Based Subcube Allocation And Task Migration In Hypercube Systems", 《FRONTIERS OF MASSIVELY PARALLEL COMPUTATION》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105874757A (zh) * | 2014-11-12 | 2016-08-17 | 华为技术有限公司 | 一种数据处理方法及多核处理器系统 |
CN105874757B (zh) * | 2014-11-12 | 2019-04-26 | 华为技术有限公司 | 一种数据处理方法及多核处理器系统 |
CN105808328B (zh) * | 2014-12-31 | 2019-05-17 | 杭州华为数字技术有限公司 | 任务调度的方法、装置和系统 |
CN105808328A (zh) * | 2014-12-31 | 2016-07-27 | 杭州华为数字技术有限公司 | 任务调度的方法、装置和系统 |
CN108170525A (zh) * | 2016-12-07 | 2018-06-15 | 晨星半导体股份有限公司 | 动态调整多核心处理器的任务负载配置的装置以及方法 |
CN107193656A (zh) * | 2017-05-17 | 2017-09-22 | 深圳先进技术研究院 | 多核系统的资源管理方法、终端设备及计算机可读存储介质 |
CN107193656B (zh) * | 2017-05-17 | 2020-01-10 | 深圳先进技术研究院 | 多核系统的资源管理方法、终端设备及计算机可读存储介质 |
CN109558248A (zh) * | 2018-12-11 | 2019-04-02 | 中国海洋大学 | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 |
CN109558248B (zh) * | 2018-12-11 | 2020-06-02 | 中国海洋大学 | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 |
WO2020156212A1 (zh) * | 2019-01-28 | 2020-08-06 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置及电子设备 |
CN111837104B (zh) * | 2019-02-21 | 2024-04-12 | 华为技术有限公司 | 一种在多个处理器之间调度软件任务的方法和装置 |
CN111837104A (zh) * | 2019-02-21 | 2020-10-27 | 华为技术有限公司 | 一种在多个处理器之间调度软件任务的方法和装置 |
CN110795385A (zh) * | 2019-10-29 | 2020-02-14 | 天津飞腾信息技术有限公司 | 片上系统的可信核与计算核核资源分配方法及装置 |
CN110795385B (zh) * | 2019-10-29 | 2023-11-03 | 飞腾信息技术有限公司 | 片上系统的可信核与计算核核资源分配方法及装置 |
CN113157427B (zh) * | 2020-01-07 | 2024-03-15 | 中科寒武纪科技股份有限公司 | 任务迁移的方法、装置、计算机设备及可读存储介质 |
CN113157427A (zh) * | 2020-01-07 | 2021-07-23 | 中科寒武纪科技股份有限公司 | 任务迁移的方法、装置、计算机设备及可读存储介质 |
WO2023151460A1 (zh) * | 2022-02-14 | 2023-08-17 | 北京灵汐科技有限公司 | 数据处理方法、装置、芯片及介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2921957A4 (en) | 2015-12-30 |
US20150309842A1 (en) | 2015-10-29 |
EP2921957A1 (en) | 2015-09-23 |
WO2014131317A1 (zh) | 2014-09-04 |
CN104008013B (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104008013A (zh) | 一种核资源分配方法、装置及众核系统 | |
US10466899B2 (en) | Selecting controllers based on affinity between access devices and storage segments | |
US7607129B2 (en) | Method and apparatus for using virtual machine technology for managing parallel communicating applications | |
CN101452406B (zh) | 一种对操作系统透明的机群负载平衡方法 | |
CN103678003B (zh) | 一种实时性增强的虚拟cpu调度方法 | |
CN1987794B (zh) | 改进计算机系统中的块分配时间的方法和装置 | |
CN104572301B (zh) | 一种资源分配方法和系统 | |
JP2008191949A (ja) | マルチコアシステムおよびマルチコアシステムの負荷分散方法 | |
CN108519917A (zh) | 一种资源池分配方法和装置 | |
TWI786564B (zh) | 任務調度方法和裝置、儲存媒體及計算機設備 | |
CN113032101B (zh) | 虚拟机的资源分配方法、服务器及计算机可读存储介质 | |
CN103425536A (zh) | 一种面向分布式系统性能测试的测试资源管理方法 | |
CN107003713A (zh) | 用于电力管理的逻辑分区环境的事件驱动重新优化 | |
CN114356543A (zh) | 一种基于Kubernetes的多租户机器学习任务资源调度方法 | |
CN113255165A (zh) | 一种基于动态任务分配的实验方案并行推演系统 | |
CN113391914A (zh) | 任务调度方法和装置 | |
WO2022047621A1 (en) | Systems and methods of hybrid centralized distributive scheduling on shared physical hosts | |
CN106020971B (zh) | 云主机系统中的cpu调度方法及装置 | |
CN115964176B (zh) | 云计算集群调度方法、电子设备和存储介质 | |
CN116302327A (zh) | 资源调度方法及相关设备 | |
CN107621980A (zh) | 一种虚拟机迁移方法、集群控制系统和控制装置 | |
CN116260876A (zh) | 基于K8s的AI应用调度方法、装置及电子设备 | |
CN112416538A (zh) | 一种分布式资源管理框架的多层次架构和管理方法 | |
CN107562510A (zh) | 一种应用实例的管理方法及管理设备 | |
WO2020019315A1 (zh) | 一种基于图数据的计算运行调度方法、系统、计算机可读介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210425 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |