亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

發(fā)送間隔調整方法、裝置和網(wǎng)絡設備的制作方法

文檔序號:7921153閱讀:162來源:國知局
專利名稱:發(fā)送間隔調整方法、裝置和網(wǎng)絡設備的制作方法
技術領域
本發(fā)明實施例涉及數(shù)據(jù)傳輸技術領域,尤其涉及一種發(fā)送間隔調整方法、裝置和網(wǎng)絡設備。
背景技術
快速夕卜設部件互連(Peripheral Component Interconnect Express ;以下簡稱 PCIE)總線,沿用了現(xiàn)有的外設部件互連(Peripheral Component Interconnect Express ; 以下簡稱PCI)編程概念及通訊標準,但傳輸速度更快,PCIE的一個串行高速收發(fā)器的單向物理帶寬即可達到2. 5吉比特每秒(Gigabit per second ;以下簡稱Gbps)。而PCIE鏈路分為發(fā)送(TX)與接收(RX)兩個方向,因此僅一個串行高速收發(fā)器的雙向合計物理帶寬就可以達到5Gbps。在用戶接口層面,使用事務層規(guī)定的處理層數(shù)據(jù)包(Transaction Layer Packet ; 以下簡稱TLP)幀來傳輸數(shù)據(jù)。用戶的不同傳輸請求需要根據(jù)協(xié)議規(guī)定類型填寫TLP幀頭中的相應字段。TLP幀可以分為轉發(fā)事務(Post)幀與非轉發(fā)事務(Non-Post)幀兩大類,其中寫數(shù)據(jù)請求屬于Post幀,而讀數(shù)據(jù)請求則屬于Non-Post幀。直接內存訪問(Direct Memory Access ;以下簡稱DMA)是一種不經(jīng)過中央處理單元(Central Processing Unit ;以下簡稱CPU)而直接從內存存取數(shù)據(jù)的數(shù)據(jù)交換模式。在DMA傳輸模式下,CPU只須向現(xiàn)場可編程門陣列(Field Programmable Gate Array ; 以下簡稱FPGA)端的DMA控制器下達指令,讓DMA控制器來處理數(shù)據(jù)的傳送,數(shù)據(jù)傳送完畢再把信息反饋給CPU,這樣就很大程度上減輕了 CPU的資源占有率,可以大大節(jié)省系統(tǒng)資源,提高數(shù)據(jù)傳輸速率。FPGA端的DMA控制器通過緩存描述符(Buffer Descriptor ;以下簡稱BD)與CPU 進行數(shù)據(jù)傳輸,CPU在自身的內存中設置相應的收發(fā)BD后,啟動FPGA的DMA控制器,F(xiàn)PGA 根據(jù)CPU設定的BD在CPU內存中的位置讀取BD,如果是下行BD,則根據(jù)下行BD中的數(shù)據(jù)存儲地址和存儲長度從CPU內存中搬運數(shù)據(jù),如果是上行BD,則將FPGA從下游芯片接口中收到的數(shù)據(jù)填寫到上行BD所設定的CPU內存中,并將寫入的數(shù)據(jù)總長度更新到上行BD中。 當FPGA收發(fā)完成一個完整數(shù)據(jù)包后,將相應的上下行BD回寫到CPU的內存中,以通知CPU 一個數(shù)據(jù)包已經(jīng)收發(fā)完成。其中下行鏈路定義為CPU向FPGA發(fā)送數(shù)據(jù),上行鏈路定義為FPGA向CPU發(fā)送數(shù)據(jù)。—個系統(tǒng)的上下行速率即數(shù)據(jù)包的收發(fā)速率與多種因素相關,例如CPU對數(shù)據(jù)的處理能力,F(xiàn)PGA內部DMA的處理能力,F(xiàn)PGA和CPU間的接口種類,以及所選用的橋接芯片性能等。當CPU和FPGA內部DMA的處理能力都足夠強大時,接口的性能就成了系統(tǒng)性能的瓶頸。DMA傳輸數(shù)據(jù)包時,每一個數(shù)據(jù)包均配置一個8字節(jié)長度的BD,而且每個BD的讀取和回寫也需要占用PCIE接口的帶寬,F(xiàn)PGA的DMA發(fā)起的讀BD請求與讀數(shù)據(jù)請求均需要通過PCIE接口的TX鏈路,而系統(tǒng)的下行帶寬完全取決于通過PCIE TX鏈路發(fā)起的讀數(shù)據(jù)請求數(shù)量,PCIETX鏈路上發(fā)出的讀請求的數(shù)據(jù)量越多,則下行帶寬越大。并且PCIE協(xié)議規(guī)定Post幀的可以穿越Non-post幀,也就是說即使當讀數(shù)據(jù)請求優(yōu)先于寫數(shù)據(jù)請求提交給PCIE內核(PCIE core)之后,PCIE接口上后到的寫數(shù)據(jù)請求也是優(yōu)先于先前的讀數(shù)據(jù)請求發(fā)送到CPU端。
因此系統(tǒng)的瓶頸在于如何有效利用PCIE接口的TX鏈路帶寬,如何在TX鏈路上合理分配上行寫數(shù)據(jù)傳輸帶寬和下行讀數(shù)據(jù)的帶寬?,F(xiàn)有的保證系統(tǒng)上下行速率相對均衡的方案一般有2種,即提高PCIE接口物理帶寬的方案與控制上行鏈路速率的方案。1、提高PCIE接口物理帶寬的方案。本方案通過提高CPU與FPGA之間PCIE接口的物理帶寬,例如選擇滿足PCIE2. 0 標準的CPU或者使PCIE鏈路由X4改為X8,使得物理帶寬提升一倍,從而使得系統(tǒng)瓶頸不再存在于PCIE接口上,同時保證上下行鏈路均達到最大性能。但是該方案存在以下缺點系統(tǒng)成本顯著上升,增加硬件設計復雜度,需要使用更高性能的CPU與更大容量更多高速接口的FPGA來滿足高速PCIE接口的物理指標。并且不能最大限度的利用高速PCIE接口的全部帶寬。2、控制上行鏈路速率的方案。本方案通過限制上行鏈路的速率,例如固定設置上行鏈路發(fā)包的最小間隔,以限制上行鏈路的最大帶寬來提高下行鏈路的帶寬,保證Non-Post幀不被Post幀穿越,來達到上下行鏈路帶寬的均衡性。但是該方案存在以下缺點將系統(tǒng)的瓶頸轉移到FPGA,通過限制FPGA的處理能力,來保證速率均衡,但是通常實際應用場合中,CPU的處理能力要弱于FPGA,在CPU來不及設置下行BD的情況下,而FPGA的上行速率又無法提升,或者包長遞增的情況下,無法平衡上下行速率,將有相當一部分的PCIE帶寬被浪費。

