太極計(jì)算機(jī)股份有限公司 王艷華 楊 森
典型數(shù)據(jù)中心模型性能仿真研究
太極計(jì)算機(jī)股份有限公司 王艷華 楊 森
對(duì)傳統(tǒng)的數(shù)據(jù)中心模型和業(yè)界近年來(lái)提出的BCube數(shù)據(jù)中心模型進(jìn)行了介紹,并通過(guò)性能仿真驗(yàn)證了BCube數(shù)據(jù)中心模型在吞吐量方面的優(yōu)勢(shì)。
傳統(tǒng)模型;BCube模型;一對(duì)一;一對(duì)多
1.1 傳統(tǒng)模型
傳統(tǒng)數(shù)據(jù)中心模型簡(jiǎn)稱傳統(tǒng)模型。該模型為樹(shù)型結(jié)構(gòu),即將眾多的服務(wù)器節(jié)點(diǎn)通過(guò)大量的低端接入交換機(jī)、中端匯聚交換機(jī)并最終與一臺(tái)核心交換機(jī)相連,由此完成大量并發(fā)的密集計(jì)算任務(wù)。
一個(gè)具有64個(gè)服務(wù)器計(jì)算節(jié)點(diǎn)的傳統(tǒng)模型如圖1所示:

圖1 傳統(tǒng)模型
其中:
1)圓圈代表服務(wù)器計(jì)算節(jié)點(diǎn)(簡(jiǎn)稱節(jié)點(diǎn),下同)。
2)方框代表各級(jí)網(wǎng)絡(luò)交換機(jī)(簡(jiǎn)稱交換機(jī),下同),每個(gè)交換機(jī)具有4個(gè)對(duì)下的端口和1個(gè)對(duì)上的端口,各交換機(jī)的端口轉(zhuǎn)發(fā)速率與其所在層次有關(guān),核心層交換機(jī)的端口轉(zhuǎn)發(fā)速率最高,直接與服務(wù)器節(jié)點(diǎn)相連的接入交換機(jī)的端口轉(zhuǎn)發(fā)速率最低。
大部分?jǐn)?shù)據(jù)中心網(wǎng)絡(luò)都采用傳統(tǒng)模型完成密集計(jì)算任務(wù)。在該模型中,如果服務(wù)器節(jié)點(diǎn)數(shù)目較多并且在各節(jié)點(diǎn)之間存在并發(fā)數(shù)據(jù)通信的情況下,多個(gè)計(jì)算任務(wù)必然在匯聚交換機(jī)與核心交換機(jī)處產(chǎn)生瓶頸。
1.2 BCube模型
BCube數(shù)據(jù)中心模型簡(jiǎn)稱BCube模型,是近年來(lái)業(yè)界新提出的一種數(shù)據(jù)中心模型。在該模型中,各個(gè)服務(wù)器節(jié)點(diǎn)具有多個(gè)端口,而每個(gè)交換機(jī)都能連接固定數(shù)量的服務(wù)器節(jié)點(diǎn)。該模型利用超立方體(Hypercube)的節(jié)點(diǎn)連接關(guān)系作為遞歸規(guī)律,同層次不同遞歸單元中相同位置上的所有服務(wù)器都通過(guò)一個(gè)交換機(jī)相互連接,因此具備了超立方體連通性高、直徑小、可靠性好的優(yōu)點(diǎn)。
BCube0由n個(gè)服務(wù)器連到一個(gè)n端口的交換機(jī)組成。BCube1由n個(gè)BCube0和n個(gè)n端口的交換機(jī)組成。更一般地,一個(gè)BCubek(k≥1)由n個(gè)BCubek-1和nk個(gè)n端口交換機(jī)組成。在BCubek中的每臺(tái)服務(wù)器有k+1個(gè)端口,從第0層到第k層(LEVEL)進(jìn)行編號(hào)。容易看出,一個(gè)BCubek有N=nk+1臺(tái)服務(wù)器和k+1層交換機(jī),每層有nk個(gè)n端口交換機(jī)。在n=4的情況下,BCube0、BCube1以及一個(gè)具有64個(gè)服務(wù)器計(jì)算節(jié)點(diǎn)的BCube2模型分別如下圖所示:

圖2 BCube0(n=4)模型

圖3 BCube1(n=4)模型

