專利名稱:一種基于預(yù)分配的流控方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路技術(shù)領(lǐng)域,特別是涉及一種基于預(yù)分配的流 控方法和裝置。
背景技術(shù):
集成電路一直按照摩爾定律推進(jìn),單芯片所集成的IP( Intellectual Property,知識產(chǎn)權(quán))核數(shù)目越來越多,傳統(tǒng)的基于總線的片上互連 結(jié)構(gòu)已經(jīng)在帶寬、功耗、可靠性、擴(kuò)展性等方面表現(xiàn)處越來越多的局 限性,片上通信已經(jīng)取代計(jì)算成為集成電路設(shè)計(jì)的瓶頸。NoC (Network-on-Chip,片上網(wǎng)絡(luò))作為集成電路設(shè)計(jì)領(lǐng)域的一項(xiàng)關(guān)鍵技 術(shù),用于解決芯片規(guī)模增大所帶來的片上互連問題。片上網(wǎng)絡(luò)設(shè)計(jì)不同于傳統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì),具有如下特點(diǎn)1) 面積受限;2)功耗受限;3)業(yè)務(wù)可預(yù)知。因此,設(shè)計(jì)片上網(wǎng)絡(luò)時必 須很好的利用上述特點(diǎn)。目前用于片上網(wǎng)絡(luò)的流控方法主要有兩種一種是簡單的交換機(jī)與交換機(jī)之間的流控方法,比如握手等。該 機(jī)制只能用于保證在數(shù)據(jù)傳輸過程中不會因?yàn)榫彌_區(qū)溢出而造成的 數(shù)據(jù)包丟失,并沒有控制數(shù)據(jù)包的注入速率;因而,如果數(shù)據(jù)包的注 入速率過快,網(wǎng)絡(luò)中將出現(xiàn)擁塞,導(dǎo)致網(wǎng)絡(luò)性能的下降。另一種流控方法是基于預(yù)測的流控方法,該機(jī)制通過預(yù)測緩沖區(qū) 的狀態(tài)來控制數(shù)據(jù)包的注入速率,減少滯留在網(wǎng)絡(luò)中的數(shù)據(jù)包數(shù)目, 從而減少了擁塞概率,提高了片上網(wǎng)絡(luò)性能。然而,該流控方法具有以下缺點(diǎn)1)在每個路由器上必須額外 增加一個支持該方法的流控制器,相比于原來支持簡單交換機(jī)與交換 機(jī)之間流控方法的路由器增加約18%的面積;2)在該方法中,各個路由器必須實(shí)時和相鄰的路由器交換緩沖區(qū)的狀態(tài)信息,將增加額外 的能耗。發(fā)明內(nèi)容本發(fā)明的目的是提供一種基于預(yù)分配的流控方法和裝置,利用片 上網(wǎng)絡(luò)的業(yè)務(wù)可預(yù)知的特點(diǎn),為片上網(wǎng)絡(luò)提供一種更高效的流控方 法。為達(dá)到上述目的,本發(fā)明實(shí)施例的技術(shù)方案提供一種基于預(yù)分配的流控方法,包括以下步驟初始化,獲取各個鏈路盡力而為業(yè)務(wù)可用的平均帶寬;設(shè)置每一線路的盡力而為業(yè)務(wù)的初始注入速率為該線路的平均的業(yè)務(wù)量;為所有線路盡力而為業(yè)務(wù)分配最短路徑;設(shè)置盡力而為業(yè)務(wù)的目的注入速率,使所有鏈路的負(fù)載因子小于1;根據(jù)所述目的注入速率,設(shè)計(jì)網(wǎng)絡(luò)接口,改變IP核發(fā)送緩沖區(qū)中數(shù)據(jù)的存儲和發(fā)送方式,實(shí)現(xiàn)流控。其中,所述獲取各個鏈路盡力而為業(yè)務(wù)可用的平均帶寬的步驟,具體包括當(dāng)鏈路^的帶寬為^,且經(jīng)過鏈路^的服務(wù)質(zhì)量保證業(yè)務(wù)的平均業(yè)務(wù)量為&時,所述鏈路^的盡力而為業(yè)務(wù)的平均可用帶寬 ^A等于(X-gj 。其中,所述為所有線路盡力而為業(yè)務(wù)分配最短路徑的步驟,具體 包括把所有線路的盡力而為業(yè)務(wù)按照其平均業(yè)務(wù)量從大到小排序; 依次為各個線路業(yè)務(wù)分配最短路徑,如果有存在多條最短路徑, 選擇具有最小的最大負(fù)載因子的路徑。其中,所述設(shè)置盡力而為業(yè)務(wù)的目的注入速率,使所有鏈路的負(fù) 載因子小于l的步驟,具體包括選出具有最大負(fù)載因子的鏈路;判 斷所有鏈路的最大負(fù)載因子是否大于1。如果否,則存儲所有線路的 最終注入速率;如果是,則按比例限制流經(jīng)具有最大負(fù)載因子鏈路的 所有線路的盡力而為業(yè)務(wù)的注入速率,使該鏈路的負(fù)載因子等于1,重新計(jì)算所有鏈路的負(fù)載因子,并重復(fù)以上步驟。其中,所述根據(jù)目的注入速率,設(shè)計(jì)網(wǎng)絡(luò)接口并改變IP核發(fā)送 緩沖區(qū)中數(shù)據(jù)的存儲和發(fā)送方式的步驟,具體包括將等待發(fā)送的不 同線路的盡力而為業(yè)務(wù)被存儲在不同的發(fā)送緩沖區(qū),每個發(fā)送緩沖區(qū)根據(jù)來自網(wǎng)絡(luò)接口的讀控制信號發(fā)送數(shù)據(jù);所有發(fā)送緩沖區(qū)的數(shù)據(jù)經(jīng) 過一個或門電路后被送往網(wǎng)絡(luò)接口發(fā)送模塊;所述網(wǎng)絡(luò)接口發(fā)送模 塊根據(jù)所述目的注入速率生成并存儲時隙表;根據(jù)所述時隙表和打包 緩沖區(qū)的狀態(tài),通過讀控制信號通知所述IP核數(shù)據(jù)發(fā)送信息;將從 所述IP核輸入的數(shù)據(jù)進(jìn)行打包后存入打包緩沖區(qū),并經(jīng)過鏈路控制 器后送往路由器。其中,所述數(shù)據(jù)發(fā)送信息包括數(shù)據(jù)發(fā)送時間和發(fā)送數(shù)據(jù)的緩沖區(qū)。本發(fā)明實(shí)施例的技術(shù)方案還提供一種基于預(yù)分配的流控裝置,包 括IP核和網(wǎng)絡(luò)接口發(fā)送模塊,所述IP核,包括或門電路和多個發(fā)送 緩沖區(qū),每個發(fā)送緩沖區(qū)的輸出端連接到所述或門電路的輸入端;所 述網(wǎng)絡(luò)接口發(fā)送模塊,包括打包器、打包緩沖區(qū)、鏈路控制器和注入 速率控制器,所述打包器的輸出端連接到所述打包緩沖區(qū)的輸入端, 所述打包緩沖區(qū)的輸出端分別連接到鏈路控制器和注入速率控制器; 所述注入速率控制器的輸出端連接到所述多個發(fā)送緩沖區(qū),所述或門 電路的輸出端連接到所述打包器,所述鏈路控制器與路由器進(jìn)行通 信。與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)方案具有如下優(yōu)點(diǎn) 本發(fā)明利用片上網(wǎng)絡(luò)的業(yè)務(wù)可預(yù)知性,通過限制所有線路盡力而 為業(yè)務(wù)的注入速率使其不超過片上網(wǎng)絡(luò)各個鏈路盡力而為業(yè)務(wù)的平 均可用帶寬,從而減小了業(yè)務(wù)的突發(fā)性,減小了擁塞概率,提高片上 網(wǎng)絡(luò)的性能。由于只需要在網(wǎng)絡(luò)接口的發(fā)送模塊中增加一個簡單的注 入速率控制器,因此該方法比較節(jié)省資源。此外,該方法由于不需要實(shí)時和相鄰的路由器交換緩沖區(qū)的狀態(tài)信息,因此比較節(jié)省功耗。
圖l是本發(fā)明實(shí)施例的一種基于預(yù)分配的流控方法的流程圖; 圖2是本發(fā)明實(shí)施例的設(shè)置盡力而為業(yè)務(wù)的目的注入速率方法的 流程圖;圖3是本發(fā)明實(shí)施例的一種基于預(yù)分配的流控裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì) 描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明實(shí)施例的一種基于預(yù)分配的流控方法的流程如圖1所示, 包括以下步驟步驟s101 ,初始化,獲取各個鏈路盡力而為業(yè)務(wù)可用的平均帶寬。 建立片上網(wǎng)絡(luò),為服務(wù)質(zhì)量保證業(yè)務(wù)分配路徑,確定所有鏈路的盡力 而為業(yè)務(wù)的平均可用帶寬;當(dāng)鏈路A的帶寬為^,且經(jīng)過鏈路A的 服務(wù)質(zhì)量保證業(yè)務(wù)的平均業(yè)務(wù)量為&時,所述鏈路A:的盡力而為業(yè)務(wù) 的平均可用帶寬^^等于(W-gj。步驟sl02,設(shè)置每一線路的盡力而為業(yè)務(wù)的初始注入速率為該線 路的平均的業(yè)務(wù)量。不同源地址或不同目的地址的盡力而為業(yè)務(wù)屬于 不同線路的盡力而為業(yè)務(wù),每一線路的盡力而為業(yè)務(wù)初始的注入速率 都被設(shè)置為該線路的平均的盡力而為業(yè)務(wù)的業(yè)務(wù)量。步驟sl03,為所有線路盡力而為業(yè)務(wù)分配最短路徑。假如流經(jīng)鏈 路A的所有線路的盡力而為業(yè)務(wù)的注入速率的和為77^,那么鏈路A 的負(fù)載因子《等于77^4,。假如某路徑經(jīng)過M條鏈路,其負(fù)載因子 分別為FpF2,…,巧,那么該路徑的最大負(fù)載因子等于 M^(^,F(xiàn)2,…,i^。該步驟包括以下步驟首先,把所有線路的盡力而為業(yè)務(wù)按照其平均業(yè)務(wù)量從大到小排 序;然后,依次為各個線路業(yè)務(wù)分配最短路徑,如果有存在多條最短路徑,選擇具有最小的最大負(fù)載因子的路徑。步驟S104,設(shè)置盡力而為業(yè)務(wù)的目的注入速率,使所有鏈路的負(fù)載因子小于l。本實(shí)施例中具體包括以下步驟步驟s201,選出具有最大負(fù)載因子的鏈路。步驟s202,判斷所有鏈路的最大負(fù)載因子是否大于1。如果是則 轉(zhuǎn)步驟s203,否則轉(zhuǎn)步驟s205。步驟s203,按比例限制流經(jīng)具有最大負(fù)載因子鏈路的所有線路的 盡力而為業(yè)務(wù)的注入速率,使該鏈路的負(fù)載因子等于1。例如,具有 最大負(fù)載因子的鏈路是鏈路",其負(fù)載因子為」且^>1,流經(jīng)鏈路 "的所有線路的盡力而為業(yè)務(wù)的注入速率分別為/《,那么流經(jīng)鏈路"的所有線路的盡力而為業(yè)務(wù)的注入速率分別被限制為/7%, w乂, ^/, w乂…。步驟s204,重新計(jì)算所有鏈路的負(fù)載因子,轉(zhuǎn)步驟s201。步驟s205,存儲所有線路的最終注入速率。步驟sl05,根據(jù)所述目的注入速率,設(shè)計(jì)網(wǎng)絡(luò)接口并改變IP核 發(fā)送緩沖區(qū)中數(shù)據(jù)的存儲和發(fā)送方式,實(shí)現(xiàn)流控。本實(shí)施例中包括如 下過程.-如圖3所示的本發(fā)明實(shí)施例的一種基于預(yù)分配的流控裝置,在所述IP核中,等待發(fā)送的不同線路的盡力而為業(yè)務(wù)被存儲在不同的發(fā) 送緩沖區(qū),每個發(fā)送緩沖區(qū)根據(jù)來自NI (NetworkInterface,網(wǎng)絡(luò)接口 )的讀控制信號發(fā)送數(shù)據(jù);所有發(fā)送緩沖區(qū)的數(shù)據(jù)經(jīng)過一個或門電 路后被送往所述網(wǎng)絡(luò)接口的發(fā)送模塊。所述網(wǎng)絡(luò)接口的發(fā)送模塊包括 注入速率控制器、打包器、打包緩沖區(qū)以及鏈路控制器,具體數(shù)據(jù)處 理過程如下1、根據(jù)步驟s104所得到的從所述IP核出發(fā)的各個線路的最終 注入速率生成時隙表并存儲在所述注入速率控制器中,所述注入速率 控制器根據(jù)所述的時隙表和打包緩沖區(qū)的狀態(tài),通過讀控制信號通知所述IP核在什么時候發(fā)送數(shù)據(jù)以及發(fā)送哪一個線路緩沖區(qū)中的數(shù)據(jù)。 2、從所述IP核輸入的數(shù)據(jù),首先經(jīng)過打包器打包后存入打包緩沖區(qū),然后經(jīng)過LC (Link Controller,鏈路控制器)后送往路由器。本發(fā)明利用片上網(wǎng)絡(luò)的業(yè)務(wù)可預(yù)知性,通過限制所有線路盡力而 為業(yè)務(wù)的注入速率使其不超過片上網(wǎng)絡(luò)各個鏈路盡力而為業(yè)務(wù)的平 均可用帶寬,從而減小了業(yè)務(wù)的突發(fā)性,減小了擁塞概率,提高片上 網(wǎng)絡(luò)的性能。由于只需要在網(wǎng)絡(luò)接口的發(fā)送模塊中增加一個簡單的注 入速率控制器,因此該方法比較節(jié)省資源。此外,該方法由于不需要 實(shí)時和相鄰的路由器交換緩沖區(qū)的狀態(tài)信息,因此比較節(jié)省功耗。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng) 域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以 做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種基于預(yù)分配的流控方法,其特征在于,包括以下步驟初始化,獲取各個鏈路盡力而為業(yè)務(wù)可用的平均帶寬;設(shè)置每一線路的盡力而為業(yè)務(wù)的初始注入速率為該線路的平均的業(yè)務(wù)量;為所有線路盡力而為業(yè)務(wù)分配最短路徑;設(shè)置盡力而為業(yè)務(wù)的目的注入速率,使所有鏈路的負(fù)載因子小于1;根據(jù)所述目的注入速率,設(shè)計(jì)網(wǎng)絡(luò)接口,改變IP核發(fā)送緩沖區(qū)中數(shù)據(jù)的存儲和發(fā)送方式。
2、 如權(quán)利要求1所述的基于預(yù)分配的流控方法,其特征在于,所述獲取各個鏈路盡力而為業(yè)務(wù)可用的平均帶寬的步驟,具體包括 當(dāng)鏈路A的帶寬為^,且經(jīng)過鏈路A的服務(wù)質(zhì)量保證業(yè)務(wù)的平均業(yè)務(wù)量為&時,所述鏈路A:的盡力而為業(yè)務(wù)的平均可用帶寬Jh等 于O廣gJ 。
3、 如權(quán)利要求1所述的基于預(yù)分配的流控方法,其特征在于, 所述為所有線路盡力而為業(yè)務(wù)分配最短路徑的步驟,具體包括把所有線路的盡力而為業(yè)務(wù)按照其平均業(yè)務(wù)量從大到小排序; 依次為各個線路業(yè)務(wù)分配最短路徑,如果有存在多條最短路徑, 選擇具有最小的最大負(fù)載因子的路徑。
4、 如權(quán)利要求1所述的基于預(yù)分配的流控方法,其特征在于, 所述設(shè)置盡力而為業(yè)務(wù)的目的注入速率,使所有鏈路的負(fù)載因子小于 1的步驟,具體包括選出具有最大負(fù)載因子的鏈路;判斷所有鏈路的最大負(fù)載因子是否大于1,如果否,則存儲所有 線路的最終注入速率;如果是,則按比例限制流經(jīng)具有最大負(fù)載因子 鏈路的所有線路的盡力而為業(yè)務(wù)的注入速率,使該鏈路的負(fù)載因子等于l,重新計(jì)算所有鏈路的負(fù)載因子,并重復(fù)以上步驟。
5、 如權(quán)利要求1所述的基于預(yù)分配的流控方法,其特征在于, 所述根據(jù)目的注入速率,設(shè)計(jì)網(wǎng)絡(luò)接口并改變IP核發(fā)送緩沖區(qū)中數(shù)據(jù)的存儲和發(fā)送方式的步驟,具體包括將等待發(fā)送的不同線路的盡力而為業(yè)務(wù)被存儲在不同的發(fā)送緩沖區(qū),每個發(fā)送緩沖區(qū)根據(jù)來自網(wǎng)絡(luò)接口的讀控制信號發(fā)送數(shù)據(jù);所有發(fā)送緩沖區(qū)的數(shù)據(jù)經(jīng)過一個或門電路后被送往網(wǎng)絡(luò)接口發(fā) 送模塊;所述網(wǎng)絡(luò)接口發(fā)送模塊根據(jù)所述目的注入速率生成并存儲時隙表;根據(jù)所述時隙表和打包緩沖區(qū)的狀態(tài),通過讀控制信號通知所述 IP核數(shù)據(jù)發(fā)送信息;將從所述IP核輸入的數(shù)據(jù)進(jìn)行打包后存入打包緩沖區(qū),并經(jīng)過 鏈路控制器后送往路由器。
6、 如權(quán)利要求5所述的基于預(yù)分配的流控方法,其特征在于,所述數(shù)據(jù)發(fā)送信息包括數(shù)據(jù)發(fā)送時間和發(fā)送數(shù)據(jù)的緩沖區(qū)。
7、 一種基于預(yù)分配的流控裝置,其特征在于,包括IP核和網(wǎng)絡(luò) 接口發(fā)送模塊,所述IP核,包括或門電路和多個發(fā)送緩沖區(qū),每個發(fā)送緩沖區(qū) 的輸出端連接到所述或門電路的輸入端;所述網(wǎng)絡(luò)接口發(fā)送模塊,包括打包器、打包緩沖區(qū)、鏈路控制器 和注入速率控制器,所述打包器的輸出端連接到所述打包緩沖區(qū)的輸 入端,所述打包緩沖區(qū)的輸出端分別連接到鏈路控制器和注入速率控 制器;所述注入速率控制器的輸出端連接到所述多個發(fā)送緩沖區(qū),所述 或門電路的輸出端連接到所述打包器,所述鏈路控制器與路由器進(jìn)行 通信。
全文摘要
本發(fā)明公開了一種基于預(yù)分配的流控方法,包括初始化,獲取各個鏈路盡力而為業(yè)務(wù)可用的平均帶寬;設(shè)置每一線路的盡力而為業(yè)務(wù)的初始注入速率為該線路的平均的業(yè)務(wù)量;為所有線路盡力而為業(yè)務(wù)分配最短路徑;設(shè)置盡力而為業(yè)務(wù)的目的注入速率,使所有鏈路的負(fù)載因子小于1;根據(jù)所述目的注入速率,通過設(shè)計(jì)網(wǎng)絡(luò)接口和改變IP核發(fā)送緩沖區(qū)中數(shù)據(jù)的存儲和發(fā)送方式,實(shí)現(xiàn)流控。本發(fā)明還公開了一種基于預(yù)分配的流控裝置。本發(fā)明利用片上網(wǎng)絡(luò)的業(yè)務(wù)可預(yù)知性,通過限制所有線路盡力而為業(yè)務(wù)的注入速率使其不超過片上網(wǎng)絡(luò)各個鏈路盡力而為業(yè)務(wù)的平均可用帶寬,從而減小了業(yè)務(wù)的突發(fā)性,減小了擁塞概率,提高片上網(wǎng)絡(luò)的性能。
文檔編號H04L12/56GK101335707SQ20081011783
公開日2008年12月31日 申請日期2008年8月5日 優(yōu)先權(quán)日2008年8月5日
發(fā)明者曾烈光, 林世俊, 厲 蘇, 金德鵬 申請人:清華大學(xué)