發(fā)明內容
本發(fā)明實施例提供一種發(fā)送間隔調整方法、裝置和網(wǎng)絡設備,以實現(xiàn)上下行帶寬自適應均衡,提高PCIE接口的帶寬利用率。本發(fā)明實施例提供一種發(fā)送間隔調整方法,包括統(tǒng)計第i個統(tǒng)計周期內從快速外設部件互連PCIE接口接收到的第一數(shù)據(jù)量和所述第i個統(tǒng)計周期內發(fā)送到所述PCIE接口的第二數(shù)據(jù)量;根據(jù)所述第一數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第i個統(tǒng)計周期的下行帶寬,并根據(jù)所述第二數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第i個統(tǒng)計周期的上行帶寬;根據(jù)所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的比例關系,調整第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。本發(fā)明實施例還提供一種發(fā)送間隔調整裝置,包括統(tǒng)計模塊,用于統(tǒng)計第i個統(tǒng)計周期內從快速外設部件互連PCIE接口接收到的第一數(shù)據(jù)量和所述第i個統(tǒng)計周期內發(fā)送到所述PCIE接口的第二數(shù)據(jù)量;
計算模塊,用于根據(jù)所述第一數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第i 個統(tǒng)計周期的下行帶寬,并根據(jù)所述第二數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第 i個統(tǒng)計周期的上行帶寬;調整模塊,用于根據(jù)所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的比例關系,調整第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。本發(fā)明實施例還提供一種網(wǎng)絡設備,包括如上所述的發(fā)送間隔調整裝置。本發(fā)明實施例,首先統(tǒng)計第i個統(tǒng)計周期內從PCIE接口接收到的第一數(shù)據(jù)量和第 i個統(tǒng)計周期內發(fā)送到上述PCIE接口的第二數(shù)據(jù)量,然后根據(jù)上述第一數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的下行帶寬,并根據(jù)第二數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的上行帶寬;最后根據(jù)所述第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比例關系,調 整第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔;從而可以實現(xiàn)調整第i+Ι個統(tǒng)計周期的上行帶寬,進而可以實現(xiàn)調整第i+2個統(tǒng)計周期的下行帶寬,使得PCIE鏈路的上下行帶寬達到動態(tài)平衡,并可以提高PCIE鏈路的帶寬利用率。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明發(fā)送間隔調整方法一個實施例的流程圖;圖2為本發(fā)明統(tǒng)計周期生成時序一個實施例的示意圖;圖3為本發(fā)明上下行帶寬變化情況一個實施例的示意圖;圖4為本發(fā)明發(fā)送間隔調整裝置一個實施例的結構示意圖;圖5為本發(fā)明發(fā)送間隔調整裝置另一個實施例的結構示意圖;圖6為本發(fā)明發(fā)送間隔調整裝置再一個實施例的結構示意圖;圖7為本發(fā)明Post幀發(fā)送間隔計算單元一個實施例的示意圖;圖8為本發(fā)明仲裁狀態(tài)機一個實施例的示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明發(fā)送間隔調整方法一個實施例的流程圖,如圖1所示,該發(fā)送間隔調整方法可以包括步驟101,統(tǒng)計第i個統(tǒng)計周期內從PCIE接口接收到的第一數(shù)據(jù)量和第i個統(tǒng)計周期內發(fā)送到上述PCIE接口的第二數(shù)據(jù)量。本實施例中,i為整數(shù),且i彡0。步驟102,根據(jù)上述第一數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的下行帶寬,并根據(jù)上述第二數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的上行帶寬。具體地,可以計算第一數(shù)據(jù)量與第i個統(tǒng)計周期的長度的比值,以上述第一數(shù)據(jù)量與第i個統(tǒng)計周期的長度的比值作為第i個統(tǒng)計周期的下行帶寬;計算第二數(shù)據(jù)量與第 i個統(tǒng)計周期的長度的比值,以上述第二數(shù)據(jù)量與第i個統(tǒng)計周期的長度的比值作為第i個統(tǒng)計周期的上行帶寬。步驟103,根據(jù)第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比例關系,調整第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔。

