本發(fā)明涉及交換機技術(shù)領(lǐng)域,尤其涉及一種緩存分配方法及裝置。
背景技術(shù):
交換機內(nèi)部存在一定數(shù)量的緩存,報文從交換機入口進(jìn)入后,存儲于交換機緩存中,并在交換機出端口進(jìn)行排隊,如果出端口處排隊的緩存報文達(dá)到一定數(shù)量時,新加入此出端口隊列的報文將會被直接丟棄。
QoS(Quality of Service,服務(wù)質(zhì)量)主要用來解決網(wǎng)絡(luò)延遲阻塞等問題,保證網(wǎng)絡(luò)服務(wù)質(zhì)量。WRR(Weighted Round Robin,加權(quán)循環(huán)調(diào)度算法)是QoS的一種重要隊列調(diào)度技術(shù),主要是用來當(dāng)出端口出現(xiàn)擁塞排隊時,為優(yōu)先級高的隊列配置較多的帶寬資源,而為優(yōu)先級低的隊列配置較少的帶寬資源,以加權(quán)輪詢的形式使每個隊列的緩存報文都有機會得到資源轉(zhuǎn)出。
但是,在采用WRR調(diào)度技術(shù)進(jìn)行隊列調(diào)度時,為保證各個端口及隊列獲取緩存的公平性,使得優(yōu)先級高的隊列的緩存資源得不到保證,優(yōu)先級低的隊列占用空閑的緩存資源,造成緩存資源的浪費,降低了交換機的性能。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種緩存分配方法及裝置,旨在解決WRR調(diào)度技術(shù)進(jìn)行隊列調(diào)度時造成緩存資源浪費的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種緩存分配方法,所述緩存分配方法包括以下步驟:
在偵測到加權(quán)循環(huán)調(diào)度算法WRR隊列調(diào)度的第一配置信息時,獲取所述第一配置信息對應(yīng)的第一端口中各個隊列的比例系數(shù)、所述第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及所述第一端口所屬交換機轉(zhuǎn)發(fā)報文的最小單位;
基于所述比例系數(shù)、報文大小及最小單位計算獲得所述第一端口中各個隊列的第一緩存;
分別根據(jù)各個所述第一緩存設(shè)置為所述第一端口中相應(yīng)隊列的靜態(tài)緩 存。
優(yōu)選地,在所述將所述第一緩存設(shè)置為所述第一端口中各個隊列的靜態(tài)緩存的步驟之后,所述緩存分配方法還包括:
獲取所述交換機當(dāng)前無流量的端口的數(shù)量及所述交換機當(dāng)前可用的動態(tài)緩存;
基于所述數(shù)量及動態(tài)緩存計算獲得第二緩存;
將所述第二緩存添加至所述第一端口的靜態(tài)緩存。
優(yōu)選地,在所述將所述第一緩存設(shè)置為所述第一端口中各個隊列的靜態(tài)緩存的步驟之后,所述緩存分配方法還包括:
基于所述比例系數(shù)修改所述第一端口中各個隊列的動態(tài)緩存閾值。
優(yōu)選地,在偵測到加權(quán)循環(huán)調(diào)度算法WRR隊列調(diào)度的第一配置信息時,獲取所述第一配置信息對應(yīng)的第一端口中各個隊列的比例系數(shù)、所述第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及所述第一端口所屬交換機轉(zhuǎn)發(fā)報文的最小單位的步驟之前,所述緩存分配方法還包括:
存儲所述交換機中各個端口當(dāng)前的端口配置信息,其中,所述端口配置信息包括所述交換機中各個端口的動態(tài)緩存信息與靜態(tài)緩存信息以及所述端口中各個隊列的動態(tài)緩存信息與靜態(tài)緩存信息;
在所述將所述第一緩存設(shè)置為所述第一端口中各個隊列的靜態(tài)緩存的步驟之后,所述緩存分配方法還包括:
在所述第一端口無流量時、或在偵測到WRR隊列調(diào)度的第二配置信息且所述第二配置信息中未攜帶第一端口中各個隊列的比例系數(shù)時,基于所述端口配置信息還原所述第一端口中各個隊列的靜態(tài)緩存。
優(yōu)選地,在基于所述比例系數(shù)、報文大小及最小單位計算獲得所述第一端口中各個隊列的第一緩存的步驟與所述將所述第一緩存設(shè)置為所述第一端口中各個隊列的靜態(tài)緩存的步驟之間,所述緩存分配方法還包括:
將所述第二端口的狀態(tài)修改為緩存禁止修改狀態(tài),其中,所述第二端口為所述交換機中除第一端口之外的其他端口;
在所述分別根據(jù)各個所述第一緩存設(shè)置所述第一端口中相應(yīng)隊列的靜態(tài)緩存的步驟之后,所述緩存分配方法還包括:
將所述第二端口的狀態(tài)修改為緩存可修改狀態(tài)。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種緩存分配裝置,所述緩存分配裝置包括:
第一獲取模塊,用于在偵測到加權(quán)循環(huán)調(diào)度算法WRR隊列調(diào)度的第一配置信息時,獲取所述第一配置信息對應(yīng)的第一端口中各個隊列的比例系數(shù)、所述第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及所述第一端口所屬交換機轉(zhuǎn)發(fā)報文的最小單位;
第一計算模塊,用于基于所述比例系數(shù)、報文大小及最小單位計算獲得所述第一端口中各個隊列的第一緩存;
設(shè)置模塊,用于分別根據(jù)各個所述第一緩存設(shè)置為所述第一端口中相應(yīng)隊列靜態(tài)緩存。
優(yōu)選地,所述緩存分配裝置還包括:
第二獲取模塊,用于獲取所述交換機當(dāng)前無流量的端口的數(shù)量及所述交換機當(dāng)前可用的動態(tài)緩存;
第二計算模塊,用于基于所述數(shù)量及動態(tài)緩存計算獲得第二緩存;
添加模塊,用于將所述第二緩存添加至所述第一端口的靜態(tài)緩存。
優(yōu)選地,所述緩存分配裝置還包括:
修改模塊,用于基于所述比例系數(shù)修改所述第一端口中各個隊列的動態(tài)緩存閾值。
優(yōu)選地,所述緩存分配裝置還包括:
存儲模塊,用于存儲所述交換機中各個端口當(dāng)前的端口配置信息,其中,所述端口配置信息包括所述交換機中各個端口的動態(tài)緩存信息與靜態(tài)緩存信息以及所述端口中各個隊列的動態(tài)緩存信息與靜態(tài)緩存信息;
還原模塊,用于在所述第一端口無流量時、或在偵測到WRR隊列調(diào)度的第二配置信息且所述第二配置信息中未攜帶第一端口中各個隊列的比例系數(shù)時,基于所述端口配置信息還原所述第一端口中各個隊列的靜態(tài)緩存。
優(yōu)選地,所述緩存分配裝置還包括:
第一修改模塊,用于將所述第二端口的狀態(tài)修改為緩存禁止修改狀態(tài),其中,所述第二端口為所述交換機中除第一端口之外的其他端口;
第二修改模塊,用于將所述第二端口的狀態(tài)修改為緩存可修改狀態(tài)。
本發(fā)明中,通過在偵測到WRR隊列調(diào)度的第一配置信息時,基于獲取到的第一配置信息對應(yīng)的第一端口中各個隊列的比例系數(shù)、第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及第一端口所屬交換機轉(zhuǎn)發(fā)報文的最小單位計算獲得第一端口中各個隊列的第一緩存,然后分別根據(jù)各個第一緩存設(shè)置第一端口中相應(yīng)隊列的靜態(tài)緩存;實現(xiàn)了根據(jù)WRR指令對應(yīng)的第一端口中各個隊列的比例系數(shù)設(shè)置第一端口中各個隊列的靜態(tài)緩存,進(jìn)而使優(yōu)先級高的隊列及優(yōu)先級低的隊列都能占用與WRR隊列調(diào)度的第一端口中各個隊列的比例系數(shù)對應(yīng)的緩存資源,使得交換機緩存資源的分配更加合理,降低了高優(yōu)先級隊列的丟包概率,提高了WRR隊列調(diào)度的準(zhǔn)確性和交換機的性能。
附圖說明
圖1為本發(fā)明緩存分配方法第一實施例的流程示意圖;
圖2為本發(fā)明緩存分配方法第二實施例的流程示意圖;
圖3為本發(fā)明緩存分配方法第三實施例的流程示意圖;
圖4為本發(fā)明緩存分配方法第四實施例的流程示意圖;
圖5為本發(fā)明緩存分配方法第五實施例的流程示意圖;
圖6本發(fā)明緩存分配裝置第一實施例的功能模塊示意圖;
圖7本發(fā)明緩存分配裝置第二實施例的功能模塊示意圖;
圖8本發(fā)明緩存分配裝置第三實施例的功能模塊示意圖;
圖9本發(fā)明緩存分配裝置第四實施例的功能模塊示意圖;
圖10本發(fā)明緩存分配裝置第五實施例的功能模塊示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種緩存分配方法。
參照圖1,圖1為本發(fā)明緩存分配方法第一實施例的流程示意圖。
在本實施例中,該緩存分配方法包括:
步驟S10,在偵測到加權(quán)循環(huán)調(diào)度算法WRR隊列調(diào)度的第一配置信息時,獲取所述第一配置信息對應(yīng)的第一端口中各個隊列的比例系數(shù)、所述第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及所述第一端口所屬交換機轉(zhuǎn)發(fā)報文的最小單位;
其中,第一配置信息對應(yīng)的比例系數(shù)是指WRR隊列調(diào)度的第一配置信息中第一端口各個隊列的寬帶或流量的比例系數(shù),第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小是指第一端口中所有隊列中數(shù)據(jù)流量最大的待發(fā)送報文的報文大??;交換機轉(zhuǎn)發(fā)報文的最小單位是指交換機當(dāng)前緩存轉(zhuǎn)發(fā)報文時的最小單位,即交換機轉(zhuǎn)發(fā)報文時需要占用的最小緩存。在交換機的端口配置信息發(fā)生變化時,或者在交換機的某端口中新增調(diào)度隊列時,均可以觸發(fā)WRR隊列調(diào)度的第一配置信息。
步驟S20,基于所述比例系數(shù)、報文大小及最小單位計算獲得所述第一端口中各個隊列的第一緩存;
第一端口中各個隊列的第一緩存Q根據(jù)比例系數(shù)W、報文大小P及最小單位C計算的公式為:
Q=P/C*W。
例如,第一端口包含三個隊列7、6、5,且三個隊列配置的WRR比例系數(shù)為40:4:2,當(dāng)前第一端口的報文大小是1024byte,當(dāng)前緩存存儲轉(zhuǎn)發(fā)報文的最小單位C(CELL)為208byte,那么按照公式計算隊列7的緩存參數(shù)是:Q7=(1024/208)*(40),同樣其他兩個隊列的緩存參數(shù)也按照這個公式計算,Q7的單位為C。
步驟S30,分別根據(jù)各個所述第一緩存設(shè)置為所述第一端口中相應(yīng)隊列的靜態(tài)緩存。
將步驟S20中計算獲得的第一端口中各個隊列的第一緩存設(shè)置為該第一緩存對應(yīng)第一端口中隊列的靜態(tài)緩存,第一端口中各個隊列的靜態(tài)緩存的大小Q*C。
本實施例中,通過在偵測到WRR隊列調(diào)度的第一配置信息時,基于獲取到的比例系數(shù)、第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及最小單位計算獲得所述第一端口中各個隊列的第一緩存,然后分別根據(jù)各個第一緩存設(shè)置為第一端口中相應(yīng)隊列的靜態(tài)緩存;實現(xiàn)了根據(jù)WRR指令對應(yīng)的第一 端口中各個隊列的比例系數(shù)設(shè)置第一端口中各個隊列的靜態(tài)緩存,進(jìn)而使優(yōu)先級高的隊列及優(yōu)先級低的隊列都能占用與WRR隊列調(diào)度的第一端口中各個隊列的比例系數(shù)對應(yīng)的緩存資源,使得交換機緩存資源的分配更加合理,降低了高優(yōu)先級隊列的丟包概率,提高了WRR隊列調(diào)度的準(zhǔn)確性和交換機的性能。
參照圖2,圖2為本發(fā)明緩存分配方法第二實施例的流程示意圖。
基于第一實施例提出本發(fā)明緩存分配方法的第二實施例,在本實施例中,在步驟S30之后,該緩存分配方法還包括:
步驟S40,獲取所述交換機當(dāng)前無流量的端口的數(shù)量及所述交換機當(dāng)前可用的動態(tài)緩存;
其中,無流量的端口是指該端口中沒有隊列、或該端口中的隊列未被調(diào)度,當(dāng)前可用的動態(tài)緩存是指交換機當(dāng)前未被占用的動態(tài)緩存。
步驟S50,基于所述數(shù)量及動態(tài)緩存計算獲得第二緩存;
其中,基于數(shù)量B及動態(tài)緩存大小D計算第二緩存A的計算公式為:
A=D/B。
步驟S60,將所述第二緩存添加至所述第一端口的靜態(tài)緩存。
將步驟S50中計算獲得的第二緩存對應(yīng)的動態(tài)緩存添加至所述第一端口的靜態(tài)緩存,例如,若第一端口的原始靜態(tài)緩存為E,則添加后第一端口的靜態(tài)緩存為A+E。
本實施例中,通過基于交換機當(dāng)前無流量的端口的數(shù)量及交換機當(dāng)前可用的動態(tài)緩存計算獲得第二緩存,并將所述第二緩存添加至所述第一端口的靜態(tài)緩存,實現(xiàn)了根據(jù)當(dāng)前無流量的端口的數(shù)量及交換機當(dāng)前可用的動態(tài)緩存增大第一端口靜態(tài)緩存的大小,進(jìn)而能夠保證第一端口隊列調(diào)度的順利完成,進(jìn)一步提高了WRR調(diào)度的準(zhǔn)確性和交換機的性能。
參照圖3,圖3為本發(fā)明緩存分配方法第三實施例的流程示意圖。
基于第一實施例提出本發(fā)明緩存分配方法的第三實施例,在本實施例中,在步驟S30之后,該緩存分配方法還包括:
步驟S70,基于所述比例系數(shù)修改所述第一端口中各個隊列的動態(tài)緩存閾 值。
交換機在初始化時分別為各個端口以及各個端口中各個隊列分配一定量的動態(tài)緩存大小及可以用于獲取隊列對應(yīng)的剩余的動態(tài)緩存的閾值,其中,端口的動態(tài)緩存與該端口對應(yīng)閾值的乘積表示該端口的最大空閑動態(tài)緩存,隊列的動態(tài)緩存與該隊列對應(yīng)閾值的乘積表示該隊列的最大空閑動態(tài)緩存。
本實施例中,通過基于比例系數(shù)修改第一端口中各個隊列的動態(tài)緩存閾值,實現(xiàn)第一端口的各個隊列的動態(tài)緩存閾值的修改,使得第一端口的各個隊列的動態(tài)緩存能夠滿足調(diào)度的需求,提高了WRR調(diào)度準(zhǔn)確性。
參照圖4,圖4為本發(fā)明緩存分配方法第四實施例的流程示意圖。
基于第一實施例提出本發(fā)明緩存分配方法的第四實施例,在本實施例中,在步驟S10與之前,所述緩存分配方法還包括:
步驟S80,存儲所述交換機中各個端口當(dāng)前的端口配置信息;
其中,端口配置信息包括所述交換機中各個端口的動態(tài)緩存信息與靜態(tài)緩存信息以及所述端口中各個隊列的動態(tài)緩存信息與靜態(tài)緩存信息;
在步驟S30之后,所述緩存分配方法還包括:
步驟S90,在所述第一端口無流量時、或在偵測到WRR隊列調(diào)度的第二配置信息且所述第二配置信息中未攜帶第一端口中各個隊列的比例系數(shù)時,基于所述端口配置信息還原所述第一端口中各個隊列的靜態(tài)緩存。
在第一端口無流量及未進(jìn)行隊列調(diào)度、或在偵測到WRR隊列調(diào)度的第二配置信息且所述第二配置信息中未攜帶第一端口中各個隊列的比例系數(shù)時,根據(jù)配置信息設(shè)置第一端口的靜態(tài)緩存以及動態(tài)緩存的大小,以及設(shè)置第一端口中各個隊列的靜態(tài)緩存及動態(tài)緩存的大小。其中,第二配置信息為用戶在不需要使用WRR隊列調(diào)度進(jìn)行第一端口中各個隊列的調(diào)度時,設(shè)置的WRR隊列調(diào)度的第二配置信息。
本實施例中,通過在所述第一端口無流量時、或在偵測到WRR隊列調(diào)度的第二配置信息且所述第二配置信息中未攜帶第一端口中各個隊列的比例系數(shù)時,基于所述端口配置信息還原所述第一端口中各個隊列的靜態(tài)緩存,實現(xiàn)了第一端口中各個隊列靜態(tài)緩存的還原,使得在第一端口中各個隊列不需要進(jìn)行WRR隊列調(diào)度時能夠恢復(fù)靜態(tài)緩存的原始配置。
參照圖5,圖5為本發(fā)明緩存分配方法第五實施例的流程示意圖。
基于上述實施例提出本發(fā)明緩存分配方法的第五實施例,在本實施例中,在步驟S20與步驟S30之間,該緩存分配方法還包括:
步驟S100,將所述第二端口的狀態(tài)修改為緩存禁止修改狀態(tài);其中,所述第二端口為所述交換機中除第一端口之外的其他端口;
在進(jìn)行第一端口中各個隊列的靜態(tài)緩存的修改之前,禁止除第一端口外的其他端口中的隊列修改其對應(yīng)的緩存。
在所述分別根據(jù)各個所述第一緩存設(shè)置所述第一端口中相應(yīng)隊列的靜態(tài)緩存的步驟之后,所述緩存分配方法還包括:
步驟S110,將所述第二端口的狀態(tài)修改為緩存可修改狀態(tài)。
在完成第一端口中各個隊列靜態(tài)緩存的設(shè)置后,將第二端口的狀態(tài)修改為緩存可修改狀態(tài),即可以根據(jù)需求修改第二端口的緩存。
本實施例中,通過在第一端口中各個隊列的靜態(tài)緩存的修改之前,將第二端口的狀態(tài)修改為緩存禁止修改狀態(tài),使得第一端口中各個隊列的靜態(tài)緩存的修改能夠順利完成,避免了其他端口的緩存修改對第一端口造成的影響,然后在第一端口中各個隊列的靜態(tài)緩存的修改完成后,將第二端口的狀態(tài)修改為緩存可修改狀態(tài),進(jìn)而可以根據(jù)需求修改第二端口的緩存,進(jìn)一步提高了WRR調(diào)度的準(zhǔn)確性。
本發(fā)明進(jìn)一步提供一種緩存分配裝置。
參照圖6,圖6本發(fā)明緩存分配裝置第一實施例的功能模塊示意圖。
在本實施例中,該緩存分配裝置包括:
第一獲取模塊10,用于在偵測到加權(quán)循環(huán)調(diào)度算法WRR隊列調(diào)度的第一配置信息時,獲取所述第一配置信息對應(yīng)的第一端口中各個隊列的比例系數(shù)、所述第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及所述第一端口所屬交換機轉(zhuǎn)發(fā)報文的最小單位;
其中,第一配置信息對應(yīng)的比例系數(shù)是指WRR隊列調(diào)度的第一配置信息中第一端口的隊列的寬帶或流量的比例系數(shù),第一端口第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小是指第一端口的所有隊列中數(shù)據(jù)流量最大的待 發(fā)送報文的報文大??;交換機轉(zhuǎn)發(fā)報文的最小單位是指交換機當(dāng)前緩存轉(zhuǎn)發(fā)報文時的最小單位,即交換機轉(zhuǎn)發(fā)報文時需要占用的最小緩存。在交換機的端口配置信息發(fā)生變化時,或者在交換機的某端口中新增調(diào)度隊列時,均可以觸發(fā)WRR隊列調(diào)度的第一配置信息。
第一計算模塊20,用于基于所述比例系數(shù)、報文大小及最小單位計算獲得所述第一端口中各個隊列的第一緩存;
第一計算模塊20根據(jù)比例系數(shù)W、報文大小P及最小單位C計算第一端口中各個隊列的第一緩存Q的公式為:
Q=P/C*W。
例如,第一端口包含三個隊列7、6、5,且三個隊列配置的WRR比例系數(shù)為40:4:2,當(dāng)前第一端口的報文大小是1024byte,當(dāng)前緩存存儲轉(zhuǎn)發(fā)報文的最小單位C(CELL)為208byte,那么按照公式計算隊列7的緩存參數(shù)是:Q7=(1024/208)*(40),同樣其他兩個隊列的緩存參數(shù)也按照這個公式計算,Q7的單位為C。
設(shè)置模塊30,用于分別根據(jù)各個所述第一緩存設(shè)置為所述第一端口中相應(yīng)隊列靜態(tài)緩存。
設(shè)置模塊30將第一計算模塊20計算獲得的第一端口中各個隊列的第一緩存設(shè)置為該第一緩存對應(yīng)第一端口中隊列的靜態(tài)緩存,第一端口中各個隊列的靜態(tài)緩存的大小Q*C。
本實施例中,通過在偵測到WRR隊列調(diào)度的第一配置信息時,第一計算模塊20基于第一獲取模塊10獲取到的比例系數(shù)、第一端口中數(shù)據(jù)流量最大的待發(fā)送報文的報文大小及最小單位計算獲得所述第一端口中各個隊列的第一緩存,然后設(shè)置模塊30分別根據(jù)各個第一緩存設(shè)置為所述第一端口中相應(yīng)隊列靜態(tài)緩存;實現(xiàn)了根據(jù)WRR指令對應(yīng)的第一端口中各個隊列的比例系數(shù)設(shè)置第一端口中各個隊列的靜態(tài)緩存,進(jìn)而使優(yōu)先級高的隊列及優(yōu)先級低的隊列都能占用與WRR隊列調(diào)度的第一端口中各個隊列的比例系數(shù)對應(yīng)的緩存資源,進(jìn)而使得交換機緩存資源的分配更加合理,降低了高優(yōu)先級隊列的丟包概率,提高了WRR隊列調(diào)度的準(zhǔn)確性和交換機的性能。
參照圖7,圖7為本發(fā)明緩存分配裝置第二實施例的功能模塊示意圖。
基于第一實施例提出本發(fā)明緩存分配裝置的第二實施例,在本實施例中,緩存分配裝置還包括:
第二獲取模塊40,用于獲取所述交換機當(dāng)前無流量的端口的數(shù)量及所述交換機當(dāng)前可用的動態(tài)緩存;
其中,無流量的端口是指該端口中沒有隊列、或該端口中的隊列未被調(diào)度,當(dāng)前可用的動態(tài)緩存是指交換機當(dāng)前未被占用的動態(tài)緩存。
第二計算模塊50,用于基于所述數(shù)量及動態(tài)緩存計算獲得第二緩存;
其中,基于數(shù)量B及動態(tài)緩存大小D計算第二緩存A的計算公式為:
A=D/B。
添加模塊60,用于將所述第二緩存添加至所述第一端口的靜態(tài)緩存。
添加模塊60將第二計算模塊50計算獲得的第二緩存對應(yīng)的動態(tài)緩存添加至所述第一端口的靜態(tài)緩存,例如,若第一端口的原始靜態(tài)緩存為E,則添加后第一端口的靜態(tài)緩存為A+E。
本實施例中,通過第二計算模塊50交換機當(dāng)前無流量的端口的數(shù)量及交換機當(dāng)前可用的動態(tài)緩存計算獲得第二緩存,然后添加模塊60將所述第二緩存添加至所述第一端口的靜態(tài)緩存;實現(xiàn)了根據(jù)當(dāng)前無流量的端口的數(shù)量參數(shù)及交換機當(dāng)前可用的動態(tài)緩存增大第一端口靜態(tài)緩存的大小,進(jìn)而能夠保證第一端口隊列調(diào)度的順利完成,進(jìn)一步提高了WRR調(diào)度的準(zhǔn)確性和交換機的性能。
參照圖8,圖8為本發(fā)明緩存分配裝置第三實施例的功能模塊示意圖。
基于第一實施例提出本發(fā)明緩存分配裝置的第三實施例,在本實施例中,緩存分配裝置還包括:
修改模塊70,用于基于所述比例系數(shù)修改所述第一端口中各個隊列的動態(tài)緩存閾值。
交換機在初始化時分別為各個端口以及各個端口中各個隊列分配一定量的動態(tài)緩存大小及可以用于獲取隊列對應(yīng)的剩余的動態(tài)緩存的閾值,其中,端口的動態(tài)緩存與該端口對應(yīng)閾值的乘積表示該端口的最大空閑動態(tài)緩存,隊列的動態(tài)緩存與該隊列對應(yīng)閾值的乘積表示該隊列的最大空閑動態(tài)緩存。
本實施例中,通過修改模塊70基于所述比例系數(shù)修改所述第一端口中各 個隊列的動態(tài)緩存閾值,實現(xiàn)第一端口中各個隊列的動態(tài)緩存閾值的修改,使得第一端口的各個隊列的動態(tài)緩存能夠滿足調(diào)度的需求,提高了WRR調(diào)度準(zhǔn)確性。
參照圖9,圖9為本發(fā)明緩存分配裝置第四實施例的功能模塊示意圖。
基于第一實施例提出本發(fā)明緩存分配裝置的第四實施例,在本實施例中,緩存分配裝置還包括:
存儲模塊80,用于存儲所述交換機中各個端口當(dāng)前的端口配置信息,其中,所述端口配置信息包括所述交換機中各個端口的動態(tài)緩存信息與靜態(tài)緩存信息以及所述端口中各個隊列的動態(tài)緩存信息與靜態(tài)緩存信息;
還原模塊90,用于在所述第一端口無流量時、或在偵測到WRR隊列調(diào)度的第二配置信息且所述第二配置信息中未攜帶第一端口中各個隊列的比例系數(shù)時,基于所述端口配置信息還原所述第一端口中各個隊列的靜態(tài)緩存。
在第一端口無流量及未進(jìn)行隊列調(diào)度、或在偵測到WRR隊列調(diào)度的第二配置信息且所述第二配置信息中未攜帶第一端口中各個隊列的比例系數(shù)時,還原模塊90根據(jù)端口配置信息設(shè)置第一端口的靜態(tài)緩存以及動態(tài)緩存的大小,以及設(shè)置第一端口中各個隊列的靜態(tài)緩存及動態(tài)緩存的大小。其中,第二配置信息為用戶在不需要使用WRR隊列調(diào)度進(jìn)行第一端口中各個隊列的調(diào)度時,設(shè)置的WRR隊列調(diào)度的第二配置信息。
本實施例中,通過在第一端口無流量或偵測到第一端口的隊列刪除指令時,還原模塊90還原模塊90基于端口配置信息還原所述第一端口中各個隊列的靜態(tài)緩存,實現(xiàn)了第一端口中各個隊列的靜態(tài)緩存的還原,使得在第一端口中各個隊列不需要進(jìn)行WRR隊列調(diào)度時能夠恢復(fù)靜態(tài)緩存的原始配置。
參照圖10,圖10為本發(fā)明緩存分配裝置第五實施例的功能模塊示意圖。
基于第一實施例提出本發(fā)明緩存分配裝置的第五實施例,在本實施例中,緩存分配裝置還包括:
第一修改模塊100,用于將所述第二端口的狀態(tài)修改為緩存禁止修改狀態(tài),其中,所述第二端口為所述交換機中除第一端口之外的其他端口。
在進(jìn)行第一端口中各個隊列的靜態(tài)緩存的修改之前,禁止模塊100將第 二端口的狀態(tài)修改為緩存禁止修改狀態(tài),實現(xiàn)了禁止除第一端口外的其他端口中的隊列修改其對應(yīng)的緩存。
第二修改模塊110,用于將所述第二端口的狀態(tài)修改為緩存可修改狀態(tài)。
在完成第一端口中各個隊列靜態(tài)緩存的設(shè)置后,將第二端口的狀態(tài)修改為緩存可修改狀態(tài),即可以根據(jù)需求修改第二端口的緩存。
本實施例中,通過在第一端口中各個隊列的靜態(tài)緩存的修改之前,禁止模塊100將第二端口的狀態(tài)修改為緩存禁止修改狀態(tài),使得第一端口中各個隊列的靜態(tài)緩存的修改能夠順利完成,避免了其他端口的緩存修改對第一端口造成的影響,然后在第一端口中各個隊列的靜態(tài)緩存的修改完成后,第二修改模塊110將第二端口的狀態(tài)修改為緩存可修改狀態(tài),進(jìn)而可以根據(jù)需求修改第二端口的緩存,進(jìn)一步提高了WRR調(diào)度的準(zhǔn)確性。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。