杨双的个人博客分享 http://blog.sciencenet.cn/u/Rein 充满梦想的留学旅程

博文

Load-balanced switch为什么不吃香

已有 5269 次阅读 2011-1-27 04:50 |个人分类:学习交流|系统分类:科研笔记|关键词:学者| 网络, TCP

(本文严重中英文夹杂,不爱看的朋友可以直接略过)

2年前,第一次阅读C-.S Chang的Load-balanced switch (后文简称LB switch)的论文,非常被震撼。当时的感受是,这个世界上其他任何switch调度算法都没有研究的意义了,因为LB switch的设计实在是太优美了。LB switch的想法很简单,如果traffic是完全uniform的话,那么scheduling就是trivial的,可以直接使用一个rotater达到100%的吞吐率。但是,现实中的traffic显然并不是uniform的。LB switch的思路是进行两阶段的“调度”。 第一个阶段用rotater,使输出的traffic达到uniform。第二个阶段再使用一个rotater,将traffic调度到目的地。packet switching在两阶段中间使用Virtual output queue(VOQ)实现。

我记得,不光是我被这个论文所震撼。和我有交流的一些做过switch的大师,提到switch都不得不提LB switch,因为这个设计实在是太简单太巧妙又太完美了。LB switch里面不需要任何调度算法,不需要复杂的硬件,就能保证100%的吞吐率,实在是很理想的交换机模型。于是,我当年也就停止了其他结构的交换机的研究,开始研究LB switch。

但是研究了几个月,就发现问题了。市面上居然找不到LB架构的switch!如果这个架构,真的这么简单,完美,为什么大家不使用?我问过几个相关研究人员,有的和我有同样的疑问。有的人就说是因为硬件复杂度。还有的人说其实市面上是有的,只是你没找到。我不能理解硬件复杂度这个说法,因为看起来显然比现在广泛使用的几种switch更简单。如果市面上有,那么为什么不流行?

于是这个问题一直无解,困扰了我两年,即使我还在这个方向publish了所谓的paper。

这学期选的高级网络课,每次上课前阅读一些论文写critique,然后课上讨论。每节课一个主题。上周读完了switch/router的发展史,经典基础的switch的硬件结构和软件结构,昨天的课终于开始讨论LB switch和optical switch。这门课很有意思,选课的人有54人,大概一半研究生一半本科生(题外话:我本科怎么没这种课……)。上课就是在教授的带领下一起讨论。由于最近是switch的专题,所以每节课都会有思科的高级研究人员过来和我们一起讨论。于是,我终于再次提出了这个困扰我多年的问题:LB switch为什么不吃香?

答案很简单: 因为LB switch无法保证数据包仍然有序。也许之前我也得到过这个解释,但是这个解释在我看起来并不能占得住脚: 有谁规定过数据包不能乱序?难道我们的网络中数据包是保证了有序的?显然没有,所以我脑海早就把这个解释甩开了。数据包假设都是有序,那我们要TCP干嘛?不就是在end-to-end上解决数据包无序的问题么?(当然,我知道TCP不仅仅是为了解决这个)所以,我一直觉得,数据包无序,不会造成网络的灾难。

可是,我们的讨论没有局限在肤浅的对TCP定性的认识上。大家开始讨论到了TCP具体如何实现这个数据包乱序的问题。数据包如果没按顺序怎么办?要求重传!这个很多是出于congestion control的考虑,但是现在TCP貌似就真的是这么实现的。于是,交换机上导致的大量数据包乱序,会大大增加整个网络中的数据流量,这是ISP不乐见的。据说Juniper真的在几年前就有LB switch的产品了。在ISP面前,放着一个乱序的LB switch,和一个不乱序的普通switch,他们会怎么选择?显然是选择不乱序的普通switch,即使性能稍微差一点,稍微贵一点。所以,虽然数据包是允许乱序的,但是大家尽量都不希望乱序发生在交换机内部。

换句话说,要想LB switch流行,首先得改变现在TCP的实现!本来,交换机的设计和TCP完全是不相关的,在ISO模型中差了几层呢。但是却因为TCP实现的原因,导致这么优美的LB switch其实毫无用武之地。

想了很久的问题终于得到解决,让我非常开心。然而这个问题的答案其实更让我想到,做研究光专注一点是不行的。没有知识的广度,有时候很难做到知识的深度。以前做研究,很多时候是抓住一点就开啃。而开始博士生学习后,现在做得更多是打好扎实的基础。有时候问题的解决,需要借助其他领域的知识。

另外,在Stanford这个地方,和其他地方不一样的是,由于我们和工业界学术界都有非常紧密的联系,我们有很多讨论,所以大家看问题更容易抓到最关键的那一点。之前我询问的研究员,也是很一流的研究员,却没有能够(让我)抓住TCP这个很关键的点。


https://m.sciencenet.cn/blog-441887-408206.html

上一篇:想给自己定个目标:什么样的博士生算比较“牛”
下一篇:研究者的目标

1 tuner

发表评论 评论 (6 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-6 22:16

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部