非阻塞交换网络的一个研究

charles clos 10/30/1952

本文描述一个基于交叉点整列的电话交换系统,这个系统可以在任意一个空闲的入口和空闲的出口之间建立一个连接,不管这个系统已经服务了多少的用户。

介绍

电子艺术的发现和发展已经可以在我们的电话交换领域感受到了。很多国内外的实验室都有研究项目来构建经济的交换系统就是很好的证据。有些像ECASS系统这样的系统中,交叉点整列的角色比在现在的商用电话系统更加重要。在这些系统当中,普通的控制系统变得没那么贵,但是承担更多控制功能交叉点却更贵了。这样的系统的需求是交叉点尽可能少,但是能够同时建立的连接尽可能的多。这是两个对立的需求,一个商用系统必须在两者之间作出一个妥协。在研究这个妥协的过程中,一个方便的开启点是研究设计一个交换点整列,这个整列总是能够从一个空闲的入口和一个空闲的出口之间建立一个连接,但是不管网络上已经承载了多少流量。因为一个简单的矩形整列,包含N个输入,N个输出,以及N平方个交叉点,满足这个需求,可以作为一个设计上界。因此本文研究一个非阻塞整列,这个阵列小于N平方个交叉点。具体的,本文描述的包含一组条件,3个个或者5个小于N平方个交叉点的交换阵列。然后考虑一些具体的情况,比如N个输入和N个输出的条件没法满足的时候的最少交叉点数量。输入不等于输出的交换阵列。部分或者全部的输入也是输出的情况。

方型阵列

一个简单的由N个输入和N个输出组成的方型阵列如图1所示,交叉点的数量是N的平方,任意N个或者小于N个同时链接可以无阻塞的存在,交换阶段S=1,交叉点数量是C(s),它们有如下关系:

三阶段交换阵列

图二展示了一个小于N平方个交叉点的阵列。这个整列有N=36个输入和N=36个输出。有3个交换阶段,也就是一个输入阶段(a)一个中间阶段(b)和一个输出阶段(c)。在a阶段有6个6*11交换机,在b阶段有11个6*6交换机,在c阶段有6个6*11交换机。总共1188个交叉点小于方程1中的1296个交叉点。

我们感兴趣的是如何推导出这些不同的交换机和不同交换机的数量。在a阶段我们假设交换机的输入是n=\sqrt{N},因此就有6个有6个输入的交换机。相同的方式,c阶段就有6个有6个输出的交换机。阶段b的交换机的数量必须在最糟糕的情况下保持非阻塞。最糟糕的情况出现在a中和c中的一个交换机机:(1)a中的那个交换机有5个输入,对应的5个b中的交换机现在很忙,(2)而且c中的一个交换机的5个输入对应b中的5个输出现在很忙,(3)这两个交换机剩下的一个输入输出之间需要建立一个连接。因此b阶段需要有11个交换机(looks like a 全连接层)。剩下的需求,比如a和c中是11个列,b是6*6就很容易推演出来了。

三阶段交叉点的数量可以总结如下:

C(3)=(2\sqrt{N} - 1)*3N

在表1中,我们可以看到,在N大于等于36的情况下,交叉点的数量就会小于N的平方。

涉及的原理

图片3展示了确定中间阶段交换机数量的原理。

这是一个具体的例子,它可以泛化到一个有n个输入的输入交换机和有m个输出的输出交换机的情况。在这个图当中,我们想要在输入B和输出H之间建立一个连接,需要有n-1个中间交换机来处理输入,需要m-1个中间交换机来处理输出,以及一个额外的交换来处理B到H之间的连接。那么总共需要(n+m-1)个中间交换机。

五阶段交换阵列

图4展示了一个五阶段交换整列,这个整列的分析可以通过下面的这种方式。每个输入输出交换机有N^{1/3}个输入输出,一个给定输入交换机和一个给定输出交换机之间的连接是通过层次的,一个层次通过3个中间交换阶段组成。我们需要的层次是2N^{1/3}-1个,每个层次有N^{2/3}个输入和N^{2/3}个输出。一个有N^{2/3}个输入N^{2/3}个输出的三阶段交换整列的交叉点数量可以通过将公式2中的N替换成N^{2/3}得到。5阶段交换整列的交叉点总数就是,

表2中给出了几种尺寸的5阶段交换整列的交叉点数量,以及它们和3阶段和平方阵列的比较。

七阶段交换阵列

一个七阶段交换阵列可以认为是有5个中间交换阶段的阵列作为路径,来做交换汇聚层。这种汇聚层需要2N^{^{1/4}}-1个,每个汇聚有N^{^{3/4}}个输入和N^{^{3/4}}个输出。通过方程3,我们可以把N替换成N^{^{3/4}}得到每个汇聚所需要的交叉点数量,因此七阶段交换阵列所需的交叉点总数如下:

