一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法
【專利摘要】本發(fā)明公開了一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法,包括如下步驟:S10:建立片上網(wǎng)絡(luò)拓?fù)淠P?;S11:建立多任務(wù)模型;S12:確定約束條件;S13:建立映射集合;S14:進(jìn)行任務(wù)與片上網(wǎng)絡(luò)之間的映射。本發(fā)明一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法針對(duì)片上網(wǎng)絡(luò)中多任務(wù)建立模型,分析多任務(wù)之間的關(guān)系,然后將任務(wù)在通信延遲和能耗的雙重約束下進(jìn)行映射,從而提高映射效率,降低映射功耗。
【專利說(shuō)明】一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于片上網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,涉及一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法。
【背景技術(shù)】
[0002]隨著通用處理器的主頻突破4GHz,人們發(fā)現(xiàn)單一提升主頻的做法已經(jīng)不能再有效地提高性能,反而卻帶來(lái)了功耗的急劇上漲,高頻率的道路逐漸走到了盡頭。于是對(duì)于計(jì)算機(jī)處理器的研究開始轉(zhuǎn)向多處理核心的方向。早期的對(duì)稱多處理器(SMP)多是采用在同一計(jì)算機(jī)上匯集一組CPU的方式,它們之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。之后,由于納米級(jí)制造工藝的引入,SMP開始轉(zhuǎn)變?yōu)閱涡酒嗵幚砥?Chip Multiprocessor, CMP),即在同一芯片上集成多個(gè)處理核心,形成了現(xiàn)在我們所說(shuō)的多核處理器。處理器本身的結(jié)構(gòu)關(guān)系到整個(gè)芯片的面積、功耗和性能。如何繼承和發(fā)展傳統(tǒng)處理器的成果直接影響到多核處理器的性能和實(shí)現(xiàn)周期。
[0003]多核處理器的各處理核執(zhí)行的程序之間有時(shí)需要進(jìn)行數(shù)據(jù)共享與同步,因此其硬件結(jié)構(gòu)必須支持核間通信。高效的通信機(jī)制是多核處理器高性能的重要保障。目前片上高效通信機(jī)制通常有兩種:基于共享總線的cache結(jié)構(gòu),基于片上網(wǎng)絡(luò)的互連結(jié)構(gòu)。基于共享總線的cache結(jié)構(gòu)是指每個(gè)處理核擁有共享的二級(jí)或三級(jí)cache,用于保存比較常用的數(shù)據(jù),并通過(guò)總線進(jìn)行通信。這種系統(tǒng)的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,通信速度快;缺點(diǎn)是可擴(kuò)展性差。
[0004]共享總線顯然無(wú)法滿足大規(guī)模系統(tǒng)的需要。把互連網(wǎng)絡(luò)用于片上系統(tǒng)設(shè)計(jì),解決片上組件之間的通訊問(wèn)題,這就是片上網(wǎng)絡(luò)。片上網(wǎng)絡(luò)(-NetworkOn Chip, NoC)技術(shù)以其支持同時(shí)訪問(wèn)、可靠性高、可重用性高等特點(diǎn)被認(rèn)為是更加理想的大規(guī)模CMP互連技術(shù),其克服了總線結(jié)構(gòu)可擴(kuò)展性差的缺點(diǎn),為10億晶體管時(shí)代提供了一種可行的片上系統(tǒng)通訊機(jī)制。
[0005]在片上網(wǎng)絡(luò)中,如何將任務(wù)映射到片上網(wǎng)絡(luò)的處理器核上是非常重要的問(wèn)題。一方面需要滿足任務(wù)之間的通信延遲的約束;另一方面,由于片上網(wǎng)絡(luò)中通信能耗較高,需要盡可能的降低通信能耗?,F(xiàn)有的映射方法往往采用復(fù)雜的方法來(lái)進(jìn)行映射,需要耗費(fèi)大量的時(shí)間來(lái)進(jìn)行映射過(guò)程的計(jì)算,這在某種程度上也增加了能耗。
【發(fā)明內(nèi)容】
[0006]為解決上述問(wèn)題,本發(fā)明的目的在于提供一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為:
[0008]一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法,包括如下步驟:
[0009]SlO:建立片上網(wǎng)絡(luò)拓?fù)淠P停?br>
[0010]Sll:建立多任務(wù)模型;
[0011]S12:確定約束條件;
[0012]S13:建立映射集合;
[0013]S14:進(jìn)行任務(wù)與片上網(wǎng)絡(luò)之間的映射。[0014]進(jìn)一步地,步驟S14中,對(duì)任務(wù)集合T,按照任務(wù)的f值進(jìn)行降序排序,如果兩個(gè)或兩個(gè)以上任務(wù)的f值相同,則按照任務(wù)的W值進(jìn)行排序。
[0015]進(jìn)一步地,步驟S14中,對(duì)處理器核集合C,按照處理器核的h值對(duì)處理器核進(jìn)行降序排序。
[0016]進(jìn)一步地 ,步驟S14中,從任務(wù)集合中取出第一個(gè)任務(wù)TC’,將其映射到所有處理器核中具有最大h值的處理器核。
[0017]相較于現(xiàn)有技術(shù),本發(fā)明一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法針對(duì)片上網(wǎng)絡(luò)中多任務(wù)建立模型,分析多任務(wù)之間的關(guān)系,然后將任務(wù)在通信延遲和能耗的雙重約束下進(jìn)行映射,從而提高映射效率,降低映射功耗。
【專利附圖】
【附圖說(shuō)明】
[0018]圖1是本發(fā)明的方法流程圖示。
[0019]圖2為本發(fā)明一實(shí)施例具有9個(gè)處理器核的片上網(wǎng)絡(luò)的示意圖。
[0020]圖3為本發(fā)明一實(shí)施例對(duì)于6個(gè)任務(wù)的多任務(wù)模型通信關(guān)系圖。
[0021]【具體實(shí)施方式】
[0022]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]如圖1所示,本發(fā)明一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法包括如下步驟:
[0024]SlO:建立片上網(wǎng)絡(luò)拓?fù)淠P?br>
[0025]對(duì)于片上網(wǎng)絡(luò),用N(C,P)表示,其中C是處理器核Cn的集合,P是通路Pij的集合;其中,Pij表示從處理器核Ci到處理器核Cj的一條通路。而S= I Ci —CjI表示從處理器核Ci到處理器核Cj所經(jīng)過(guò)的片上網(wǎng)絡(luò)路由器的數(shù)量;Ebit表示Ibit數(shù)據(jù)在兩個(gè)相鄰處理器核之間進(jìn)行傳輸時(shí)的平均能耗表示Ibit數(shù)據(jù)在片上網(wǎng)絡(luò)路由器上經(jīng)過(guò)時(shí)的平均能耗;Lbit表示Ibit數(shù)據(jù)在兩個(gè)相鄰處理器核之間進(jìn)行傳輸時(shí)的平均延遲表示Ibit數(shù)據(jù)在片上網(wǎng)絡(luò)路由器上經(jīng)過(guò)時(shí)的平均延遲;h(Ci)表示處理器核Ci在所有方向直接連接的處理器核的數(shù)量;C(Cj)表示與處理器核Ci具有直接連接的處理器核的集合。
[0026]則從處理器核Ci到處理器核Cj的能耗Eij為:
[0027]Ε^.= (8+1)*ΕΗ?+8*Εr(I)
[0028]從處理器核Ci到處理器核Cj的延遲Lij為:
[0029]^(s+D^+s*^(2)
[0030]Sll:建立多任務(wù)模型
[0031]對(duì)于多個(gè)任務(wù)建立多任務(wù)模型,用U(T,Q)表示,其中T是任務(wù)Tm的集合;Q是qmn的集合,qmn表示任務(wù)^和Tn之間存在著通信關(guān)系;而1^(1_)表示任務(wù)Tm和Tn之間的通信延遲要求;fm表示與任務(wù)Tm存在通信關(guān)系的其他任務(wù)的數(shù)量;wu表示任務(wù)Tm和Tn之間的通信帶寬;T(Tm)表示所有與任務(wù)Tm具有通信關(guān)系的任務(wù)的集合;W(Tm)表示任務(wù)Tm總的通信帶寬。
[0032]S12:確定約束條件
[0033]對(duì)T中任務(wù)Tm和Tn,分別映射到片上網(wǎng)絡(luò)的處理器核Ci和Cj,滿足通信延遲的約束條件為:
[0034]Lij ^ L(qJ(3)
[0035]所有任 務(wù)都映射到片上網(wǎng)絡(luò)后,所有已被映射的處理器核之間通信能耗為:
[0036]E= Σ Wij^Eij(4)
[0037]則要使映射后的處理器核之間的通信能耗最小,即要使E最小;
[0038]S13:建立映射集合
[0039]為將要進(jìn)行的映射,建立映射集合G,此時(shí)G中為空,為初始狀態(tài);
[0040]S14:進(jìn)行任務(wù)與片上網(wǎng)絡(luò)之間的映射
[0041]S140:對(duì)任務(wù)集合T,按照任務(wù)的f值進(jìn)行降序排序,如果兩個(gè)或兩個(gè)以上任務(wù)的f值相同,則按照任務(wù)的W值進(jìn)行排序;排序后新的任務(wù)集合為T’,T與T’之間的對(duì)應(yīng)關(guān)系為 Map(T —T,);
[0042]S141:對(duì)處理器核集合C,按照處理器核的h值對(duì)處理器核進(jìn)行降序排序;排序后新的任務(wù)集合為C’,C與C’之間的對(duì)應(yīng)關(guān)系為Map (CT—C ’ );
[0043]S142:從T’中取出第一個(gè)任務(wù)IV,將其映射到所有處理器核中具有最大的h值的處理器核Cx’上,并將OV,Cx’ )加入到G中;
[0044]S143:從T’中取出第一個(gè)未被映射的任務(wù)Tn/,對(duì)于T (Tn/ )中已被映射的任務(wù)所在的處理器核,計(jì)算將Tm’映射到這些處理器核中未被映射的直接連接的處理器核上的所有E值,去掉按照公式(3)不滿足延遲的約束條件的E值;如果有兩個(gè)或者兩個(gè)以上相同的E值,則取min(E)為處理器核編號(hào)最小的處理器核Cmin’的E值,使用min(E)表示所有E值中最小的E值;計(jì)算將Tm’映射到Cmin’上后,計(jì)算Cmin’和與其通信的處理器核的延遲,如果滿足延遲的約束條件,進(jìn)行映射,將(Tm’,Cmin’)加入到G中;如果不滿足延遲的約束條件,貝1J在去掉當(dāng)前的min (E)的所有E值當(dāng)中重新找到新的min (E);直到找到滿足延遲的約束條件的Cmin’,進(jìn)行映射,將(Tm’,Cmin’ )加入到G中;如果T (Tm’ )中不存在已被映射的任務(wù),則從C’中選擇第一個(gè)未被映射的處理器核Ck’進(jìn)行映射,將(Tm’,Ck’ )加入到G中;
[0045]S144:重復(fù)步驟S143,直到所有的任務(wù)均被映射到片上網(wǎng)絡(luò)上;
[0046]S145:根據(jù)對(duì)應(yīng)關(guān)系Map (T —— T’)和Map (C —— C’)將G中所有的映射對(duì)應(yīng)到C和T上。
[0047]在本發(fā)明中,直接為片上網(wǎng)絡(luò)和多任務(wù)建立模型,以更為簡(jiǎn)約的方式來(lái)進(jìn)行映射,降低了映射方法的復(fù)雜性,提高了映射的速度;而通過(guò)任務(wù)之間的關(guān)系,來(lái)進(jìn)行任務(wù)在片上網(wǎng)絡(luò)中的映射,使得任務(wù)之間的通信延遲大大減少,從而有效的降低了片上網(wǎng)絡(luò)的能耗。本發(fā)明適用于面向片上網(wǎng)絡(luò)的任務(wù)映射,以片上網(wǎng)絡(luò)的延遲為約束條件,將低功耗作為任務(wù)映射時(shí)的重要參數(shù),既滿足了片上網(wǎng)絡(luò)對(duì)通信延遲的要求,又兼顧了通信時(shí)的功耗,從而在保證通信效率的情況下,降低了片上網(wǎng)絡(luò)的功耗。
[0048]具體地,步驟SlO中,以具有9個(gè)處理器核的片上網(wǎng)絡(luò)為例進(jìn)行說(shuō)明。對(duì)于具有9個(gè)處理器核的片上網(wǎng)絡(luò),可表示為N(C,P),其中處理器核集合C中為=Ctl, C1, C2, C3, C4, C5,C6, C7, C8 ;而P如圖2所示,處理器核之間可以通過(guò)連線進(jìn)行通信。所有的S如下表所示:
[0049]
【權(quán)利要求】
1.一種低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法,其特征在于,包括如下步驟: 510:建立片上網(wǎng)絡(luò)拓?fù)淠P停? 511:建立多任務(wù)模型; 512:確定約束條件; 513:建立映射集合; 514:進(jìn)行任務(wù)與片上網(wǎng)絡(luò)之間的映射。
2.如權(quán)利要求1所述低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法,其特征在于,步驟S14中,對(duì)任務(wù)集合T,按照任務(wù)的f值進(jìn)行降序排序,如果兩個(gè)或兩個(gè)以上任務(wù)的f值相同,則按照任務(wù)的W值進(jìn)行排序。
3.如權(quán)利要求1所述低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法,其特征在于,步驟S14中,對(duì)處理器核集合C,按照處理器核的h值對(duì)處理器核進(jìn)行降序排序。
4.如權(quán)利要求3所述低功耗的片上網(wǎng)絡(luò)任務(wù)映射方法,其特征在于,步驟S14中,從任務(wù)集合中取出第一個(gè)任務(wù)T0’,將其映射到所有處理器核中具有最大h值的處理器核。
【文檔編號(hào)】G06F15/163GK103678245SQ201310710421
【公開日】2014年3月26日 申請(qǐng)日期:2013年12月20日 優(yōu)先權(quán)日:2013年12月20日
【發(fā)明者】胡威, 鄒代坤, 郭宏, 黎文飛, 張凱, 江若成, 李偉強(qiáng), 譚練, 張若凡, 徐景 申請(qǐng)人:武漢科技大學(xué)