報文緩存管理方法及系統的製作方法
2023-08-09 18:24:11 2
專利名稱:報文緩存管理方法及系統的製作方法
技術領域:
本發明涉及網絡通信技術領域,尤其涉及一種報文緩存管理方法及系統。
背景技術:
現有技術中路由交換晶片結構如圖1所示,網絡交換晶片分為上行方向報文處理引擎、流量管理引擎和下行方向報文處理引擎。報文在上行方向處理引擎中根據報文頭部攜帶的外部優先級欄位(如802. lp、DSCP等)映射得到交換晶片內部處理優先級。流量管理引擎接收到報文後,根據內部優先級映射得到報文的流分類索引號。流量管理引擎繼而可以根據流分類索引號,對不同的應用提供差異化的緩存資源分配和管理。現有網絡交換晶片中報文緩存管理方法將緩存空間分割為最小資源保證區和資源共享區兩個功能區。最小資源保證區確保每個埠和流分類能夠獲得一定的緩存資源, 資源共享區得緩存資源在所有埠和流分類之間共享。然而,現有網絡交換晶片只將整個緩存空間劃分為兩個功能區,無法滿足網絡應用的發展要求,主要表現在
(1)在埠流控和PFC功能啟用時,從此埠或流分類進來的報文,仍然可能面臨緩存資源不夠而被丟包的問題;
(2)不支持虛擬化方案。隨著數據中心三網融合技術的推進,存儲網絡和hfiniBand 網絡流量將由廉價的乙太網承載。這就要求交換設備能夠對三種網絡流量進行區別對待。 另外,虛擬化還表現在,將一臺物理設備虛擬成多臺邏輯設備,例如,一臺48個埠的交換設備被虛擬化成兩臺M個埠的邏輯設備。在兩臺邏輯設備上運行獨立的控制進程,在晶片數據通道上,兩臺邏輯設備的資源被隔離,互不影響;
(3)缺乏一個控制不同埠和流分類之間公平分配資源的控制機制。緩存管理方法不能適應網絡擁塞狀態的變化,在資源利用率和公平性之間找不到平衡點。鑑於上述問題,有必要提供一種新的報文緩存管理方法及系統。
發明內容
本發明的目的在於提供一種提高緩存利用率的報文緩存管理方法及系統。本發明的一種報文緩存管理方法,所述方法包括以下步驟
51、流量管理引擎接收到報文;
52、入口緩存資源管理模塊對報文進行資源管理和報文接納控制;
53、出口緩存資源管理模塊對報文進行資源管理和報文接納控制;
54、若入口緩存資源管理和出口緩存資源管理都通過,則將報文存儲到MMU共享緩存; 否則,拒絕報文存儲到MMU共享緩存並丟棄到達報文。作為本發明的進一步改進,所述MMU共享緩存被劃分為若干單元長度相同的存儲分片單元。作為本發明的進一步改進,所述入口緩存資源管理模塊將MMU共享緩存劃分為最小資源保證區、資源共享區、流控和PFC專用資源區以及關鍵資源區。作為本發明的進一步改進,所述步驟S2具體為
521、入口緩存資源管理模塊接收到報文;
522、最小資源保證區根據入埠數量劃分成若干每個入埠要保證的最小資源區;
523、在每個入埠要保證的最小資源區內,按照此入埠內的流分類數量劃分此入埠下每個流分類要保證的資源下限;
524、報文使用最小資源保證區的緩存資源進行緩存;
525、若最小資源保證區的緩存資源被用盡,報文依次經過入埠下流分類資源上限約束檢查、入埠資源上限約束檢查、虛擬子空間資源上限約束檢查、以及整體緩存資源上限約束檢查,若四層約束檢查全部通過,報文從共享資源區申請得到相應數量的緩存單元;
526、若四層約束檢查失敗,判斷報文是否屬於關鍵報文,若是,從關鍵資源區申請緩存單元;
527、若四層約束檢查失敗,判斷埠下是否使能了流控或者相應優先級使能了PFC,若是,從流控和PFC專用資源區申請緩存單元。作為本發明的進一步改進,所述步驟S23還包括
5231、入口資源管理模塊根據當前緩存資源的利用率評估當前的擁塞級別;
5232、根據擁塞級別動態調節每個入埠以及入埠下每個流分類在資源共享區的資源使用上限。作為本發明的進一步改進,所述出口緩存資源管理模塊將MMU共享緩存劃分為 最小資源保證區、資源共享區以及關鍵資源區。作為本發明的進一步改進,所述步驟S3具體為
531、出口緩存資源管理模塊接收到報文;
532、最小資源保證區根據出埠數量劃分成若干每個出埠要保證的最小資源區;
533、在每個出埠要保證的最小資源區內,按照此出埠內隊列組和業務隊列數量劃分此出埠下每個隊列組和業務隊列的資源下限;
534、報文使用最小資源保證區的緩存資源進行緩存;
535、若最小資源保證區的緩存資源被用盡,報文依次經過業務隊列資源上限約束檢查、隊列組資源上限約束檢查、出埠資源上限約束檢查、虛擬子空間資源上限約束檢查、 以及整體緩存資源上限約束檢查,若五層約束檢查全部通過,報文從共享資源區申請得到相應數量的緩存單元;
536、若五層約束檢查失敗,判斷報文是否屬於關鍵報文,若是,從關鍵資源區申請緩存單元。作為本發明的進一步改進,所述步驟S33還包括
5331、出口資源管理模塊根據當前緩存資源的利用率評估當前的擁塞級別;
5332、根據擁塞級別動態調節每個出埠以及出埠下每個隊列組和業務隊列在資源共享區的資源使用上限。作為本發明的進一步改進,所述步驟S4後還包括
流量管理引擎調度器按照調度算法選中相關聯的業務隊列;
將業務隊列隊頭的報文從MMU共享緩存的存儲地址從隊列中取出,並根據存儲地址訪問MMU共享緩存獲取整個報文信息;
入口緩存資源管理模塊和出口緩存資源管理模塊同時歸還入口資源和出口資源。對應地,一種根據報文緩存管理系統,所述系統包括流量管理引擎,所述流量管理引擎包括
入口緩存資源管理模塊,基於入埠和流分類資源使用情況對報文進行資源管理和接納控制;
出口緩存資源管理模塊,基於出埠和業務隊列資源使用情況對報文進行資源管理和接納控制;
MMU共享緩存,用於緩存入口緩存資源管理模塊和出口緩存資源管理模塊約束檢查通過的報文。本發明的有益效果是本發明提出了緩存空間虛擬化方法,同時改進了共享資源管理方法,能夠實時評估擁塞級別並據此動態調節各個埠和流分類在共享資源區的資源使用上限。在緩存利用率低的情況下,允許單個埠和流分類佔用絕大部分緩存資源;當緩存利用率非常高時,能夠通過這種動態調節機制,合理地在各個埠和流分類之間分配緩存資源,提高公平性。
圖1為網絡交換晶片的結構示意圖。圖2為本發明一實施方式中報文緩存管理方法的流程圖。圖3為圖2中步驟S2的具體流程圖。圖4為本發明一實施方式中入口資源管理虛擬子空間劃分和功能區劃分示意圖。圖5為本發明一實施方式中入口資源管理虛擬子空間內層次化資源約束門限值示意圖。圖6為本發明一實施方式中入口資源管理流程圖。圖7為本發明一實施方式中入口資源管理擁塞級別評估流程圖。圖8為本發明一實施方式中入口資源管理擁塞級別評估示意圖。圖9為圖2中步驟S3的具體流程圖。圖10為本發明一實施方式中出口資源管理虛擬子空間劃分和功能區劃分示意圖。圖11為本發明一實施方式中出口資源管理虛擬子空間內層次化資源約束門限值示意圖。圖12為本發明一實施方式中出口資源管理流程圖。圖13為本發明一實施方式中出口資源管理擁塞級別評估流程圖。圖14為本發明一實施方式中報文緩存管理系統示意圖。圖15為本發明一實施方式中報文緩存管理系統的流量管理引擎示意圖。
具體實施例方式以下將結合附圖所示的各實施方式對本發明進行詳細描述。但這些實施方式並不限制本發明,本領域的普通技術人員根據這些實施方式所做出的結構、方法、或功能上的變換均包含在本發明的保護範圍內。參圖2所示為本發明一實施方式中報文緩存管理方法流程圖,其包括以下步驟
51、流量管理引擎接收到報文;
52、入口緩存資源管理模塊對報文進行資源管理和報文接納控制。基於報文的入埠進行資源管理和報文接納控制;
53、出口緩存資源管理模塊對報文進行資源管理和報文接納控制。基於報文的出埠進行資源管理和報文接納控制;
54、若入口緩存資源管理和出口緩存資源管理都通過,則將報文存儲到MMU共享緩存; 否則,拒絕報文存儲到MMU共享緩存並丟棄到達報文。若且唯若兩個級別的資源管理都通過後,報文才被接納並存儲到共享緩存中,否則丟棄該到達的報文。上述步驟中,MMU共享緩存的資源管理分為兩個級別對報文進行接納控制。第一個級別基於報文的入埠進行資源管理和報文接納控制,稱為入口緩存資源管理,第二個級別基於報文的出埠進行資源管理和報文接納控制,稱為出口緩存資源管理。若且唯若兩個級別的資源管理都通過後,報文才被接納並存儲到共享緩存中,否則丟棄該到達的報文。其中,上述MMU共享緩存空間按照某個單元長度被劃分為許多存儲分片單元。當報文長度小於存儲分片單元長度時,報文只要使用一個存儲分片單元;當報文長度為存儲單元分片長度的N倍時,報文需要使用N個存儲分片單元;當報文長度不為存儲單元分片長度的整數倍,而是介於存儲單元分片長度的N倍和N+1倍之間時,報文需要使用N+1個存儲分片單元。MMU共享緩存空間的資源分配和報文接納控制基於劃分後的存儲分片單元數量進行控制和管理。進一步地,參圖3所示,步驟S2具體為
521、入口緩存資源管理模塊接收到報文;
522、最小資源保證區根據入埠數量劃分成若干每個入埠要保證的最小資源區;
523、在每個入埠要保證的最小資源區內,按照此入埠內的流分類數量劃分此入埠下每個流分類要保證的資源下限;
524、報文使用最小資源保證區的緩存資源進行緩存;
525、若最小資源保證區的緩存資源被用盡,報文依次經過入埠下流分類資源上限約束檢查、入埠資源上限約束檢查、虛擬子空間資源上限約束檢查、以及整體緩存資源上限約束檢查,若四層約束檢查全部通過,報文從共享資源區申請得到相應數量的緩存單元;
526、若四層約束檢查失敗,判斷報文是否屬於關鍵報文,若是,從關鍵資源區申請緩存單元;
527、若四層約束檢查失敗,判斷埠下是否使能了流控或者相應優先級使能了PFC,若是,從流控和PFC專用資源區申請緩存單元。針對上述步驟,結合圖4至圖8所示,對入口資源管理模塊對報文進行資源管理和報文接納控制進行進一步說明。參圖4所示為入口資源管理虛擬子空間劃分和功能區劃分示意圖,入口緩存資源管理模塊將整個MMU共享緩存被劃分成若干個功能區並對這些功能去進行分區管理。入口緩存資源管理模塊接收到報文後,根據報文的入埠和內部優先級映射出報文的流分類索引號,進而根據入埠和流分類索引號映射出虛擬子空間索引號。入口資源管理模塊從虛擬子空間、入埠和流分類三個層次進行層次化的資源約束管理和接納控制。優選地,在本實施方式中上述入口緩存資源管理模塊將MMU共享緩存劃分為最小資源保證區、資源共享區、流控和PFC專用資源區以及關鍵資源區。其中,關鍵資源區從整個MMU共享緩存空間中全局預留出一塊小空間,該功能區預留給關鍵報文,如BPDU、0SPF等協議控制報文使用。若且唯若報文所屬的虛擬子空間中, 其對應的入埠和流分類所保證的最小資源已經被用完並且已經達到最大資源上限的情況下使用該功能區。保證在擁塞情況下,不丟失網絡交換設備系統控制平面上的連接和業務上的連續性,普通數據報文禁止使用關鍵資源區。流控和PFC專用區功能區可以視每個虛擬子空間的需要決定是否劃分這一功能區,在其他實施方式中也可以不包括流控和PFC專用資源區。此功能區用於在流控或者PFC XOFF幀送出開始到上遊交換設備或者上遊工作站設備對XOFF幀作出響應並暫停發流的這段時間內,在最小資源保證區和資源共享區中的緩存資源被用盡的前提下使用該功能區的資源存儲這段時間內管道上正在傳輸的報文,滿足流控和PFC功能不丟包的特殊要求。參圖5所示為入口資源管理虛擬子空間內層次化資源約束門限值示意圖,在虛擬子空間內的最小資源保證區進一步按照入埠號和流分類索引號進行細分。首先,最小資源保證區根據入埠數量劃分成若干個每入埠要保證的最小資源區。進而,在每個入埠要保證的最小資源區內,按照此入埠內的流分類數量進一步劃分此入埠下每個流分類要保證的最小資源數量。報文先使用最小資源保證區中的資源,當最小資源保證區中的資源已經使用完之後,再從資源共享區中申請資源。最小資源保證區為每個埠的各個流分類保證一定數量的存儲分片單元,滿足數據通道上的線速轉發能力。參圖8所示,結合上述步驟S2廣S27內容,對入口資源管理提供層次化的資源使用約束管理進行進一步說明。報文優先使用最小資源保證區的緩存資源,當最小資源保證區的緩存資源被用盡後,從共享區申請緩存資源。普通報文是否能夠從共享資源區申請到資源,需要依次經過入埠下流分類資源上限約束檢查、入埠資源上限約束檢查、虛擬子空間資源上限約束檢查、以及整體緩存資源上限約束檢查,若且唯若這四層約束檢查全部通過,報文才能從共享資源區申請得到相應數量的緩存單元。對於埠下使能了流控或者相應優先級使能了 PFC的情況下,如果這四層約束檢查失敗,還可以從流控和PFC資源專用區申請緩存單元。對於關鍵報文(如BPDU、OSPF等一些重要控制協議報文),如果這四層約束檢查失敗,還可以從關鍵資源區申請緩存單元。如果報文通過資源約束檢查,則從相應功能區取走相應數量的緩存單元;否則,入口資源管理模塊拒絕存儲該報文。報文通過入口資源管理後,下一步進入出口資源管理。參圖7所示,上述步驟S23還包括
5231、入口資源管理模塊根據當前緩存資源的利用率評估當前的擁塞級別;
5232、根據擁塞級別動態調節每個入埠以及入埠下每個流分類在資源共享區的資源使用上限。資源共享區被所有入埠共享使用。預設情況下,每個入埠的資源使用上限可以配置為該虛擬子空間資源共享區的大小,入埠下每個流分類的資源使用上限之間可以根據優先級別的不同進行差異化配置。在所有其他入埠都不使用該資源共享區的前提下,單個入埠可以佔用資源共享區的所有資源,提高緩存資源的利用率和吸收突發流量的能力。當有多個埠競爭共享區的緩存資源時,則採用上述步驟S231、S232進行動態調節,根據資源佔用率動態地調節每個入埠、以及入埠下每個流分類在資源共享區的資源使用上限,保證不同入埠、以及相同入埠下不同流分類在資源共享區能夠公平合理地使用共享區資源。如圖8所示,入口管理資源根據當前緩存資源的利用率來評估當前的擁塞級別。在本實施方式中列舉了 8個擁塞級別的情況,0表示擁塞級別最低,對應緩存利用率最低的情況;7表示擁塞級別最高,對應緩存利用率最高的情況。每個入埠以及入埠下流分類在共享資源區的資源使用上限根據擁塞級別動態變化。初始狀態下,所有資源使用上限對應擁塞級別0,當擁塞加重,擁塞級別升高時,這些資源使用上限都需要適當下調,下調方法或者是基於算術方法(比如擁塞每提高一級,資源使用上限變為一半),或是採用寄存器靈活配置每個擁塞級別的資源使用上限。結合圖9至圖13所示,對入口資源管理模塊對報文進行資源管理和報文接納控制進行進一步說明。參圖10所示為出口緩存資源功能區示意圖,和入口緩存資源管理類似,出口緩存資源管理模塊將整個MMU共享緩存劃分成若干個功能區進行分區管理。因為出口資源不需要觸發流控和PFC X0N/X0FF幀的發送,所以不需要設置流控和PFC專用資源區。參圖9所示,上述步驟S3具體為
531、出口緩存資源管理模塊接收到報文;
532、最小資源保證區根據出埠數量劃分成若干每個出埠要保證的最小資源區;
533、在每個出埠要保證的最小資源區內,按照此出埠內隊列組和業務隊列數量劃分此出埠下每個隊列組和業務隊列的資源下限;
534、報文使用最小資源保證區的緩存資源進行緩存;
535、若最小資源保證區的緩存資源被用盡,報文依次經過業務隊列資源上限約束檢查、隊列組資源上限約束檢查、出埠資源上限約束檢查、虛擬子空間資源上限約束檢查、 以及整體緩存資源上限約束檢查,若五層約束檢查全部通過,報文從共享資源區申請得到相應數量的緩存單元;
536、若五層約束檢查失敗,判斷報文是否屬於關鍵報文,若是,從關鍵資源區申請緩存單元。上述步驟和入口緩存資源管理相類似,但和入口緩存資源管理不同的是,出口緩存資源層次化資源約束的對象不同。在出口緩存資源管理中,被約束的對象是出埠(報文目的埠)、隊列組(用戶)和業務隊列。如圖11所示,在出口緩存資源管理虛擬子空間內, 每個業務隊列在最小資源保證區被分配一定數量的緩存資源,用於保證線速轉發。在資源共享區中,每個出埠、隊列組(用戶)和業務隊列單獨設定一個資源上限。這些資源共享區中的資源上限也是根據擁塞級別動態調節的。其調節方法可以參考入口資源管理中資源上限的動態調節。出口資源緩存管理進行層次化的資源約束檢查,確保緩存資源在各個出埠、隊列組(用戶)和業務隊列之間有效、合理公平的利用。參圖12所示,結合上述步驟S3廣S36內容,對出口資源管理提供層次化的資源使用約束管理進行進一步說明。報文優先使用最小資源保證區的緩存資源,當最小資源保證區的緩存資源被用盡後,從共享區申請緩存資源。普通報文是否能夠從共享資源區申請到資源,需要依次經過業務隊列資源上限約束檢查、隊列組資源上限約束檢查、出埠資源上限約束檢查、虛擬子空間資源上限約束檢查、以及整體緩存資源上限約束檢查,若且唯若這五層約束檢查全部通過,報文才能從共享資源區申請得到相應數量的緩存單元。對於關鍵報文(如BPDU.0SPF等一些重要控制協議報文),如果這五層約束檢查失敗,還可以從關鍵資源區申請緩存單元。如果報文通過資源約束檢查,則從相應功能區取走相應數量的緩存單元;否則,出口資源管理模塊拒絕存儲該報文,並通知緩存資源管理器釋放事先在入口緩存資源管理階段獲取的緩存單元,並丟棄到達報文。報文通過出口資源管理後,由緩存資源管理器將報文存入MMU共享緩存中,並將報文在MMU共享緩存中的地址送往業務隊列。參圖13所示,上述步驟S33還包括
5331、出口資源管理模塊根據當前緩存資源的利用率評估當前的擁塞級別;
5332、根據擁塞級別動態調節每個出埠以及出埠下每個隊列組和業務隊列在資源共享區的資源使用上限。資源共享區被所有出埠共享使用。預設情況下,每個出埠的資源使用上限可以配置為該虛擬子空間資源共享區的大小,出埠下每個隊列組和業務隊列在資源共享區的資源使用上限之間可以根據優先級別的不同進行差異化配置。在所有其他出埠都不使用該資源共享區的前提下,單個出埠可以佔用資源共享區的所有資源。當有多個埠競爭共享區的緩存資源時,則採用上述步驟S331、S332進行動態調節,根據資源佔用率動態地調節每個出埠、以及出埠下每個隊列組和業務隊列在資源共享區的資源使用上限, 保證不同出埠、以及出埠下每個隊列組和業務隊列在資源共享區能夠公平合理地使用共享區資源。出口管理資源根據當前緩存資源的利用率來評估當前的擁塞級別。參圖8所示,在本實施方式中列舉了 8個擁塞級別的情況,0表示擁塞級別最低,對應緩存利用率最低的情況;7表示擁塞級別最高,對應緩存利用率最高的情況。每個出埠、以及出埠下每個隊列組和業務隊列在共享資源區的資源使用上限根據擁塞級別動態變化。初始狀態下,所有資源使用上限對應擁塞級別0,當擁塞加重,擁塞級別升高時,這些資源使用上限都需要適當下調,下調方法或者是基於算術方法(比如擁塞每提高一級,資源使用上限變為一半),或是採用寄存器靈活配置每個擁塞級別的資源使用上限。優選地,上述步驟S4後還包括
流量管理引擎調度器按照調度算法選中相關聯的業務隊列;
將業務隊列隊頭的報文從MMU共享緩存的存儲地址從隊列中取出,並根據存儲地址訪問MMU共享緩存獲取整個報文信息;
入口緩存資源管理模塊和出口緩存資源管理模塊同時歸還入口資源和出口資源。流量管理引擎調度器按照一定的調度算法對其關聯的業務隊列進行服務和報文調度。當某個業務隊列被調度器選中時,該業務隊列隊頭的報文在MMU共享緩存的存儲地址從隊列中取出來,並根據存儲地址訪問MMU共享緩存獲取整個報文的載荷。同時,緩存資源管理器被通知歸還該報文的存儲資源,存儲資源需要同時歸還入口資源和出口資源。 報文從MMU共享緩存中取出來之後,送給下行方向報文處理引擎進行報文頭編輯和其他處理,並最終從目的埠發送到鏈路上。上述步驟中,對於普通數據報文,入口資源和出口資源優先歸還給此報文相應虛擬子空間內的資源共享區,其次是最小資源保證區。對於關鍵報文,應該是優先歸還給關鍵資源區。特別地,在入口資源管理中,如果此報文所屬入埠啟用了流控機制或者此報文所屬流分類啟用了 PFC功能,應該優先將資源歸還給流控和PFC專用資源區。參圖14所示,一種報文緩存管理系統,其特徵在於所述系統包括流量管理引擎 100,所述流量管理引擎100包括
入口緩存資源管理模塊101,基於入埠和流分類資源使用情況對報文進行資源管理和接納控制;
出口緩存資源管理模塊102,基於出埠和業務隊列資源使用情況對報文進行資源管理和接納控制;
MMU共享緩存103,用於緩存入口緩存資源管理模塊和出口緩存資源管理模塊約束檢查通過的報文。圖1所示為包括上述流量管理引擎100的網絡交換晶片10,結合圖15,報文從入埠進入網絡交換晶片10,在交換晶片上行方向報文處理引擎200中為報文映射內部優先級。該內部優先級標識了報文在網絡交換晶片10中被處理的優先級別。繼而,交換晶片上行方向報文處理引擎200根據報文目的地址查找轉發表,獲取報文下一跳的目的埠號, 並將報文送達流量管理引擎100。流量管理引擎100接收到報文後,根據MMU共享緩存的使用情況接納控制到達的報文。如果報文被接納,則將報文存儲到MMU共享緩存103並將報文存儲到MMU的地址送往隊列中;否則丟棄該到達的報文。流量管理引擎100中的調度器根據一定的調度策略和算法實施隊列調度,從隊列中取得報文在MMU共享緩存中的存儲地址並將報文從MMU共享緩存中取出送往交換晶片下行方向報文處理引擎。下行方向報文處理引擎300對報文進行編輯並將其從目的埠送出。本發明提供的報文緩存管理方法及系統有如下優點
針對輸入埠和輸入埠進行兩級接納控制,提供高效的共享數據包緩存管理; 整個數據包緩存空間被劃分成若干個虛擬子空間,每個虛擬子空間管理本空間內的資源,提供設備虛擬化能力;
在每個虛擬子空間內,基於埠和流分類進行層次化的最小資源保證和最大資源約束。最小資源保證每個埠以及每個埠下的流分類能夠獲得足夠的資源用於線速轉發, 最大資源約束限制擁塞情況下每個埠以及每個埠下的流分類可以獲得的最大資源數量;
在每個虛擬子空間內,根據當前緩存資源使用情況實時評估擁塞級別,根據擁塞級別動態調節各個被管理對象的最大資源使用上限,達到在各個被管理對象之間公平分配緩存資源的目的;
在每個虛擬子空間內,設定動態調節的埠流控門限值和埠 PFC門限值; 設置專用的關鍵報文緩衝區,在網絡擁塞情況下,為網絡控制報文提供可用的緩存資源,保證協議連接的持續性和交換設備之間的相互可達;
為流控和PFC設置專用的資源區,保證流控和PFC XOFF幀送出後,設備預留有足夠的緩存資源接納上遊設備在響應XOFF幀這段時間內管道上的報文,保證流控和PFC XOFF幀送出後設備不丟棄相應數據源的報文的特性。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備 (可以是個人計算機,伺服器,或者網絡設備等)執行本申請各個實施方式或者實施方式的某些部分所述的方法。以上所描述的裝置實施方式僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施方式方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。本申請可用於眾多通用或專用的計算系統環境或配置中。例如個人計算機、伺服器計算機、手持設備或可攜式設備、平板型設備、多處理器系統、基於微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。應當理解,雖然本說明書按照實施方式加以描述,但並非每個實施方式僅包含一個獨立的技術方案,說明書的這種敘述方式僅僅是為清楚起見,本領域技術人員應當將說明書作為一個整體,各實施方式中的技術方案也可以經適當組合,形成本領域技術人員可以理解的其他實施方式。上文所列出的一系列的詳細說明僅僅是針對本發明的可行性實施方式的具體說明,它們並非用以限制本發明的保護範圍,凡未脫離本發明技藝精神所作的等效實施方式或變更均應包含在本發明的保護範圍之內。
權利要求
1.一種報文緩存管理方法,其特徵在於,所述方法包括以下步驟51、流量管理引擎接收到報文;52、入口緩存資源管理模塊對報文進行資源管理和報文接納控制;53、出口緩存資源管理模塊對報文進行資源管理和報文接納控制;54、若入口緩存資源管理和出口緩存資源管理都通過,則將報文存儲到MMU共享緩存; 否則,拒絕報文存儲到MMU共享緩存並丟棄到達報文。
2.根據權利要求1所述的方法,其特徵在於,所述MMU共享緩存被劃分為若干單元長度相同的存儲分片單元。
3.根據權利要求1所述的方法,其特徵在於,所述入口緩存資源管理模塊將MMU共享緩存劃分為最小資源保證區、資源共享區、流控和PFC專用資源區以及關鍵資源區。
4.根據權利要求3所述的方法,其特徵在於,所述步驟S2具體為521、入口緩存資源管理模塊接收到報文;522、最小資源保證區根據入埠數量劃分成若干每個入埠要保證的最小資源區;523、在每個入埠要保證的最小資源區內,按照此入埠內的流分類數量劃分此入埠下每個流分類要保證的資源下限;524、報文使用最小資源保證區的緩存資源進行緩存;525、若最小資源保證區的緩存資源被用盡,報文依次經過入埠下流分類資源上限約束檢查、入埠資源上限約束檢查、虛擬子空間資源上限約束檢查、以及整體緩存資源上限約束檢查,若四層約束檢查全部通過,報文從共享資源區申請得到相應數量的緩存單元;526、若四層約束檢查失敗,判斷報文是否屬於關鍵報文,若是,從關鍵資源區申請緩存單元;527、若四層約束檢查失敗,判斷埠下是否使能了流控或者相應優先級使能了PFC,若是,從流控和PFC專用資源區申請緩存單元。
5.根據權利要求4所述的方法,其特徵在於,所述步驟S23還包括5231、入口資源管理模塊根據當前緩存資源的利用率評估當前的擁塞級別;\5232、根據擁塞級別動態調節每個入埠以及入埠下每個流分類在資源共享區的資源使用上限。
6.根據權利要求1所述的方法,其特徵在於,所述出口緩存資源管理模塊將MMU共享緩存劃分為最小資源保證區、資源共享區以及關鍵資源區。
7.根據權利要求6所述的方法,其特徵在於,所述步驟S3具體為\531、出口緩存資源管理模塊接收到報文;\532、最小資源保證區根據出埠數量劃分成若干每個出埠要保證的最小資源區;\533、在每個出埠要保證的最小資源區內,按照此出埠內隊列組和業務隊列數量劃分此出埠下每個隊列組和業務隊列的資源下限;\534、報文使用最小資源保證區的緩存資源進行緩存;\535、若最小資源保證區的緩存資源被用盡,報文依次經過業務隊列資源上限約束檢查、隊列組資源上限約束檢查、出埠資源上限約束檢查、虛擬子空間資源上限約束檢查、 以及整體緩存資源上限約束檢查,若五層約束檢查全部通過,報文從共享資源區申請得到相應數量的緩存單元;S36、若五層約束檢查失敗,判斷報文是否屬於關鍵報文,若是,從關鍵資源區申請緩存單元。
8.根據權利要求7所述的方法,其特徵在於,所述步驟S33還包括5331、出口資源管理模塊根據當前緩存資源的利用率評估當前的擁塞級別;5332、根據擁塞級別動態調節每個出埠以及出埠下每個隊列組和業務隊列在資源共享區的資源使用上限。
9.根據權利要求1所述的方法,其特徵在於,所述步驟S4後還包括流量管理引擎調度器按照調度算法選中相關聯的業務隊列;將業務隊列隊頭的報文從MMU共享緩存的存儲地址從隊列中取出,並根據存儲地址訪問MMU共享緩存獲取整個報文信息;入口緩存資源管理模塊和出口緩存資源管理模塊同時歸還入口資源和出口資源。
10.一種根據權利要求1所述的報文緩存管理系統,其特徵在於所述系統包括流量管理引擎,所述流量管理引擎包括入口緩存資源管理模塊,基於入埠和流分類資源使用情況對報文進行資源管理和接納控制;出口緩存資源管理模塊,基於出埠和業務隊列資源使用情況對報文進行資源管理和接納控制;MMU共享緩存,用於緩存入口緩存資源管理模塊和出口緩存資源管理模塊約束檢查通過的報文。
全文摘要
本發明提供了一種報文緩存管理方法,其包括以下步驟S1、流量管理引擎接收到報文;S2、入口緩存資源管理模塊對報文進行資源管理和報文接納控制;S3、出口緩存資源管理模塊對報文進行資源管理和報文接納控制;S4、若入口緩存資源管理和出口緩存資源管理都通過,則將報文存儲到MMU共享緩存;否則,拒絕報文存儲到MMU共享緩存並丟棄到達報文。本發明提出了緩存空間虛擬化方法,同時改進了共享資源管理方法,能夠實時評估擁塞級別並據此動態調節各個埠和流分類在共享資源區的資源使用上限。
文檔編號H04L12/56GK102404213SQ20111036760
公開日2012年4月4日 申請日期2011年11月18日 優先權日2011年11月18日
發明者廖繼平, 榮亮, 許俊, 鄭曉陽 申請人:盛科網絡(蘇州)有限公司