圖4 BCube2(n=4)模型
在具有64個(gè)服務(wù)器計(jì)算節(jié)點(diǎn)的BCube2模型中,每個(gè)服務(wù)器具有3個(gè)連接交換機(jī)的端口,每個(gè)交換機(jī)具有4個(gè)連接服務(wù)器的端口。
相比傳統(tǒng)模型,可以看出,BCube模型具有如下特點(diǎn):1)交換機(jī)僅與節(jié)點(diǎn)之間具有連接關(guān)系,交換機(jī)之間沒(méi)有連接關(guān)系。2)該模型通過(guò)增加交換機(jī)數(shù)目、節(jié)點(diǎn)端口數(shù)目以及交換機(jī)與節(jié)點(diǎn)之間的連接關(guān)系來(lái)達(dá)到縮短源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間路徑長(zhǎng)度與增加源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間可用路徑數(shù)目的目的。
理論上講,由于增加了交換機(jī)數(shù)目與節(jié)點(diǎn)端口數(shù)目,BCube模型在多個(gè)節(jié)點(diǎn)之間存在并發(fā)數(shù)據(jù)通信的情況下消除了傳統(tǒng)模型下在匯聚交換機(jī)與核心交換機(jī)處產(chǎn)生的瓶頸,因此,各條通信路徑的平均吞吐量與計(jì)算任務(wù)完成時(shí)間要優(yōu)于傳統(tǒng)模型。
由于增加了交換機(jī)數(shù)目與端口數(shù)目,在網(wǎng)絡(luò)規(guī)模不大時(shí),直觀上可以看出BCube模型在多節(jié)點(diǎn)并發(fā)傳遞數(shù)據(jù)時(shí)的收包成功率與吞吐量?jī)?yōu)于傳統(tǒng)模型,但在網(wǎng)絡(luò)規(guī)模較大時(shí),仍需通過(guò)實(shí)驗(yàn)測(cè)試對(duì)比。
考慮到實(shí)際部署網(wǎng)絡(luò)的高昂成本,采用軟件仿真工具進(jìn)行仿真測(cè)試對(duì)比。
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:運(yùn)行于Windows XP SP2下的Vmware 6.0.2虛擬機(jī)下。
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)計(jì)工具
gawk:Red hat 9下自帶。
2.1.6 數(shù)據(jù)結(jié)果曲線顯示工具
xgraph-12.1:NS-2自帶的小巧的繪圖工具。
2.2 仿真場(chǎng)景
2.2.1 網(wǎng)絡(luò)規(guī)模
要求兩種模型在相同網(wǎng)絡(luò)規(guī)模下進(jìn)行性能對(duì)比,具體如表1所示:

表1 兩種模型的網(wǎng)絡(luò)規(guī)模
2.2.2 網(wǎng)絡(luò)拓?fù)?/p>
兩種模型的網(wǎng)絡(luò)拓?fù)浞謩e見(jiàn)圖1與圖4。
2.2.3 其它仿真參數(shù)

表2 其它仿真參數(shù)
2.3 仿真方法
2.3.1 一對(duì)一發(fā)送數(shù)據(jù)性能對(duì)比
在傳統(tǒng)模型下分別選擇三對(duì)節(jié)點(diǎn)并依次在每對(duì)節(jié)點(diǎn)之間的單一數(shù)據(jù)傳輸路徑上進(jìn)行單向ftp性能測(cè)試;同樣地,在BCube模型下選擇相同的三對(duì)節(jié)點(diǎn)并依次在每對(duì)節(jié)點(diǎn)之間的多條不相交的數(shù)據(jù)傳輸路徑上同時(shí)進(jìn)行單向ftp性能測(cè)試。通過(guò)收包成功率與吞吐量結(jié)果的對(duì)比,反映出BCube模型在節(jié)點(diǎn)對(duì)之間進(jìn)行多路徑數(shù)據(jù)傳輸時(shí)的性能優(yōu)勢(shì)。
在仿真過(guò)程中,需要注意以下幾點(diǎn):
1)選擇三對(duì)測(cè)試節(jié)點(diǎn)時(shí)應(yīng)保證三對(duì)節(jié)點(diǎn)的位置與距離應(yīng)具有一定的代表性。
2)傳統(tǒng)模型中,源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間只有一條數(shù)據(jù)傳輸路徑,因此仿真過(guò)程比較簡(jiǎn)單,只要按下列公式計(jì)算即可。

3)BCube模型中,源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間具有多條不相交數(shù)據(jù)傳輸路徑,故對(duì)源節(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)的路徑選擇功能做一定的簡(jiǎn)化,即假設(shè)在執(zhí)行多路徑數(shù)據(jù)傳輸時(shí),源節(jié)點(diǎn)已經(jīng)通過(guò)有線網(wǎng)絡(luò)成熟路由協(xié)議建立好了待轉(zhuǎn)發(fā)數(shù)據(jù)與傳輸路徑的對(duì)應(yīng)關(guān)系,只要發(fā)送隊(duì)列中有數(shù)據(jù)待發(fā)送,源節(jié)點(diǎn)就能夠知道該數(shù)據(jù)應(yīng)該從哪條路徑發(fā)送出去。因此,可對(duì)源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的每條路徑進(jìn)行單向ftp性能測(cè)試并得到相應(yīng)的收包成功率與吞吐量,再計(jì)算出最終的收包成功率與吞吐量,計(jì)算公式如下:

