多核系统的资源管理方法、终端设备及计算机可读存储介质转让专利

申请号 : CN201710349249.7

文献号 : CN107193656B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李冕王小航麦穗冬

申请人 : 深圳先进技术研究院广州中国科学院先进技术研究所华南理工大学

摘要 :

本发明涉及计算机体系结构领域,提供了一种多核系统上资源管理方法、终端设备及计算机可读存储介质。所述方法包括:确定待映射应用程序映射到自由核片区域后,待映射应用程序对应于特定形状映射区域,特定形状映射区域包括矩形或L形映射区域;按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案;按照待映射应用程序映射到自由核片区域的方案,将待映射应用程序映射到自由核片区域。本发明提供的技术方案减小了应用程序任务间的通信开销和碎片的产生。

权利要求 :

1.一种多核系统的资源管理方法,其特征在于,所述方法包括:

确定待映射应用程序映射到自由核片区域,所述待映射应用程序对应于特定形状映射区域,所述特定形状映射区域在所述自由核片区域内具有多种可选位置,所述特定形状映射区域包括矩形或L形映射区域;

按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案;

按照所述待映射应用程序映射到所述自由核片区域的方案,将所述待映射应用程序映射到所述自由核片区域。

2.如权利要求1所述的多核系统的资源管理方法,其特征在于,所述按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案,包括:确立所述映射方案的搜索树模型,所述搜索树模型中的树节点对应于变量αi、βi和γi,所述αi表示所述特定形状映射区域在所述自由核片区域的位置,所述βi表示所述特定形状映射区域在所述自由核片区域的取向,所述γi表示所述待映射应用程序的候选特定形状映射区域的列表;

按照所述特定形状映射区域的左边界与所述自由核片区域的左边界对齐以及所述特定形状映射区域的下边界与所述自由核片区域的下边界对齐的规则,或者,按照所述特定形状映射区域的左边界与所述自由核片区域的左边界或所述自由核片区域中已被映射区域的右边界对齐以及所述特定形状映射区域的下边界与所述自由核片区域的下边界或所述自由核片区域中已被映射区域的上边界对齐的规则,确定所述特定形状映射区域在所述自由核片区域的可选位置。

3.如权利要求2所述的多核系统的资源管理方法,其特征在于,所述按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案还包括:剪去所述搜索树模型中的不可行的分支;

所述待映射应用程序被映射到自由核片区域后,将所述自由核片区域剩余的区域形状相对规整时所述特定形状映射区域在所述自由核片区域的可选位置确定为所述特定形状映射区域在所述自由核片区域的最终位置。

4.如权利要求1至3任意一项所述的多核系统的资源管理方法,其特征在于,所述方法还包括:确定何时触发资源管理;

若所述待映射应用程序的任务多、通信量大或到达速度高,则触发部分的资源管理过程,否则,触发相对较多或全面的资源管理过程。

5.如权利要求1至3任意一项所述的多核系统的资源管理方法,其特征在于,所述方法还包括:建立待映射应用程序列表,所述待映射应用程序列表赋予所述待映射应用程序的映射优先级。

6.一种多核系统的资源管理装置,其特征在于,所述装置包括:

第一确定模块,用于确定待映射应用程序映射到自由核片区域,所述待映射应用程序对应于特定形状映射区域,所述特定形状映射区域在所述自由核片区域内具有多种可选位置,所述特定形状映射区域包括矩形或L形映射区域;

第二确定模块,用于按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案;

映射模块,用于按照所述待映射应用程序映射到所述自由核片区域的方案,将所述待映射应用程序映射到所述自由核片区域。

7.如权利要求6所述的多核系统的资源管理装置,其特征在于,所述第二确定模块包括:模型建立单元,用于确立所述映射方案的搜索树模型,所述搜索树模型中的树节点对应于变量αi、βi和γi,所述αi表示所述特定形状映射区域在所述自由核片区域的位置,所述βi表示所述特定形状映射区域在所述自由核片区域的取向,所述γi表示所述待映射应用程序的候选特定形状映射区域的列表;

