太極計算機股份有限公司 王艷華 楊 森
典型數據中心模型性能仿真研究
太極計算機股份有限公司 王艷華 楊 森
對傳統的數據中心模型和業界近年來提出的BCube數據中心模型進行了介紹,并通過性能仿真驗證了BCube數據中心模型在吞吐量方面的優勢。
傳統模型;BCube模型;一對一;一對多
1.1 傳統模型
傳統數據中心模型簡稱傳統模型。該模型為樹型結構,即將眾多的服務器節點通過大量的低端接入交換機、中端匯聚交換機并最終與一臺核心交換機相連,由此完成大量并發的密集計算任務。
一個具有64個服務器計算節點的傳統模型如圖1所示:

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

圖2 BCube0(n=4)模型

圖3 BCube1(n=4)模型

圖4 BCube2(n=4)模型
在具有64個服務器計算節點的BCube2模型中,每個服務器具有3個連接交換機的端口,每個交換機具有4個連接服務器的端口。
相比傳統模型,可以看出,BCube模型具有如下特點:1)交換機僅與節點之間具有連接關系,交換機之間沒有連接關系。2)該模型通過增加交換機數目、節點端口數目以及交換機與節點之間的連接關系來達到縮短源節點與目的節點之間路徑長度與增加源節點與目的節點之間可用路徑數目的目的。
理論上講,由于增加了交換機數目與節點端口數目,BCube模型在多個節點之間存在并發數據通信的情況下消除了傳統模型下在匯聚交換機與核心交換機處產生的瓶頸,因此,各條通信路徑的平均吞吐量與計算任務完成時間要優于傳統模型。
由于增加了交換機數目與端口數目,在網絡規模不大時,直觀上可以看出BCube模型在多節點并發傳遞數據時的收包成功率與吞吐量優于傳統模型,但在網絡規模較大時,仍需通過實驗測試對比。
考慮到實際部署網絡的高昂成本,采用軟件仿真工具進行仿真測試對比。
2.1 軟硬件環境介紹
2.1.1 硬件環境
CPU:3.06GHz(P4),物理內存:2.5GB。
2.1.2 操作系統
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 數據分析與統計工具
gawk:Red hat 9下自帶。
2.1.6 數據結果曲線顯示工具
xgraph-12.1:NS-2自帶的小巧的繪圖工具。
2.2 仿真場景
2.2.1 網絡規模
要求兩種模型在相同網絡規模下進行性能對比,具體如表1所示:

表1 兩種模型的網絡規模
2.2.2 網絡拓撲
兩種模型的網絡拓撲分別見圖1與圖4。
2.2.3 其它仿真參數

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

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

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

其中,通過目的節點個數為m=3。上面公式說明,在進行一對多發送數據測試時,得到收包成功率與吞吐量最低的一組數據才是有意義的。
4)收包成功率的比較為數值比較,吞吐量的比較為隨時間變化的曲線比較。最后給出一組最低的收包成功率數值比較與一組最低的吞吐量曲線比較。
2.4 仿真結果
2.4.1 一對一發送數據性能對比
將每種模型下一對一發送數據性能的統計數據按前面公式進行整理,最后得到如下結果。
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 一對多發送數據性能對比
將每種模型下一對多發送數據性能的統計數據按前面公式進行整理,最后得到如下結果。
1)收包成功率。

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