一种可区域扩展重映射的动态任务调度方法

文档序号:31073425发布日期:2022-08-09 21:23阅读:68来源:国知局
一种可区域扩展重映射的动态任务调度方法

1.本技术涉及多核微处理器任务调度的技术领域,具体而言,涉及一种可区域扩展重映射的动态任务调度方法。


背景技术:

2.随着计算机技术和微电子技术的快速发展,具有多个计算内核的微处理器,即多核处理器应运而生,多核处理器分为同构多核处理器和异构多核处理器,其中,异构多核处理器在一块芯片上集成了多个不同结构的内核,因此,异构多核处理器可依据任务特性将其任务分配至适合的处理内核进行处理。
3.在异构多核处理器系统中,如何充分利用性能不同的处理器资源,采用何种任务分配策略对这些资源进行管理,如何实现处理器资源的自动调节和负载均衡,同时又保持任务分配的灵活性、可塑性,是异构多核环境下资源调度和管理的关键问题,这将对充分利用处理器资源,发挥异构多核处理器系统的特点具有极其重要的意义。
4.而现有技术中,针对于解决异构多核处理器系统任务调度问题的方法主要分为两大类,其一是静态任务调度技术,其二是动态调度技术。在此类任务调度技术中,任务执行之前通常需要利用调度算法对任务进行了分配,但是没有对任务调度空间进行大范围的搜索,导致任务映射链路可能存在拥堵的情况,同时存在无法获得局部最优或者全局最优的映射链路,导致任务链路具有一定的局限性,进而影响了异构多核系统的计算性能。


技术实现要素:

5.本技术的目的在于:如何扩大任务调度的搜索映射空间,通过动态生成任务映射链路的方式,提升异构多核处理器系统的计算性能。
6.本技术的技术方案是:提供了一种可区域扩展重映射的动态任务调度方法,该方法包括:步骤100:根据异构多核处理器系统中各节点的网路布局,对后继任务进行预映射,通过预映射方式,检测确定执行后续任务的预映射节点,并标记对应的预映射链路;步骤200,启动拥塞感知算法,当判定预映射节点被占用或者预映射链路存在拥塞时,根据拥塞的预映射链路或者被占用的预映射节点,确定待重映射任务,对待重映射任务进行重映射,并判断重映射后的待重映射任务对应的映射链路与预映射链路之间是否链路相关,若否,根据映射链路更新预映射链路,并上传更新后的预映射链路对应的节点坐标,若是,执行步骤300;步骤300,将链路相关的预映射链路对应的后继任务进行重映射,重复执行步骤200,对链路相关进行检测,当判定后继任务均对应一条不相关的预映射链路时,上传预映射链路对应的节点坐标,否则,执行步骤400;步骤400,以源节点src为中心,选取中继节点,并以中继节点为新的源节点src,重新对链路相关的待重映射任务进行映射,并执行步骤300。
7.上述任一项技术方案中,进一步地,后继任务为下一时刻需要执行且任务状态为“计算完成、数据未发出”的任务。
8.上述任一项技术方案中,进一步地,后继任务的预映射链路由源节点src、有限跳
数以及后继任务信息确定,其中,后继任务信息用于确定执行后继任务的节点坐标信息、方位信息。
9.上述任一项技术方案中,进一步地,步骤200中,待重映射任务包括:当前进行预调度的后继任务仅能由已预映射任务的目的节点dst执行时的已预映射任务,或者,具有相同的拥塞预映射链路的已预映射任务。
10.上述任一项技术方案中,进一步地,待重映射任务还包括:与当前进行预调度的后继任务的链路存在链路相关的链路对应的已预映射任务,步骤200中还包括:当判定待重映射任务仅能由与执行当前进行预调度的后继任务的目的节点dst执行时,执行步骤400。
11.上述任一项技术方案中,进一步地,选取中继节点,具体包括:以源节点src为x-y坐标原点,以有限跳数为距离,选取xy轴上状态为空闲的节点作为中继节点,或者,以源节点src为中心点,以有限跳数为曼哈顿距离,构建菱形区域,选取菱形区域边界上状态为空闲的节点作为中继节点,或者,以源节点src为中心点,以有限跳数为曼哈顿距离,构建菱形区域,选取菱形区域内状态为空闲的节点作为中继节点。
12.本技术的有益效果是:
13.本技术中的技术方案,利用拥塞感知算法、重映射算法和预映射区域扩展算法,并将三种调度机制配合使用,考虑到任务调度的实时变化性,为映射任务寻找合适节点,扩大任务调度的搜索映射空间,可动态生成任务映射链路,有利于提高任务调度列表的调度效果和应用程序内部任务之间执行的并行性,减少了任务调度的调度长度和任务执行过程中的整体执行时间,提高了异构多核微处理器系统的运算效率。
14.本技术基于可区域扩展重映射的动态任务调度方法,在面对粗粒度异构多核片上系统采用预调度机制,将调度时间隐藏在任务执行阶段。在预调度阶段利用任务关系依赖表分析任务执行的先后顺序,保证数据的安全性,在预映射阶段使用拥塞感知检测确保任务映射链路的畅通,使用重映射机制可以解决动态映射带来的局部最优,而无法达到全局最优的缺陷,保证任务动态映射的整体性,从而提高异构多核处理器系统的计算性能。
附图说明
15.本技术的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:
16.图1是根据本技术的一个实施例的可区域扩展重映射的动态任务调度方法的示意流程图;
17.图2是根据本技术的一个实施例的东北象限拥塞感知的示意图;
18.图3是根据本技术的一个实施例的任务节点映射的示意图;
19.图4是根据本技术的一个实施例的重映射过程的示意图;
20.图5是根据本技术的一个实施例的任务节点重映射方法的示意图;
21.图6是根据本技术的一个实施例的任务节点重映射过程的示意图;
22.图7是根据本技术的一个实施例的中继节点搜索的示意图;
23.图8是根据本技术的一个实施例的中继节点改变的示意图。
具体实施方式
24.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和具体实施方式对本技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互结合。
25.在下面的描述中,阐述了很多具体细节以便于充分理解本技术,但是,本技术还可以采用其他不同于在此描述的其他方式来实施,因此,本技术的保护范围并不受下面公开的具体实施例的限制。
26.如图1所示,本实施例提供了一种可区域扩展重映射的动态任务调度方法,该方法包括:
27.步骤100:根据异构多核处理器系统中各节点的网路布局,对后继任务进行预映射,通过预映射方式,检测确定执行后续任务的预映射节点,并标记对应的预映射链路;
28.具体的,本实施例以异构多核处理器系统中的常规链路映射方法为基准,如x-y回退转向路由算法,在执行当前任务时,对下一时刻需要执行的任务进行预映射,确定预映射链路、预映射节点以及预映射信息等,其中,预映射链路的起始点为源节点src,终止点为预映射节点,可记作目的节点dst。
29.需要说明的是,本实施例中当前所有任务的处理都是预先映射调度,也就是说,当前系统是正常工作,需要根据任务之间的对应关系,提前将多个任务进行排序执行,以达到最大发挥系统工作效率,尽量使得多个任务并行。其中,预映射任务指的是在对任务进行预调度过程中,当前进行调度排序的任务。
30.对于源节点src而言,如果当前任务有前驱任务时,则源节点src默认为执行前驱任务的节点;如果没有前驱任务,则源节点src为ddr存储器所在节点。
31.对于下一时刻需要执行的任务而言,通过收集节点状态网上传的节点状态和链路状态,并将收集到任务状态为“计算完成、数据未发出”所对应任务的任务信息与缓存中待发射任务列表进行任务匹配,将待发射任务列表中状态为“计算完成、数据未发出”的任务的输出任务作为下一时刻需要执行的任务,记作后继任务,并获取后继任务的后继任务信息,其中,后继任务信息至少包括任务的类型(指令驱动和数据驱动)、任务数据输入用时、任务计算用时、任务数据输出用时以及任务在源节点坐标和任务的传输方式(强写回任务、弱写回任务、链任务)。
32.本实施例中,强写回任务指任务的结果数据强制写回ddr存储器;弱写回任务指任务的结果数据的去向由动态映射决定;链任务指任务经过的资源节点的个数大于1个。
33.将获取到的后继任务信息与预映射得到的预映射信息进行匹配、解码后,获得用于执行后继任务的节点坐标信息、方位信息。
34.之后,由当前异构多核处理器系统中各节点的网路布局,确定源节点src以及xy二维坐标轴,进行后继任务的预映射。
35.具体的,通过查询节点状态网对应的任务节点状态表,可以得到当前时刻的各节点的状态信息(空闲、忙碌),以源节点src为基准,找到有限跳内的空闲节点,以固定优先级顺序查询有限跳数内的所有目的空闲节点到源节点src之间的链路状态,直到找到一个满足节点空闲且链路畅通的后继任务节点,完成后继任务的预映射。
36.本实施例中,查询节点固定优先级顺序为先查询以中心坐标轴上节点,再查询象
限内的节点。查询链路的顺序为以源节点src到目的空闲节点构成的最小矩形内所有链路。
37.在完成对当前任务的预调度后,对后续任务进行调度时,会根据先前已完成预调度任务的预映射链路以及节点状态信息进行查询,若是成功找到合适节点,可以完成此后继任务的调度。
38.步骤200,启动拥塞感知算法,当判定预映射节点被占用或者预映射链路存在拥塞时,根据拥塞的预映射链路或者被占用的预映射节点,确定待重映射任务,对待重映射任务进行重映射,并判断重映射后的待重映射任务对应的映射链路与预映射链路之间是否链路相关,若否,根据映射链路更新预映射链路,并上传更新后的预映射链路对应的节点坐标,若是,执行步骤300;
39.具体的,如果判定链路不相关,即预映射链路不存在拥塞,则根据重映射得到的映射链路更新预映射链路,并上传更新后的预映射链路对应的节点坐标,作为执行后继任务的节点,此时,预映射链路可被记作已预映射链路;如果判定链路相关,则执行步骤300。
40.如图2所示,以二维网格为15*9的多核系统网络布局为例,对上述预映射过程进行说明,设定有限跳数为3,对四个后继任务1、2、3、4进行预映射。
41.首先,通过任务节点状态表对各个节点的状态信息进行查询记录,根据任务节点状态表得到任务节点的状态信息,找到3跳内状态信息为空闲的节点,记作目的空闲节点,查询目的空闲节点到源节点src的链路状态信息。
42.以源节点src为中心点,建立直角坐标系,八个方向上距离中心点三跳范围内的区域,以东北象限为例,图中坐标为中心点坐标的偏移量。例如,对于在中心点北方向的点(0,3),需要检测链路(n-nn-nnn)是否拥塞;对于在中心点北方向的点(0,2),需要检测链路(n-nn)是否拥塞。
43.该象限内的节点只需要在3条或者2条链路中有1条不拥塞的链路,就可认为此映射节点执行后继任务时不会产生链路拥塞,例如,该象限内的点(1,1)需要检测链路(e-en)和(n-ne)中是否有1条链路未拥塞,点(1,2)需要按优先级顺序,在点(1,1)检查完成后,再检测其相应链路是否拥塞,其他点检测的方式都同理,不再赘述。
44.如图3所示,四个后继任务分别由节点a、b、c、d按照时间顺序进行映射,根据拥塞感知算法,源节点src在有限跳数内寻找到任务类型匹配的目的空闲节点,且满足源节点src至该目的空闲节点链路通畅。
45.通过节点寻找可知:源节点src到节点a链路(e-en)畅通,且目的空闲节点(节点a)为空闲状态;源节点src到节点b链路(s)畅通,且目的空闲节点(节点b)为空闲状态;源节点src到节点c链路(n-nn-nne)畅通,且目的空闲节点(节点c)为空闲状态;即从源节点src依次到节点a、b、c都无链路相关。
46.当后继任务4由节点d执行、进行节点预映射时,根据“x-y回退转向路由算法”,设定遍历3跳内预映射所有节点,只有节点d类型匹配且节点空闲,但是其一链路(e-ee-een)与执行任务1的节点a所在链路(e-en)冲突(拥塞),其二链路(n-ne-nee)与任务c节点链路(n-nn-nne)冲突(拥塞)。
47.因此,对于执行后继任务4的符合条件的节点与已预映射的任务节点a和c都存在链路相关,即有重复路径,且实际工作中无法判断该路径何时被上一任务释放,执行任务4的预映射链路链路拥塞,将任务4作为待重映射任务。
48.本实施例中,待重映射任务为当前进行预调度的后继任务仅能由已预映射任务的目的节点dst执行时的已预映射任务,或者,具有相同的拥塞预映射链路的已预映射任务。
49.具体的,已预映射任务指的是先前已完成预调度的后继任务。但是,在实际情况中,如果当前进行预调度的后继任务在有限区域内找不到合适的空闲且链路通畅的节点,为了保证当前预调度的后继任务也可以顺利执行,可以将之前已经调度安排好的已预映射任务重新规划节点和路线。
50.因此,当前任务的调度与已预映射的任务存在以下两种情况:
51.情况1.在任务类型状态检查时,发现目的节点处于虚锁忙碌状态,即所选中的目的节点被占用,当前任务不可使用此节点,且此时目的节点dst状态未改变。
52.情况2.在链路拥塞判断时,发现源节点src到目的节点dst的链路处于拥塞。
53.针对第一种情况:当判定当前进行预调度的后继任务仅能由已预映射任务的目的节点dst执行时,将已预映射任务记作待重映射任务i(0,1,2,3,
……
)。
54.具体的,假设任务1、2、3(按时间先后顺序),任务1选择a节点,任务2选择b节点,任务3选择c节点。在对任务4进行预调度时,根据有限跳数内,如果只有a节点可以完成任务4的执行计算,但a节点已被分配执行任务1,即a节点作为已预映射任务1的目的节点dst,因此将任务1记为待重映射任务i(根据实际情况计数),送入待重映射任务堆中。
55.针对第二种情况:将具有相同的拥塞预映射链路的已预映射任务,记待重映射任务n(0,1,2,3,
……
)。
56.具体的,假设任务1、2、3(按时间先后顺序),任务1选择a节点,任务2选择b节点,任务3选择c节点。在对任务4进行预调度时,根据有限跳数内,如果只有d节点可以完成任务4的计算,然而根据链路相关性,即源节点src到d节点之间的链路(e-ee-een)与源节点src到a节点链路(e-en)有重复链路,为相同的拥塞预映射链路,因此,将已预映射任务1记为待重映射任务i(根据实际情况计数),送入待重映射任务堆中。
57.进一步的,待重映射任务还包括:与当前进行预调度的后继任务的链路存在链路相关的链路对应的已预映射任务。
58.具体的,假设任务1、2、3(按时间先后顺序),任务1选择d节点,任务2选择a节点,任务3选择c节点。当前对预映射任务4进行调度,根据有限跳数内,只有d节点可以完成任务4的计算,因此将任务1记为待重映射任务i(根据实际情况对i计数)。此时,节点d让出,可得到执行任务4的预映射链路(e-ee-een),遍历所有已预映射且未正式发射任务对应的链路,可发现执行任务2的节点a对应的链路(e-en)与链路(e-ee-een)相关,存在重复路径,此时,将任务2记为待重映射任务i+1,送入待重映射任务堆中。
59.因此,经过上述过程,后继任务被划分为待重映射任务和已预映射任务,其中,已预映射任务对应一条已预映射链路,待重映射任务则存储在待重映射任务堆中。
60.需要说明的是,当判定待重映射任务仅能由与执行当前进行预调度的后继任务的目的节点dst执行时,执行步骤400。
61.具体的,当任务1将d节点让出后,如果有限跳数内,同样只有d节点能够执行任务1,则采用预映射区域扩展,执行步骤400。
62.如图4所示,在本实施例的重映射过程中,遍历待重映射任务堆中待重映射任务i到已预映射任务中间的所有后继任务,查询待重映射任务i与中间所有任务之间是否存在
链路相关。如果存在链路相关,那么将该待重映射任务i标记为待重映射任务i+1,送入待重映射任务堆中。
63.查询待重映射的任务1与后续节点b、c、d的链路相关性,其中,节点b、c、d将执行的任务为已预映射任务,对应的链路为预映射链路。现在节点b的链路(s)和c的链路(n-nn-nne)不变,任务d的链路为(e-ee-een)。假设待重映射的任务1重新映射至节点a',源src至a'的链路为(w),如图5所示。
64.先将节点a'与节点b进行链路相关性分析,可知两节点之间并无链路相关,同理检测a'与c、d之间的链路相关性,这些节点之间并无链路相关,则将上述链路对应的节点坐标上传,将节点a'、b、c、d作为执行任务1-4的节点。否则,执行步骤300。
65.步骤300,将链路相关的预映射链路对应的后继任务进行重映射,重复执行步骤200,对链路相关进行检测,当判定后继任务均对应一条不相关的预映射链路时,上传预映射链路对应的节点坐标,否则,执行步骤400;
66.具体的,如图6所示,采用循环判断的方式,当判定节点a'与执行后续任务的节点之间存在链路相关性,如与节点c的链路相关,则先将a'节点确定,之后将存在链路相关性的节点c(预映射链路)对应的后继任务(任务3)记为待重映射任务i+1,送入待重映射堆中,对任务3进行重映射,如映射至节点h,再次判断任务3重映射后的映射链路(节点h)与节点a'、b、d之间是否链路相关,即判断是否后继任务均对应一条预映射链路。
67.若本次重映射可以将与a'节点存在链路相关性的任务都进行重新分配,那么本次对于任务4的重映射工作完成,将上述链路对应的节点坐标上传,将节点a'、b、h、d作为执行任务1-4的节点。
68.若由于a'节点的确定导致任务3无法找到合适节点,那么对于任务4的重映射工作失败,回收此次重映射过程中所有待重映射任务,按照原先调度方案进行,即任务1-3分别由节点d、a、c执行,将不可重映射的任务4确定为待重映射任务,使用预映射区域扩展方案,执行步骤400。
69.由于待重映射任务i+1与待重映射任务i存在链路相关,一旦待重映射任务i进行重映射后,没有按照原有链路标记进行任务通信传输,重映射任务i+1也不会按照原有链路标记进行任务通信传输。所以,还需要遍历正式调度列表待重映射任务i+1到预映射任务中间的所有任务,寻找是否有与待重映射任务i+1链路相关的任务,继续标记,并将其送入待重映射任务堆中。
70.以上述情况为例,由于是动态预调度算法,即每次对任务重新映射分配后,其各个节点以及链路的状态会刷新,因此该步骤主要是按照先后顺序将待重映射任务i依次进行分配节点以及链路,每次分配都会直接导致后续任务的节点或者链路发送变化,故当重映射任务x(待重映射任务i)的时候,会与剩余的其他待重映射任务进行链路相关性分析。
71.同理,待重映射任务i+n-1若继续匹配到链路相关任务,将其任务标记为待重映射任务i+n,如此反复将相互存在链路相关性的任务进行标记,一直查询到不具有相关性或者最后一条任务为止。将所有标记的任务放入待重映射任务堆中。
72.通过检查是否可以消除链路相关,记录可以寻找到任务链路无关的节点的任务;将前面栈中的待重映射任务i依次从栈中弹出,访问量化统计列表,遍历剩下目的信息,寻找一个链路与待重映射任务到预映射任务之间的任务链路无关的节点。如果可以找到,记
录此信息。
73.如上述实施例提及源节点src至a'的链路(w)与节点b的链路(s)和c的链路(n-nn-nne)无关,a'记作已预调度任务,继续从栈中弹出下一个待重映射任务i+1,继续使用拥塞感知、重映射的方法尝试寻找合适节点。
74.同理,继续弹出下一个待重映射任务,再次访问量化统计列表,遍历剩下目的信息,寻找一个链路与待重映射任务到预映射任务之间的任务链路无关的节点,记录其节点信息。
75.在这个过程中,出现无法消除链路相关性,将退出重映射过程,执行步骤400,采用预映射区域扩展。若检查全部可以消除,上传映射链路与预映射链路对应的节点坐标,利用当前的链路对应的节点坐标,作为执行后继任务的节点。
76.步骤400,以源节点src为中心,以有限跳数为距离,选取中继节点,并以中继节点为新的源节点src,重新对链路相关的待重映射任务进行映射,并执行步骤300。当判定无法对全部的待重映射任务进行映射,
77.确定节点时,执行错误机制,暂停当前任务,选择一个距离最近的点,动态检测此节点到src的拥塞链路,待到链路拥塞结束后,上传映射链路与预映射链路对应的节点坐标。
78.具体的,启动预映射区域扩展方案,通过扩大映射区域进行拥塞感知和重映射算法寻找合适任务节点;由于拥塞感知方案和重映射方案在源映射区域内寻找不到合适的目的节点,因此,需要在预设有限跳数之外寻找后继节点。
79.本实施例通过后继节点的确定进而扩展预映射区域,在扩展区域内再次使用拥塞感知和重映射方案寻找合适目的节点。在目的节点的选取过程中,源节点到目的节点之间的链路关系必须满足“x-y回退转向路由算法”。在系统支持的网络布局中,可以进行多次预映射区域扩展,在约束条件下找到合适目的节点进行上传。若无法确定此任务的目的节点,将此任务暂停,等待合适时机重新映射。
80.本实施例中,以源节点src为中心,按照中继节点选取约束条件和优先选取规则,寻找合适的节点作为中继节点;其中,
81.中继节点选取约束条件如下:
82.1.与源节点src的曼哈顿距离为预设有限跳数的节点;
83.2.中继节点的节点接口ni状态空闲,即该节点可用。
84.中继节点优先选取规则如下:
85.1.以源节点src为x-y坐标原点,优先选取xy轴上状态为空闲的节点,此时,中继节点的可扩展区域最大;
86.2.以源节点src为中心点构成的菱形区域的边界上状态为空闲的节点,此时,中继节点的可扩展区域一般;
87.3.以源节点src为中心点构成的菱形区域的边界内状态为空闲的节点,此时,中继节点的可扩展区域相对较小;
88.假设当前预调度任务e在上述步骤中未能找到合适的节点,则通过预映射区域选取中继节点,进而将映射区域扩大,选取合适目的节点。如图7所示,当选取坐标(3.0)为中继节点时,可以额外扩展16个节点,如图7(a),当选取坐标(2.1)为中继节点时,可以额外扩
展13个节点,如图7(b),对比可知选取源节点src为相对坐标原点,相对坐标(3.0)节点比坐标(2.1)节点为中继节点,在搜索范围上多了3个节点区域,故选取坐标节点(3.0)为中继节点。所以,中继节点的选择具有一定的优先级别。
89.待确定中继节点后,按照目的节点选取约束条件,寻找合适的目的节点;由中继节点为相对源节点对扩展区域内的节点按照一定的约束条件选取目的节点,优先选择可扩展区域大的中继节点进行目的节点的搜索,若搜索到满足约束条件的节点则上传信息,否则根据优先级别更换中继节点重新进行遍历扩展区域内的节点,直至寻找到合适的目的节点,否则将此任务暂停,等待合适时机重新映射。
90.扩展区域内目的节点选取约束条件:
91.1.与后继任务类型匹配;
92.2.节点空闲;
93.3.中继节点到目的节点存在畅通链路;
94.4.源节点src至目的节点之间链路符合“基于x-y回退转向路由算法”;
95.5、源节点与目的节点形成的矩形区域内必须包括中继节点。
96.当判定预映射区域扩展方案可以将当前映射任务合理分配任务节点后,即可上传映射链路与预映射链路对应的节点坐标。
97.具体的,确定中继节点后,可以采用多路并行的方式搜索3跳的区域内节点,如果选用的中继节点三跳内还未寻找到合适目的节点,则可使用继续寻找中继节点的方法继续扩大搜索范围,直至系统支持的有限网络布局中找到合适的目的节点。若未找到合适节点,则将其任务暂停,执行步骤s60。
98.如图8所示,源节点的一个中继节点(relay,rly)rly0搜索到与后继任务类型匹配的dst1节点和dst2节点,虽然dst1节点满足当前网络路由算法(src到dst1形成的矩形域内包括中继节点rly0),但是dst1的链路别其他任务占用,故dst1不可以作为目的节点;dst2节点不满足网络路由算法(src到dst1形成的矩形域内不包括中继节点rly0)。同时扩展区域内没有其他适合的节点,故采用继续寻找rly1作为其中的一个中继节点,去寻找满足约束条件的节点。若以rly1为中继节点扩展的区域内仍未找到合适节点,那么继续寻找中继节点进行寻找目的节点,直到全局搜索完成,上传映射链路与预映射链路对应的节点坐标。
99.以上结合附图详细说明了本技术的技术方案,本技术提出了一种可区域扩展重映射的动态任务调度方法,包括:步骤100:根据异构多核处理器系统中各节点的网路布局,对后继任务进行预映射,通过预映射方式,检测确定执行后续任务的预映射节点,并标记对应的预映射链路;步骤200,启动拥塞感知算法,当判定预映射节点被占用或者预映射链路存在拥塞时,根据拥塞的预映射链路或者被占用的预映射节点,确定待重映射任务,对待重映射任务进行重映射,并判断重映射后的待重映射任务对应的映射链路与预映射链路之间是否链路相关,若否,根据映射链路更新预映射链路,并上传更新后的预映射链路对应的节点坐标,若是,执行步骤300;步骤300,将链路相关的预映射链路对应的后继任务进行重映射,重复执行步骤200,对链路相关进行检测,当判定后继任务均对应一条不相关的预映射链路时,上传预映射链路对应的节点坐标,否则,执行步骤400;步骤400,以源节点src为中心,选取中继节点,并以中继节点为新的源节点src,重新对链路相关的待重映射任务进行映射,并执行步骤300。通过本技术中的技术方案,扩大任务调度的搜索映射空间,通过动态生成
任务映射链路的方式,提升异构多核处理器系统的计算性能。
100.本技术中的步骤可根据实际需求进行顺序调整、合并和删减。
101.本技术装置中的单元可根据实际需求进行合并、划分和删减。
102.尽管参考附图详地公开了本技术,但应理解的是,这些描述仅仅是示例性的,并非用来限制本技术的应用。本技术的保护范围由附加权利要求限定,并可包括在不脱离本技术保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1