映射位置确定单元,用于按照所述特定形状映射区域的左边界与所述自由核片区域的左边界对齐以及所述特定形状映射区域的下边界与所述自由核片区域的下边界对齐的规则,或者,按照所述特定形状映射区域的左边界与所述自由核片区域的左边界或所述自由核片区域中已被映射区域的右边界对齐以及所述特定形状映射区域的下边界与所述自由核片区域的下边界或所述自由核片区域中已被映射区域的上边界对齐的规则,确定所述特定形状映射区域在所述自由核片区域的可选位置。

8.如权利要求7所述的多核系统的资源管理装置,其特征在于,所述第二确定模块还包括:剪枝单元,用于剪去所述搜索树模型中的不可行的分支;

节点优化单元,用于所述待映射应用程序被映射到自由核片区域后,将所述自由核片区域剩余的区域形状相对规整时所述特定形状映射区域在所述自由核片区域的可选位置确定为所述特定形状映射区域在所述自由核片区域的最终位置。

9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述方法的步骤。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述方法的步骤。

说明书 :

多核系统的资源管理方法、终端设备及计算机可读存储介质

技术领域

[0001] 本发明属于计算机体系结构领域,尤其涉及一种多核系统的资源管理方法、终端设备及计算机可读存储介质。

背景技术

[0002] 应用程序在多核系统中实际启动之前,首先需要将应用程序映射到多个内核的核片区域上,这一映射过程可能会导致资源泄漏问题(称为碎片),尽管可用的核片区域总数仍可能超过需要为此应用程序提供服务的核片数量,但是由于碎片的产生,不足以满足传入的应用程序的性能需求。而应用程序映射到非连续的核片区域时,由于通信距离的增加,会造成明显的性能损失。因此,需要定期对多核系统上的资源进行管理,例如,对碎片进行整合,而整理碎片又不能引入高计算开销,否则可能会对系统性能产生不利影响。
[0003] 现有的多核系统的资源管理方法,其将应用程序映射到核片时,仍然避免不了碎片的产生以及由此带来的更多问题。

发明内容

[0004] 本发明提供一种多核系统的资源管理方法、终端设备及计算机可读存储介质,以减少碎片的产生和降低管理资源的计算开销。
[0005] 本发明实施例的第一方面提供了一种多核系统的资源管理方法,包括:
[0006] 确定待映射应用程序映射到自由核片区域后,所述待映射应用程序对应于特定形状映射区域,所述特定形状映射区域包括矩形或L形映射区域;
[0007] 按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案;
[0008] 按照所述待映射应用程序映射到所述自由核片区域的方案,将所述待映射应用程序映射到所述自由核片区域。
[0009] 本发明实施例的第二方面提供了一种多核系统的资源管理装置,包括:
[0010] 第一确定模块,用于确定待映射应用程序映射到自由核片区域后,所述待映射应用程序对应于特定形状映射区域,所述特定形状映射区域包括矩形或L形映射区域;
[0011] 第二确定模块,用于按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案;
[0012] 映射模块,用于按照所述待映射应用程序映射到所述自由核片区域的方案,将所述待映射应用程序映射到所述自由核片区域。
[0013] 本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0014] 确定待映射应用程序映射到自由核片区域后,所述待映射应用程序对应于特定形状映射区域,所述特定形状映射区域包括矩形或L形映射区域;
[0015] 按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案;
[0016] 按照所述待映射应用程序映射到所述自由核片区域的方案,将所述待映射应用程序映射到所述自由核片区域。
[0017] 本发明实施例的第四方面提供了一种全景图像拼接的计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0018] 确定待映射应用程序映射到自由核片区域后,所述待映射应用程序对应于特定形状映射区域,所述特定形状映射区域包括矩形或L形映射区域;
[0019] 按照所述待映射应用程序被映射到自由核片区域后碎片最少的原则,确定所述待映射应用程序映射到所述自由核片区域的方案;
[0020] 按照所述待映射应用程序映射到所述自由核片区域的方案,将所述待映射应用程序映射到所述自由核片区域。
[0021] 从上述本发明提供的技术方案可知,一方面,将待映射应用程序对应的映射区域的形状确定为矩形或L形,减小了应用程序任务间的通信开销,而L形的映射区域可以和后续的矩形核片区域形成新的矩形核片区域,从而能够减小碎片的产生;另一方面,按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案,进一步减少映射过程产生的碎片。

附图说明

