太极计算机股份有限公司 王艳华 杨 森
典型数据中心模型性能仿真研究
太极计算机股份有限公司 王艳华 杨 森
对传统的数据中心模型和业界近年来提出的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-),男,辽宁葫芦岛人,工程师,研究方向为软件项目管理、软件工程、嵌入式系统等。