本發(fā)明屬于數(shù)據(jù)中心網(wǎng)絡(luò)領(lǐng)域,尤其涉及一種針對數(shù)據(jù)中心網(wǎng)絡(luò)交換機(jī)的緩沖區(qū)管理系統(tǒng)及其方法。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)海量數(shù)據(jù)的計算和存儲需求不斷增長,現(xiàn)代數(shù)據(jù)中心逐漸成為承載大量應(yīng)用的基石。數(shù)據(jù)中心內(nèi)部各設(shè)備通過數(shù)據(jù)中心網(wǎng)絡(luò)進(jìn)行互聯(lián),在數(shù)據(jù)中心網(wǎng)絡(luò)中,交換機(jī)廣泛采用共享緩存架構(gòu),即交換機(jī)上的輸出端口隊列共同使用交換機(jī)上的緩沖區(qū)資源,臨時吸收到達(dá)交換機(jī)的流量來減少丟包。然而,交換機(jī)上有限的緩沖區(qū)資源共享自然會帶來如何對資源合理分配的問題。因此,設(shè)計一種合理的緩沖區(qū)管理方案,給交換機(jī)上各端口合理地分配一定量的緩沖區(qū)資源,從而達(dá)到更好的流量吸收能力是一個具有挑戰(zhàn)性的問題。
2、目前,緩沖區(qū)管理方案已經(jīng)有了非常多的研究成果,可以概括為兩大類:對流量類型不進(jìn)行區(qū)分的方案和對流量類型進(jìn)行區(qū)分的方案。流量類型根據(jù)流量大小可以分為大流和小流,不同的流量類型對性能的需求不同。大流對于吞吐更加敏感,而小流對于延遲更加敏感。由于現(xiàn)代數(shù)據(jù)中心分布式應(yīng)用的大量部署,小流中突發(fā)流的比例大幅提升,而突發(fā)流對于丟包更加敏感。對流量類型不進(jìn)行區(qū)分的方案,如dt、abm、credence等緩沖區(qū)管理方案,分別從不同的切入點(diǎn)來更有效地利用緩沖區(qū)資源來提升流量傳輸性能,如保證隊列間公平、限制占用時間、提升緩沖區(qū)利用率等。它們的共性在于對所有到達(dá)的流量采用相同的處理策略,并不對流量類型進(jìn)行識別和區(qū)分。對流量進(jìn)行區(qū)分的方案,如edt、tdt、smartbuf、fab、protean等方案的核心思想是在交換機(jī)上,針對流量的需求對緩沖區(qū)資源進(jìn)行更有針對性的分配。
3、然而,無論是對流量類型不進(jìn)行區(qū)分的方案還是對流量進(jìn)行區(qū)分的方案,在當(dāng)今數(shù)據(jù)中心網(wǎng)絡(luò)的新特性下都存在不足?,F(xiàn)代數(shù)據(jù)中心網(wǎng)絡(luò)線速率已經(jīng)能達(dá)到100gbps,并且在向400gbps發(fā)展,同時分布式應(yīng)用在數(shù)據(jù)中心內(nèi)部署規(guī)模不斷擴(kuò)大,在該趨勢下數(shù)據(jù)中心網(wǎng)絡(luò)下流量特征愈發(fā)表現(xiàn)為多小流和高突發(fā),在該特征下緩沖區(qū)管理方案的核心應(yīng)當(dāng)在于更強(qiáng)大的突發(fā)吸收能力。不區(qū)分流量類型的緩沖區(qū)管理方案的共性問題在于對所有到達(dá)的流量實(shí)施相同的緩沖區(qū)分配策略,不對突發(fā)流特殊處理,從而會導(dǎo)致突發(fā)流的緩沖區(qū)資源被搶占引發(fā)的丟包,因此而對流量進(jìn)行識別和區(qū)分并有針對性地分配緩沖區(qū)資源是十分必要的。而現(xiàn)有的區(qū)分流量類型的方案中,可分為基于隊列長度和基于隊列梯度兩種類型,但它們對于隊列對緩沖區(qū)的需求區(qū)分都不夠精細(xì)?;陉犃虚L度的方案僅僅能夠確定哪些隊列產(chǎn)生了突發(fā),并給所有突發(fā)隊列分配相同的閾值,但問題在于突發(fā)程度是存在差異的,更突發(fā)的隊列應(yīng)當(dāng)?shù)玫礁嗟木彌_區(qū)資源;基于隊列梯度的方案嘗試根據(jù)隊列長度的變化速率進(jìn)一步區(qū)分突發(fā)隊列間的緩沖區(qū)資源需求,但問題在于事實(shí)上隊列長度變化速率相同的隊列之間對于緩沖區(qū)的需求同樣存在差異。
4、現(xiàn)有的所有緩沖區(qū)管理方案都未能將緩沖區(qū)需求精準(zhǔn)到每個隊列,其主要原因在于識別突發(fā)的指標(biāo)都僅考慮了隊列層次的因素而忽視了流量層次的特性。高速網(wǎng)絡(luò)下,60%以上的流量大小小于1個bdp,緩沖區(qū)應(yīng)當(dāng)優(yōu)先吸收這些流量引發(fā)的突發(fā)來降低尾延遲從而提升總體傳輸性能,現(xiàn)有方案只從隊列層次來斷定突發(fā),并不能確定隊列長度或梯度的變化是由哪類流量引發(fā)的。因此需要一種策略能夠在隊列長度或梯度變化時進(jìn)一步細(xì)化其誘因究竟是大流還是小流。然而現(xiàn)有方案中在交換機(jī)上獲取流量大小信息是十分困難的,首先假定已知精確的流量大小信息的方案理論上能夠達(dá)到最佳的效果,但該類方案在當(dāng)前的數(shù)據(jù)中心中部署難度很大,可能需要很多優(yōu)先級隊列或重新構(gòu)建整個tcp/ip協(xié)議棧;而動態(tài)估計流量大小的方案在實(shí)際部署環(huán)境中容易實(shí)現(xiàn),但當(dāng)前所有方案的預(yù)測精準(zhǔn)度均有限,因此是否能找到一種更加簡便的方案從側(cè)面獲知當(dāng)前突發(fā)的誘因就顯得十分重要。在本發(fā)明中提出使用隊列內(nèi)流量數(shù)目作為額外的指標(biāo)。首先從時間特性上看,大流在隊列中的傳輸更為穩(wěn)定和持續(xù),因此可能在較長的時間段內(nèi)占據(jù)大部分的緩沖區(qū)資源,而后續(xù)到達(dá)的流量可能會由于大流的過多占用而丟包,因此大流所在隊列的流量數(shù)目變化更不明顯;其次從網(wǎng)絡(luò)負(fù)載特征來看,廣泛部署的分布式應(yīng)用常用的分解/聚合的工作模式導(dǎo)致絕大多數(shù)突發(fā)是由流量incast引起的,而進(jìn)入隊列的數(shù)目能夠很好地反映incast程度,即能夠更好地區(qū)分突發(fā);最后獲取流量數(shù)目的機(jī)制在當(dāng)今的交換機(jī)內(nèi)更加容易實(shí)現(xiàn)和部署,使用目前流量分析中常用的五元組信息就能夠很容易地區(qū)分不同流量從而獲取流量數(shù)目,與在交換機(jī)上獲取流量大小信息相比,復(fù)雜度大大降低。綜上,隊列內(nèi)流量數(shù)目能夠在交換機(jī)上進(jìn)一步細(xì)化突發(fā)的程度,簡單來講即相同時間內(nèi)隊列內(nèi)流量數(shù)目更多,則其表現(xiàn)出更高的突發(fā)特性,因此應(yīng)當(dāng)獲取更多的緩沖區(qū)資源。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)難題,本發(fā)明提出了一種針對數(shù)據(jù)中心網(wǎng)絡(luò)交換機(jī)的緩沖區(qū)管理系統(tǒng)及其方法;本發(fā)明通過隊列梯度和隊列內(nèi)流量數(shù)目協(xié)同的方式,在交換機(jī)上最大化突發(fā)流量吸收能力的緩沖區(qū)管理策略;本發(fā)明能夠針對每個隊列內(nèi)的特性針對性地分配緩沖區(qū)資源,從而達(dá)到更高突發(fā)吸收能力的交換機(jī)緩沖區(qū)管理策略;本發(fā)明的關(guān)鍵在于保留基于隊列梯度的緩沖區(qū)管理方案的優(yōu)勢,同時利用過去在緩沖區(qū)管理方案中被忽視的一個隊列內(nèi)流量特性——流量數(shù)目作為緩沖區(qū)資源的分配指標(biāo),設(shè)計一種能夠更好地區(qū)分不同隊列內(nèi)突發(fā)流量對于緩沖區(qū)的需求的方案,以此最大化高速數(shù)據(jù)中心網(wǎng)絡(luò)下交換機(jī)的突發(fā)吸收能力
2、為了解決現(xiàn)有技術(shù)問題,本發(fā)明采用如下技術(shù)方案:
3、一種針對數(shù)據(jù)中心網(wǎng)絡(luò)交換機(jī)的緩沖區(qū)管理系統(tǒng),所述緩沖區(qū)管理系統(tǒng)包括入隊模塊、出隊模塊;所述入隊模塊由包準(zhǔn)入決策器,包比較器和入隊流數(shù)目統(tǒng)計器構(gòu)成;所述出隊模塊由隊列信息更新單元、突發(fā)信息學(xué)習(xí)單元和突發(fā)隊列閾值計算單元構(gòu)成;所述隊列信息更新單元由出隊流數(shù)目統(tǒng)計器和梯度計算器構(gòu)成;其中:
4、所述包準(zhǔn)入決策器用于判斷數(shù)據(jù)包到達(dá)隊列時,查看對應(yīng)隊列當(dāng)前長度是否超過其隊列閾值,若當(dāng)前隊列尚未到達(dá)閾值,則數(shù)據(jù)包準(zhǔn)入隊列,否則丟棄數(shù)據(jù)包;
5、所述包比較器對準(zhǔn)入隊的數(shù)據(jù)包進(jìn)行分析和對比,確定準(zhǔn)入隊的數(shù)據(jù)包所屬的流是否為即將進(jìn)入的隊列中的尚未存在的新流;所述入隊流數(shù)目統(tǒng)計器用于入隊時更新隊列內(nèi)流數(shù)量;
6、所述隊列信息更新單元用于獲取所有與突發(fā)相關(guān)的梯度和對應(yīng)的最大隊列占用的相關(guān)信息;出隊流數(shù)目統(tǒng)計器用于數(shù)據(jù)包出隊時更新隊列內(nèi)流數(shù)量;
7、所述突發(fā)信息學(xué)習(xí)單元用于根據(jù)隊列梯度判斷當(dāng)前隊列是否產(chǎn)生突發(fā)信息,并記錄突發(fā)產(chǎn)生時隊列梯度以及最大隊列占用的相關(guān)信息;
8、所述突發(fā)隊列閾值計算單元則是通過獲取隊列信息更新單元、突發(fā)信息學(xué)習(xí)單元提供對應(yīng)的突發(fā)信息和隊列內(nèi)流數(shù)量信息計算輸出一個用于限制隊列緩沖區(qū)資源使用的隊列閾值;實(shí)現(xiàn)對于緩沖區(qū)資源的分配和管理。
9、本發(fā)明還可以采用如下技術(shù)方案予以實(shí)施:一種針對數(shù)據(jù)中心網(wǎng)絡(luò)交換機(jī)的緩沖區(qū)管理方法,包括如下步驟:
10、當(dāng)某數(shù)據(jù)包到達(dá)隊列時,所述包準(zhǔn)入決策器判斷當(dāng)前目標(biāo)隊列入隊后隊列長度是否超過隊列閾值,如果未超過閾值,數(shù)據(jù)包準(zhǔn)許入隊,否則直接丟棄數(shù)據(jù)包;
11、數(shù)據(jù)包準(zhǔn)許入隊后,所述包比較器分析當(dāng)前數(shù)據(jù)包的五元組信息,查看當(dāng)前數(shù)據(jù)包的五元組信息是否和當(dāng)前隊列中的流存在匹配關(guān)系,如果當(dāng)前數(shù)據(jù)包屬于一條隊列中不存在的流,則所述入隊流量數(shù)目統(tǒng)計器對當(dāng)前隊列內(nèi)的流量數(shù)目進(jìn)行更新,并記錄當(dāng)前新流的數(shù)據(jù)包信息,用于后續(xù)統(tǒng)計該流的數(shù)據(jù)包數(shù)量;如果數(shù)據(jù)包為已存在的流的后續(xù)數(shù)據(jù)包,則所述入隊流量數(shù)目統(tǒng)計器更新當(dāng)前流對應(yīng)的數(shù)據(jù)包數(shù)量;
12、數(shù)據(jù)包出隊時,所述出隊流量數(shù)目統(tǒng)計器查看當(dāng)前數(shù)據(jù)包是否為某條流的最后一個數(shù)據(jù)包,如果是最后一個數(shù)據(jù)包,表明該流在隊列中傳輸完畢,更新隊列內(nèi)流數(shù)目;如果不是最后一個數(shù)據(jù)包,則更新該流對應(yīng)的數(shù)據(jù)包數(shù)量;所述梯度計算器在數(shù)據(jù)包出隊過程中不斷計算數(shù)據(jù)包出隊后隊列梯度信息;
13、所述突發(fā)信息學(xué)習(xí)單元根據(jù)梯度信息判斷當(dāng)前條目是否為突發(fā)相關(guān)條目;如果當(dāng)前條目為突發(fā)相關(guān)條目,則將對應(yīng)的條目插入突發(fā)相關(guān)隊列中;否則,重復(fù)上述過程,不斷更新入隊模塊、出隊模塊的數(shù)據(jù)包。
14、進(jìn)一步地,所述突發(fā)隊列閾值計算單元處理突發(fā)條目產(chǎn)生后計算隊列的閾值過程,包括:
15、當(dāng)檢測到突相關(guān)發(fā)條目且突發(fā)相關(guān)條目結(jié)束時,采用k近鄰算法查找比當(dāng)前數(shù)據(jù)包梯度大且最接近當(dāng)前梯度的k個已保存梯度對應(yīng)的隊列最大占用作為對應(yīng)的隊列閾值;
16、根據(jù)k個最大占用計算突發(fā)發(fā)生時的平均占用值;
17、根據(jù)平均占用值再結(jié)合當(dāng)前隊列對應(yīng)的流量數(shù)目計算用于控制隊列緩沖區(qū)占用的隊列閾值。
18、有益效果
19、1、。在流量數(shù)據(jù)包入隊時實(shí)時監(jiān)測并記錄隊列內(nèi)流量數(shù)目,出隊時除了同樣記錄隊列內(nèi)流量數(shù)目變化外,也計算并記錄隊列的梯度值,同時在出隊模塊中,如果識別出隊列產(chǎn)生突發(fā),則根據(jù)記錄的梯度值和隊列內(nèi)的流量數(shù)目,共同計算出當(dāng)前隊列的閾值,以此實(shí)現(xiàn)對于緩沖區(qū)資源的分配和管理。
20、2、本發(fā)明能夠更加精確地識別當(dāng)前隊列的流量突發(fā)情況,并更有針對性地根據(jù)每個隊列的突發(fā)程度,設(shè)置對應(yīng)的閾值,本發(fā)明實(shí)現(xiàn)了數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)對于突發(fā)吸收能力的進(jìn)一步增強(qiáng),同時對于傳輸性能中的流完成時間實(shí)現(xiàn)了進(jìn)一步優(yōu)化。