通用多阶段交换阵列

方程1,2a,3a,4a整理成多项式的形式如下:

这些多项式可以通过以下公式得到,s是奇数:

S.O.Rice和J.Riodan给出了一个等价于公式6的替代表达,如下(译者注:好难推导。。。):

表三给出了各种数量交换阶段和各种尺寸的N的交叉点数量情况:

表3的数据画在图5上:

这一系列曲线看上去有一个边界包络线,表示最少交叉点的数量。下一章讨论在这个最小值下面的点。

三阶段交换阵列中最受欢迎的输入输出交换机尺寸

前面的推导用到了n和N之间的隐含关系,即n是N的\frac{s+1}{2}根,为了获得最小数量的交叉点,我们需要一个更加一般的关系,对于三阶段交换阵列那就是:

当n是N的1/2次根的时候,方程7就变成方程2了。对于一个给定的n最小的交叉点出现在dC/dn=0的位置。也就是:

这个方程有2组整数解:

当N变的很大的时候,方程8等价于:

方程8和9的图像展示在图6当中。

表4中的交叉点数量是基于给定N和图6中最近的整数n得到的。

可以看到,表4中交叉点数量小于表1中的交叉点数量。这个事实可以通过另外一种形式来揭示。消除方程7和9当中的n,我们得到当N很大时候的C(3)如下:

方程10表明我们需要的交叉点数量小于方程2。

五阶段交换阵列中最受欢迎的交换机尺寸

如果n是输入输出交换机的输入输出数量,如果m是第二阶段交换机的输入数量以及第四阶段交换机的输出数量,那么下列方程给出了所需的交叉点数量:

关于m的偏导数如果等于0,我们得到:

关于n的偏导数如果等于0,我们得到:

通过方程12和方程13,给定N我们可以得到m和n的解,比如当N等于240的时候,n=6.81,m=3.56。

对于三阶段交换阵列,一个给定的n,搜索最小的N。

对于给定的n,方程7提供了一个定位小于等于N的平方个交叉点的方法。我们可以另方程7等于N的平方。

求解这个方程我们得到

对于给定n的最小N,我们列出在表5当中。

这个表中还列出了,能够被n整除的最近的N。从这个表中我们可以看到当N等于24的时候,我们可能会有一个交换阵列小于N的平方个交叉点。但是当N等于25的时候,就如表1当中所列,方程2超过N的平方个交叉点。我们的问题是需要找一个小于N的平方个交叉点的阵列,在N等于25的时候。这表明下一部分我们将讨论当N不能被n整除的问题,是有价值的。

三阶段交换阵列,当N不能被n整除的情况,余数是r

表1表明当N等于25,n等于5的时候,总共需要675个交叉点。一个方型阵列只需要625个交叉点。图7展示了一个N等于25,n等于3的交换机布局图。

在这个场景下,有一个输入被剩下了。根据图3,剩下的一个输入需要3条到中间交换机的路径。剩下的一个输出也需要3条到中间交换机的路径。还是根据图3,剩下的输入和剩下的输出之间只需要一条路径。因此必须有一个能够连接这一对输入输出的中间交换机。需要的交叉点数量是615,这少于方形阵列的625。这个方法可以拓展到任意的N=kn+r,r是大于0小于n的整数。k个n尺寸的输入和k个n尺寸的输出交换机,以及一个r尺寸的输入和一个r尺寸的输出交换机组成的系统所需的交叉点数量如下:

I.G.Wilson指出,对于一个孤立的输入,中间交换机的交叉点可以用来隔离可能的连接,因此输入阶段可以不需要交叉点。这同样适用于输出阶段。图7中加上这个修改,那么就又少了6个交叉点。对于这种情况,当r等于1的时候,交叉点数量如下:

当N=Kn+r的时候,J.Riodan找到一个更加有效的方法。他建议用(k+1-n+r)个n输入交换机和n-r个n-1输入的交换机,而不是用k个n输入交换机和一个r输入交换机。这样的话,所需要的交叉点数量是:

当r等于n-1的时候方程17和方程16是一样的。当n等于2或者n等于3的时候,方程16a给出的交叉点数量小于方程17。

在N等于23到160之间搜索最小的交叉点数量

前面几章的方程给出了寻找最小交叉网络的方法。表6展示了这种搜索的结果(N到160)。从23到40是间隔为1,从40到160间隔是10。从161开始一个五阶段交换阵列所需的交叉点数量会更少。

表6的计算使用了有限差分的方法,所用到的方程是:

方程18是由方程7推导出来的,只要把N替换为(k+1)n和kn。方程19是由方程17推导出来的,这个可以应用到所有的大于3的n和n等于3,r=2的情况。方程19是由方程16a和方程7推导出来的,适用于特例,r=1,n=2或者n=3的情况。