具體地,可以確定第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值;當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的第一比值小于第一預定數(shù)值時,增大第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的上行帶寬與第 i個統(tǒng)計周期的下行帶寬的第二比值小于第二預定數(shù)值時,縮小第i+Ι個統(tǒng)計周期內Post 幀的發(fā)送間隔。更具體地,可以將0與第一預定數(shù)值限定的區(qū)間劃分為N個子區(qū)間,N為正整數(shù), N > 2 ;當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的第一比值落入上述 N個子區(qū)間中的任一子區(qū)間時,采用第一比值所在子區(qū)間對應的步長,增大第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔。可以將0與第二預定數(shù)值限定的區(qū)間劃分為M個子區(qū)間,M為正整數(shù),M彡2 ;當?shù)?i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的第二比值落入上述M個子區(qū)間中的任一子區(qū)間時,采用第二比值所在子區(qū)間對應的步長,縮小第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔。本實施例中,第一預定數(shù)值大于0,且小于或等于1 ;第二預定數(shù)值大于0,且小于或等于1。當然,本實施例并不僅限于此,第一預定數(shù)值和第二預定數(shù)值的取值范圍也可以為其他范圍,本實施例對此不作限定;例如當上述第一比值或第二比值為大于1的數(shù)值時,也可以根據(jù)系統(tǒng)性能要求或實際需要對第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔進行調
iF. ο另外,當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的大小相同時, 可以不對第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔進行調整。上述實施例可以實現(xiàn)調整第i+Ι個統(tǒng)計周期的上行帶寬,進而可以實現(xiàn)調整第 i+2個統(tǒng)計周期的下行帶寬,使得PCIE鏈路的上下行帶寬達到動態(tài)平衡,并可以提高PCIE 鏈路的帶寬利用率。本發(fā)明圖1所示實施例中,上述統(tǒng)計周期的生成時序可以如圖2所示,圖2為本發(fā)明統(tǒng)計周期生成時序一個實施例的示意圖,圖2中的5微秒的統(tǒng)計周期是個初始值,可以根據(jù)不同應用場景的實際情況由CPU進行設定。當本發(fā)明實施例提供的方法應用于不同系統(tǒng)中時,隨著不同系統(tǒng)的物理帶寬的變化,統(tǒng)計周期也需要相應調整,以使得在一個相對較長的統(tǒng)計周期內,帶寬的波動更加平滑。本發(fā)明實施例以鏈路的最大帶寬為7Gbps為例來計算,當同時發(fā)起的最大讀數(shù)據(jù)量為4KB時,可以計算得到統(tǒng)計周期為5微秒??偟膩碚f,影響PCIE接口下行帶寬的因素主要有以下兩點(I)DMA發(fā)起的讀請求的數(shù)據(jù)量越大,對端設備通過PCIE接口發(fā)給FPGA的數(shù)據(jù)量就越多,因此在PCIE接口上收到的數(shù)據(jù)量就越大。
(2)PCIE接口的上行帶寬太大將會降低下行帶寬。根據(jù)PCIE接口特性,寫請求能夠穿越讀請求,當寫請求的數(shù)據(jù)量太大時,PCIE接口將會阻塞讀請求,優(yōu)先保證寫請求,從而導致上下行帶寬不均衡。因此根據(jù)上下行鏈路的帶寬狀態(tài),限制上行帶寬是保證上下行帶寬均衡的重要手段。本發(fā)明實施例根據(jù)第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值, 調整第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔,從而可以達到調整第i+Ι個統(tǒng)計周期的上行帶寬,進而影響第i+2個統(tǒng)計周期的下行帶寬,使得PCIE鏈路的上下行帶寬動態(tài)平衡的目的。下面以第一預定數(shù)值為75% ;第二預定數(shù)值為75% ;M和N均為3,各子區(qū)間對應的步長分別為4、2和1為例進行說明。本發(fā)明實施例的一種具體實現(xiàn)方式中,當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值大于0,且小于或等于25%時,以步長為4,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值大于25%,且小于或等于50%時,以步長為2,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值大于50%,小于或等于75%時,以步長為1,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔??偟膩碚f,當?shù)趇個統(tǒng)計周期的下行帶寬小于第i個統(tǒng)計周期的上行帶寬時,要增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔,以縮小上行帶寬,使得下行鏈路的 Non-Post能夠盡快提交給CPU,從而增加下行鏈路帶寬。當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于0,且小于或等于25%時,以步長為4,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于25%,且小于或等于50%時,以步長為2,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于50%,且小于或等于75%時,以步長為1,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;總的來說,當?shù)趇個統(tǒng)計周期的上行帶寬小于第i個統(tǒng)計周期的下行帶寬時,要縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔,以增大上行帶寬,這樣下行鏈路的 Non-Post幀將被Post幀穿越,從而縮小下行鏈路帶寬。舉例來說,假設第i個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔為6,接口帶寬為 200MHz,位寬為64位。因此第i個統(tǒng)計周期(5微秒=5000納秒,即1000個時鐘周期)內可以傳輸?shù)?4字節(jié)長度的數(shù)據(jù)包的個數(shù)為有效數(shù)據(jù)傳輸周期64字節(jié)X8/64 = 8個時鐘周期,第i個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔為6個時鐘周期,因此發(fā)送一個64字節(jié)的數(shù)據(jù)包需要14個時鐘周期。這樣,5微秒內可以傳輸?shù)臄?shù)據(jù)包的個數(shù)=1000/14 = 71,因此5微秒內傳輸?shù)臄?shù)據(jù)量為71X64字節(jié)=4544字節(jié)。假設第i個統(tǒng)計周期的下行帶寬小于或等于第i個統(tǒng)計周期的上行帶寬的25%, 即第i個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值小于或等于25%,則以步長為4,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔,這樣,第i+Ι個統(tǒng)計周期內,傳輸一個64字節(jié)長的數(shù)據(jù)包需要8+6+4 = 18個時鐘周期,因此5微秒內可以傳輸?shù)臄?shù)據(jù)包的個數(shù)為1000/18 = 55,也就是3520字節(jié)的數(shù)據(jù)量。因此增大上行鏈路的Post幀的發(fā)送間隔可以明顯降低上行鏈路的帶寬,同理可知縮小上行鏈路的Post幀的發(fā)送間隔可以增大上行鏈路的帶寬。而調節(jié)當前統(tǒng) 計周期的上行帶寬將影響PCIE接口上提交給下行鏈路的讀請求的數(shù)據(jù)量,而當前統(tǒng)計周期內發(fā)出的讀請求,只能影響下一個統(tǒng)計周期的下行帶寬,也就是通過調整第i+Ι個統(tǒng)計周期的上行帶寬來影響第i+2個統(tǒng)計周期的下行帶寬,以此類推。通俗的說,本發(fā)明實施例就是根據(jù)上下行鏈路對PCIE接口帶寬的互相爭用來達到動態(tài)平衡,如圖3所示,圖3為本發(fā)明上下行帶寬變化情況一個實施例的示意圖,圖3中, 實線表示上行帶寬變化情況,虛線表示下行帶寬變化情況,由圖3可以看出,當上行帶寬增加時,下行帶寬將會逐漸減少;當上行帶寬減少時,下行帶寬將會逐漸增加。以64字節(jié)(Byte)的短包為例,DMA以200M輸出的原始位寬為64位的數(shù)據(jù),DMA 的最小幀間間隔為6個時鐘周期,即DMA的上行帶寬為200MX64bitX8/14 = 7. 3Gbps,如果第i個統(tǒng)計周期的下行帶寬為2. OGbps,則第i個統(tǒng)計周期下行帶寬與上行帶寬的比值約為27. 40%,該比值大于25%,且小于50%,因此需要以步長為2,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔,這樣第i+Ι個統(tǒng)計周期的上行帶寬變?yōu)?00MX64bitX8/ (14+2) = 6. 4Gbps,在第i+1個統(tǒng)計周期繼續(xù)進行統(tǒng)計,發(fā)現(xiàn)下行鏈路帶寬提升到2. 5Gbps, 這樣,第i+1個統(tǒng)計周期下行帶寬與上行帶寬的比值約為39%,該比值仍舊大于25%,且小于50%,因此需要以步長為2,增大第i+2個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔,這樣第i+2個統(tǒng)計周期的上行帶寬變?yōu)?00MX64bitX8/(14+2+2) =5. 6Gbps,此時下行鏈路帶寬逐漸上升到3. OGbps。重復以上步驟,逐漸達到上下行帶寬的動態(tài)平衡。本發(fā)明實施例中,當?shù)趇個統(tǒng)計周期的上行帶寬等于第i個統(tǒng)計周期的下行帶寬時,表示上行帶寬與下行帶寬暫時達到平衡,不需調整第i+Ι個統(tǒng)計周期內上行鏈路的 Post幀的發(fā)送間隔。另外,本發(fā)明實施例中,當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值在其他數(shù)值范圍(例如大于75%且小于1)時,第i個統(tǒng)計周期的上行帶寬與第i 個統(tǒng)計周期的下行帶寬相差比較小,上行帶寬也不需要大幅調整,即不需要大幅調整第i+1 個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔。當然本發(fā)明實施例并不僅限于此,本發(fā)明實施例對將0與第一預設數(shù)值限定的區(qū)間劃分為N個子區(qū)間,以及將0與第二預定數(shù)值限定的區(qū)間劃分為M個子區(qū)間的方式,以及各子區(qū)間對應步長的大小不作限定。下面以第一預定數(shù)值為1,第二預定數(shù)值為1,M和N均為3,步長分別為3、2和1為例進一步說明。本發(fā)明實施例的另一具體實現(xiàn)方式中,可以當?shù)趇個統(tǒng)計周期的下行帶寬與第i 個統(tǒng)計周期的上行帶寬的比值大于0,且小于或等于1/3時,以步長為3,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值大于1/3,且小于或等于2/3時,以步長為2,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值大于2/3,且小于或等于1時,以步長為1,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔。
當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于0,且小于或等于1/3時,以步長為3,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于1/3,且小于或等于2/3時,以步長為2,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于2/3,且小于或等于1時,以步長為1,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔。當然,本發(fā)明實施例中,上下行帶寬的平衡是一種動態(tài)的過程,受到CPU處理能力與PCIE接口特性的影響,上下行帶寬不會在達到平衡后穩(wěn)定不變,會出現(xiàn)時而上行帶寬較大,時而下行鏈路帶寬較大,但是在一個比較長的統(tǒng)計時間(例如1秒或者10秒)內,上下行帶寬是趨于平衡的。而且本發(fā)明實施例在CPU的處理能力不足,引起DMA的BD庫中任何一個方向可用 BD不夠時,都可以保證PCIE鏈路上另外一個方向的帶寬不受影響,使得PCIE鏈路的使用率達到最大。本發(fā)明實施例提供的上述方法可以實現(xiàn)在可編程邏輯器件,例如FPGA或復雜可編程邏輯器件(Complex Programmable Logic Device ;以下簡稱CPLD)芯片內部,占用邏輯資源少,在不占用CPU資源的情況下,可以比較穩(wěn)定的控制PCIE接口上的上下行帶寬,進而可以實現(xiàn)平衡上下行鏈路的速率,并且保證PCIE鏈路的帶寬使用率達到最大。本發(fā)明實施例對其他可能造成鏈路帶寬不平衡的接口標準也是適用的,當同一總線下連接兩個不同的設備,本發(fā)明實施例提供的方法對其性能的平衡也是適用的。本領域普通技術人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。圖4為本發(fā)明發(fā)送間隔調整裝置一個實施例的結構示意圖,本實施例中的發(fā)送間隔調整裝置可以作為網(wǎng)絡設備,或網(wǎng)絡設備的一部分實現(xiàn)本發(fā)明圖1所示實施例的流程。 如圖4所示,該發(fā)送間隔調整裝置可以包括統(tǒng)計模塊41、計算模塊42和調整模塊43。其中,統(tǒng)計模塊41,用于統(tǒng)計第i個統(tǒng)計周期內從PCIE接口接收到的第一數(shù)據(jù)量和第i個統(tǒng)計周期內發(fā)送到PCIE接口的第二數(shù)據(jù)量;計算模塊42,用于根據(jù)第一數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的下行帶寬,并根據(jù)第二數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的上行帶寬; 具體地,計算模塊42可以計算第一數(shù)據(jù)量與第i個統(tǒng)計周期的長度的第一比值,以上述第一比值作為第i個統(tǒng)計周期的下行帶寬;以及計算第二數(shù)據(jù)量與第i個統(tǒng)計周期的長度的第二比值,以上述第二比值作為第i個統(tǒng)計周期的上行帶寬。調整模塊43,用于根據(jù)第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比例關系,調整第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔。本實施例中,上述發(fā)送間隔調整裝置可以通過可編程邏輯器件,例如FPGA或 CPLD實現(xiàn);本實施例中的網(wǎng)絡設備可以為交換機或路由器等設備,本實施例對網(wǎng)絡設備的具體形式不作限定。上述發(fā)送間隔調整裝置可以實現(xiàn)調整第i+Ι個統(tǒng)計周期的上行帶寬,進而可以實現(xiàn)調整第i+2個統(tǒng)計周期的下行帶寬,使得PCIE鏈路的上下行帶寬達到動態(tài)平衡,并可以提高PCIE鏈路的帶寬利用率。圖5為本發(fā)明發(fā)送間隔調整裝置另一個實施例的結構示意圖,與圖4所示的發(fā)送間隔調整裝置相比,不同之處在于,本實施例中,調整模塊43可以包括確定子模塊431、增大子模塊432和縮小子模塊433 ;其中,確定子模塊431,用于確定第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值,以及確定第i個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值;增大子模塊432,用于當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值小于第一預定數(shù)值時,增大第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔;縮小子模塊433,用于當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值小于第二預定數(shù)值時,縮小第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔。進一步地,調整模塊43還可以包括第一劃分子模塊434 ;第一劃分子模塊434,用于將0與第一預定數(shù)值限定的區(qū)間劃分為N個子區(qū)間,N 為正整數(shù),N ^ 2 ;則,增大子模塊432,具體用于當?shù)趇個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的第一比值落入上述N個子區(qū)間中的任一子區(qū)間時,采用第一比值所在子區(qū)間對應的步長,增大第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔。進一步地,調整模塊43還可以包括第二劃分子模塊435 ;第二劃分子模塊435,用于將0與第二預定數(shù)值限定的區(qū)間劃分為M個子區(qū)間,M 為正整數(shù),M ^ 2 ;則,縮小子模塊433,具體用于當?shù)趇個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的第二比值落入上述M個子區(qū)間中的任一子區(qū)間時,采用第二比值所在子區(qū)間對應的步長,縮小第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔。上述發(fā)送間隔調整裝置在不占用CPU資源的情況下,可以比較穩(wěn)定的控制PCIE接口上的上下行帶寬,進而可以實現(xiàn)平衡上下行鏈路的速率,并且保證PCIE鏈路的帶寬使用率達到最大。圖6為本發(fā)明發(fā)送間隔調整裝置再一個實施例的結構示意圖,如圖6所示,該發(fā)送間隔調整裝置可以包括統(tǒng)計定時單元61、上行帶寬計算單元62、下行帶寬計算單元63、請求仲裁單元64、DMA 65,TLP幀組裝發(fā)送單元66、TLP幀接收分類單元67、數(shù)據(jù)緩存68、Post 幀發(fā)送間隔計算單元69和PCIE內核(PCIE Core)610。其中,統(tǒng)計定時單元61,用于在DMA 65啟動后,利用計數(shù)器產(chǎn)生5微秒間隔的脈沖,提供給上行帶寬計算單元62和下行帶寬計算單元63作為統(tǒng)計周期。上行帶寬計算單元62,用于在第i個統(tǒng)計周期內,對請求仲裁單元64發(fā)送到PCIE 接口的第二數(shù)據(jù)量進行統(tǒng)計,并計算第二數(shù)據(jù)量與第i個統(tǒng)計周期的長度的第二比值,以第二比值作為第i個統(tǒng)計周期的上行帶寬。每個統(tǒng)計周期結束后,上行帶寬計算單元62統(tǒng)計的數(shù)值清0。下行帶寬計算單元63,用于在第i個統(tǒng)計周期內,對從PCIE接口接收到的第一數(shù)據(jù)量,并計算第一數(shù)據(jù)量與統(tǒng)計周期的長度的第一比值,以上述第一比值作為第i個統(tǒng)計周期的下行帶寬。每個統(tǒng)計周期結束后,下行帶寬計算單元63統(tǒng)計的數(shù)值清0。本實施例中的上行帶寬計算單元62和下行帶寬計算單元63可以實現(xiàn)本發(fā)明圖4和圖5所示實施例中統(tǒng)計模塊41和計算模塊42的功能。請求仲裁單元64,用于根據(jù)上行帶寬計算單元62計算的第i個統(tǒng)計周期的上行帶寬與下行帶寬計算單元63計算的第i個統(tǒng)計周期的下行帶寬的比例關系,以及Post幀發(fā)送間隔計算單元69計算的第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔,均衡PCIE接口上下行鏈路的帶寬。DMA 65,用于根據(jù)CPU的相關設定發(fā)起各種數(shù)據(jù)傳輸?shù)南嚓P請求,例如讀BD請求、 讀數(shù)據(jù)請求、更新BD請求和/或寫數(shù)據(jù)請求。其中讀數(shù)據(jù)請求與讀BD請求屬于Non-Post 請求;更新BD請求與寫數(shù)據(jù)請求屬于Post請求。并且在下游接多個端口的時候,根據(jù)下游的數(shù)據(jù)緩存水線進行多通道仲裁,根據(jù)下游端口的數(shù)據(jù)傳輸情況將上游總線上獲取的帶寬動態(tài)分配給下游接口。TLP幀組裝發(fā)送單元66,用于根據(jù)請求仲裁單元64發(fā)起的請求種類,按PCIE協(xié)議規(guī)定的格式組裝TLP幀,而后發(fā)送給PCIE內核610。TLP幀接收分類單元67,用于將從PCIE內核610取得的TLP幀按照不同種類分開, 提供給DMA 65。數(shù)據(jù)緩存68,用于存儲DMA 65與下游通信接口收到的數(shù)據(jù),實現(xiàn)數(shù)據(jù)的存儲轉發(fā)。Post幀發(fā)送間隔計算單元69,用于根據(jù)上行帶寬計算單元62計算的第i個統(tǒng)計周期的上行帶寬與下行帶寬計算單元63計算的第i個統(tǒng)計周期的下行帶寬,計算第i+Ι個統(tǒng)計周期內Post幀的發(fā)送間隔,然后將該發(fā)送間隔發(fā)送給請求仲裁單元64。本實施例中, 請求仲裁單元64和Post幀發(fā)送間隔計算單元69可以實現(xiàn)本發(fā)明圖4和圖5所示實施例中調整模塊43的功能。PCIE內核610,用于接收TLP幀組裝發(fā)送單元66發(fā)送的TLP幀,以及向TLP幀接收分類單元67發(fā)送TLP幀。本實施例中的Post幀發(fā)送間隔計算單元69可以通過圖7所示的電路實現(xiàn),圖7 為本發(fā)明Post幀發(fā)送間隔計算單元一個實施例的示意圖。如圖7所示,當?shù)趇個統(tǒng)計周期的下行帶寬小于或等于第i個統(tǒng)計周期的上行帶寬的25%,即第i個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值小于或等于 25%時,以步長為4,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的下行帶寬大于第i個統(tǒng)計周期的上行帶寬的25%,且小于或等于第i個統(tǒng)計周期的上行帶寬的50%,即第i個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值大于25%,且小于或等于50%時,以步長為2,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的下行帶寬大于第i個統(tǒng)計周期的上行帶寬的50%,且小于或等于第i個統(tǒng)計周期的上行帶寬的75%,即第i個統(tǒng)計周期的下行帶寬與第i個統(tǒng)計周期的上行帶寬的比值大于50%,小于或等于75%時,以步長為1,增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔。總的來說,當?shù)趇個統(tǒng)計周期的下行帶寬小于第i個統(tǒng)計周期的上行帶寬時,要增大第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔,以縮小上行帶寬,使得下行鏈路的 Non-Post能夠盡快提交給CPU,從而增加下行鏈路帶寬。
當?shù)趇個統(tǒng)計周期的上行帶寬小于或等于第i個統(tǒng)計周期的下行帶寬的25%,即第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值小于或等于25%時,以步長為4,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的上行帶寬大于第i個統(tǒng)計周期的下行帶寬的25%,且小于或等于第i個統(tǒng)計周期的下行帶寬的50%,即第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于25%,且小于或等于50%時,以步長為2,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;當?shù)趇個統(tǒng)計周期的上行帶寬大于第i個統(tǒng)計周期的下行帶寬的50%,且小于或等于第i個統(tǒng)計周期的下行帶寬的75%,即第i個統(tǒng)計周期的上行帶寬與第i個統(tǒng)計周期的下行帶寬的比值大于50%,且小于或等于75%時,以步長為1,縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔;總的來說,當?shù)趇個統(tǒng)計周期的上行帶寬小于第i個統(tǒng)計周期的下行帶寬時,要縮小第i+Ι個統(tǒng)計周期內上行鏈路的Post幀的發(fā)送間隔,以增大上行帶寬,這樣下行鏈路的 Non-Post幀將被Post幀穿越,從而縮小下行鏈路帶寬。本實施例中,請求仲裁單元64的仲裁狀態(tài)機如圖8所示,圖8為本發(fā)明仲裁狀態(tài)機一個實施例的示意圖?,F(xiàn)將圖8中各狀態(tài)和各信號的含義介紹如下。狀態(tài)說明IDLE:空閑狀態(tài);NP_REQ =Non-Post幀請求響應,即讀請求響應狀態(tài);DLBD_RD 響應讀下行BD請求;ULBD_RD 響應讀上行BD請求;DLDAT_RD 響應讀下行數(shù)據(jù)請求;Post_REQ =Post幀請求響應,即寫請求響應狀態(tài);
DLBD_WR 響應寫下行BD請求;ULBD_WR 響應寫上行BD請求;ULDAT_RD 響應寫上行數(shù)據(jù)請求。信號說明s_rdreq 拉高表示DMA 65有發(fā)起讀請求,也就是說當s_dlbd_rdreq信號、s_ ulbd_rdreq 或 s_dldat_rdreq 拉高時,s_rdreq 拉高。s_wrreq 拉高表示DMA 65有發(fā)起寫請求,也就是說s_dlbd_wrreq信號、s_ulbd_ wrreq 或 s_ulbd_wrreq 拉高時,s_wrreq 拉高。s_dlbd_rdreq 拉高表示DMA 65有發(fā)起讀下行BD請求;s_ulbd_rdreq 拉高表示DMA 65有發(fā)起讀上行BD請求;s_dldat_rdreq 拉高表示DMA 65有發(fā)起讀下行數(shù)據(jù)請求;s_dlbd_wrreq 拉高表示DMA 65有發(fā)起寫下行BD請求;s_ulbd_wrreq 拉高表示DMA 65有發(fā)起寫上行BD請求;s_ulbd_wrreq 拉高表示DMA 65有發(fā)起寫上行數(shù)據(jù)請求;dlbd_rddone 拉高表示DMA 65的讀下行BD請求成功發(fā)送;
ulbd_rddone 拉高表示DMA 65的讀上行BD請求成功發(fā)送;dldat_rddone 拉高表示DMA 65的讀下行數(shù)據(jù)請求成功發(fā)送;dlbd_wrdone 拉高表示DMA 65的寫下行BD請求成功發(fā)送;ulbd_wrdone 拉高表示DMA 65的寫上行BD請求成功發(fā)送;uldat_wrdone 拉高表示DMA 65的寫上行數(shù)據(jù)請求成功發(fā)送。仲裁狀態(tài)機說明(1)系統(tǒng)在復位后,進入IDLE狀態(tài);(2)在IDLE狀態(tài)下檢測到s_rdreq信號為高,就跳轉至NP_REQ,響應各種讀請求。(3)在IDLE狀態(tài)下如果沒有檢測到s_rdreq信號為高,而是檢測到s_wrreq信號為高,則跳轉至Post_REQ狀態(tài),響應各種寫請求。(4)在NP_REQ狀態(tài)下,如果檢測到s_dlbd_rdreq信號為高則跳轉至DLBD_RD狀態(tài),響應DMA65發(fā)出的讀下行BD請求。(5)在NP_REQ狀態(tài)下,如果檢測到s_dlbd_rdreq信號為低,而s_ulbd_rdreq信號為高則跳轉至ULBD_RD狀態(tài),響應DMA65發(fā)出的讀上行BD請求。(6)在NP_REQ狀態(tài)下,如果檢測到s_dlbd_rdreq信號與s_ulbd_rdreq信號為低, 且S_dldat_rdreq信號為高,則跳轉至DLDAT_RD狀態(tài),響應DMA65發(fā)出的讀下行數(shù)據(jù)的請求。(7)在DLBD_RD狀態(tài)下,在讀下行BD的TLP幀提交給PCIE內核610之后,若檢測到dlbd_rddone信號拉高,則跳轉回IDLE狀態(tài)。(8)在ULBD_RD狀態(tài)下,在讀上行BD的TLP幀請求提交給PCIE內核610之后,若檢測到ulbd_rddone信號拉高,則跳轉回IDLE狀態(tài)。(9)在DLDAT_RD狀態(tài)下,在讀下行數(shù)據(jù)TLP幀提交給PCIE內核610之后,若檢測到dldat_rddone信號拉高,則跳轉回IDLE狀態(tài)。(10)在P0ST_REQ狀態(tài)下,如果到達Post幀發(fā)送間隔計算單元69計算的發(fā)送間隔,則開始進行判決,當檢查到s_dlbd_wrreq為高時跳轉至DLBD_WR狀態(tài),響應DMA 65發(fā)起的更新下行BD請求。(11)在P0ST_REQ狀態(tài)下,如果到達Post幀發(fā)送間隔計算單元69計算的發(fā)送間隔,則開始進行判決,當檢查到s_dlbd_wrreq為低并且s_ulbd_wrreq為高時,跳轉至ULBD_ WR狀態(tài),響應DMA 65發(fā)起的更新下行BD請求。(12)在P0ST_REQ狀態(tài)下,如果到達Post幀發(fā)送間隔計算單元69計算的發(fā)送間隔,則開始進行判決,當檢查到s_dlbd_wrreq信號與s_ulbd_Wrreq為低,并且s_uldat_ wrreq信號為高時,跳轉至ULDAT_WR狀態(tài),響應DMA65發(fā)起的寫上行數(shù)據(jù)請求。(13)在DLBD_WR狀態(tài)下,當更新下行BD的TLP幀提交給PCIE內核610之后,若檢測到dlbd_wrdone拉高,則跳轉回IDLE狀態(tài)。(14)在ULBD_WR狀態(tài)下,當更新上行BD的TLP幀提交給PCIE內核610之后,若檢測到ulbd_wrdone拉高,則跳轉回IDLE狀態(tài)。(15)在ULDAT_WR狀態(tài)下,當寫上行數(shù)據(jù)的TLP幀提交給PCIE內核610之后,若檢測到uldat_Wrdone拉高,則跳轉回IDLE狀態(tài)。本實施例所示的發(fā)送間隔調整裝置可以通過可編程邏輯器件,例如FPGA或CPLD等實現(xiàn),在不占用CPU資源的情況下,可以比較穩(wěn)定的控制PCIE接口上的上下行帶寬,進而可以實現(xiàn)平衡上下行鏈路的速率,并且保證PCIE鏈路的帶寬使用率達到最大。本發(fā)明實施例還提供一種網(wǎng)絡設備,該網(wǎng)絡設備可以通過本發(fā)明圖4、圖5或圖6 所示的發(fā)送間隔調整裝置實現(xiàn),該網(wǎng)絡設備可以為交換機或路由器等設備,本實施例對網(wǎng)絡設備的具體形式不作限定。本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。最后應說明的是以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。
權利要求
1.一種發(fā)送間隔調整方法,其特征在于,包括統(tǒng)計第i個統(tǒng)計周期內從快速外設部件互連PCIE接口接收到的第一數(shù)據(jù)量和所述第 i個統(tǒng)計周期內發(fā)送到所述PCIE接口的第二數(shù)據(jù)量;根據(jù)所述第一數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第i個統(tǒng)計周期的下行帶寬,并根據(jù)所述第二數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第i個統(tǒng)計周期的上行帶寬;根據(jù)所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的比例關系, 調整第i+1個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔;i為整數(shù),且i彡O。
2.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的比例關系,調整第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔包括確定所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的比值,以及確定所述第i個統(tǒng)計周期的下行帶寬與所述第i個統(tǒng)計周期的上行帶寬的比值;當所述第i個統(tǒng)計周期的下行帶寬與所述第i個統(tǒng)計周期的上行帶寬的第一比值小于第一預定數(shù)值時,增大所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔;當所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的第二比值小于第二預定數(shù)值時,縮小所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。
3.根據(jù)權利要求2所述的方法,其特征在于,所述當所述第i個統(tǒng)計周期的下行帶寬與所述第i個統(tǒng)計周期的上行帶寬的第一比值小于第一預定數(shù)值時,增大所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔包括將O與所述第一預定數(shù)值限定的區(qū)間劃分為N個子區(qū)間,N為正整數(shù),N彡2 ;當所述第i個統(tǒng)計周期的下行帶寬與所述第i個統(tǒng)計周期的上行帶寬的第一比值落入所述N個子區(qū)間中的任一子區(qū)間時,采用所述第一比值所在子區(qū)間對應的步長,增大所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。
4.根據(jù)權利要求2所述的方法,其特征在于,所述當所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的第二比值小于第二預定數(shù)值時,縮小所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔包括將O與所述第二預定數(shù)值限定的區(qū)間劃分為M個子區(qū)間,M為正整數(shù),M彡2 ;當所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的第二比值落入所述M個子區(qū)間中的任一子區(qū)間時,采用所述第二比值所在子區(qū)間對應的步長,縮小所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。
5.根據(jù)權利要求2、3或4所述的方法,其特征在于,所述第一預定數(shù)值大于0,且小于或等于1 ;所述第二預定數(shù)值大于0,且小于或等于1。
6.一種發(fā)送間隔調整裝置,其特征在于,包括統(tǒng)計模塊,用于統(tǒng)計第i個統(tǒng)計周期內從快速外設部件互連PCIE接口接收到的第一數(shù)據(jù)量和所述第i個統(tǒng)計周期內發(fā)送到所述PCIE接口的第二數(shù)據(jù)量;計算模塊,用于根據(jù)所述第一數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第i個統(tǒng)計周期的下行帶寬,并根據(jù)所述第二數(shù)據(jù)量與所述第i個統(tǒng)計周期的長度計算所述第i個統(tǒng)計周期的上行帶寬;調整模塊,用于根據(jù)所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的比例關系,調整第i+1個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。
7.根據(jù)權利要求6所述的裝置,其特征在于,所述調整模塊包括確定子模塊,用于確定所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的比值;增大子模塊,用于當所述第i個統(tǒng)計周期的下行帶寬與所述第i個統(tǒng)計周期的上行帶寬的第一比值小于第一預定數(shù)值時,增大所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔;縮小子模塊,用于當所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的第二比值小于第二預定數(shù)值時,縮小所述第i+ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述調整模塊還包括第一劃分子模塊; 所述第一劃分子模塊,用于將O與所述第一預定數(shù)值限定的區(qū)間劃分為N個子區(qū)間,N為正整數(shù),N彡2;所述增大子模塊,具體用于當所述第i個統(tǒng)計周期的下行帶寬與所述第i個統(tǒng)計周期的上行帶寬的第一比值落入所述N個子區(qū)間中的任一子區(qū)間時,采用所述第一比值所在子區(qū)間對應的步長,增大所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。
9.根據(jù)權利要求7所述的裝置,其特征在于,還包括第二劃分子模塊;所述第二劃分子模塊,用于將O與所述第二預定數(shù)值限定的區(qū)間劃分為M個子區(qū)間,M 為正整數(shù),M彡2;所述縮小子模塊,具體用于當所述第i個統(tǒng)計周期的上行帶寬與所述第i個統(tǒng)計周期的下行帶寬的第二比值落入所述M個子區(qū)間中的任一子區(qū)間時,采用所述第二比值所在子區(qū)間對應的步長,縮小所述第i+Ι個統(tǒng)計周期內轉發(fā)事務幀的發(fā)送間隔。
10.一種網(wǎng)絡設備,其特征在于,包括如權利要求6-9任意一項所述的發(fā)送間隔調整裝置。
全文摘要
本發(fā)明實施例提供一種發(fā)送間隔調整方法、裝置和網(wǎng)絡設備,該發(fā)送間隔調整方法包括統(tǒng)計第i個統(tǒng)計周期內從PCIE接口接收到的第一數(shù)據(jù)量和發(fā)送到PCIE接口的第二數(shù)據(jù)量;根據(jù)第一數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的下行帶寬,并根據(jù)第二數(shù)據(jù)量與第i個統(tǒng)計周期的長度計算第i個統(tǒng)計周期的上行帶寬;根據(jù)第i個統(tǒng)計周期的上行帶寬與下行帶寬的比例關系,調整第i+1個統(tǒng)計周期內Post幀的發(fā)送間隔。本發(fā)明實施例可以實現(xiàn)調整第i+1個統(tǒng)計周期的上行帶寬,進而可以實現(xiàn)調整第i+2個統(tǒng)計周期的下行帶寬,使得PCIE鏈路的上下行帶寬達到動態(tài)平衡,并可以提高PCIE鏈路的帶寬利用率。
文檔編號H04L12/56GK102347902SQ20111028786
公開日2012年2月8日 申請日期2011年9月26日 優(yōu)先權日2011年9月26日
發(fā)明者陳鵬 申請人:北京星網(wǎng)銳捷網(wǎng)絡技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1