[0022] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1是本发明实施例提供的多核系统的资源管理方法的实现流程示意图;
[0024] 图2-a是本发明实施例提供的待映射应用程序对应于矩形映射区域示意图;
[0025] 图2-b是本发明实施例提供的待映射应用程序对应于L形映射区域示意图;
[0026] 图3-a是本发明实施例提供的确定特定形状映射区域在自由核片区域的可选位置示意图;
[0027] 图3-b是本发明另一实施例提供的确定特定形状映射区域在自由核片区域的可选位置示意图;
[0028] 图3-c是本发明另一实施例提供的确定特定形状映射区域在自由核片区域的可选位置示意图;
[0029] 图3-d是本发明另一实施例提供的确定特定形状映射区域在自由核片区域的可选位置示意图;
[0030] 图4-a是本发明实施例提供的待映射应用程序被映射前各个应用程序占用核片区域的示意图;
[0031] 图4-b是本发明实施例提供的待映射应用程序映射完成后自由核片区域被占用的情形的示意图;
[0032] 图4-c是本发明另一实施例提供的待映射应用程序映射完成后自由核片区域被占用的情形的示意图;
[0033] 图5-a是本发明实施例提供的编号为1至9的应用程序被映射前对核片区域的占用情形示意图;
[0034] 图5-b是本发明实施例提供的对编号为1至9的应用程序中对大部分或全部进行了自由核片区域的映射示意图;
[0035] 图5-c是本发明实施例提供的对编号为1至9的应用程序中对少部分进行了自由核片区域的映射示意图;
[0036] 图6是本发明实施例提供的多核系统的资源管理装置的示意图;
[0037] 图7是本发明另一实施例提供的多核系统的资源管理装置的示意图;
[0038] 图8是本发明另一实施例提供的多核系统的资源管理装置的示意图;
[0039] 图9是本发明实施例提供的终端设备的结构示意图。

具体实施方式