搜索N等于240的最小交叉点数量

如果N足够大到需要5个交换阶段。那么搜索最小的交叉点数量就需要基于方程12和13,并且使用表6。这个方法就呈现在表7当中。

在之前的章节,已经说明了,当N等于240的时候,最小值应该出现在n=6.81,m=3.56。在表4当中,最小值出现在n=6,m=4的时候。它不是出现在n等于7的时候,因为240并不被7整除。所以还是在预测之内。

矩形阵列

参考图1,如果有N个输入,M个输出,一个简单的矩形阵列就可以满足N或者M,其中较小一个的数量的同时无阻塞连接。需要的交叉点数量是:

N个输入,M个输出的三阶段交换阵列

对于N个输入,M个输出的三阶段交换阵列的情况。我们假设每个输入交换机有n个输入,每个输出交换机有m个输出。某个特定的输出想要一个到某特定输出的无阻塞的连接,在最糟糕的情况下,需要(n-1)+(m-1)+ 1个路径。因此,在具有这么多中间交换机的情况下,我们得到一个非阻塞交换阵列,它需要的交叉点数量如下:

对这个方程先关于n求偏微分,再关于m求偏微分得到两个偏微分方程。求解这两个偏微分方程,我们得到的解表明当n=m的时候,取得最小值。在方程21中用n来代替m得到如下方程:

求解最小值得到下列表达式:

当N等于M的时候,方程23变成方程8。

n,N,M三者的关系如图8。

三角阵列

如果所有的输入也是输出这样的情况存在的话,那么图9就是一个例子。

中间交换机的交叉点允许左侧的交换机之间进行相互的通信。对于同一个交换机上的两个轨道之间的连接,我们假设其中一个到中间交换机的链路可以被用来建立连接,但是不影响中间交换机的交叉点。这种情况下交叉点的数量是:

T是双向轨道的数量。通过微分我们可以得到获取最小数量交叉点的条件。这种分布还可以拓展到有多个交换阶段的情况。

单向输入,单向输出和双向轨道

图9中的三角阵列和非平衡输入输出展示在图10当中。

在这个图当中,单向输入,单向输出和双向轨道可以无阻塞的自由互联。需要的交叉点数量如下:

适用于三角阵列的评价,也适用于这种情况,即通过微分可以查看获取最小数量交叉点的条件,并且可以拓展到多阶段的情况。

和当前存在网络的比较

当前的交叉网络阵列很少是非阻塞的。其中的一个例子是4线长途局间轨道中心系统。其中一个标准尺寸是,4000交叉点,100输入轨道,100输出长途局间轨道。根据图8,对于N=100,M=40,最接近的整数值是5,带入方程22,得到一个非阻塞三阶段交换阵列的交叉点数量是2700。这个阵列可以用来做中心交换。在这种情况下,新的方法可能是有价值的。

和当前有阻塞阵列的比较可能是不大合理的,因为它们提供的服务级别不一样。比如一个1000个区域连接器和1000个轨道的1号crossbar区域到办公室布局需要80000个交叉点。这个布局可以处理708个erlang,阻塞损失0.0030。非阻塞阵列所需的最小交叉点数量略微小于13800。但是这个阵列可以非阻塞的处理1000个erlang的通信。把阻塞引入本文介绍的设计方法,那么就可以方便的和当前的存在的阻塞整列进行比较。这个可以通过忽略一些路径。那么一个有1000个输入1000个输出,708个erlang,阻塞损失0.0022的布局需要79900个交叉点。这样,至少看上去新的设计方法尤其是对于开发电子交换系统(控制机制并不依赖于所使用的特定交换阵列)还是有价值的。

结论

现在商用电话交换系统中,使用无阻塞交换网络的情况不多。这可能是因为这依赖于大量的交叉点需求。通过这里描述的设计方法,在未来的开发当中,非阻塞交换网络可能会得到更广泛的使用。对于普通的有阻塞网络,新的系统一般是通过非直接的方法设计的。几种类型和尺寸的交换阵列会被研究,直到找到最经济又能满足指定水平的阻塞要求。有了新的设计方法,我们可以采用一个更加直接的方式。图5表明存在一个最小值区域。通过先设计一个具有合适数量阶段的无阻塞交换系统,然后忽略一些路径,设计者可以得到一个给定阻塞水平的网络,而且非常接近最少的交叉点数量。那么采用本文提到的直接设计方法就很有可能。

感谢

除了在文中直接提到的人。作者还要感谢E.B.Ferrell,B.D.holbrook,C.A.Lovell和E.F.Moore在写这篇文章时候的建议和鼓励。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值