其中,通過(guò)BCube算法找到的路徑數(shù)目為n。
4)收包成功率的比較為數(shù)值比較,吞吐量的比較為隨時(shí)間變化的曲線比較,最后給出對(duì)應(yīng)與三對(duì)測(cè)試節(jié)點(diǎn)的三組收包成功率數(shù)值比較與三組吞吐量的曲線比較。
2.3.2 一對(duì)多發(fā)送數(shù)據(jù)性能對(duì)比
在傳統(tǒng)模型下選擇一個(gè)源節(jié)點(diǎn)和三個(gè)目的節(jié)點(diǎn)并同時(shí)在源節(jié)點(diǎn)與每個(gè)目的節(jié)點(diǎn)之間的數(shù)據(jù)傳輸路徑上進(jìn)行單向ftp性能測(cè)試;同樣地,在BCube模型下選擇相同的源節(jié)點(diǎn)與三個(gè)目的節(jié)點(diǎn)并同時(shí)在源節(jié)點(diǎn)與每個(gè)目的節(jié)點(diǎn)之間的互不相交的數(shù)據(jù)傳輸路徑上進(jìn)行單向ftp性能測(cè)試。通過(guò)收包成功率與吞吐量結(jié)果對(duì)比,反映出BCube模型在源節(jié)點(diǎn)同時(shí)向多個(gè)目的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí)的性能優(yōu)勢(shì)。
在仿真過(guò)程中,需要注意以下幾點(diǎn):
1)為說(shuō)明BCube模型在進(jìn)行一對(duì)多發(fā)送數(shù)據(jù)時(shí)的性能優(yōu)勢(shì),在目的節(jié)點(diǎn)的選擇上,其數(shù)目應(yīng)盡量不超過(guò)服務(wù)器節(jié)點(diǎn)端口個(gè)數(shù),另外,源節(jié)點(diǎn)至每個(gè)目的節(jié)點(diǎn)的數(shù)據(jù)傳輸路徑應(yīng)為不相交,即這些數(shù)據(jù)傳輸路徑?jīng)]有公共鏈路(服務(wù)器節(jié)點(diǎn)與交換機(jī)之間的鏈路)。
2)傳統(tǒng)模型中,源節(jié)點(diǎn)與每個(gè)目的節(jié)點(diǎn)之間只有一條數(shù)據(jù)傳輸路徑,因此仿真過(guò)程比較簡(jiǎn)單,只要按公式(1)與(2)計(jì)算即可。
3)BCube模型中,源節(jié)點(diǎn)與多個(gè)目的節(jié)點(diǎn)之間只要找到一組不相交的數(shù)據(jù)傳輸路徑即可,而源節(jié)點(diǎn)在向多個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)的路徑選擇功能與前面一對(duì)一發(fā)送數(shù)據(jù)性能對(duì)比部分的描述一致,這里只要假設(shè)在執(zhí)行數(shù)據(jù)傳輸時(shí),源節(jié)點(diǎn)已經(jīng)通過(guò)有線網(wǎng)絡(luò)成熟路由協(xié)議建立好了待轉(zhuǎn)發(fā)數(shù)據(jù)與傳輸路徑的對(duì)應(yīng)關(guān)系,只要發(fā)送隊(duì)列中有數(shù)據(jù)待發(fā)送,源節(jié)點(diǎn)就能夠知道該數(shù)據(jù)應(yīng)該從哪條路徑發(fā)送出去,最后按公式(5)與(6)計(jì)算即可。

其中,通過(guò)目的節(jié)點(diǎn)個(gè)數(shù)為m=3。上面公式說(shuō)明,在進(jìn)行一對(duì)多發(fā)送數(shù)據(jù)測(cè)試時(shí),得到收包成功率與吞吐量最低的一組數(shù)據(jù)才是有意義的。
4)收包成功率的比較為數(shù)值比較,吞吐量的比較為隨時(shí)間變化的曲線比較。最后給出一組最低的收包成功率數(shù)值比較與一組最低的吞吐量曲線比較。
2.4 仿真結(jié)果
2.4.1 一對(duì)一發(fā)送數(shù)據(jù)性能對(duì)比
將每種模型下一對(duì)一發(fā)送數(shù)據(jù)性能的統(tǒng)計(jì)數(shù)據(jù)按前面公式進(jìn)行整理,最后得到如下結(jié)果。
1)收包成功率

表3 兩種模型在000號(hào)與033號(hào)之間的收包成功率

