发明内容
本发明旨在克服现有技术缺陷,目的在于提供一种基于连接特征的多任务集合划分方法,该方法能够提高多任务集合的划分效率。
为实现上述目的,本发明采用的技术方案的步骤是:
步骤1、建立多任务模型
对于多任务,建立多任务模型G(T,P,Q),其中:
T为任务的集合,T={t0,t1,…,tm}。
P为pij的集合,pij=1表示任务ti与任务tj之间存在着通信关系,pij=0表示任务ti与任务tj之间不存在通信关系。
Q为qij的集合,qij=1表示任务ti与任务tj之间不存在通信关系,但通过任务ti与其他任务之间的通信关系和通过任务tj与其他任务之间的通信关系,任务ti与任务tj能被连通。
多任务模型G(T,P,Q)所具有的属性为:
D(qij)为连通关系qij的属性,表示任务ti与任务tj之间的连通所需要经过的任务数量。
wij是任务ti的属性,wij表示任务ti与任务tj之间的通信量,W为wij的集合。
Li是任务ti的属性,表示与任务ti存在通信关系的任务的数量。
Hi是任务ti的属性,表示任务ti所有通信量之和。
步骤2、计算每个任务的连接特征因子θi
任务ti的连接特征因子θi为:
θi=Li×lg(Hi) (1)
然后对所有任务按照连接特征因子θi的大小进行降序排序,形成多任务集合T’;在排序过程中,如果多个任务具有相同大小的连接特征因子,则按照多个任务的序号大小进行降序排序。
步骤3、建立任务ti的关联任务集合
对于多任务集合T中的任务ti,任务ti的关联任务集合Si为与任务ti具有通信关系或连通关系的所有任务的集合。对于关联任务集合Si中与任务ti具有通信关系的任务tj,Si(tj)=0;对于关联任务集合Si中与任务ti具有连通关系的任务tj,Si(tj)=D(qij)。
其中,Si(tj)是任务ti与任务tj之间的关联所需要经过的任务数量;若Si(tj)=0,表示任务ti与任务tj之间的关联所需要经过的任务数量为0;若Si(tj)=D(qij),表示任务ti与任务tj之间的关联所需要经过的任务数量为D(qij)。
步骤4、按任务关联集合Si对多任务集合T进行划分
按照任务ti的关联性,对多任务集合T根据任务ti之间的关联进行划分,划分为g个相互之间没有任何关联的集合V1,V2,…,Vg。具体步骤是:
步骤4.1、对于任务t0,将任务t0和集合S0中的所有任务加入到集合V1当中。
步骤4.2、对于不在集合V1中的任务ti,将任务ti和集合Si中的所有任务加入到集合V2当中。
步骤4.3、对于不在集合V1和集合V2中的任务tj,将任务tj和集合Sj中的所有任务加入到集合V3当中。
步骤4.4、按照步骤4.1、步骤4.2和步骤4.3进行到第k步时,对于不在集合V1,V2,…Vk-1中的任务tc,将任务tc和集合Sc中的所有任务加入到集合Vk当中;直到完成第g个步骤,多任务集合T划分为集合V1,V2,…,Vg。
步骤5、按照连接特征因子θi进行多任务集合划分
对于步骤4中生成的集合V1,V2,…,Vg进行进一步的划分,具体步骤是:
步骤5.1、设置收敛因子I,I为0或自然数。
步骤5.2、对于集合V1,V2,…,Vg中的一个集合Vi,对于在集合Vi中且多任务集合T’排序第一的任务tx,按照多任务集合T’中的排序,检查任务tx与多任务集合T’中任务ty之间的连通关系;如果Sx(ty)<I,则将任务ty从集合Vi中去除,建立集合Vg+1,并将任务ty加入集合Vi’。
步骤5.3、对所有集合Vi’,均按照步骤5.1和步骤5.2进行操作,直到不再有新的集合生成;其中每次按照步骤5.1操作时,需重新设置收敛因子I。
步骤5.4、对于只有一个任务ti的集合,通过pij找到对应的任务编号最小的任务tj所在的集合,将任务ti所在的集合与任务tj所在的集合合并,划分完成。
由于采用上述技术方案,本发明利用了多任务之间的通信关系和通信量,计算出连接特征因子,并以连接特征因子来对多任务进行划分,从新的角度来实现多任务的快速划分,提高了划分的效率。本发明与现有技术相比,具有如下积极效果:
(1)高效性。片上网络中往往可以支持大量的任务,由于任务数量众多,如何来进行任务集合的划分,从而支持高效的映射、达到对片上网络的有效利用是需要解决的问题。在本发明中,以连接特征因子来进行多任务的划分,减少了划分方法的复杂程度,提高了划分的速度,因此具有较高的效率。
(2)实用性。在现有的任务划分中,多数都采用复杂的方法来实现,尽管可以达到一定的优化效果,但是由于方法复杂,在实现时往往面临着各种实际的问题。本发明中,减少了对条件的依赖,从而降低了方法在实现时的复杂度,从而具有很强的实用性。
因此,本发明适用于对多个任务进行任务集合的划分,充分利用了多个任务之间的连接和通信关系,能够快速有效的将多个任务划分成不同的集合。为多任务管理、多任务调度和多任务映射等提供基本的多任务划分集合,提高管理、调度和映射的效率。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述,并非对其保护范围的限制。
一种基于连接特征的多任务集合划分方法。该方法的步骤如图1所示:
步骤1、建立多任务模型
对于多任务,建立多任务模型G(T,P,Q),其中:
T为任务的集合,T={t0,t1,…,tm}。
P为pij的集合,pij=1表示任务ti与任务tj之间存在着通信关系,pij=0表示任务ti与任务tj之间不存在通信关系。
Q为qij的集合,qij=1表示任务ti与任务tj之间不存在通信关系,但通过任务ti与其他任务之间的通信关系和通过任务tj与其他任务之间的通信关系,任务ti与任务tj能被连通。
多任务模型G(T,P,Q)所具有的属性为:
D(qij)为连通关系qij的属性,表示任务ti与任务tj之间的连通所需要经过的任务数量。
wij是任务ti的属性,wij表示任务ti与任务tj之间的通信量,W为wij的集合。
Li是任务ti的属性,表示与任务ti存在通信关系的任务的数量。
Hi是任务ti的属性,表示任务ti所有通信量之和。
对于具有11个任务的任务集合,其多任务模型G(T,P,Q)如下:
T={t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10}。
P、Q、W如图2所示,pij=1表示两个任务ti和tj之间有连线存在,pij=0表示两个任务ti和tj之间没有连线存在;两个任务ti和tj之间的连线上数字表示wij;如果任何两个任务之间存在连线可以将这两个任务连接在一起,则这两个任务是连通的。
Li值如表1所示:
表1任务的Li值
|
t0 |
t1 |
t2 |
t3 |
t4 |
t5 |
t6 |
t7 |
t8 |
t9 |
t10 |
Li |
4 |
3 |
2 |
2 |
2 |
3 |
2 |
2 |
3 |
4 |
3 |
Hi值如表2所示:
表2任务的Hi值
|
t0 |
t1 |
t2 |
t3 |
t4 |
t5 |
t6 |
t7 |
t8 |
t9 |
t10 |
Hi |
900 |
630 |
500 |
430 |
430 |
780 |
560 |
420 |
650 |
670 |
410 |
步骤2、计算每个任务的连接特征因子θi
任务ti的连接特征因子θi:
θi=Li×lg(Hi) (1)
然后对所有任务按照连接特征因子θi的大小进行降序排序,形成多任务集合T’;在排序过程中,如果两个任务具有相同大小的连接特征因子,则按照多个任务的序号大小进行降序排序。
对于前述具有11个任务的多任务集合T={t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10},
根据表1和表2计算11个任务的连接特征因子如表3所示:
表3任务的连接特征因子θi
|
t0 |
t1 |
t2 |
t3 |
t4 |
t5 |
t6 |
t7 |
t8 |
t9 |
t10 |
θi |
11.817 |
8.398 |
5.398 |
5.267 |
5.267 |
8.676 |
5.496 |
5.246 |
8.439 |
11.304 |
7.838 |
按照连接特征因子θi的大小进行排序后形成的新集合T’为:
T’={t0,t9,t5,t8,t1,t10,t6,t2,t3,t4,t7}。
步骤3、建立任务ti的关联任务集合
对于多任务集合T中的任务ti,任务ti的关联任务集合Si为与任务ti具有通信关系或连通关系的所有任务的集合。对于关联任务集合Si中与任务ti具有通信关系的任务tj,Si(tj)=0;对于关联任务集合Si中与任务ti具有连通关系的任务tj,Si(tj)=D(qij)。
其中,Si(tj)是任务ti与任务tj之间的关联所需要经过的任务数量;若Si(tj)=0,表示任务ti与任务tj之间的关联所需要经过的任务数量为0;若Si(tj)=D(qij),表示任务ti与任务tj之间的关联所需要经过的任务数量为D(qij)。
对于具有11个任务的任务集合,其多任务模型G(T,P)如下:
T={t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10};
则按照图2所示,其关联任务集合如表4所示:
表4任务的关联任务集合
步骤4、按任务关联集合对多任务集合进行划分
按照任务ti的关联性,对多任务集合T根据任务ti之间的关联进行划分,划分为g个相互之间没有任何关联的集合V1,V2,…,Vg。具体步骤是:
步骤4.1、对于任务t0,将任务t0和集合S0中的所有任务加入到集合V1当中。
步骤4.2、对于不在集合V1中的任务ti,将任务ti和集合Si中的所有任务加入到集合V2当中。
步骤4.3、对于不在集合V1和集合V2中的任务tj,将任务tj和集合Sj中的所有任务加入到集合V3当中。
步骤4.4、按照步骤4.1、步骤4.2和步骤4.3进行到第k步时,对于不在集合V1,V2,…Vk-1中的任务tc,将任务tc和集合Sc中的所有任务加入到集合Vk当中;直到完成第g个步骤,多任务集合T划分为集合V1,V2,…,Vg。
对于具有11个任务的任务集合,其多任务模型G(T,P)如下:
T={t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10}。
则划分出的集合如下所示:
步骤4.1、V1={t0,t1,t5,t8,t9,t10,t3,t4}。
步骤4.2、V2={t2,t6,t7}。
步骤5、按照连接特征因子进行多任务集合划分
对于步骤4中生成的V1,V2,…,Vg进行进一步的划分,具体步骤是:
步骤5.1、设置收敛因子I,I为0或自然数。
步骤5.2、对于集合V1,V2,…,Vg中的一个集合Vi,对于在集合Vi中且多任务集合T’排序第一的任务tx,按照多任务集合T’中的排序,检查任务tx与多任务集合T’中任务ty之间的连通关系;如果Sx(ty)<I,则将任务ty从集合Vi中去除,建立集合Vg+1,并将任务ty加入集合Vi’。
步骤5.3、对所有集合Vi’,均按照步骤5.1和步骤5.2进行操作,直到不再有新的集合生成;其中每次按照步骤5.1操作时,需重新设置收敛因子I。
步骤5.4、对于只有一个任务ti的集合,通过pij找到对应的任务编号最小的任务tj所在的集合,将任务ti所在的集合与任务tj所在的集合合并,划分完成。
对于具有11个任务的任务集合,其多任务模型G(T,P)如下:
T={t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10}。
按步骤4,划分出的集合V为:
V1={t0,t1,t5,t8,t9,t10,t3,t4}。
V2={t2,t6,t7}。
设置收敛因子为8,则对于V1,由于t10,t3,t4这三个任务中,S0(t10)、S0(t4)和S0(t3)均大于收敛因子8,则t10,t3,t4被加入新的集合V3。
再次设置新的收敛因子5,则t10,t3,t4所构成的集合V3不再调整;
对于V2,设置新的收敛因子为5,则V2不再调整;
划分后的集合为:
V1={t0,t9,t5,t8,t1}
V2={t2,t6,t7}
V3={t10,t3,t4}
本具体实施方式利用了多任务之间的通信关系和通信量,计算出连接特征因子θi,并以连接特征因子θi来对多任务进行划分,从新的角度来实现多任务的快速划分,提高了划分的效率。本发明与现有技术相比,具有如下积极效果:
(1)高效性。片上网络中往往可以支持大量的任务,由于任务数量众多,如何来进行任务集合的划分,从而支持高效的映射、达到对片上网络的有效利用是需要解决的问题。在本发明中,以连接特征因子θi来进行多任务的划分,减少了划分方法的复杂程度,提高了划分的速度,因此具有较高的效率;
(2)实用性。在现有的任务划分中,多数都采用复杂的方法来实现,尽管可以达到一定的优化效果,但是由于方法复杂,在实现时往往面临着各种实际的问题。本发明中,减少了对条件的依赖,从而降低了方法在实现时的复杂度,从而具有很强的实用性。
因此,本发明适用于对多个任务进行任务集合的划分,充分利用了多个任务之间的连接和通信关系,能够快速有效的将多个任务划分成不同的集合。为多任务管理、多任务调度和多任务映射等提供基本的多任务划分集合,提高管理、调度和映射的效率。