專利名稱::一種片上網(wǎng)絡(luò)緩存分配方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種緩存分配方法,具體地說(shuō),是涉及一種片上網(wǎng)絡(luò)的緩存分配方法。
背景技術(shù):
:集成電路技術(shù)在過(guò)去的幾十年中得到了飛速的發(fā)展,在單一芯片上可集成的晶體管數(shù)目遵循著摩爾定律不斷增加,片上系統(tǒng)由單核處理器向著多核處理器的方向發(fā)展,片上通信機(jī)制也經(jīng)歷了從點(diǎn)對(duì)點(diǎn)到總線結(jié)構(gòu)的轉(zhuǎn)變。隨著片上器件數(shù)目的進(jìn)一步增加,為了使各部件之間更好的通信,總線結(jié)構(gòu)已經(jīng)不能勝任,芯片設(shè)計(jì)者需要尋求一種新的結(jié)構(gòu)來(lái)解決片上器件互連的問(wèn)題。于是,人們紛紛將目光聚焦于運(yùn)用網(wǎng)絡(luò)技術(shù)來(lái)解決芯片中器件互連的問(wèn)題上,從而提出采用片上網(wǎng)絡(luò)結(jié)構(gòu)來(lái)解決片上通信的瓶頸問(wèn)題。在片上網(wǎng)絡(luò)路由節(jié)點(diǎn)設(shè)計(jì)中,人們通常采取統(tǒng)一的緩存長(zhǎng)度,但由于片上網(wǎng)絡(luò)大多是針對(duì)特定應(yīng)用設(shè)計(jì),網(wǎng)絡(luò)的通信量并不是理想的均勻模式,路由節(jié)點(diǎn)每個(gè)方向上的負(fù)載可以是非均衡的。這樣,統(tǒng)一長(zhǎng)度的緩存分配并不能使有限的資源得到充分利用,因此,針對(duì)不同應(yīng)用進(jìn)行片上網(wǎng)絡(luò)的緩存分配,以改善網(wǎng)絡(luò)的性能,是一個(gè)非常重要的問(wèn)題。但是,目前要解決片上網(wǎng)絡(luò)的緩存分配還存在許多困難,主要包括以下幾個(gè)方面—.對(duì)于上網(wǎng)絡(luò)不同的路由節(jié)點(diǎn)結(jié)構(gòu)而言,數(shù)據(jù)在無(wú)阻塞情況下通過(guò)單個(gè)路由節(jié)點(diǎn)所需的時(shí)間是不同的,這需要根據(jù)當(dāng)前路由節(jié)點(diǎn)結(jié)構(gòu)來(lái)評(píng)估數(shù)據(jù)無(wú)阻塞通過(guò)單個(gè)節(jié)點(diǎn)的時(shí)間;二.當(dāng)幾個(gè)方向的數(shù)據(jù)包競(jìng)爭(zhēng)一個(gè)輸出端口時(shí),不同的調(diào)度算法使得各個(gè)方向數(shù)據(jù)的處理時(shí)間不同,因此需要分析調(diào)度算法對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)的影響;三.對(duì)不同的應(yīng)用而言,每個(gè)端口的負(fù)載是不同的,這就要求我們能夠針對(duì)不同應(yīng)用來(lái)分析各個(gè)端口的負(fù)載;四.不同的緩存深度使得該緩存被填滿的概率不同,從而影響數(shù)據(jù)從上級(jí)路由節(jié)點(diǎn)轉(zhuǎn)發(fā)至本級(jí)路由節(jié)點(diǎn)所需的平均時(shí)間,而在這些緩存中,最容易被填滿的緩存也就成為了網(wǎng)絡(luò)中的通信瓶頸,因此,分析路由節(jié)點(diǎn)各個(gè)方向緩存為滿的概率,是片上網(wǎng)絡(luò)緩存分配的前提;五.在分析出片上網(wǎng)絡(luò)的通信瓶頸后,需要一種有效的緩存分配算法,算法要能計(jì)算出網(wǎng)絡(luò)中所有路由節(jié)點(diǎn)各個(gè)端口相應(yīng)的緩存資源深度,使得網(wǎng)絡(luò)性能得到改善。正是由于上述困難的存在,使得片上網(wǎng)絡(luò)緩存分配問(wèn)題始終未能得到較好的解決,但是,片上網(wǎng)絡(luò)的緩存分配問(wèn)題又影響著相關(guān)技術(shù)的發(fā)展,因此,片上網(wǎng)絡(luò)緩存分配問(wèn)題便成為了一個(gè)十分重要且急需解決的問(wèn)題。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種片上網(wǎng)絡(luò)的緩存分配方法,解決現(xiàn)有技術(shù)存在的問(wèn)題,通過(guò)建立片上網(wǎng)絡(luò)性能分析模型來(lái)實(shí)現(xiàn)片上網(wǎng)絡(luò)通信瓶頸的査找,并使用新的緩存分配方法來(lái)為不同端口分配相應(yīng)深度的緩存資源,最終實(shí)現(xiàn)片上網(wǎng)絡(luò)的通信性能的優(yōu)化。為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如F:一種片上網(wǎng)絡(luò)緩存分配方法,包括如下步驟a.向系統(tǒng)輸入片上網(wǎng)絡(luò)體系結(jié)構(gòu)的相關(guān)參數(shù)和應(yīng)用相關(guān)的參數(shù),并為每個(gè)FIFO分配緩存資源,然后通過(guò)仿真得到當(dāng)前配置下數(shù)據(jù)在網(wǎng)絡(luò)中的平均延遲Delay;b.計(jì)算片上網(wǎng)絡(luò)中向同一個(gè)方向發(fā)送數(shù)據(jù)的每個(gè)FIFO在當(dāng)前系統(tǒng)配置下的阻塞概率;c.從所有FIF0中分別找出阻塞概率最大的FIFO和阻塞概率最小的FIFO,即FIF0_MAX和FIF0_MIN;d.更改系統(tǒng)配置,令FIFO—MAX的緩存深度D印th—X-D印th—X+l,F(xiàn)IFO—MIN的緩存深度D印th—Y-D印tJuY-l,并通過(guò)仿真得到當(dāng)前配置下數(shù)據(jù)在片上網(wǎng)絡(luò)中的平均延遲Delay_new;e.當(dāng)Delay—new大于Delay,則d步驟對(duì)系統(tǒng)配置的更改無(wú)效,系統(tǒng)仍使用更改前的配置,每個(gè)FIFO的最優(yōu)緩存深度即為配置更改前的緩存深度;f.當(dāng)Delay—new小于或等于Delay時(shí),d步驟對(duì)系統(tǒng)配置進(jìn)行的更改生效,并返回步驟b繼續(xù)執(zhí)行,直到Delay—new大于Delay,然后按照步驟e執(zhí)行。所述阻塞概率的算法包括如下步驟首先計(jì)算各個(gè)FIFO向相同節(jié)點(diǎn)發(fā)送數(shù)據(jù)的數(shù)據(jù)插入率^^^然后計(jì)算各個(gè)FIFO向相同節(jié)點(diǎn)發(fā)送數(shù)據(jù)的平均服務(wù)時(shí)間;最后由平均服務(wù)時(shí)間得到平均服務(wù)率w,di"從而由數(shù)據(jù)插入率和平均服務(wù)率得到阻塞概率《'w^。所述平均服務(wù)時(shí)間包括兩部分模擬數(shù)據(jù)接受本地路由節(jié)點(diǎn)的服務(wù)時(shí)間S,,以及模擬數(shù)據(jù)接受下級(jí)路由節(jié)點(diǎn)的服務(wù)時(shí)間&w。所述模擬數(shù)據(jù)接受本地路由節(jié)點(diǎn)的服務(wù)時(shí)間Si為以下六個(gè)部分之和FIF0的讀寫延遲〃'",包頭解析",鏈路選擇、、':'.,路由仲裁S,,包通過(guò)Crossbar的延遲5(^和包在兩個(gè)路由節(jié)點(diǎn)之間傳播的延遲S/,械。所述模擬數(shù)據(jù)接受下級(jí)路由節(jié)點(diǎn)的服務(wù)時(shí)間&w,,^'通過(guò)如下式子實(shí)現(xiàn)S—1所述步驟a中為每個(gè)FIFO分配緩存資源包括以下兩種方法(1)將所有緩存資源平均分配給每個(gè)FIFO;(2)為每個(gè)FIF0分配一個(gè)初始緩存,并保證所有緩存資源中留有一部分緩存資源待用。本發(fā)明的設(shè)計(jì)原理通過(guò)建立片上網(wǎng)絡(luò)的性能分析模型,來(lái)尋找片上網(wǎng)絡(luò)的通信瓶頸,再設(shè)計(jì)一種算法來(lái)對(duì)其進(jìn)行優(yōu)化,并根據(jù)不同應(yīng)用來(lái)為不同端口分配不同的緩存深度,從而提高片上網(wǎng)絡(luò)的通信能力。下面詳細(xì)描述本發(fā)明的
發(fā)明內(nèi)容。一.片上網(wǎng)絡(luò)的性能分析模型建立片上網(wǎng)絡(luò)的性能分析模型,目的在于找到片上網(wǎng)絡(luò)中的通信瓶頸,而片上網(wǎng)絡(luò)中的通信瓶頸即為片上網(wǎng)絡(luò)中數(shù)據(jù)傳輸時(shí)最容易出現(xiàn)阻塞的FIFO。因此,更為直觀地說(shuō),找到片上網(wǎng)絡(luò)通信中最容易出現(xiàn)阻塞的FIFO,或者說(shuō)找到片上網(wǎng)絡(luò)通信中阻塞概率最大的FIFO,即是建立片上網(wǎng)絡(luò)的性能分析模型的目的。為找到片上網(wǎng)絡(luò)通信中阻塞概率最大的FIFO,我們先對(duì)片上網(wǎng)絡(luò)通信過(guò)程進(jìn)行分析。如圖1中虛線部分所示,一個(gè)片上網(wǎng)絡(luò)節(jié)點(diǎn)處的數(shù)據(jù)傳輸結(jié)構(gòu)主要由包頭解析模塊(AD)、鏈路選擇模塊(ChannelSEL)、沖突仲裁模塊(Arbiter)和數(shù)據(jù)交換模塊(Crossbar)組成。在此,首先設(shè)定該通信鏈路采用輸入緩存形式,且每個(gè)路由節(jié)點(diǎn)對(duì)數(shù)據(jù)包進(jìn)行讀寫FIF0、包頭解析、路由選擇以及路由仲裁等操作的時(shí)間都相等,并且路由節(jié)點(diǎn)的本地FIFO為無(wú)窮長(zhǎng);數(shù)據(jù)交換采取虛擬直通的方式,一個(gè)包在無(wú)阻塞的情況下從路由節(jié)點(diǎn)發(fā)送第一個(gè)切片起到下一級(jí)路由節(jié)點(diǎn)接收完最后一個(gè)切片止所需時(shí)間與包長(zhǎng)成比例。為方便描述,首先作如下定義位于(x,y)處的路由節(jié)點(diǎn);必。路由節(jié)點(diǎn)相應(yīng)的方向,可以為E(east)、S(south)、W(west)、N(north)和L(Local)等任何方向;,—A-'在dir方向的FIFO;、,*:^B^',^處的數(shù)據(jù)插入率;〃w,必^i^'^的服務(wù)強(qiáng)度;A,一Z^々的利用率;&-:W^。'^可容納的包的個(gè)數(shù);^i^W工的數(shù)據(jù)通過(guò)F^^^'的概率;W^。',的數(shù)據(jù)向dir'方向轉(zhuǎn)發(fā)的概:F/F^—為滿的概率;F/F"w中的數(shù)據(jù)的平均服務(wù)時(shí)間;&:數(shù)據(jù)包從進(jìn)入路由節(jié)點(diǎn)起到準(zhǔn)備好接受下一級(jí)路由節(jié)點(diǎn)服務(wù)止所需的間;S〃w:F^Awr中的數(shù)據(jù)包接受下級(jí)路由節(jié)點(diǎn)所需的平均服務(wù)時(shí)間;A^'^':WFA-中的數(shù)據(jù)接受dir'方向的服務(wù)時(shí)能的平均率;數(shù)據(jù)包的長(zhǎng)度;^to"總的緩存大小。將圖1所示虛線部分看成一個(gè)M/M/l/K(第一個(gè)M表示數(shù)據(jù)插入率為指數(shù)分布,第二個(gè)M表示數(shù)據(jù)服務(wù)率為指數(shù)分布,"l"表示一個(gè)隊(duì)列只有一個(gè)服務(wù)器,K表示隊(duì)列的長(zhǎng)度)排隊(duì)模型,根據(jù)M/M/l/K排隊(duì)模型公式,得到其阻塞概率公式如式(1):K(1)因此,只要計(jì)算出ff《^的數(shù)據(jù)插入率和平均服務(wù)時(shí)間SwA,就能找出最容易阻塞的FIFO,并把它作為通信瓶頸進(jìn)行優(yōu)化。下面選取圖1中虛線內(nèi)的部分作為我們分析的對(duì)象,分別針對(duì)數(shù)據(jù)插入率4^與平均服務(wù)時(shí)間&,'浙進(jìn)行建模。(1)數(shù)據(jù)插入率位于(x,y)處dir方向上的^^^w的數(shù)據(jù)插入率我們用下式來(lái)計(jì)算<formula>formulaseeoriginaldocumentpage10</formula>(3)(2)平均服務(wù)時(shí)間在片上網(wǎng)絡(luò)中,數(shù)據(jù)包通過(guò)路由節(jié)點(diǎn)轉(zhuǎn)發(fā)所需的時(shí)間看成為本地路由節(jié)點(diǎn)服務(wù)時(shí)間^和下級(jí)路由節(jié)點(diǎn)服務(wù)時(shí)間兩個(gè)部分之和。本地路由節(jié)點(diǎn)服務(wù)時(shí)間&是指數(shù)據(jù)包從進(jìn)入路由節(jié)點(diǎn)起到準(zhǔn)備好接受下一級(jí)路由節(jié)點(diǎn)服務(wù)止所需的間,包括FIFO的讀寫延遲5^。、包頭解析S必、鏈路選擇S狐、路由仲裁S鵬、包通過(guò)Crossbar的延遲&w和包在兩個(gè)路由節(jié)點(diǎn)之間傳播的延遲&w,艮卩S/,=S鵬+5孤+5^+5,本地路由節(jié)點(diǎn)服務(wù)時(shí)間的計(jì)算相對(duì)簡(jiǎn)單,通常在路由節(jié)點(diǎn)確定以后就可以輕易得出。但是,與普通網(wǎng)絡(luò)性能分析模型不同點(diǎn)在于,在一些其它網(wǎng)絡(luò)性能分析模型中,&^是假定為零的,而在片上網(wǎng)絡(luò)的性能分析模型中,^,必須考慮。在一些其它的網(wǎng)絡(luò)性能分析模型中,通常假定數(shù)據(jù)到達(dá)后插入緩存并準(zhǔn)備好接受服務(wù)這個(gè)過(guò)程是瞬間完成的,即5,=0;而在片上網(wǎng)絡(luò)中,特別是采用同步FIFO的片上網(wǎng)絡(luò),從數(shù)據(jù)包到達(dá)FIFO端口起到數(shù)據(jù)包可以進(jìn)行包頭解析至,需要依次經(jīng)過(guò)4個(gè)時(shí)鐘周期檢測(cè)到數(shù)據(jù)到達(dá)并拉高寫使能信號(hào)、檢測(cè)到寫使能信號(hào)并將數(shù)據(jù)寫入緩存、檢測(cè)到緩存中的數(shù)據(jù)并拉高讀使能、檢測(cè)到讀使能信號(hào)并將數(shù)據(jù)讀出,而數(shù)據(jù)包進(jìn)行包頭解析、鏈路選擇、路由仲裁等處理需要幾個(gè)時(shí)鐘周期。因此,片上網(wǎng)絡(luò)建模,必須考慮&,對(duì)模型的影響。下級(jí)路由節(jié)點(diǎn)服務(wù)時(shí)間是指數(shù)據(jù)包包頭準(zhǔn)各好向下級(jí)路由節(jié)點(diǎn)轉(zhuǎn)發(fā)起到將數(shù)據(jù)包包尾發(fā)送到下級(jí)路由界點(diǎn)為止的時(shí)間。根據(jù)路由節(jié)點(diǎn)的體系結(jié)構(gòu),我們可以知道在下一級(jí)FIFO沒(méi)有阻塞時(shí),數(shù)據(jù)可以從本地FIFO順利地傳送到下一級(jí)FIFO,所需時(shí)間與包長(zhǎng)M成正比;而在下一級(jí)FIFO為滿時(shí),數(shù)據(jù)只能停留在本級(jí)FIFO,直到下級(jí)FIFO有數(shù)據(jù)被傳走,才能向下一級(jí)FIFO傳送。此外,在一個(gè)FIF0中,不同的數(shù)據(jù)包可能向不同的方向轉(zhuǎn)發(fā),為了得到FIFO中數(shù)據(jù)包接受下級(jí)路由節(jié)點(diǎn)服務(wù)時(shí)的平均服務(wù)時(shí)間,我們需要先計(jì)算出數(shù)據(jù)包向各個(gè)方向(即節(jié)點(diǎn))轉(zhuǎn)發(fā)的概率以及向各個(gè)方向(即節(jié)點(diǎn))轉(zhuǎn)發(fā)時(shí)所能得到的平均服務(wù)率??偟目磥?lái),數(shù)據(jù)包能得到的下級(jí)路由節(jié)點(diǎn)服務(wù)的平均服務(wù)時(shí)間取決于以下四個(gè)方面1)本地FIFO中的數(shù)據(jù)包向各個(gè)方向(即節(jié)點(diǎn))轉(zhuǎn)發(fā)的概率;2)相應(yīng)的下級(jí)FIFO為滿的概率;3)相應(yīng)的下級(jí)FIFO自身能得到的平均服務(wù)時(shí)間;4)包長(zhǎng)M。下面,我們來(lái)求數(shù)據(jù)包接受模擬數(shù)據(jù)接受下級(jí)路由節(jié)點(diǎn)服務(wù)時(shí)所需的時(shí)間&一腳。首先,將圖1抽象成為圖2,在圖2中,圖1中虛線部分被等效成兩部分第一個(gè)部分模擬數(shù)據(jù)包在接受本地路由節(jié)點(diǎn)的服務(wù)時(shí)間,所需時(shí)間為SL;第二個(gè)部分模擬數(shù)據(jù)接受下級(jí)路由節(jié)點(diǎn)服務(wù)時(shí)所需的時(shí)間。為了便于分析,我們把往相同方向(即節(jié)點(diǎn))傳送的數(shù)據(jù)包抽象出來(lái)構(gòu)成并聯(lián)的子隊(duì)列(如圖2中的F/FO,d,向東轉(zhuǎn)發(fā)的數(shù)據(jù)所需時(shí)間用S,:、一下標(biāo)第一個(gè)字母表示轉(zhuǎn)發(fā)方向,第二個(gè)字母是Next的簡(jiǎn)寫,表示接受下級(jí)路由節(jié)點(diǎn)的服務(wù),向其它方向轉(zhuǎn)發(fā)的數(shù)據(jù)只需要改變下標(biāo)第一個(gè)字母即可作出相應(yīng)的表示),每個(gè)子隊(duì)列的服務(wù)率取決于相應(yīng)的下一級(jí)FIFO能提供給它的服務(wù)率,第二個(gè)部分的總服務(wù)率可由子隊(duì)列的服務(wù)率以及數(shù)據(jù)選擇子隊(duì)列的概率求出。模擬數(shù)據(jù)接受下級(jí)路由節(jié)點(diǎn)服務(wù)時(shí)所需的時(shí)間可用下式計(jì)算得出<formula>formulaseeoriginaldocumentpage12</formula>從式(6)可以看出,由于A^,在路由算法確定下來(lái)以后就已經(jīng)為確定值,因此,只需要求出數(shù)據(jù)向各個(gè)方向轉(zhuǎn)發(fā)時(shí)能得到的平均服務(wù)率AjA&',就很容易得到下級(jí)路由接點(diǎn)總的平均服務(wù)率和平均服務(wù)時(shí)間。為求解Ao^w,將一個(gè)路由節(jié)點(diǎn)中各個(gè)FIFO向相同方向發(fā)送的子隊(duì)列提取出來(lái)構(gòu)成一個(gè)整體(如圖2中橢圓部分),則該部分的數(shù)據(jù)插入率為+、JVX^;j,W,fi+\y,iOX《j,iO,E(7)此外,由于在下一級(jí)FIFO沒(méi)有阻塞時(shí),數(shù)據(jù)可以順利地傳送到下一級(jí)FIF0,所需時(shí)間與包長(zhǎng)M成正比;而在下一級(jí)FIFO為滿時(shí),數(shù)據(jù)只能停留在本級(jí)FIFO,直到下級(jí)FIFO有數(shù)據(jù)被傳走,才能向下一級(jí)FIFO傳送。因此,將圖2中橢圓部分得到的服務(wù)時(shí)間用下式表不所以,其服務(wù)率<formula>formulaseeoriginaldocumentpage13</formula>(g)根據(jù)M/M/1排隊(duì)模型公式,數(shù)據(jù)在圖2的橢圓部分的平均等待時(shí)間<formula>formulaseeoriginaldocumentpage13</formula>"(10)而我們對(duì)橢圓中的任意一個(gè)排隊(duì)隊(duì)列應(yīng)用M/M/1排隊(duì)模型公式(以本地FIFO在E方向的子隊(duì)列為例),有<formula>formulaseeoriginaldocumentpage13</formula>(11)假定路由節(jié)點(diǎn)的調(diào)度算法足夠公平,使得每個(gè)子隊(duì)列中的數(shù)據(jù)包等待時(shí)間相同,在這種情況下,即有wl=w2。聯(lián)立(7)(9)(10)(11)式,可得本地FIFO在E方向上子隊(duì)列的服務(wù)率<formula>formulaseeoriginaldocumentpage13</formula>(12)同理,我們可以求出其它幾個(gè)方向上的子隊(duì)列的服務(wù)率A.^^,利用式(6),我們可以將下級(jí)路由節(jié)點(diǎn)所能得到的各個(gè)方向的輸入FIFO的平均服務(wù)時(shí)間S'^^"表示出來(lái),再利用式(4),就可以得到整個(gè)隊(duì)列所能得到的平均服務(wù)時(shí)間&w的表達(dá)式。對(duì)每個(gè)FIFO建立這樣一個(gè)等式,就可以得到一個(gè)等式組,結(jié)合式(1)求解等式組,我們就能將每個(gè)FIFO的阻塞概率都用相應(yīng)的。w、""以及該FIFO的長(zhǎng)度^表示出來(lái),這樣就能得到在當(dāng)前配置下每個(gè)FIFO的阻塞概率。二.緩存分配方法以片上網(wǎng)絡(luò)的性能分析模型所求得的阻塞概率為基礎(chǔ),本發(fā)明設(shè)計(jì)了如下的緩存分配方法第一步輸入片上網(wǎng)絡(luò)通信節(jié)點(diǎn)體系結(jié)構(gòu)的相關(guān)參數(shù)(A,P',w',)和應(yīng)用相關(guān)的參數(shù),…),并為每個(gè)FIFO分配緩存資源(緩存資源的分配方法可以是將所有資源進(jìn)行平均分配,也可以不將緩存資源分配,只為每個(gè)FIFO分配一個(gè)初始緩存),然后通過(guò)仿真得到當(dāng)前配置下數(shù)據(jù)在網(wǎng)絡(luò)中的平均延遲Delay,輸入的參數(shù)由具體的片上網(wǎng)絡(luò)結(jié)構(gòu)體系決定;第二步根據(jù)輸入?yún)?shù)對(duì)系統(tǒng)進(jìn)行性能分析,得到每個(gè)FIFO的阻塞概率;第三步找出阻塞概率最大的FIF0_MAX以及阻塞概率最小的FIFO—MIN;第四步更改系統(tǒng)配置,令FIFO—MAX的緩存深度0印讓_義=D印th—X+1,F(xiàn)IFO—MIN的緩存深度D印th—Y-D印th—Y-1,并通過(guò)仿真得到當(dāng)前配置下數(shù)據(jù)在網(wǎng)絡(luò)中的平均延遲Delay—new;第五步如果Delay一new小于或等于Delay,則該配置生效,并跳回第二步,如果Delay—new大于Delay,則更改配置前的系統(tǒng)配置為最優(yōu)配置,所以將FIF0一MAX與FIF0一MIN的深度改回原來(lái)的值,即D印th—X-D印th—X-1,D印th—Y二D印th—Y+l,即更改前的每個(gè)FIFO的緩存深度為最優(yōu)值。本發(fā)明通過(guò)建立片上網(wǎng)絡(luò)的性能分析模型,實(shí)現(xiàn)對(duì)指定的應(yīng)用進(jìn)行性能分析,尋找出片上網(wǎng)絡(luò)的通信瓶頸,然后在性能分析的基礎(chǔ)上按照緩存分配算法為不同的應(yīng)用端口分配不同深度的緩存,使有限的緩存資源得到最大限度地利用,從而在不增加資源消耗的情況下改善網(wǎng)絡(luò)性能。下面通過(guò)具體實(shí)施方式和相關(guān)附圖來(lái)對(duì)本發(fā)明作進(jìn)一步說(shuō)明。圖1為本發(fā)明中片上網(wǎng)絡(luò)的一種路由節(jié)點(diǎn)體系結(jié)構(gòu)圖。圖2為本發(fā)明的性能分析模型示意圖。圖3為本發(fā)明中緩存分配算法流程圖。具體實(shí)施例方式下面通過(guò)舉例來(lái)對(duì)本發(fā)明作進(jìn)一步說(shuō)明。實(shí)施例l本實(shí)施例是在4*4的mesh拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)上,采取XY維序路由,對(duì)節(jié)點(diǎn)(0,0)處的通信狀況進(jìn)行性能分析,并進(jìn)行優(yōu)化以提高該節(jié)點(diǎn)的數(shù)據(jù)傳輸能力。本實(shí)施例在總緩存深度Total=96的情況進(jìn)行了仿真,并將均勻的緩存配置與本發(fā)明優(yōu)化后的緩存配置的網(wǎng)絡(luò)性能進(jìn)行比較。本實(shí)施例按照以下的緩存分配方法對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化。第一步向系統(tǒng)輸入NOC體系結(jié)構(gòu)的相關(guān)參數(shù)(&,^'xw,尺w浙)以及其應(yīng)用的相關(guān)參數(shù)(、浙,《,w身',M,"to/),并將總緩存資源Total=96平均分配給東西南北四個(gè)輸入FIFO,即每個(gè)輸入FIFO獲取的緩存深度為24,然后求出當(dāng)前配置下數(shù)據(jù)在網(wǎng)絡(luò)中的平均延遲Delay;第二步根據(jù)輸入?yún)?shù)對(duì)系統(tǒng)進(jìn)行分析,分別求出東西南北四個(gè)方向的輸入FIFO的阻塞概率,阻塞概率的計(jì)算公式如式(1)戶:yl一P<formula>formulaseeoriginaldocumentpage16</formula>,(2)由公式(1)、(2)可以得出,只需要求出東西南北四個(gè)方向上數(shù)據(jù)在網(wǎng)絡(luò)中的數(shù)據(jù)插入率和平均服務(wù)時(shí)間,即可求出各個(gè)方向的輸入FIFO的阻塞概率;第三步從第二步中分別找出阻塞概率最大的輸入FIFO和阻塞概率最小的輸入FIFO,即FIFO—MAX和FIFO—MIN;第四步更改系統(tǒng)配置,令FIFO—MAX的緩存深度Depth—X=D印ttUC+l,F(xiàn)IF0_MIN的緩存深度D印ttuY-D印tJuY-1,并通過(guò)仿真得到當(dāng)前配置下數(shù)據(jù)在網(wǎng)絡(luò)中的平均延遲Delay—new;第五步如果Delay_neW小于或等于Delay,則第四步中更改配置生效,并跳回第二步繼續(xù)執(zhí)行,直到Delayjew大于Delay;如果Delay一new大于Delay,則更改配置前的系統(tǒng)配置為最佳值,更改前每個(gè)FIFO的緩存分配值即為最優(yōu)分配,所以將FIFO—MAX與FIFO一MIN的深度改回原來(lái)的值,即D印th—X-D印thJC-l,D印th—Y-D印ttuY+l。本發(fā)明通過(guò)上述的緩存分配方法,將阻塞概率小的輸入FIFO的緩存中多余的緩存分配給阻塞概率大的輸入FIF0,從而在不增加緩存深度的情況下,減低了數(shù)據(jù)在整個(gè)網(wǎng)絡(luò)中的傳輸延遲,實(shí)現(xiàn)了片上網(wǎng)絡(luò)通信性能的優(yōu)化。下表為本發(fā)明與現(xiàn)有技術(shù)的數(shù)據(jù)傳輸延遲時(shí)間對(duì)比表:<table>tableseeoriginaldocumentpage17</column></row><table>實(shí)施例2實(shí)施例2與實(shí)施例的區(qū)別在于緩存分配方法第一步。實(shí)施例2中,緩存分配方法的第一步為向系統(tǒng)輸入NOC體系結(jié)構(gòu)的相關(guān)參數(shù)(&,、*)以及其應(yīng)用的相關(guān)參數(shù)(U',尸',m,7bto/),并分別為東西南北四個(gè)輸入FIFO分配一個(gè)深度相同的緩存,但是總緩存并未分配完,如分別為東西南北四個(gè)方向的輸入FIFO分配一個(gè)深度為1的緩存,然后求出當(dāng)前配置下數(shù)據(jù)在網(wǎng)絡(luò)中的平均延遲Delay。實(shí)施例2中緩存分配方法的其他步驟均與實(shí)施例1相同。從上述實(shí)施例可以得出,本發(fā)明通過(guò)建立性能分析模型計(jì)算出片上網(wǎng)絡(luò)的通信瓶頸,并設(shè)計(jì)了一種新的緩存分配方法來(lái)對(duì)片上網(wǎng)絡(luò)通信性能進(jìn)行優(yōu)化,使片上網(wǎng)絡(luò)的通信性能得到了大大提高。權(quán)利要求1.一種片上網(wǎng)絡(luò)緩存分配方法,其特征在于,所述片上網(wǎng)絡(luò)分配方法包括如下步驟a.向系統(tǒng)輸入片上網(wǎng)絡(luò)體系結(jié)構(gòu)的相關(guān)參數(shù)和應(yīng)用相關(guān)的參數(shù),并為每個(gè)FIFO分配緩存資源,然后通過(guò)仿真得到當(dāng)前配置下數(shù)據(jù)在網(wǎng)絡(luò)中的平均延遲Delay;b.計(jì)算片上網(wǎng)絡(luò)中向同一個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)的每個(gè)FIFO在當(dāng)前系統(tǒng)配置下的阻塞概率;c.從所有FIFO中分別找出阻塞概率最大的FIFO和阻塞概率最小的FIFO,即FIFO_MAX和FIFO_MIN;d.更改系統(tǒng)配置,令FIFO_MAX的緩存深度Depth_X=Depth_X+1,F(xiàn)IFO_MIN的緩存深度Depth_Y=Depth_Y-1,并通過(guò)仿真得到當(dāng)前配置下數(shù)據(jù)在片上網(wǎng)絡(luò)中的平均延遲Delay_new;e.當(dāng)Delay_new大于Delay,則d步驟對(duì)系統(tǒng)配置的更改無(wú)效,系統(tǒng)仍使用更改前的配置,每個(gè)FIFO的最優(yōu)緩存深度即為配置更改前的緩存深度;f.當(dāng)Delay_new小于或等于Delay時(shí),d步驟對(duì)系統(tǒng)配置進(jìn)行的更改生效,并返回步驟b繼續(xù)執(zhí)行,直到Delay_new大于Delay,然后按照步驟e執(zhí)行。2.根據(jù)權(quán)利要求1所述的片上網(wǎng)絡(luò)緩存分配方法,其特征在于,所述阻塞概率的算法包括如下步驟首先計(jì)算每個(gè)FIFO向相同節(jié)點(diǎn)發(fā)送數(shù)據(jù)的數(shù)據(jù)插入率^^;然后計(jì)算每個(gè)FIFO向相同節(jié)點(diǎn)發(fā)送數(shù)據(jù)的平均服務(wù)時(shí)間&^^;最后由甲均服務(wù)時(shí)間得到平均服務(wù)率W.、,,』,.,從而由數(shù)據(jù)插入率和平均服務(wù)率得到阻塞概率々",'"f。3.根據(jù)權(quán)利要求2所述的片上網(wǎng)絡(luò)緩存分配方法,其特征在于,所述平均服務(wù)時(shí)間包括兩部分模擬數(shù)據(jù)接受本地路由節(jié)點(diǎn)的服務(wù)時(shí)間S,.,以及模擬數(shù)據(jù)接受下級(jí)路由節(jié)點(diǎn)的服務(wù)時(shí)間&Kw"'。4.根據(jù)權(quán)利要求3所述的片上網(wǎng)絡(luò)緩存分配方法,其特征在于,所述模擬數(shù)據(jù)接受本地路由節(jié)點(diǎn)的服務(wù)時(shí)間Sl為以下六個(gè)部分之和FIFO的讀寫延遲^/w,包頭解析S^,鏈路選擇S皿,路由仲裁S,,包通過(guò)Crossbar的延遲Sc^和包在兩個(gè)路由節(jié)點(diǎn)之間傳播的延遲Sitot。5.根據(jù)權(quán)利要求3所述的片上網(wǎng)絡(luò)緩存分配方法,其特征在于,所述模擬數(shù)據(jù)接受下級(jí)路由節(jié)點(diǎn)的服務(wù)時(shí)間&^,"w通過(guò)如下式子實(shí)現(xiàn)S—16.根據(jù)權(quán)利要求1所述的片上網(wǎng)絡(luò)緩存分配方法,其特征在于,所述步驟a中為每個(gè)FIFO分配緩存資源包括以下兩種方法(1)將所有緩存資源平均分配給每個(gè)FIFO;(2)為每個(gè)FIF0分配一個(gè)初始緩存,并保證所有緩存資源中留有一部分緩存資源待用。全文摘要本發(fā)明公開(kāi)了一種片上網(wǎng)絡(luò)緩存分配方法,其步驟包括輸入片上網(wǎng)絡(luò)的相關(guān)參數(shù),將所有緩存資源分配到每個(gè)FIFO上,獲取當(dāng)前配置下網(wǎng)絡(luò)的平均延遲;建立片上網(wǎng)絡(luò)的性能分析模型,根據(jù)輸入?yún)?shù)對(duì)系統(tǒng)進(jìn)行分析,得到每個(gè)FIFO的阻塞概率;找出阻塞概率最大的FIFO_MAX和阻塞概率最小的FIFO_MIN;更改系統(tǒng)配置,令FIFO_MAX的深度加1,F(xiàn)IFO_MIN的深度減1,并獲取當(dāng)前配置下網(wǎng)絡(luò)的新平均延遲;如果新平均延遲小于或等于舊平均延遲,則更改配置生效,并跳回第二步;反之則以更改配置前的系統(tǒng)配置為最優(yōu)配置;系統(tǒng)根據(jù)最優(yōu)配置分配緩存。本發(fā)明先獲取網(wǎng)絡(luò)通信的瓶頸,再采用新算法來(lái)進(jìn)行緩存分配,實(shí)現(xiàn)了片上網(wǎng)絡(luò)的性能優(yōu)化。文檔編號(hào)H04L12/02GK101420372SQ200810046288公開(kāi)日2009年4月29日申請(qǐng)日期2008年10月16日優(yōu)先權(quán)日2008年10月16日發(fā)明者桓李,李玉柏,楊中明,松柴,暢武,堅(jiān)王申請(qǐng)人:電子科技大學(xué)