分享
 
 
 

网格计算中的 TCP 拥塞控制机制

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

一、引言

目前,网格的发展越来越受到大家的重视,它们可以在不同国家甚至不同州的机器之间传输甚至到达几千G字节的大文件,将大规模的数据处理分散到世界范围的各个组织中。网格的应用需要高速远距离网络的支持,这可能需要网络速度达到622Mbit/s或是更高。在这种情况下,传统的TCP拥塞控制算法就不太适用了。这主要有以下三方面的原因:

(1)传统的TCP拥塞控制机制在高速网络中反应性比较差,这是因为TCP在高速网络中对分组丢失的反应要敏感得多。这主要是由于它的拥塞避免算法是基于AIMD(Additive Increase Multiplicative Decrease,和式增加积式减少)的。所以一个分组的丢失在高速网络中所造成的后果是很严重的:一个分组丢失被检测出来之后,TCP连接就会将带宽减半(积式减少),这样就会不止花上几百毫秒或是多达几秒钟,甚至花上几分钟或是几个小时来恢复所有的可用带宽(和式增加)。另外,慢启动也会造成TCP在高速网络中性能的下降,但是它的影响要比拥塞避免小点。因为通过三个重复的ACK来判定分组丢失的情况要比超时经常得多,因此TCP连接会花费大多数时间在拥塞避免算法上。

(2)传统的TCP总是把分组丢失解释为拥塞,而假定链路错误造成的分组丢失是可以忽略的,但是在高速网络中,这种假设是不成立的。当数据传输速率比较高时,链路错误是不能忽略的。由链路错误引起的分组丢失和由网络拥塞引起的分组丢失的可能性是相同的。因此,不能笼统地认为分组丢失都是由网络拥塞引起的。因此,当一个TCP分组丢失后我们不应该认为就是出现了网络拥塞,拥塞的判定需要两个连续的分组丢失。

(3)传统的TCP不能使用网络链路的所有容量。这主要是由于在AIMD算法中,TCP从一个分组丢失到带宽的恢复所用的时间比较长。这是目前所有TCP版本(TCPTahoe、TCPReno、New-Reno、SACK、Vegas等)的一个固有的问题。而高速远距离网络的造价是比较高的,所以对容量的浪费是不可原谅的。

针对以上TCP传统算法的缺陷,网格计算中的TCP拥塞控制提出了一个新的带宽使用的公平性原则和增减算法,对于克服传统TCP在快速远距离网络中的不足起到了很好的作用。

二、带宽减少算法

在适用于网格应用的快速远距离网络中,可以假设连接的可用带宽在相当长的时间(大致是10min到1h)内是保持不变的,这个假设对与其他类型的网络基本上也是成立的。根据这个假设,可以做如下的近似:对于一个长时间的TCP连接,可用带宽ABW可以看作是一些分段表示的常数。

根据以上的简化模型,我们可以对TCP和式增加积式减少的带宽增减算法进行修改。在用于网格计算的TCP拥塞控制中,当一个TCP连接检测到网络拥塞时(用于网格计算的TCP拥塞控制,对于拥塞的判定标准是在一个相同的拥塞窗口中至少有两个连续的分组丢失,只有一个分组丢失被认为是链路错误),并不是将带宽减半,而是减少ABWi-ABWi+1,ABWi+1由式(1)得出 =-1

(1)

式中 ABWi- 在阶段i的可用带宽;

C- 链路容量的估计值; ABWi在较长时间(一般式10min到1h)内是常数。由于 ABWi是C的一部分,所以

A i,E αi,(0≤αi≤1)∧(ABWi=αiC)(2)

由式(1)和式(2)可以得到

αi+1= (3)

ABWi-ABWi+1= (4)

式(4)就是用于网格计算的TCP拥塞控制,采用新的减少带宽的算法,相应传统TCP的减少算法可以由以下表示

ABWJi-ABWJi+1== (5)

由式(5)可以得出

αi+1=αi /2 (6)

当αi=5%时,由(3)式可得αi+1=4.76%,而由(6)式得到αi+1=2.5%,假如C=622Mbit/s,那么新的算法可以节省14Mbit/s的带宽;当αi=20%时,由(3)式可得αi+1=16.7%,而由(6)式得到αi+1=10%,假如C=622Mbit/s,那么新的算法可以节省41Mbit/s的带宽。所以,当拥塞发生后,新的算法减少的带宽比较少,这样恢复起来也比较快。当αi=0或αi=100%时,也就是当链路中只有一个或有无限多TCP流时,两种算法取得一致。但是,在网格应用的网络中,这两种情况出现的比较少。

三、带宽增加算法

用于网格计算的TCP拥塞控制所使用的带宽增加算法有些复杂,它可以分为五种情况来分析:

(1)当链路刚刚经历了拥塞,并且我们假定这个拥塞现象是暂时的,我们首先根据式(4)来减少带宽,然后再通过二分检索法增加带宽到以前的稳定状态:ABWi。假如在这个过程中没有新的分组丢失,那么TCP连接就应该保持在阶段i,然后根据情况(3)来处理;假如我们检测到同一个拥塞窗口中至少有两个分组丢失,那么TCP连接就应该从阶段过渡i到阶段i+1,并且根据情况(2)来处理。

(2)当网络出现新的拥塞问题时,我们来得到一个新的带宽稳定值ABWi+1,ABWi+1要比ABWi小。在这种方法中,增加和减少带宽都使用二分检索法,一旦有分组丢失我们就减少带宽,否则就增加带宽。这种方法能比较迅速地使可用带宽稳定到ABWi+1。网络稳定在阶段i+1后,在根据情况(3)来处理。

(3)在这种情况下,TCP连接以速率ABWi传输数据。当检测到拥塞发生时,就根据情况(1)来处理;假如直到TCP占用计时器(它的值由经验获得,但一般希望是10min到1h)关闭仍没有拥塞发生,就根据情况(4)来处理。

(4)TCP已经以速率ABWi传输数据很长时间而没有检测到拥塞,因此我们希望可用带宽增加,进入一个新的阶段i+1,在这个阶段ABWi+1应该比现在的ABWi大。所以,一旦TCP占用计时器关闭,我们就开始增加带宽到ABWi+1,ABWi+1可以根据式(7)获得=+1 (7)

假如在这个过程中检测到拥塞,就根据情况(1)来处理。

(5)建立一个新的TCP连接,并且为可用带宽ABW0赋初始值为链路的容量C,然后再根据第(2)种情况来分析。

四、结束语

以上是用于网格计算的TCP拥塞控制所使用的新的带宽增减的算法,它克服了传统的AIMD算法的保守性,可以较充分地使用链路容量,所以在高速远距离网络中,它的效率比较好。但是这种算法还存在着一些缺陷:链路容量C的估计总是近似的,而且精确度也未知;容量的估计需要花费时间,对于短时存在的TCP连接,有可能用于容量估计的时间比连接存在的时间还要长;实际的网络中,路由是会改变的,所以发送端计算出的容量有可能和实际TCP连接使用的容量不一致。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有