本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法及系統(tǒng)。
背景技術(shù):
加權(quán)循環(huán)調(diào)度算法WRR(Weighted Round Robin),加權(quán)循環(huán)所有業(yè)務(wù)通道服務(wù),并且將優(yōu)先權(quán)分配給較高優(yōu)先級(jí)通道;在大多數(shù)情況下,相對(duì)低優(yōu)先級(jí),WRR將首先處理高優(yōu)先級(jí),但是當(dāng)高優(yōu)先級(jí)業(yè)務(wù)很多時(shí),較低優(yōu)先級(jí)的業(yè)務(wù)并沒有被完全阻塞;對(duì)于所有的業(yè)務(wù)流在排隊(duì)等待調(diào)度的通道,WRR是根據(jù)每個(gè)通道配置的權(quán)重值與所有的業(yè)務(wù)流在排隊(duì)等待調(diào)度的通道的權(quán)重值總和的比來平等地分配帶寬;因此,在處理多個(gè)用戶的高優(yōu)先等級(jí)的業(yè)務(wù)時(shí),WRR確保每個(gè)用戶都不會(huì)過度地占用網(wǎng)絡(luò)帶寬;WRR通道調(diào)度將每個(gè)端口分為多個(gè)輸出通道,通道之間輪流調(diào)度,保證每個(gè)通道都得到一定的服務(wù)時(shí)間,WRR可為每個(gè)通道配置一個(gè)權(quán)重值表示獲取資源的比重;例如:一個(gè)100M的端口,配置它的4個(gè)WRR通道的權(quán)重值依次為50、20、20、10,這樣可以保證最低優(yōu)先級(jí)通道至少獲得10Mbit/s帶寬,避免了采用PQ調(diào)度時(shí)低優(yōu)先級(jí)通道中的報(bào)文可能長時(shí)間得不到服務(wù)的缺點(diǎn);WRR通道還有一個(gè)優(yōu)點(diǎn)是,雖然多個(gè)通道的調(diào)度是輪循進(jìn)行的,但對(duì)每個(gè)通道不是固定地分配服務(wù)時(shí)間片,如果某個(gè)通道的權(quán)重值為零,或者沒有調(diào)度請(qǐng)求時(shí),那么馬上換到下一個(gè)通道調(diào)度,這樣帶寬資源可以得到充分的利用。
然而,隨著以太網(wǎng)技術(shù)的快速發(fā)展,太網(wǎng)芯片需要支持越來越多種速率傳輸?shù)男枨?,比如,XGMII(10G介質(zhì)無關(guān)接口)、XLGMII(40G介質(zhì)無關(guān)接口)、CGMII(100G介質(zhì)無關(guān)接口)等,導(dǎo)致WRR權(quán)值設(shè)置更加復(fù)雜多變。
對(duì)于以太網(wǎng)的各種芯片,傳統(tǒng)的WRR權(quán)值配置方法對(duì)于每個(gè)隊(duì)列會(huì)配置一組固定的權(quán)值,實(shí)際操作過程中,根據(jù)該組固定的權(quán)值簡單的累加各個(gè)隊(duì)列上帶寬速率,當(dāng)各個(gè)隊(duì)列的需求帶寬改變,或者系統(tǒng)配置發(fā)生變化時(shí),要么保持當(dāng)前配置的權(quán)值不變,要么通過開發(fā)人員在特定模式下計(jì)算更改權(quán)值,計(jì)算復(fù)雜,增加維護(hù)成本,且效率低下。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法及系統(tǒng)。
為實(shí)現(xiàn)上述目的之一,本發(fā)明一實(shí)施方式的獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法,所述方法包括:獲取每個(gè)WRR隊(duì)列的初始加權(quán)值;
遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得對(duì)應(yīng)的最大公約數(shù);
根據(jù)各個(gè)WRR隊(duì)列的初始加權(quán)值以及最大公約數(shù)獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),“獲取每個(gè)WRR隊(duì)列的初始加權(quán)值”具體包括:
獲取對(duì)應(yīng)當(dāng)前傳輸端口的每個(gè)WRR隊(duì)列的傳輸帶寬速率;
依據(jù)獲得的WRR隊(duì)列的傳輸帶寬速率獲取每個(gè)WRR隊(duì)列的初始加權(quán)值;
或按照預(yù)配置的WRR隊(duì)列屬性獲得各個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),“依據(jù)獲得的WRR隊(duì)列的傳輸帶寬速率獲取每個(gè)WRR隊(duì)列的初始加權(quán)值”具體包括:
獲取每個(gè)WRR隊(duì)列的傳輸帶寬速率,將各個(gè)WRR隊(duì)列的傳輸帶寬速率按照其最小單位進(jìn)行單位統(tǒng)一處理;
判斷各個(gè)WRR隊(duì)列的傳輸帶寬是否為零或?yàn)檎麛?shù),
若是,將經(jīng)過單位統(tǒng)一處理后的各個(gè)WRR隊(duì)列的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值;
若否,將各個(gè)隊(duì)列的傳輸帶寬速率同時(shí)擴(kuò)大同一倍數(shù)向上取整;
將取整后的各個(gè)隊(duì)列所對(duì)應(yīng)的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述方法還包括:
將各個(gè)隊(duì)列的傳輸帶寬同時(shí)以10的冪次方為基數(shù)向上取整。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),“遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得對(duì)應(yīng)的最大公約數(shù);
根據(jù)各個(gè)WRR隊(duì)列的初始加權(quán)值以及最大公約數(shù)獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值”具體包括:
遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得最小的非零加權(quán)值,以Wm表示,1≤m≤n,n表示W(wǎng)RR隊(duì)列的個(gè)數(shù);
設(shè)置正整數(shù)變量i,1≤i≤Wm,
以i等于Wm開始,依次遞減至i為1,分別作為除數(shù),獲得能夠整除各個(gè)WRR隊(duì)列的最大值,以Mmax=i表示;
分別以各個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值為被除數(shù),以Mmax為除數(shù),并將其結(jié)果作為每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
為實(shí)現(xiàn)上述目的之一,本發(fā)明一實(shí)施方式的獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的系統(tǒng),所述系統(tǒng)包括:數(shù)據(jù)獲取模塊,用于獲取每個(gè)WRR隊(duì)列的初始加權(quán)值;
數(shù)據(jù)處理模塊,用于遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得對(duì)應(yīng)的最大公約數(shù);
根據(jù)各個(gè)WRR隊(duì)列的初始加權(quán)值以及最大公約數(shù)獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述數(shù)據(jù)獲取模塊具體用于:
獲取對(duì)應(yīng)當(dāng)前傳輸端口的每個(gè)WRR隊(duì)列的傳輸帶寬速率;
依據(jù)獲得的WRR隊(duì)列的傳輸帶寬速率獲取每個(gè)WRR隊(duì)列的初始加權(quán)值;
或按照預(yù)配置的WRR隊(duì)列屬性獲得各個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述數(shù)據(jù)獲取模塊還用于:
獲取每個(gè)WRR隊(duì)列的傳輸帶寬速率,將各個(gè)WRR隊(duì)列的傳輸帶寬速率按照其最小單位進(jìn)行單位統(tǒng)一處理;
判斷各個(gè)WRR隊(duì)列的傳輸帶寬是否為零或?yàn)檎麛?shù),
若是,將經(jīng)過單位統(tǒng)一處理后的各個(gè)WRR隊(duì)列的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值;
若否,將各個(gè)隊(duì)列的傳輸帶寬速率同時(shí)擴(kuò)大同一倍數(shù)向上取整;
將取整后的各個(gè)隊(duì)列所對(duì)應(yīng)的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述數(shù)據(jù)獲取模塊還用于:
將各個(gè)隊(duì)列的傳輸帶寬同時(shí)以10的冪次方為基數(shù)向上取整。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述數(shù)據(jù)處理模塊具體用于:
根據(jù)各個(gè)WRR隊(duì)列的初始加權(quán)值以及最大公約數(shù)獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值”具體包括:
遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得最小的非零加權(quán)值,以Wm表示,1≤m≤n,n表示W(wǎng)RR隊(duì)列的個(gè)數(shù);
設(shè)置正整數(shù)變量i,1≤i≤Wm,
以i等于Wm開始,依次遞減至i為1,分別作為除數(shù),獲得能夠整除各個(gè)WRR隊(duì)列的最大值,以Mmax=i表示;
分別以各個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值為被除數(shù),以Mmax為除數(shù),并將其結(jié)果作為每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明的獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法及系統(tǒng),通過使用最小非零原始權(quán)值作為遍歷尋找最大公約數(shù)時(shí)的最大值,大幅縮小了尋找最大公約數(shù)時(shí)的遍歷范圍,提高了計(jì)算原始加權(quán)值最大公約數(shù)的效率,進(jìn)一步的,遍歷尋找所有隊(duì)列的原始加權(quán)值最大公約數(shù),將原始加權(quán)值分別除以最大公約數(shù),從而快速、準(zhǔn)確的生成WRR各個(gè)隊(duì)列的最優(yōu)權(quán)值;保證隊(duì)列之間的調(diào)度比例符合系統(tǒng)預(yù)期,減小WRR調(diào)度時(shí)的波動(dòng),提高網(wǎng)絡(luò)芯片的穩(wěn)定性和可靠性,提高開發(fā)人員工作效率。
附圖說明
圖1是本發(fā)明一實(shí)施方式中獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法的流程示意圖;
圖2是圖1中步驟S2的其中一種實(shí)現(xiàn)方式的流程示意圖;
圖3是本發(fā)明一實(shí)施方式中獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的系統(tǒng)的模塊示意圖。
具體實(shí)施方式
以下將結(jié)合附圖所示的具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。
如圖2所示,本發(fā)明一實(shí)施方式中,獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法,包括:
S1、獲取每個(gè)WRR隊(duì)列的初始加權(quán)值。
本發(fā)明一實(shí)施方式中,按照各個(gè)WRR隊(duì)列的屬性,獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
該實(shí)施方式中,對(duì)于每個(gè)端口對(duì)應(yīng)的各個(gè)WRR隊(duì)列均具有其各自的屬性,例如:WRR隊(duì)列的數(shù)量、位置、傳輸數(shù)據(jù)的種類等;通常情況下,按照WRR隊(duì)列屬性,會(huì)事先對(duì)該端口對(duì)應(yīng)的各個(gè)WRR隊(duì)列預(yù)置一組加權(quán)值,當(dāng)數(shù)據(jù)傳輸過程中,可直接獲得該組加權(quán)值使用,在以下描述中,將該組加權(quán)值以初始加權(quán)值表示。
本發(fā)明另一實(shí)施方式中,對(duì)應(yīng)一個(gè)端口下的各個(gè)隊(duì)列,并不固定為其配置一組加權(quán)值,其根據(jù)對(duì)應(yīng)當(dāng)前傳輸端口的每個(gè)WRR隊(duì)列的傳輸帶寬速率,自動(dòng)配置一組加權(quán)值。
該實(shí)施方式中,所述方法具體包括:
獲取對(duì)應(yīng)當(dāng)前傳輸端口的每個(gè)WRR隊(duì)列的傳輸帶寬速率;
依據(jù)獲得的WRR隊(duì)列的傳輸帶寬速率獲取每個(gè)WRR隊(duì)列的初始加權(quán)值;
具體的,依據(jù)獲得的WRR隊(duì)列的傳輸帶寬速率獲取每個(gè)WRR隊(duì)列的初始加權(quán)值”具體包括:
獲取每個(gè)WRR隊(duì)列的傳輸帶寬速率,將各個(gè)WRR隊(duì)列的傳輸帶寬速率按照其最小單位進(jìn)行單位統(tǒng)一處理;
判斷各個(gè)WRR隊(duì)列的傳輸帶寬是否為零或?yàn)檎麛?shù),
若是,將經(jīng)過單位統(tǒng)一處理后的各個(gè)WRR隊(duì)列的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值;
若否,將各個(gè)隊(duì)列的傳輸帶寬速率同時(shí)擴(kuò)大同一倍數(shù)向上取整;
將取整后的各個(gè)隊(duì)列所對(duì)應(yīng)的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
本發(fā)明一優(yōu)選實(shí)施方式中,將各個(gè)隊(duì)列的傳輸帶寬同時(shí)以10的冪次方為基數(shù)向上取整。
以下描述一具體示例做詳細(xì)說明,以便于理解。
該具體示例中,假設(shè)對(duì)應(yīng)當(dāng)前的傳輸端口具有4個(gè)WRR隊(duì)列,依次為第一隊(duì)列、第二隊(duì)列、第三隊(duì)列以及第四隊(duì)列;
其中,第一隊(duì)列對(duì)應(yīng)的傳輸帶寬速率為100M,第二隊(duì)列對(duì)應(yīng)的傳輸速率為100M,第三隊(duì)列對(duì)應(yīng)的傳輸速率為1G,第四隊(duì)列對(duì)應(yīng)的傳輸速率為2.5G, 對(duì)4個(gè)隊(duì)列的傳輸速率進(jìn)行單位統(tǒng)一,以“M”為單位,進(jìn)行換算,本示例中,將各個(gè)隊(duì)列的傳輸帶寬同時(shí)以10的冪次方為基數(shù)向上取整,則換算后的4個(gè)WRR隊(duì)列對(duì)應(yīng)的傳輸速率依次為100M、100M、1000M、2500M;進(jìn)一步的,將取整后的各個(gè)隊(duì)列所對(duì)應(yīng)的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值,則4個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值為100、100、1000、2500。
進(jìn)一步的,本發(fā)明的獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法還包括:
S2、遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得對(duì)應(yīng)的最大公約數(shù);根據(jù)各個(gè)WRR隊(duì)列的初始加權(quán)值以及最大公約數(shù)獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
本發(fā)明一優(yōu)選實(shí)施方式中,所述步驟S2具體包括:
P1、遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得最小的非零加權(quán)值,以Wm表示,1≤m≤n,n表示W(wǎng)RR隊(duì)列的個(gè)數(shù);
P2、設(shè)置正整數(shù)變量i,1≤i≤Wm,
P3、以i等于Wm開始,依次遞減至i為1,分別作為除數(shù),獲得能夠整除各個(gè)WRR隊(duì)列的最大值,以Mmax=i表示;
P4、分別以各個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值為被除數(shù),以Mmax為除數(shù),并將其結(jié)果作為每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
本發(fā)明優(yōu)選實(shí)施方式中,以最小非零初始權(quán)值作為遍歷尋找最大公約數(shù)時(shí)的最大值,大幅縮小了尋找最大公約數(shù)時(shí)的遍歷范圍,提高了計(jì)算初始加權(quán)值最大公約數(shù)的效率,節(jié)約整體的計(jì)算時(shí)間,提高芯片性能。
接續(xù)上述示例做詳細(xì)說明,以便于理解。
4個(gè)WRR隊(duì)列的初始加權(quán)值依次為100、100、1000、2500;
遍歷4個(gè)WRR隊(duì)列的初始加權(quán)值,獲得最小的非零加權(quán)值,以Wm表示,則Wm=100;設(shè)置正整數(shù)變量i,其取值范圍為[100,1];進(jìn)一步的,從i取值等于Wm開始,即i取值為100開始,并將其作為被除數(shù),獲得能夠整除4個(gè)WRR隊(duì)列的最大值,該示例中,Mmax=i=Wm=100;進(jìn)一步的,將 4個(gè)WRR隊(duì)列的初始加權(quán)值分別作為除數(shù),將Mmax=100作為被除數(shù),并將其結(jié)果作為每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值;該示例中,經(jīng)過整除后,4個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)加權(quán)值依次為1、1、10、25。
如此,保證隊(duì)列之間的調(diào)度比例符合系統(tǒng)預(yù)期,減小WRR調(diào)度時(shí)的波動(dòng),提高網(wǎng)絡(luò)芯片的穩(wěn)定性和可靠性。
按照傳統(tǒng)的調(diào)度隊(duì)列算法, 4個(gè)WRR隊(duì)列分別對(duì)應(yīng)的加權(quán)值為100、100、1000、2500,則以第一隊(duì)列為例,其理論上的最大調(diào)度間隔為(100-100)+(1000-100)+(2500-100)=3300;
而按照本申請(qǐng)獲得的最優(yōu)加權(quán)值進(jìn)行計(jì)算,即4個(gè)WRR隊(duì)列分別對(duì)應(yīng)的加權(quán)值為1、1、10、25,則以第一隊(duì)列為例,雖然各個(gè)WRR隊(duì)列之間的調(diào)度比例未變,當(dāng)對(duì)于第一隊(duì)列,其理論上的最大調(diào)度間隔調(diào)整為(1-1)+(10-1)+(25-1)=33;如此,在保持隊(duì)列之間權(quán)值比例不變的前提下,采用本發(fā)明獲得的最優(yōu)加權(quán)值,有利于減小各個(gè)WRR隊(duì)列之間的調(diào)度間隔,從而使網(wǎng)絡(luò)芯片的性能越加穩(wěn)定。
結(jié)合圖2所示,在本發(fā)明的一實(shí)施方式中,獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的系統(tǒng)包括:數(shù)據(jù)獲取模塊100,數(shù)據(jù)處理模塊200。
數(shù)據(jù)獲取模塊100用于獲取每個(gè)WRR隊(duì)列的初始加權(quán)值。
本發(fā)明一實(shí)施方式中,數(shù)據(jù)獲取模塊100按照各個(gè)WRR隊(duì)列的屬性,獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
該實(shí)施方式中,對(duì)于每個(gè)端口對(duì)應(yīng)的各個(gè)WRR隊(duì)列均具有其各自的屬性,例如:WRR隊(duì)列的數(shù)量、位置、傳輸數(shù)據(jù)的種類等;通常情況下,按照WRR隊(duì)列屬性,會(huì)事先對(duì)該端口對(duì)應(yīng)的各個(gè)WRR隊(duì)列預(yù)置一組加權(quán)值,當(dāng)數(shù)據(jù)傳輸過程中,可直接獲得該組加權(quán)值使用,在以下描述中,將該組加權(quán)值以初始加權(quán)值表示。
本發(fā)明另一實(shí)施方式中,對(duì)應(yīng)一個(gè)端口下的各個(gè)隊(duì)列,并不固定為其配置一組加權(quán)值,其根據(jù)對(duì)應(yīng)當(dāng)前傳輸端口的每個(gè)WRR隊(duì)列的傳輸帶寬速率,自動(dòng)配置一組加權(quán)值。
該實(shí)施方式中數(shù)據(jù)獲取模塊100具體用于:
獲取對(duì)應(yīng)當(dāng)前傳輸端口的每個(gè)WRR隊(duì)列的傳輸帶寬速率;
依據(jù)獲得的WRR隊(duì)列的傳輸帶寬速率獲取每個(gè)WRR隊(duì)列的初始加權(quán)值;
具體的,數(shù)據(jù)獲取模塊100具體用于:
獲取每個(gè)WRR隊(duì)列的傳輸帶寬速率,將各個(gè)WRR隊(duì)列的傳輸帶寬速率按照其最小單位進(jìn)行單位統(tǒng)一處理;
判斷各個(gè)WRR隊(duì)列的傳輸帶寬是否為零或?yàn)檎麛?shù),
若是,將經(jīng)過單位統(tǒng)一處理后的各個(gè)WRR隊(duì)列的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值;
若否,將各個(gè)隊(duì)列的傳輸帶寬速率同時(shí)擴(kuò)大同一倍數(shù)向上取整;
將取整后的各個(gè)隊(duì)列所對(duì)應(yīng)的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值。
本發(fā)明一優(yōu)選實(shí)施方式中,數(shù)據(jù)獲取模塊100用于將各個(gè)隊(duì)列的傳輸帶寬同時(shí)以10的冪次方為基數(shù)向上取整。
以下描述一具體示例做詳細(xì)說明,以便于理解。
該具體示例中,假設(shè)對(duì)應(yīng)當(dāng)前的傳輸端口具有4個(gè)WRR隊(duì)列,依次為第一隊(duì)列、第二隊(duì)列、第三隊(duì)列以及第四隊(duì)列;
其中,第一隊(duì)列對(duì)應(yīng)的傳輸帶寬速率為100M,第二隊(duì)列對(duì)應(yīng)的傳輸速率為100M,第三隊(duì)列對(duì)應(yīng)的傳輸速率為1G,第四隊(duì)列對(duì)應(yīng)的傳輸速率為2.5G, 對(duì)4個(gè)隊(duì)列的傳輸速率進(jìn)行單位統(tǒng)一,以“M”為單位,進(jìn)行換算,本示例中,將各個(gè)隊(duì)列的傳輸帶寬同時(shí)以10的冪次方為基數(shù)向上取整,則換算后的4個(gè)WRR隊(duì)列對(duì)應(yīng)的傳輸速率依次為100M、100M、1000M、2500M;進(jìn)一步的,將取整后的各個(gè)隊(duì)列所對(duì)應(yīng)的傳輸帶寬速率作為各個(gè)隊(duì)列對(duì)應(yīng)的初始加權(quán)值,則4個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值為100、100、1000、2500。
進(jìn)一步的,數(shù)據(jù)處理模塊200用于遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得對(duì)應(yīng)的最大公約數(shù);根據(jù)各個(gè)WRR隊(duì)列的初始加權(quán)值以及最大公約數(shù)獲得每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
本發(fā)明一優(yōu)選實(shí)施方式中,數(shù)據(jù)處理模塊200具體用于:
遍歷各個(gè)WRR隊(duì)列的初始加權(quán)值,獲得最小的非零加權(quán)值,以Wm表示,1≤m≤n,n表示W(wǎng)RR隊(duì)列的個(gè)數(shù);
以i等于Wm開始,依次遞減至i為1,分別作為除數(shù),獲得能夠整除各個(gè)WRR隊(duì)列的最大值,以Mmax=i表示;
分別以各個(gè)WRR隊(duì)列對(duì)應(yīng)的初始加權(quán)值為被除數(shù),以Mmax為除數(shù),并將其結(jié)果作為每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值。
本發(fā)明優(yōu)選實(shí)施方式中,數(shù)據(jù)處理模塊200以最小非零初始權(quán)值作為遍歷尋找最大公約數(shù)時(shí)的最大值,大幅縮小了尋找最大公約數(shù)時(shí)的遍歷范圍,提高了計(jì)算初始加權(quán)值最大公約數(shù)的效率,節(jié)約整體的計(jì)算時(shí)間,提高芯片性能。
接續(xù)上述示例做詳細(xì)說明,以便于理解。
4個(gè)WRR隊(duì)列的初始加權(quán)值依次為100、100、1000、2500;
遍歷4個(gè)WRR隊(duì)列的初始加權(quán)值,獲得最小的非零加權(quán)值,以Wm表示,則Wm=100;設(shè)置正整數(shù)變量i,其取值范圍為[100,1];進(jìn)一步的,從i取值等于Wm開始,即i取值為100開始,并將其作為被除數(shù),獲得能夠整除4個(gè)WRR隊(duì)列的最大值,該示例中,Mmax=i=Wm=100;進(jìn)一步的,將 4個(gè)WRR隊(duì)列的初始加權(quán)值分別作為除數(shù),將Mmax=100作為被除數(shù),并將其結(jié)果作為每個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)權(quán)值;該示例中,經(jīng)過整除后,4個(gè)WRR隊(duì)列對(duì)應(yīng)的最優(yōu)加權(quán)值依次為1、1、10、25。
如此,保證隊(duì)列之間的調(diào)度比例符合系統(tǒng)預(yù)期,減小WRR調(diào)度時(shí)的波動(dòng),提高網(wǎng)絡(luò)芯片的穩(wěn)定性和可靠性。
按照傳統(tǒng)的調(diào)度隊(duì)列算法, 4個(gè)WRR隊(duì)列分別對(duì)應(yīng)的加權(quán)值為100、100、1000、2500,則以第一隊(duì)列為例,其理論上的最大調(diào)度間隔為(100-100)+(1000-100)+(2500-100)=3300;
而按照本申請(qǐng)獲得的最優(yōu)加權(quán)值進(jìn)行計(jì)算,即4個(gè)WRR隊(duì)列分別對(duì)應(yīng)的加權(quán)值為1、1、10、25,則以第一隊(duì)列為例,雖然各個(gè)WRR隊(duì)列之間的調(diào)度比例未變,當(dāng)對(duì)于第一隊(duì)列,其理論上的最大調(diào)度間隔調(diào)整為(1-1)+(10-1)+(25-1)=33;如此,在保持隊(duì)列之間權(quán)值比例不變的前提下,采用本發(fā)明獲得的最優(yōu)加權(quán)值,有利于減小各個(gè)WRR隊(duì)列之間的調(diào)度間隔,從而使網(wǎng)絡(luò)芯片的性能越加穩(wěn)定。
綜上所述,本發(fā)明的獲取網(wǎng)絡(luò)芯片WRR最優(yōu)權(quán)值的方法及系統(tǒng),通過使用最小非零原始權(quán)值作為遍歷尋找最大公約數(shù)時(shí)的最大值,大幅縮小了尋找最大公約數(shù)時(shí)的遍歷范圍,提高了計(jì)算原始加權(quán)值最大公約數(shù)的效率,進(jìn)一步的,遍歷尋找所有隊(duì)列的原始加權(quán)值最大公約數(shù),將原始加權(quán)值分別除以最大公約數(shù),從而快速、準(zhǔn)確的生成WRR各個(gè)隊(duì)列的最優(yōu)權(quán)值;保證隊(duì)列之間的調(diào)度比例符合系統(tǒng)預(yù)期,減小WRR調(diào)度時(shí)的波動(dòng),提高網(wǎng)絡(luò)芯片的穩(wěn)定性和可靠性,提高開發(fā)人員工作效率。
為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
以上所描述的裝置實(shí)施方式僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)模塊上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施方式方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個(gè)整體,各實(shí)施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。
上文所列出的一系列的詳細(xì)說明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。