表4 兩種模型在000號(hào)與133號(hào)之間的收包成功率

表5 兩種模型在000號(hào)與333號(hào)之間的收包成功率
2)吞吐量(見(jiàn)圖5、圖6、圖7)

圖5 兩種模型中000號(hào)與033號(hào)之間的吞吐量

圖6 兩種模型中000號(hào)與133號(hào) 之間的吞吐量

圖7 兩種模型中000號(hào)與333號(hào)之間的吞吐量

圖8 兩種模型中000號(hào)同時(shí)與033號(hào)、 133號(hào)、333號(hào)之間的吞吐量
2.4.2 一對(duì)多發(fā)送數(shù)據(jù)性能對(duì)比
將每種模型下一對(duì)多發(fā)送數(shù)據(jù)性能的統(tǒng)計(jì)數(shù)據(jù)按前面公式進(jìn)行整理,最后得到如下結(jié)果。
1)收包成功率。

表6 兩種模型在000號(hào)與033號(hào)之間的收包成功率
2)吞吐量(見(jiàn)圖8)。
通過(guò)對(duì)收包成功率的統(tǒng)計(jì)結(jié)果可以看出:
1)收包成功率。對(duì)于一對(duì)一發(fā)送數(shù)據(jù)測(cè)試項(xiàng)目與一對(duì)多發(fā)送數(shù)據(jù)測(cè)試項(xiàng)目,只要在全雙工有線鏈路質(zhì)量達(dá)到100Mbps、源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間跳數(shù)不超過(guò)八跳、源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間數(shù)據(jù)通信路徑數(shù)目不超過(guò)三條,不論采用哪種數(shù)據(jù)中心模型,在目的節(jié)點(diǎn)處的收包成功率均接近100%。收包成功率與模型選擇無(wú)關(guān)。
2)吞吐量。在一對(duì)一發(fā)送數(shù)據(jù)測(cè)試項(xiàng)目中,由于傳統(tǒng)模型中源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間只有一條數(shù)據(jù)通信路徑,而B(niǎo)Cube模型中源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間具有三條互不相交的數(shù)據(jù)通信路徑,因此,BCube模型可以在多條互不相交的數(shù)據(jù)通信路徑上同時(shí)傳遞數(shù)據(jù),從而在相等的時(shí)間內(nèi),BCube模型具有三倍于傳統(tǒng)模型的吞吐量性能。
同樣地,在一對(duì)多發(fā)送數(shù)據(jù)測(cè)試項(xiàng)目中,傳統(tǒng)模型中源節(jié)點(diǎn)與每個(gè)目的節(jié)點(diǎn)之間的數(shù)據(jù)通信路徑具有鏈路瓶頸,源節(jié)點(diǎn)同時(shí)向每個(gè)目的節(jié)點(diǎn)傳遞數(shù)據(jù)時(shí),每個(gè)路徑上的吞吐量會(huì)下降到30Mbps以下,下降程度取決于同時(shí)進(jìn)行的端到端吞吐量測(cè)試數(shù)目。而B(niǎo)Cube模型中源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間具有三條互不相交的數(shù)據(jù)通信路徑,每對(duì)節(jié)點(diǎn)之間的吞吐量仍接近100Mbps。
在BCube模型中,一對(duì)一發(fā)送數(shù)據(jù)的節(jié)點(diǎn)對(duì)數(shù)多于三對(duì)或者一對(duì)多發(fā)送數(shù)據(jù)時(shí)的目的節(jié)點(diǎn)數(shù)多于三個(gè)時(shí),多于三條的數(shù)據(jù)通信路徑也會(huì)具有鏈路瓶頸,吞吐量性能也會(huì)下降。
在BCube模型中,每個(gè)節(jié)點(diǎn)具有連接至各層交換機(jī)的多個(gè)端口,并且每對(duì)節(jié)點(diǎn)之間以及每個(gè)節(jié)點(diǎn)至多個(gè)節(jié)點(diǎn)之間都具有多條數(shù)據(jù)通信路徑,其中不相交路徑的個(gè)數(shù)等于節(jié)點(diǎn)的端口數(shù)目。在網(wǎng)絡(luò)通信資源低于節(jié)點(diǎn)計(jì)算資源的情況下,BCube模型具有優(yōu)于傳統(tǒng)模型的性能。
附:
所屬欄目:數(shù)據(jù)中心網(wǎng)絡(luò)。
王艷華(1979-),女,遼寧鐵嶺人,工程師,研究方向?yàn)檐浖?xiàng)目管理、軟件工程、嵌入式系統(tǒng)等。
楊森(1978-),男,遼寧葫蘆島人,工程師,研究方向?yàn)檐浖?xiàng)目管理、軟件工程、嵌入式系統(tǒng)等。