-
近年来,随着云计算和大数据应用的飞速发展,数据中心网络(Data Center Network)作为其基础设施和下一代网络技术的创新平台,得到了学术界和工业界的广泛关注[1-3].
数据中心网络的容错性是评估网络性能的重要因素. 连通度是度量数据中心网络容错性的一个重要参数,连通度越大,则数据中心网络的容错性能就相对越高. 数据中心网络连通度定义中,发生故障的服务器是任意的、没有限制条件的,然而实际情况往往并非如此. 仅使用连通度来评估数据中心网络的容错性,会严重低估数据中心网络的容错性能. 因此,涌现了大量在特定网络拓扑上的限制连通度问题的研究成果[3-12].
传统的树型数据中心网络存在可扩展性不足和容错性较差等缺点,因此研究者们提出了DCell,BCube等多种递归型数据中心网络,与树型数据中心网络不同,这些结构采用递归方式构建网络拓扑,理论上可以支持百万台服务器的规模[13-14],且它们避免了核心层交换机带来的性能瓶颈,并使服务器之间拥有多条可用的不相交路径,其在可扩展性、容错性等多方面都有较好表现. 本文提出了一类递归型数据中心网络——RDCN,与传统树形数据中心网络相比,该网络具有更好的网络带宽和网络容错性能;研究了递归型数据中心网络的限制连通度,该结果能够更加精确地度量该网络的容错性. 本文将讨论RDCN在限制故障顶点集情形下的限制连通度,并设计和分析了相应的容错单播算法.
HTML
-
数据中心网络可以表示为一个简单图G=(V(G),E(G)),其中V(G)表示顶点集,E(G)表示边集. 顶点和边分别表示数据中心网络中的服务器和连接服务器的链路,而交换机被认为是透明的网络设备[13]. 给定图G中任意两个顶点u和v,若(u,v)∈E(G),则u和v是邻居. 顶点u在图G的邻居集合可表示为N(G,u)={v|(u,v)∈E(G)}. 图G的连通度可表示为κ(G).
图G中两个顶点u和v之间的路径P可表示为一个顶点的序列P=(u0=u,u1,…,uk=v),P中除了u和v以外的任意两个点都是不同的. 从ui到uj的子路径可用Path(P,ui,uj)表示,其中0≤i<j≤k. P[-1]=uk,P-1可表示为路径P的反转. P中所有顶点(边)的集合可表示为V(P)(E(P)). 如果V'⊆V(G),那么G[V']表示由图G的顶点所导出的子图. 使用G-V来表示G[V(G)-V]. 对于任意的顶点v∈V(G),如果(u,v)∈E(G),则表示u是v的一个邻居. 定义N(G,V')={x∈V(G)|存在顶点y∈V'满足(x,y)∈E(G)}. 顶点v的邻居集合Γ(G,v)={u∈V(G)|(v,u)∈E(G)}表示v的所有相邻顶点.
进一步,对于顶点集合V'⊆V(G),定义V'的邻居集合为Γ(G,V')=∪x∈V'Γ(G,x)/V'. 明显地,Γ(G,V')=N(G,V')/V'.
定义1 给定图G,令F⊂V(G)表示G中一个故障顶点集合,如果u∈F,那么u是G中一个故障顶点;否则,u是G中一个无故障顶点. 若G中每个顶点至少有一个无故障邻居,则基于该条件下G的限制连通度可表示为κ'(G). 另外,基于故障顶点无限制的G的连通度可表示为κ(G).
对于任意整数n≥3和k≥1,部署于n-口交换机上的k-维递归完全图网络可以表示为一个图Xk,n. Xk,n的基图是一个有n个顶点的完全图,tk,n表示Xk,n的顶点个数,e(u,v)表示顶点u到顶点v的边,σ表示图中任意顶点与同维度其他子图相连接的边数,其中σ∈{1,n-1},s表示Xk,n中子图的个数. Xk,n的顶点u表示为[uk,uk-1,…,ui,…,u0],其中0≤u0≤n-1,0≤ui≤si且i≥1,可用(u)i表示u中的第i个元素ui.
定义2 当k≥0,n≥3且σ∈{1,n-1}时,Xk,n的递归定义如下:
(1) 当k=0时,Xk,n是一个具有n个顶点的完全图.
(2) 当k≥1时,Xk,n是由s个互不相交的子图Xk-1,n1,Xk-1,n2,…,Xk-1,ns相互连接而成的(n+kσ-1)-正则图,其中当σ=1时,s=tk-1,n+1;当σ=n-1时,s=n.
(2.1)当σ=1时,Xk-1,nuk中顶点u=[uk,uk-1,…,u0]与Xk-1,nvk中v=[vk,vk-1,…,v0]是相邻的当且仅当
${u_k} = {v_0} + \sum\limits_{j = 1}^{k - 1} {({v_j}{t_{j - 1, n}})} $ 且${v_k} = {u_0} + \sum\limits_{j = 1}^{k - 1} {({u_j}{t_{j - 1, n}}) + 1} $ .(2.2)当σ=n-1时,Xk-1,nuk中顶点u=[uk,uk-1,…,u0]与Xk-1,nvk中v=[vk,vk-1,…,v0]是相邻的当且仅当uk≠vk且ui=vi(i=0,…,k-1).
根据文献[13]和文献[14],可得出Xk,n网络的基本性质如下.
定理1 Xk,n是一个(n+kσ-1)-正则图.
定理2 κ(Xk,n)=λ(Xk,n)=n+kσ-1.
定理3
$ {t_{k, n}} = \left\{ {\begin{array}{*{20}{l}} {{t_{k - 1, n}}({t_{k - 1, n}} + 1) \ge {{\left( {n + \frac{1}{2}} \right)}^{{2^k}}} - \frac{1}{2}}&{若 \sigma = 1, }\\ {n{t_{k - 1, n}} = {n^{k + 1}}}&{若 \sigma = n - 1} \end{array}} \right.. $ 本文将RDCN与几种典型的数据中心网络进行对比(如表 1所示),其中N表示服务器数量,n表示交换机端口数量,比较的指标包括:顶点的度、连通度和网络直径. 其中数据中心网络中顶点的度越小则表示其顶点间网络连接越少,从而构建网络的成本越低;数据中心网络的连通度越高,则表示其具有更好的容错性;数据中心网络的直径越小则表示它的实时响应路由所花费的时间越少.
与RDCN相比,Tree和Fat-Tree的扩展规模在理论上受限于核心交换机的端口数目,不利于数据中心网络规模的快速扩张,且它们的容错性受到核心交换设备影响较大,对核心交换设备的故障非常敏感. 同时,Tree和Fat-Tree的拓扑结构的特点决定了其不能很好支持一对多、广播和全交换等网络通信模式. 另外,与RDCN相比,FiConn网络的容错性较差,网络直径较大. 因此与上述数据中心网络相比,RDCN具有较高的网络带宽、较好的容错性. 特别的,σ=n-1时的RDCN比σ=1时的RDCN具有更高的网络带宽和容错性能.
-
本文用F表示故障顶点集合,令I0,n={0,1,…,n-1}且Ij,n={0,1,…,s}(1≤j≤k). 若σ=1时,s=tk-1,n+1;若σ=n-1时,s=n. 对于任意整数i∈Ik,n,令Fi=F∩V(Xk-1,ni)且fi=|Fi|. 令I={i∈Ik,n|fi≥n+kσ-2},I=Ik,n\I,FI=∪i∈IFi,FI=∪i∈IFi,Xk-1,nI=Xk,n[∪i∈IV(Xk-1,ni)].
对于任意的整数1≤l≤k,令Vk,nl={[uk,uk-1,…,ul]|ui∈Ii,n且l≤i≤k}. 对于任意的α∈Vk,nl,我们用Xl-1,nα表示Xl-1,n中每个顶点标号前添加α作为前缀后生成的图. 显然Xl-1,n
$ \cong $ Xl-1,nα.根据定义2,可以证明下述引理成立.
引理1 对于任意两个整数i,j∈Ik,n且i≠j,Xk,n中的子图Xk-1,ni和Xk-1,nj存在h条不相交的连接路径,表示为集合P(Xk-1,ni,Xk-1,nj),其中当σ=1时h=tk-1,n,当σ=n-1时h=(n-1)tk-1,n.
证 对于任意的r∈Ik,n{i,j},令e(Xk-1,ni,Xk-1,nj)表示子图Xk-1,ni到子图Xk-1,nj的一条边,令(ur,xr)=e(Xk-1,ni,Xk-1,nr)且(yr,vr)=e(Xk-1,nr,Xk-1,nj). 因为Xk-1,nr是连通的,所以xr到yr存在一条路径Qr. 令Pi=e(Xk-1,ni,Xk-1,nj),当r∈Ik,n且r≠j时,可以验证P0,P1,…,Pr,…,Ps是连接Xk-1,ni和Xk-1,nj的h条不交路径,当σ=1时,h=tk-1,n,当σ=n-1时,h=(n-1)tk-1,n.
引理2 令F表示Xk,n上所有故障顶点的集合. 存在任意整数k≥1,n≥3且σ∈{1,n-1},若|F|≤2(kσ-1)+n,则Xk-1,nI-F是连通的.
证 首先证明|I|≤2. 假设|I|≥3,根据前面给出的I的定义,则有|F|≥3(n+kσ-2)≥2(kσ-1)+n+1>2(kσ-1)+n,矛盾. 此外,对于任意整数i∈I,由于κ(Xk-1,ni)=n+k-2且fi≤n+k-3,故Xk-1,ni-Fi是连通的.
接下来证明Xk-1,nI-FI是连通的. 对于任意两个不同整数i,j∈I,任意的整数k≥1,n≥3且σ∈{1,n-1},根据引理1和定理3可以得出
因此,对于任意两个不相等的整数i,j∈I,Xk-1,nI-FI上至少存在一条路径Q连接Xk-1,ni和Xk-1,nj,其中Q∈P(Xk-1,ni,Xk-1,nj),故Xk-1,nI-FI是连通的.
引理3[15] 对于任意的整数k≥1,n≥3且σ∈{1,n-1},Xk,n上存在长度为3的圈.
引理4[15] 对于任意的整数k≥1,n≥3,σ∈{1,n-1},Xk,n中存在相邻的两个顶点u=ukuk-1…u0和v=vkvk-1…v0,边(u,v)∈E(Xk,n),令leftIdx(u,v)表示为u和v从左侧开始最先不同的下标,则有
引理5 对于任意的整数k≥1,n≥3且σ∈{1,n-1},网络中的故障顶点集合F⊂V(Xk,n)且|F|≤2kσ+n-3,若Xk,n中每个无故障顶点都至少存在一个无故障邻居,则Xk,n-F是连通的.
证 要证明上述情况成立需要证明下述断言成立.
断言. 对于任意两个不同的顶点u,v∈V(Xk,n-F),在Xk,n-F中存在一条连接u和v的路径.
当k=1时,该断言显然成立.
令α=(u)k,β=(v)k,当k>1时,可以分两种情形讨论.
情形1 α=β. 令G0=Xk-1,nα-Fα且G1=Xk,n-V(Xk-1,nα)-(F/Fα),则:
1) 若fα≤n+kσ-3,则G0是连通的,因此G0中存在u和v的路径连接;
2) 若fα≥n+kσ-2,且u,v在同一个连通分支,则G0中存在u和v的连接路径;
3) 若fα≥n+kσ-2,且u,v不在同一个连通分支,假定x是u的一个无故障邻居顶点,y是v的一个无故障邻居顶点. 令γ=(x)k且δ=(y)k,接下来可以分为以下3种子情形.
情形1.1 α≠δ且α≠γ. 对于任意整数i∈Ik,n{α},有fi≤|F|-fα≤(2kσ+n-3)-(n+kσ-2)=kσ-1≤n+kσ-3. 根据引理2,G1是连通的,G1中存在路径Q连接x和y. 因此Xk,n-F中存在路径(u,x,Q,y,v)连接u和v.
情形1.2 α≠δ且α=γ. 令u1,u2,…,un+kσ-4,un+kσ-3分别表示u在Xk-1,nα中的除x外的n+kσ-3个邻居,令x1,x2,…,xn+kσ-4,xn+kσ-3分别表示x在Xk-1,nα中的除u外的n+kσ-3个邻居,令u'1,u'2,…,u'n+kσ-3,u'n+kσ-2分别表示u1,u2,…,un+kσ-4,un+kσ-3,x在Xk,n-V(Xk-1,nα)中的n+kσ-2个邻居,令x'1,x'2,…,x'n+kσ-3,x'n+kσ-2分别表示x1,x2,…,xn+kσ-4,xn+kσ-3,u在Xk,n-V(Xk-1,nα)中的n+kσ-2个邻居,其中σ∈{1,n-1}. 根据引理3和引理4有
令
对c'求导则有
显然有min(c')=n+2kσ-2. 不失一般性,假设x1=u1,x2=u2,…,xc=uc,则有{uc+1,uc+2,…,un+kσ-3}∩{xc+1,xc+2,…,xn+kσ-3}=Ø.
根据定义2有{u'c+1,u'c+2,…,u'n+kσ-3}∩{x'c+1,x'c+2,…,x'n+kσ-3}=Ø.
因此,从Xk-1,nα到Xk,n-V(Xk-1,nα)可得c'条不交路:Q1=(u,u1,u'1),Q2=(u,u2,u'2),…=…,Qn+kσ-3=(u,un+kσ-3,u'n+kσ-3),Qn+kσ-2=(u,x,u'n+kσ-2),Qn+kσ-1=(u,x,xc+1,x'c+1),Qn+kσ=(u,x,xc+2,x'c+2),…,Qc'-1=(u,x,xn+kσ-3,x'n+kσ-3),Qc'=(u,x'n+kσ-2).
因为|F|≤2kσ+n-3<c',所以c'条不相交的路径Q1,Q2,…,Qc'中至少存在一条路径Qr满足条件,其中1≤r≤c'. 令c″=n+kσ-2-(c'-r)=n+kσ-2-c'+r,则有
和
根据情形1.1中讨论,G1中存在一条路径P连接z和y. 因此,Xk,n-F中存在一条路径(Q,P,v)连接u和v.
情形1.3 α=δ. 证明与情形1.2类似,不再赘述.
情形2 α≠β. 不失一般性,假设fα≤fβ,则有
$ {f_\alpha } \le \frac{{\left| F \right|}}{2} \le \frac{{2k\sigma + n - 3}}{2} \le n + k\sigma - 2 $ .若fα=n+kσ-2则fβ≤|F|-fα≤(2kσ+n-3)-(kσ+n-2)=kσ-1≤n+kσ-3,与fα≤fβ矛盾. 因此fα≤n+kσ-3. 接下来,分以下两种情形讨论.
情形2.1 fβ≤n+kσ-3,fα,fβ∈I. 根据引理2,Xk-1,nI-F是连通的. 从而Xk-1,nI-F中存在一条路径连接u和v.
情形2.2 fβ≥n+kσ-2. 令G0=Xk-1,nβ-Fβ,G1=Xk,n-V(Xk-1,nβ)-(F\Fβ). 类似于情形1.2中的证明,Xk,n-F中存在一条路径P连接v和x,其中x∈V(G1). 我们有fi≤|F|-fβ≤(2kσ+n-3)-(kσ+n-2)≤n+kσ-3. 其中i∈Ik,n\{β}.
根据引理2,可得G1是连通的,故G1中存在一条路径Q连接u和x. 从而路径(Q,P-1)是Xk,n-F中连接u和v的一条路径.
综上所述,对于任意的u,v∈V(Xk,n-F)且u≠v,Xk,n-F中存在一条连接u和v的路径,因此Xk,n-F是连通的,证毕.
定理4 对于任意整数k≥1,n≥3且σ∈{1,n-1},κ'(Xk,n)=2κ(Xk,n)-n=2kσ+n-2κ'(Xk,n)=2κ(Xk,n)-n=2kσ+n-2.
证 通过引理5可得κ'(Xk,n)≥2kσ+n-2κ'(Xk,n)≥2kσ+n-2. 下面将证明κ'(Xk,n)≤2kσ+n-2成立.
对于任意的整数k≥1,n≥3且σ∈{1,n-1},如果Xk,n中每个顶点都至少有一个无故障邻居,则存在一条边(u,v)∈E(Xk,n),使得|Γ(Xk,n,{u,v})|=2kσ+n-2且Xk,n-Γ(Xk,n,{u,v})有且仅有两个连通分支:其中一个连通分支为Xk,n[{u,v}],另外一个连通分支为Xk,n-N(Xk,n[{u,v}]).
首先证明当n=3,k=1时该结论成立. 当n=3,k=1时,分为两种情况:σ=1或σ=n-1.
当n=3,k=1,σ=1时,选择一条边(00,01),令故障集合为Γ(X1,3,{00,01})={02,10,20}. 明显的|Γ(X1,3,{00,01})|=3=2×1×1+3-2. 容易验证X1,3-Γ(X1,3,{00,01})有且仅有两个连通分支:其中一个连通分支为X1,3[{00,01}],另外一个连通分支为X1,3-N(X1,3,{00,01}).
当n=3,k=1,σ=n-1时,选择一条边(00,01),令故障集合为Γ(X1,3,{00,01})={02,10,11,20,21}. 明显的|Γ(X1,3,{00,01})|=5=2×1×(3-1)+3-2. 容易验证X1,3-Γ(X1,3,{00,01})有且仅有两个连通分支:其中一个连通分支为X1,3[{00,01}],另外一个连通分支为X1,3-N(X1,3,{00,01}).
接下来,我们将n视作一个常量,假设该结论在k=τ-1(τ≥2)时成立. 当k=τ时,通过归纳假设,证明存在一条边(u,v)∈E(Xk-1,nα),使得在Xk-1,nα中,|Γ(Xk-1,nα,{u,v})|=2(τ-1)σ+n-2,并且Xτ-1,nα-N(Xτ-1,nα,{u,v})有且仅有两个连通分支:其中一个连通分支为Xτ-1,nα[{u,v}],另外一个连通分支为Xτ-1,nα-N(Xτ-1,nα,{u,v}). 其中0≤α≤s,根据定义2,当σ=1时s=tk-1,n+1,当σ=n-1时,s=n.
令G0=Xτ-1,nα-N(Xτ-1,nα,{u,v})-{u,v},G1=Xτ,n-Xτ-1,nα-N((Xτ,n-Xτ-1,nα),{u,v}).
令F1=N((Xτ,n-Xτ-1,n0),{u,v})表示{u,v}在Xτ-1,nα外的邻居,根据定义2有|F1|=2σ. 令fβ=max{fi|0≤i≤m,i≠α},则有fβ<|F1|=2σ≤2(τ-1)σ+n-2,因此G1是连通的. 根据定义2可知G0中至少存在一个点连接到G1. 则Xτ,n-Γ(Xτ,n,{u,v})有且仅有两个连通分支:其中一个连通分支为Xτ,n[{u,v}],另一个连通分支为Xτ,n-N(Xτ,n,{u,v}).
通过上述过程知κ'(Xτ,n)≤2τσ+n-2成立.
综上所述,当n≥3,k≥1,σ∈{1,n-1}时,κ'(Xk,n)=2kσ+n-2,证毕.
-
定理4 证明了递归型通用网络上限制连通度的精确值,本节将提出网络上基于限制故障顶点集合的单播算法XFRouting.
Algorithm:XFRouting
Input:A network Xk,n,a global variable σ∈{1,n-1},a faulty node set F⊂V(Xk,n) with |F|≤2kσ+n-3,and two nodesu,v∈V(Xk,n).
Output:A path fromutov in Xk,n-F.
Let σ to be a global variable;
print (XFR(Xk,n,F,u,v));
function XFR(Xk,n,F,u,v,k)
1. if (u,v)∈E(Xk,n) or k=0 then
2. return (u,v);
3. else if |F|≥2kσ+n-2 then
4. return (BFS(Xk,n-F,u,v));
5. else if F=Ø then
6. if σ=1 then
7. return DCellRouting (Xk,n,u,v);
8. else if σ=n-1
9. then return BCubeRouting (Xk,n,u,v);
10. end if
11. end if
12. Let m Fas the first index of the subsets with the minimal number of fault nodes
13. Let α←(u)k,β←(v)k;
14. if α=β then
15. if α∈mF then return (XFR(Xk-1,nα,Fα,u,v,k-1));
16. else if α∉mF then
17. for i in mF then
18. P←XMapping(u,Xk,n,Xk-1,ni,F,mF);
19. Q←XMapping(v,Xk,n,Xk-1,ni,F,mF);
20. break;
21. end for
22. if V(P)∩V(Q)=Ø then
23. S←XFR(Xk-1,ni,F,P[-1],Q[-1],k-1);
24. end if
25. return (P,S,Q-1);
26. Find the 1st common node x from P and Q;
27. return (Path(P,u,x),Path(Q-1,x,v));
28. end if
29. else if α≠β then
30. if α∈mF then
31. Q←XMapping(v,Xk,n,Xk-1,nα,F,mF);
32. if u∈V(Q) then return (Path(Q,u,v));
33. end if
34. return (XFR(Xk-1,nα,F,u,Q[-1],k-1),Q);
35. else if β∈mF then
36. P←XMapping(u,Xk,n,Xk-1,nβ,F,mF);
37. if v∈V(P) then return (Path(P,u,v));
38. end if
39. return(P,XFR(Xk-1,nβ,F,P[-1],v,k-1));
40. else then
41. for i in mF then
42. P←XMapping(u,Xk,n,Xk-1,ni,F,mF);
43. Q←XMapping(v,Xk,n,Xk-1,ni,F,mF);
44. break;
45. end for
46. if V(P)∩V(Q)=Ø then
47. S←XFR(Xk-1,ni,F,P[-1],Q[-1],k-1);
48. end if
49. return (P,S,Q-1);
50. Find the 1st node x from P and Q;
51. return (Path(P, u,x),Path(Q-1,x,v));
52. end if
53. end function
function XMapping(u,G0,G1,F,mF)
1. for v in N(G0-F,u) and v in mF then return (u,v);
2. end for
3. for v in N(G0-F,u) then
4. for x in N(G1-F,v) and v in mF then
5. return (u,v,x);
6. end for
7. end for
8. for v in N(G0-F,u) then
9. for x in N(G0-F,v) then
10. for y in N(G1-F,x) and y in mF then
11. return (u,v,x,y);
12. end for
13. end for
14. end for
18. end function
接下来,定理5将给出XFRouting算法的设计思路和执行过程,并分析其时间复杂度.
定理5 当k≥1,n≥3且σ∈{1,n-1}时,对于任意的顶点集合F⊂V(Xk,n)且|F|≤2kσ+n-3,算法XFRouting可以构造出Xk,n-F中任意两个不同顶点间的一条无故障路径,时间复杂度为O(k)≤O(⌈logs|F|⌉k3).
证 当k≥1,n≥3且σ∈{1,n-1}时,故障集合F⊂V(Xk,n)且满足|F|≤2kσ+n-3,XFRouting算法可以构造出Xk,n-F中任意两个不同顶点u到v的一条无故障路径. XFRouting算法中包括4个函数:XFR,XMapping,DCellRouting[12]和BcubeRouting[13]. 其中实现函数XMapping构造出从G0中的顶点u到G1-F的一条无故障路径,函数DCellRouting构造出当σ=1时Xk,n中u到v的一条路径,函数BcubeRouting构造出当σ=n-1时Xk,n中u到v的一条路径. 函数XFR将构造的路径以一个向量的形式保存,向量中的顶点采用长度为k+1的字符串表示.
函数XFR第1-2行,如果u和v存在边,则直接返回边(u,v). 函数XFR第3-4行,如果条件满足|F|≥2kσ+n-2,则采用广度优先算法(BFS)构造一条无故障路径,在最坏情形下时间复杂度为O((tk,n)2). 函数XFR第5-11行,当无故障顶点且σ=1时函数DCellRouting构造一条无故障路径,时间复杂度为O(k),当无故障顶点且σ=n-1时调用函数BcubeRouting构造一条无故障路径,时间复杂度为O(k). 函数XFR第12行,计算最小故障子集,时间复杂度为O(k).
接下来分5种情况讨论函数XFR的时间复杂度,令R=n+kσ-1,mF表示故障数最小的子图前缀,s表示子集的个数,其中当σ=1时,s=tk-1,n+1,当σ=n-1时,s=n. 函数XFR第14-15行,当α=β且α∈mF时,T(k)≤T(k-1)+O(R);函数XFR第16-28行,当α=β且α∉mF时,则有T(k)≤T(k-1)+O(R3);函数XFR第29-34行,当α≠β且α∈mF时,则有T(k)≤T(k-1)+O(R3);函数XFR第35-39行,当α≠β且β∈mF时,则有T(k)≤T(k-1)+O(R3);函数XFR第40-52行,当α≠β,α∉mF且β∉mF时则有T(k)≤T(k-1)+O(R3).
因此可得:
即O(k)≤O(logs|F|k3),证毕.
接下来,定理6分析XFRouting算法构造的路径长度的最大值.
定理6 当k≥1,n≥3且σ∈{1,n-1}时,对于任意的顶点集合F⊂V(Xk,n)且|F|≤2kσ+n-3,XFRouting算法可以构造出Xk,n-F中任意两个不同顶点间的一条无故障路径,其路径长度的上界为
证 令L(k)表示XFRouting算法构造得到的路径的长度. 当|F|=0时,令D(Xk,n)表示图Xk,n的直径,根据文献[12]和文献[13],则有
当0<|F|≤2kσ+n-3时,分为以下情形讨论:
函数XFR第14-15行,L(k)=L(k-1);函数XFR第16-28行,L(k)≤L(k-1)+6;函数XFR第29-34行,L(k)≤L(k-1)+3;函数XFR第35-39行,L(k)≤L(k-1)+3;函数XFR第40-52行,L(k)≤L(k-1)+6.
令
则有
当σ=1时s=tk-1,n+1
$ \gg $ |F|,则d=logs|F|<1. 因此有证毕.
综上所述,本文提出的时间复杂度为O(logs|F|k3)的算法XFR与采用时间复杂度为O((tk,n)2)的广度优先搜索算法相比,具有明显的优越性.
-
本文提出的XFRouting算法采用Python语言编程实现,实验通过设备配置为Intel(R) Core(TM) i5-4200U CPU 1.61GHz,8 GB内存的计算机来评估算法的性能并分析实验结果. 实验中顶点故障和测试点都是随机生成的. 给定随机生成的限制故障集合F⊂V(Xk,n)且|F|≤2kσ+n-3,给定σ=1,1≤k≤3,n=3,网络最大规模为24 492个顶点,将使用XFRouting算法构造出Xk,n-F上一条单播路径花费的CPU时间分别与广度优先BFS算法和深度优先DFS算法所得的结果进行比较. 将XFRouting算法和BFS算法、DFS算法重复运行1 000次,随机生成故障顶点集合,构建任意两个顶点之间的无故障路径,最坏情况如图 1(a)所示,平均情况如图 1(b)所示.
给定随机生成的限制故障集合F⊂V(Xk,n)且|F|≤2kσ+n-3,给定σ=n-1时,1≤k≤7,n=3,网络最大规模为6 561个顶点. 将XFRouting算法构造出Xk,n-F上一条单播路径花费的CPU时间分别与BFS算法、DFS算法进行比较. 将XFRouting算法、BFS算法和DFS算法重复运行1 000次,随机生成故障顶点集合,构建任意两个顶点之间的无故障路径,最坏情况如图 2(a)所示,平均情况如图 2(b)所示.
根据实验结果,构造Xk,n-F上两个顶点间的一条单播路径所花费的CPU时间随着维度k的增加逐步增多. 根据实验结果,当σ=1,n=3且k=3时,XFRouting算法、BFS算法和DFS算法所花费的最坏CPU时间分别为760 ms,960 ms和948 ms,平均CPU时间分别为151 ms,415 ms和483 ms;当σ=n-1,n=3且k=7时,XFRouting算法、BFS算法和DFS算法所花费的最坏CPU时间分别为234 ms,972 ms和990 ms,平均CPU时间分别为189.2 ms,362.6 ms和564.7 ms. 由实验数据可以得到,本文所提出的XFRouting算法在执行效率上优于广度优先搜索算法BFS和深度优先搜索算法DFS.
-
数据中心网络的容错性是评估其网络性能的重要因素,如果用连通度来评估其容错性能,会低估数据中心网络的容错性能. 基于每个顶点都至少有一个无故障邻居这一条件下的限制连通度,能够更加精确地度量数据中心网络的容错性. 本文提出了一类递归型数据中心网络(RDCN),与传统树形数据中心网络相比,该网络具有更好的网络带宽和网络容错性能. 证明了当k≥1,n≥3且σ∈{1,n-1}时,其限制连通度为2kσ+n-2,这一结果近于其连通度的2倍;接着提出了该情形下时间复杂度为O(「logs|F|⌉k3)的容错单播路由算法,证明了在最坏情况下构造出容错单播路由最长路径长度的上界. 仿真实验结果表明XFRouting算法在执行效率上优于广度优先搜索算法和深度优先搜索算法.