[0040] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0041] 为了说明本发明的技术方案,下面通过具体实施例来进行说明。
[0042] 图1是本发明实施例提供的多核系统的资源管理方法的实现流程示意图;本发明实施例提供的多核系统的资源管理方法,其执行主体可以是终端设备。图1示例的多核系统的资源管理方法主要包括以下步骤S101至S103,详细说明如下:
[0043] S101,确定待映射应用程序映射到自由核片区域后,待映射应用程序对应于特定形状映射区域,该特定形状映射区域包括矩形或L形映射区域。
[0044] 在本发明实施中,核片区域是多核系统中每个核片,这些核片有些是已经被应用程序占用,有些尚未被占用,这些尚未被占用的核片是后续应用程序可映射的区域,称为自由核片区域。由于应用程序被映射到自由核片区域后,其对应的映射区域若是矩形或L形,该应用程序各个任务间的平均通信开销相对应用程序被映射为其他形状的映射区域时的平均通信开销要小,而L形的映射区域,其另一特点是可以和后续的矩形核片区域形成新的矩形核片区域,从而能够减小碎片的产生,因此,在本发明实施例中,可以将待映射应用程序映射到自由核片区域后,待映射应用程序对应的映射区域的形状确定为矩形或L形,如附图2-a和附图2-b所示,分别是本发明实施例提供的待映射应用程序对应的矩形映射区域和L形映射区域。
[0045] 需要说明的是,在本发明实施例中,可以事先建立待映射应用程序列表,该待映射应用程序列表赋予待映射应用程序的映射优先级。换言之,对于要将被映射的n个应用程序,可以事先确定这n个应用程序对应的映射区域定位顺序对系统整体的影响。例如,对于更高的总通信量或更多的任务的应用程序,其对应的映射区域定位具有高的优先级,即优先考虑将这些应用程序映射到连续的大片核片区域,反之,对于较低的总通信量或较少的任务的应用程序,则可以映射到一些小的孤立的自由核片区域,以减少碎片化。
[0046] S102,按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案。
[0047] 应用程序被映射到自由核片区域后,碎片的产生多寡是影响系统性能的重要因素,例如,碎片较多,一方面说明该应用程序的任务被映射到的核片区域过于分散,会增加任务之间的平均通信开销,另一方面单个的碎片面积太小,导致不能被后续的应用程序映射,浪费了资源,因此,在本发明实施例中,按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案。
[0048] 作为本发明一个实施例,按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案可通过如下步骤S1021和S1022实现:
[0049] S1021,确立映射方案的搜索树模型。
[0050] 在本发明实施例中,搜索树模型中的元素即树节点代表一个待映射应用程序映射到自由核片区域的一种映射方案,树节点对应于变量αi、βi和γi,其中,αi表示待映射应用程序对应的特定形状映射区域在自由核片区域的位置,βi表示待映射应用程序对应的特定形状映射区域在自由核片区域的取向,例如,若待映射应用程序对应的特定形状映射区域相对于待映射应用程序被映射之前占用的核片区域旋转了90°,则βi的值为90°,若没有旋转,则βi的值为0,γi表示待映射应用程序的候选特定形状映射区域。为了描述的简便,在后续的说明中,将待映射应用程序对应的特定形状映射区域简称为特定形状映射区域。
[0051] 需要说明的是,搜索树模型中的元素即树节点可以队列(queue)方式存储。
[0052] S1022,按照特定形状映射区域的左边界与自由核片区域的左边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界对齐的规则,或者,按照特定形状映射区域的左边界与自由核片区域的左边界或自由核片区域中已被映射区域的右边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界或自由核片区域中已被映射区域的上边界对齐的规则,确定特定形状映射区域在自由核片区域的可选位置。
[0053] 需要说明的是,上述确定矩形或L形映射区域在自由核片区域的可选位置时提及的边界对齐,可以理解为两个区域的边界所在的直线重合。步骤S1022描述了确定矩形或L形映射区域在自由核片区域的可选位置的两种方案,以下分别说明:
[0054] 1)按照特定形状映射区域的左边界与自由核片区域的左边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界对齐的规则,确定特定形状映射区域在自由核片区域的可选位置;这种情形对应于自由核片区域的左下角没有被占用,此时,待映射应用程序被映射到自由核片区域的左下角,并且,特定形状映射区域的左边界与自由核片区域的左边界对齐,特定形状映射区域的下边界与自由核片区域的下边界对齐,如附图3-a所示,图中着色的矩形表示特定形状映射区域,虚线框定的区域表示自由核片区域,虚线框表示自由核片区域的边界,未着色部分表示可被后续应用程序映射的核片区域;
[0055] 2)按照特定形状映射区域的左边界与自由核片区域的左边界或自由核片区域中已被映射区域的右边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界或自由核片区域中已被映射区域的上边界对齐的规则,确定特定形状映射区域在自由核片区域的可选位置,这种方案实际包括如下三种方案,分别如下2.1)至2.3):
[0056] 2.1)按照特定形状映射区域的左边界与自由核片区域的左边界对齐以及特定形状映射区域的下边界与自由核片区域中已被映射区域的上边界对齐的规则,确定特定形状映射区域在自由核片区域的可选位置;这种情形对应于只是自由核片区域的左下角已经被映射或占用(自由核片区域中已经被映射或占用的区域简称为已被映射区域),其他区域尚未被映射或占用,待映射应用程序被映射到自由核片区域时,特定形状映射区域的左边界与自由核片区域的左边界对齐以及特定形状映射区域的下边界与自由核片区域中已被映射区域的上边界对齐,如附图3-b所示,图中着色且无条纹的矩形表示自由核片区域中已被映射区域,图中着色且斜条纹的矩形表示特定形状映射区域,虚线框表示自由核片区域的边界,未着色部分表示可被后续应用程序映射的核片区域;
[0057] 2.2)按照特定形状映射区域的左边界与自由核片区域中已被映射区域的右边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界对齐的规则,确定特定形状映射区域在自由核片区域的可选位置;这种情形也是对应于自由核片区域的左下角已经被映射或占用,其他区域尚未被映射或占用,待映射应用程序被映射到自由核片区域时,特定形状映射区域的左边界与自由核片区域中已被映射区域的右边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界对齐,如附图3-c所示,图中着色且无条纹的矩形表示自由核片区域中已被映射区域,图中着色且斜条纹的矩形表示特定形状映射区域,虚线框表示自由核片区域的边界,未着色部分表示可被后续应用程序映射的核片区域。
[0058] 2.3)按照特定形状映射区域的左边界与自由核片区域中已被映射区域的右边界对齐以及特定形状映射区域的下边界与自由核片区域中已被映射区域的上边界对齐的规则,确定特定形状映射区域在自由核片区域的可选位置;这种情形对应于自由核片区域的左下角已经被映射或占用,紧邻自由核片区域的左下角上边和/或右边的区域也被映射或占用,待映射应用程序被映射到自由核片区域时,特定形状映射区域的左边界与自由核片区域中已被映射区域的右边界对齐以及特定形状映射区域的下边界与自由核片区域中已被映射区域的上边界对齐,如附图3-d所示,图中着色且无条纹的矩形表示自由核片区域中已被映射区域,图中着色且斜条纹的矩形表示特定形状映射区域,虚线框表示自由核片区域的边界,未着色部分表示可被后续应用程序映射的核片区域。
[0059] 在上述按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案中,还包括:剪去搜索树模型中的不可行的分支;以及待映射应用程序被映射到自由核片区域后,将自由核片区域剩余的区域形状相对规整时特定形状映射区域在自由核片区域的可选位置确定为特定形状映射区域在自由核片区域的最终位置。所谓剪去搜索树模型中的不可行的分支,是指待映射应用程序需要做映射时,其所需映射区域大小大于系统所能提供的核片区域,这种情况下无法完成映射,因此要排除这种情形,从而免除无谓的搜索,减小映射的计算开销,提高了系统的性能。
[0060] 按照上述实施例提及的映射方案,待映射应用程序被映射到自由核片区域,特定形状映射区域在自由核片区域有多种可选位置。如附图4-a所示,是待映射应用程序被映射前各个应用程序占用核片区域的示意图,其中,着色部分表示自由核片区域中已被映射区域,未着色部分表示自由核片区域中未被映射区域。附图4-b和附图4-c是待映射应用程序映射完成后自由核片区域被占用的情形,图中着色且无条纹的矩形表示自由核片区域中已被映射区域,图中着色且斜条纹的矩形表示特定形状映射区域,虚线框定的区域表示自由核片区域,其中的空白部分表示可被后续应用程序映射的核片区域。由此可知,特定形状映射区域在自由核片区域有多种可选位置,显然,相对于图4-b,图4-c表示的待映射应用程序被映射到自由核片区域后,自由核片区域剩余的区域形状相对规整,因此,将自由核片区域剩余的区域形状相对规整时特定形状映射区域在自由核片区域的可选位置确定为特定形状映射区域在自由核片区域的最终位置,即图4-c表示的各个应用程序对应的特定形状映射区域在自由核片区域的位置才是最终映射位置,如此,减小了碎片产生的数量和分散度。
[0061] S103,按照待映射应用程序映射到自由核片区域的方案,将待映射应用程序映射到自由核片区域。
[0062] 从上述附图1示例的多核系统的资源管理装置可知,一方面,将待映射应用程序对应的映射区域的形状确定为矩形或L形,减小了应用程序任务间的通信开销,而L形的映射区域可以和后续的矩形核片区域形成新的矩形核片区域,从而能够减小碎片的产生;另一方面,按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案,进一步减少映射过程产生的碎片。
[0063] 在上述附图1示例的方法中,还可以设定一个全局管理模块,用于确定何时触发资源管理,具体地,确定什么时候执行碎片整理以及涉及的自由核片区域,给定运行时计算开销约束,全局管理模块生成一组应用程序到上述应用程序迁移模块中去。
[0064] 此外,若待映射应用程序的任务多、通信量大或到达速度高,则全局管理模块触发部分的资源管理过程,否则,触发相对较多或全面的资源管理过程。换言之,当待映射应用程序任务多、通信量大或到达速度高时,碎片整理过程应足够快,以应对新的应用程序的映射去求,故只对少部分应用程序进行自由核片区域的映射,反之,可以对大部分或全部应用程序进行自由核片区域的映射,映射完成后得到了更多的空闲的连续核片区域,给予后续应用程序提供更大的可映射核片区域,从而提高了系统的整体性能。如附图5-a所示,是编号为1至9的应用程序被映射前对核片区域的占用情形,其中,着色且带有数字的表示应用程序占用的核片区域,同一数字的对应于同一应用程序,未来着色的表示尚未映射到的核片区域或者映射后自由核片区域剩余的剩余区域,附图5-b和附图5-c的着色和未着色部分的含义与附图5-a类似。附图5-b表示对大部分或全部应用程序进行了自由核片区域的映射,附图5-c表示只对少部分应用程序进行了自由核片区域的映射,相对而言,附图5-b示例的空闲的连续核片区域(没有着色的区域)要大于附图5-c示例的空闲的连续核片区域。
[0065] 应该理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0066] 图6是本发明实施例提供的多核系统的资源管理装置的示意图,其可以是终端设备或者其中的功能模块。图6示例的多核系统的资源管理装置主要包括第一确定模块601、第二确定模块602和映射模块603,详细说明如下:
[0067] 第一确定模块601,用于确定待映射应用程序映射到自由核片区域后,待映射应用程序对应于特定形状映射区域,其中,特定形状映射区域包括矩形或L形映射区域;
[0068] 第二确定模块602,用于按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案;
[0069] 映射模块603,用于按照待映射应用程序映射到自由核片区域的方案,将待映射应用程序映射到自由核片区域。
[0070] 需要说明的是,本发明实施例提供的装置,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0071] 附图6示例的第二确定模块602可以包括模型建立单元701和映射位置确定单元702,如附图7所示本发明实施例提供的多核系统的资源管理装置,其中:
[0072] 模型建立单元701,用于确立映射方案的搜索树模型,搜索树模型中的树节点对应于变量αi、βi和γi,其中,αi表示特定形状映射区域在自由核片区域的位置,βi表示特定形状映射区域在自由核片区域的取向,γi表示待映射应用程序的候选特定形状映射区域的列表;
[0073] 映射位置确定单元702,用于按照特定形状映射区域的左边界与自由核片区域的左边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界对齐的规则,或者,按照特定形状映射区域的左边界与自由核片区域的左边界或自由核片区域中已被映射区域的右边界对齐以及特定形状映射区域的下边界与自由核片区域的下边界或自由核片区域中已被映射区域的上边界对齐的规则,确定特定形状映射区域在自由核片区域的可选位置。
[0074] 附图7示例的第二确定模块602还可以包括剪枝单元801和节点优化单元802,如附图8所示本发明实施例提供的多核系统的资源管理装置,其中:
[0075] 剪枝单元801,用于剪去搜索树模型中的不可行的分支;
[0076] 节点优化单元802,用于待映射应用程序被映射到自由核片区域后,将自由核片区域剩余的区域形状相对规整时特定形状映射区域在自由核片区域的可选位置确定为特定形状映射区域在自由核片区域的最终位置。
[0077] 图9是本发明一实施例提供的终端设备的结构示意图。如图9所示,该实施例的终端设备9包括:处理器90、存储器91以及存储在存储器91中并可在处理器90上运行的计算机程序92,例如全景图像拼接的程序。处理器90执行计算机程序92时实现上述各个多核系统的资源管理方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,处理器90执行计算机程序92时实现上述各装置实施例中各模块/单元的功能,例如图6所示第一确定模块601、第二确定模块602和映射模块603的功能。
[0078] 示例性的,多核系统的资源管理的计算机程序92主要包括:确定待映射应用程序映射到自由核片区域后,待映射应用程序对应于特定形状映射区域,特定形状映射区域包括矩形或L形映射区域;按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案;按照待映射应用程序映射到自由核片区域的方案,将待映射应用程序映射到自由核片区域。计算机程序92可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器91中,并由处理器90执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序92在终端设备9中的执行过程。例如,计算机程序92可以被分割成第一确定模块、第二确定模块和映射模块(虚拟装置中的模块),各模块具体功能如下:
[0079] 终端设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备9可包括但不仅限于处理器90、存储器91。本领域技术人员可以理解,图9仅仅是终端设备9的示例,并不构成对终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0080] 所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0081] 存储器91可以是终端设备9的内部存储单元,例如终端设备9的硬盘或内存。存储器91也可以是终端设备9的外部存储设备,例如终端设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器91还可以既包括终端设备9的内部存储单元也包括外部存储设备。存储器
91用于存储计算机程序以及终端设备所需的其他程序和数据。存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
[0082] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0083] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0084] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0085] 在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0086] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0087] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0088] 集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,确定待映射应用程序映射到自由核片区域后,待映射应用程序对应于特定形状映射区域,特定形状映射区域包括矩形或L形映射区域;按照待映射应用程序被映射到自由核片区域后碎片最少的原则,确定待映射应用程序映射到自由核片区域的方案;按照待映射应用程序映射到自由核片区域的方案,将待映射应用程序映射到自由核片区域。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。