太極計算機股份有限公司 王艷華 楊 森
典型數(shù)據(jù)中心模型性能仿真研究
太極計算機股份有限公司 王艷華 楊 森
對傳統(tǒng)的數(shù)據(jù)中心模型和業(yè)界近年來提出的BCube數(shù)據(jù)中心模型進(jìn)行了介紹,并通過性能仿真驗證了BCube數(shù)據(jù)中心模型在吞吐量方面的優(yōu)勢。
傳統(tǒng)模型;BCube模型;一對一;一對多
1.1 傳統(tǒng)模型
傳統(tǒng)數(shù)據(jù)中心模型簡稱傳統(tǒng)模型。該模型為樹型結(jié)構(gòu),即將眾多的服務(wù)器節(jié)點通過大量的低端接入交換機、中端匯聚交換機并最終與一臺核心交換機相連,由此完成大量并發(fā)的密集計算任務(wù)。
一個具有64個服務(wù)器計算節(jié)點的傳統(tǒng)模型如圖1所示:
圖1 傳統(tǒng)模型
其中:
1)圓圈代表服務(wù)器計算節(jié)點(簡稱節(jié)點,下同)。
2)方框代表各級網(wǎng)絡(luò)交換機(簡稱交換機,下同),每個交換機具有4個對下的端口和1個對上的端口,各交換機的端口轉(zhuǎn)發(fā)速率與其所在層次有關(guān),核心層交換機的端口轉(zhuǎn)發(fā)速率最高,直接與服務(wù)器節(jié)點相連的接入交換機的端口轉(zhuǎn)發(fā)速率最低。
大部分?jǐn)?shù)據(jù)中心網(wǎng)絡(luò)都采用傳統(tǒng)模型完成密集計算任務(wù)。在該模型中,如果服務(wù)器節(jié)點數(shù)目較多并且在各節(jié)點之間存在并發(fā)數(shù)據(jù)通信的情況下,多個計算任務(wù)必然在匯聚交換機與核心交換機處產(chǎn)生瓶頸。
1.2 BCube模型
BCube數(shù)據(jù)中心模型簡稱BCube模型,是近年來業(yè)界新提出的一種數(shù)據(jù)中心模型。在該模型中,各個服務(wù)器節(jié)點具有多個端口,而每個交換機都能連接固定數(shù)量的服務(wù)器節(jié)點。該模型利用超立方體(Hypercube)的節(jié)點連接關(guān)系作為遞歸規(guī)律,同層次不同遞歸單元中相同位置上的所有服務(wù)器都通過一個交換機相互連接,因此具備了超立方體連通性高、直徑小、可靠性好的優(yōu)點。
BCube0由n個服務(wù)器連到一個n端口的交換機組成。BCube1由n個BCube0和n個n端口的交換機組成。更一般地,一個BCubek(k≥1)由n個BCubek-1和nk個n端口交換機組成。在BCubek中的每臺服務(wù)器有k+1個端口,從第0層到第k層(LEVEL)進(jìn)行編號。容易看出,一個BCubek有N=nk+1臺服務(wù)器和k+1層交換機,每層有nk個n端口交換機。在n=4的情況下,BCube0、BCube1以及一個具有64個服務(wù)器計算節(jié)點的BCube2模型分別如下圖所示:
圖2 BCube0(n=4)模型
圖3 BCube1(n=4)模型
圖4 BCube2(n=4)模型
在具有64個服務(wù)器計算節(jié)點的BCube2模型中,每個服務(wù)器具有3個連接交換機的端口,每個交換機具有4個連接服務(wù)器的端口。
相比傳統(tǒng)模型,可以看出,BCube模型具有如下特點:1)交換機僅與節(jié)點之間具有連接關(guān)系,交換機之間沒有連接關(guān)系。2)該模型通過增加交換機數(shù)目、節(jié)點端口數(shù)目以及交換機與節(jié)點之間的連接關(guān)系來達(dá)到縮短源節(jié)點與目的節(jié)點之間路徑長度與增加源節(jié)點與目的節(jié)點之間可用路徑數(shù)目的目的。
理論上講,由于增加了交換機數(shù)目與節(jié)點端口數(shù)目,BCube模型在多個節(jié)點之間存在并發(fā)數(shù)據(jù)通信的情況下消除了傳統(tǒng)模型下在匯聚交換機與核心交換機處產(chǎn)生的瓶頸,因此,各條通信路徑的平均吞吐量與計算任務(wù)完成時間要優(yōu)于傳統(tǒng)模型。
由于增加了交換機數(shù)目與端口數(shù)目,在網(wǎng)絡(luò)規(guī)模不大時,直觀上可以看出BCube模型在多節(jié)點并發(fā)傳遞數(shù)據(jù)時的收包成功率與吞吐量優(yōu)于傳統(tǒng)模型,但在網(wǎng)絡(luò)規(guī)模較大時,仍需通過實驗測試對比。
考慮到實際部署網(wǎng)絡(luò)的高昂成本,采用軟件仿真工具進(jìn)行仿真測試對比。
2.1 軟硬件環(huán)境介紹
2.1.1 硬件環(huán)境
CPU:3.06GHz(P4),物理內(nèi)存:2.5GB。
2.1.2 操作系統(tǒng)
Red hat 9:運行于Windows XP SP2下的Vmware 6.0.2虛擬機下。
2.1.3 NS2仿真工具
linux版的NS-2(2.26)。
2.1.4 文本/腳本編輯工具
gedit2.2.0:Red hat 9下自帶的具有圖形界面的文本/腳本編輯工具。
2.1.5 數(shù)據(jù)分析與統(tǒng)計工具
gawk:Red hat 9下自帶。
2.1.6 數(shù)據(jù)結(jié)果曲線顯示工具
xgraph-12.1:NS-2自帶的小巧的繪圖工具。
2.2 仿真場景
2.2.1 網(wǎng)絡(luò)規(guī)模
要求兩種模型在相同網(wǎng)絡(luò)規(guī)模下進(jìn)行性能對比,具體如表1所示:
表1 兩種模型的網(wǎng)絡(luò)規(guī)模
2.2.2 網(wǎng)絡(luò)拓?fù)?/p>
兩種模型的網(wǎng)絡(luò)拓?fù)浞謩e見圖1與圖4。
2.2.3 其它仿真參數(shù)
表2 其它仿真參數(shù)
2.3 仿真方法
2.3.1 一對一發(fā)送數(shù)據(jù)性能對比
在傳統(tǒng)模型下分別選擇三對節(jié)點并依次在每對節(jié)點之間的單一數(shù)據(jù)傳輸路徑上進(jìn)行單向ftp性能測試;同樣地,在BCube模型下選擇相同的三對節(jié)點并依次在每對節(jié)點之間的多條不相交的數(shù)據(jù)傳輸路徑上同時進(jìn)行單向ftp性能測試。通過收包成功率與吞吐量結(jié)果的對比,反映出BCube模型在節(jié)點對之間進(jìn)行多路徑數(shù)據(jù)傳輸時的性能優(yōu)勢。
在仿真過程中,需要注意以下幾點:
1)選擇三對測試節(jié)點時應(yīng)保證三對節(jié)點的位置與距離應(yīng)具有一定的代表性。
2)傳統(tǒng)模型中,源節(jié)點與目的節(jié)點之間只有一條數(shù)據(jù)傳輸路徑,因此仿真過程比較簡單,只要按下列公式計算即可。
3)BCube模型中,源節(jié)點與目的節(jié)點之間具有多條不相交數(shù)據(jù)傳輸路徑,故對源節(jié)點進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時的路徑選擇功能做一定的簡化,即假設(shè)在執(zhí)行多路徑數(shù)據(jù)傳輸時,源節(jié)點已經(jīng)通過有線網(wǎng)絡(luò)成熟路由協(xié)議建立好了待轉(zhuǎn)發(fā)數(shù)據(jù)與傳輸路徑的對應(yīng)關(guān)系,只要發(fā)送隊列中有數(shù)據(jù)待發(fā)送,源節(jié)點就能夠知道該數(shù)據(jù)應(yīng)該從哪條路徑發(fā)送出去。因此,可對源節(jié)點與目的節(jié)點之間的每條路徑進(jìn)行單向ftp性能測試并得到相應(yīng)的收包成功率與吞吐量,再計算出最終的收包成功率與吞吐量,計算公式如下:
其中,通過BCube算法找到的路徑數(shù)目為n。
4)收包成功率的比較為數(shù)值比較,吞吐量的比較為隨時間變化的曲線比較,最后給出對應(yīng)與三對測試節(jié)點的三組收包成功率數(shù)值比較與三組吞吐量的曲線比較。
2.3.2 一對多發(fā)送數(shù)據(jù)性能對比
在傳統(tǒng)模型下選擇一個源節(jié)點和三個目的節(jié)點并同時在源節(jié)點與每個目的節(jié)點之間的數(shù)據(jù)傳輸路徑上進(jìn)行單向ftp性能測試;同樣地,在BCube模型下選擇相同的源節(jié)點與三個目的節(jié)點并同時在源節(jié)點與每個目的節(jié)點之間的互不相交的數(shù)據(jù)傳輸路徑上進(jìn)行單向ftp性能測試。通過收包成功率與吞吐量結(jié)果對比,反映出BCube模型在源節(jié)點同時向多個目的節(jié)點進(jìn)行數(shù)據(jù)傳輸時的性能優(yōu)勢。
在仿真過程中,需要注意以下幾點:
1)為說明BCube模型在進(jìn)行一對多發(fā)送數(shù)據(jù)時的性能優(yōu)勢,在目的節(jié)點的選擇上,其數(shù)目應(yīng)盡量不超過服務(wù)器節(jié)點端口個數(shù),另外,源節(jié)點至每個目的節(jié)點的數(shù)據(jù)傳輸路徑應(yīng)為不相交,即這些數(shù)據(jù)傳輸路徑?jīng)]有公共鏈路(服務(wù)器節(jié)點與交換機之間的鏈路)。
2)傳統(tǒng)模型中,源節(jié)點與每個目的節(jié)點之間只有一條數(shù)據(jù)傳輸路徑,因此仿真過程比較簡單,只要按公式(1)與(2)計算即可。
3)BCube模型中,源節(jié)點與多個目的節(jié)點之間只要找到一組不相交的數(shù)據(jù)傳輸路徑即可,而源節(jié)點在向多個節(jié)點進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時的路徑選擇功能與前面一對一發(fā)送數(shù)據(jù)性能對比部分的描述一致,這里只要假設(shè)在執(zhí)行數(shù)據(jù)傳輸時,源節(jié)點已經(jīng)通過有線網(wǎng)絡(luò)成熟路由協(xié)議建立好了待轉(zhuǎn)發(fā)數(shù)據(jù)與傳輸路徑的對應(yīng)關(guān)系,只要發(fā)送隊列中有數(shù)據(jù)待發(fā)送,源節(jié)點就能夠知道該數(shù)據(jù)應(yīng)該從哪條路徑發(fā)送出去,最后按公式(5)與(6)計算即可。
其中,通過目的節(jié)點個數(shù)為m=3。上面公式說明,在進(jìn)行一對多發(fā)送數(shù)據(jù)測試時,得到收包成功率與吞吐量最低的一組數(shù)據(jù)才是有意義的。
4)收包成功率的比較為數(shù)值比較,吞吐量的比較為隨時間變化的曲線比較。最后給出一組最低的收包成功率數(shù)值比較與一組最低的吞吐量曲線比較。
2.4 仿真結(jié)果
2.4.1 一對一發(fā)送數(shù)據(jù)性能對比
將每種模型下一對一發(fā)送數(shù)據(jù)性能的統(tǒng)計數(shù)據(jù)按前面公式進(jìn)行整理,最后得到如下結(jié)果。
1)收包成功率
表3 兩種模型在000號與033號之間的收包成功率
表4 兩種模型在000號與133號之間的收包成功率
表5 兩種模型在000號與333號之間的收包成功率
2)吞吐量(見圖5、圖6、圖7)
圖5 兩種模型中000號與033號之間的吞吐量
圖6 兩種模型中000號與133號 之間的吞吐量
圖7 兩種模型中000號與333號之間的吞吐量
圖8 兩種模型中000號同時與033號、 133號、333號之間的吞吐量
2.4.2 一對多發(fā)送數(shù)據(jù)性能對比
將每種模型下一對多發(fā)送數(shù)據(jù)性能的統(tǒng)計數(shù)據(jù)按前面公式進(jìn)行整理,最后得到如下結(jié)果。
1)收包成功率。
表6 兩種模型在000號與033號之間的收包成功率
2)吞吐量(見圖8)。
通過對收包成功率的統(tǒng)計結(jié)果可以看出:
1)收包成功率。對于一對一發(fā)送數(shù)據(jù)測試項目與一對多發(fā)送數(shù)據(jù)測試項目,只要在全雙工有線鏈路質(zhì)量達(dá)到100Mbps、源節(jié)點與目的節(jié)點之間跳數(shù)不超過八跳、源節(jié)點與目的節(jié)點之間數(shù)據(jù)通信路徑數(shù)目不超過三條,不論采用哪種數(shù)據(jù)中心模型,在目的節(jié)點處的收包成功率均接近100%。收包成功率與模型選擇無關(guān)。
2)吞吐量。在一對一發(fā)送數(shù)據(jù)測試項目中,由于傳統(tǒng)模型中源節(jié)點與目的節(jié)點之間只有一條數(shù)據(jù)通信路徑,而BCube模型中源節(jié)點與目的節(jié)點之間具有三條互不相交的數(shù)據(jù)通信路徑,因此,BCube模型可以在多條互不相交的數(shù)據(jù)通信路徑上同時傳遞數(shù)據(jù),從而在相等的時間內(nèi),BCube模型具有三倍于傳統(tǒng)模型的吞吐量性能。
同樣地,在一對多發(fā)送數(shù)據(jù)測試項目中,傳統(tǒng)模型中源節(jié)點與每個目的節(jié)點之間的數(shù)據(jù)通信路徑具有鏈路瓶頸,源節(jié)點同時向每個目的節(jié)點傳遞數(shù)據(jù)時,每個路徑上的吞吐量會下降到30Mbps以下,下降程度取決于同時進(jìn)行的端到端吞吐量測試數(shù)目。而BCube模型中源節(jié)點與目的節(jié)點之間具有三條互不相交的數(shù)據(jù)通信路徑,每對節(jié)點之間的吞吐量仍接近100Mbps。
在BCube模型中,一對一發(fā)送數(shù)據(jù)的節(jié)點對數(shù)多于三對或者一對多發(fā)送數(shù)據(jù)時的目的節(jié)點數(shù)多于三個時,多于三條的數(shù)據(jù)通信路徑也會具有鏈路瓶頸,吞吐量性能也會下降。
在BCube模型中,每個節(jié)點具有連接至各層交換機的多個端口,并且每對節(jié)點之間以及每個節(jié)點至多個節(jié)點之間都具有多條數(shù)據(jù)通信路徑,其中不相交路徑的個數(shù)等于節(jié)點的端口數(shù)目。在網(wǎng)絡(luò)通信資源低于節(jié)點計算資源的情況下,BCube模型具有優(yōu)于傳統(tǒng)模型的性能。
附:
所屬欄目:數(shù)據(jù)中心網(wǎng)絡(luò)。
王艷華(1979-),女,遼寧鐵嶺人,工程師,研究方向為軟件項目管理、軟件工程、嵌入式系統(tǒng)等。
楊森(1978-),男,遼寧葫蘆島人,工程師,研究方向為軟件項目管理、軟件工程、嵌入式系統(tǒng)等。