Understanding TCP incast throughout collapse in datacenter networks

RAD Lab,EECS Dept,UC Berkeley,Intel Labs Berkeley--------WREN‘09 2009

主要工作:(1)将incast问题更加通用的抽象出来,不限于特定的网络环境,之前的工作主要集中于数据中心环境中(2)将incast问题建立了一个分析模型,通过该模型可以预测incast的现象(3)实现了已有的TCP改进解决incast问题的方案,并对其性能做了评估(4)提出了一个新的修改TCP解决incast问题的方案,并进行了性能测试。

相关工作:(1)动态调整RTO,从200ms改为200微秒,降低了RTO时间。在仿真中可以看到这样做可以有效缓和incast问题,但问题在于实际中很少有系统拥有微秒这样高精度的计时器。(2)流控制方案,将多层交换机结构改为单交换机结构,从根本上解决了incast问题,但引入了线头阻塞问题。(3)应用层级的解决方案,全局请求调度,需要对很多关键应用做复杂修改。 

延时ACK的缺席会过度驱动拥塞窗口,导致工作流独立。200微秒RTO值是网络依赖的,延迟ACK独立的。

对于较大的RTO值(200ms),降低RTO值对incast问题的解决影响很大;对于较小的RTO值(1ms),控制数据包发送间隔对incast问题的解决影响大。

建立了吞吐量和同时连接的发送端数量的数学模型:

Understanding TCP incast throughout collapse in datacenter networks_第1张图片
左上公式表示单个发送端的吞吐量,左下表示整个网络的吞吐量,右式表示发生重传事件个数R与同时连接的发送端个数S的关系
左式表示系统除去重传时间外的传播时延,右式表示数据包间发送间隔时间I与同时连接的发送端个数S的关系

公式说明:(1)表示单个发送端的吞吐量:D表示发送的总数据大小(字节),一共是100个256KB的数据块。L表示除去RTO时间的传输时间,R表示RTO发生的次数,r表示最小RTO计时器的初识值。一般情况下,D和r为常量,L和R为S的函数。(2)通过实验测试,用分段函数拟合的S和R的关系。(3)L表示除去RTO时间的传输时延,等于发送时延+发送间隔时延。其中,averageMSS表示平均数据包大小,I表示相邻数据包之间的发送间隔时间。通过实验测试,用分段函数拟合了S与I的关系。

模型结论:模型不完整,普适性不高。此模型是在RTO=200ms的情况下设置的,当RTO设置为1ms时,完全不适用。并且只能解释吞吐量下降和恢复的趋势,不能解释后续的吞吐量再次下降的趋势。 

模型微调的理论依据:(1)随着发送端数量的增加,RTO事件的数量也会增加。但当发送端数量超过某个值时,RTO数量就不变了。(2)当网络资源饱和时,所有发送端也会饱和。即所有发送端共享网络资源,例如交换机缓存。(3)拥塞事件发生后,发送端会进入TCP重传状态。RTO计时器在每个发送方到期时具有均匀的时间分布和拥塞事件之后的恒定延迟。

RTO

总结:主要工作为建立了吞吐量和同时连接的发端数量的数学模型,但模型不完善,不能很好拟合各个RTO值情况下的吞吐量和同时连接的发端数量曲线。另RTO概率服从平均分布的公式含义没搞清楚。

你可能感兴趣的:(Understanding TCP incast throughout collapse in datacenter networks)