论文部分内容阅读
近年来,随着云计算的发展,大量交互式应用,如零售推荐、网页搜索和社交网络等,部署于数据中心。这些应用对时延有极高的要求,时延的增加对用户体验和服务提供商的收益产生重大影响。在数据中心,这些交互式应用大多采用划分/聚集(Partition/Aggregate)的工作模式,聚集服务器把用户的请求分割成小任务,并通过短TCP连接(短流)交由计算节点完成,然后从这些节点收集结果并组合成最后的内容返回给用户。交互式的短流的完成时间大大影响了用户体验。然而,数据中心网络中存在一些为了完成数据备份、数据挖掘等任务的吞吐量巨大的TCP流,这些大流的发送窗口巨大,能够迅速改变交换机队列的大小。正是因为这些流的存在,数据中心网络中的排队时延波动巨大,导致短流的完成时间甚至超过理想值十倍以上。为了降低数据中心中的短流完成时间,学术界提出很多方案。这些方案中有的使用交换机的显式拥塞通知机制(ECN, Explicit Congestion Notification)通知主机端网络的拥塞程度,然后调整报文的发送速率,降低队列长度;有的通过模拟传统的集中式资源调度算法,为短流赋予更高的调度优先级;有的把流在多条等价路径之间进行负载均衡;还有的使用冗余技术针对一个任务使用两条流独立分别完成,取最快的流的结果。作为一种典型的基于冗余的短流加速技术,RepFlow对于原本由一条短流传输的数据,使用两条短流同时独立传输,当其中任一条短流的完成数据传输时,接收端即成功接收所有数据。由于数据中心中存在多条等价路径,当两条短流通过不同的路径到达接收端时,数据传输被链路拥塞阻碍的可能性大大降低,传输效率增加。现有的短流加速方案取得了不错的效果,但是大部分方案需要修改交换机或者主机TCP协议栈,这使得它们很难在数据中心中部署。尽管RepFlow能够实现于应用层,但是它存在两个不足:一是当今数据中心使用的等价多路径协议有可能把两条短流路由到同一条路径(路径哈希冲突),导致RepFlow的短流加速效果降低;二是RepFlow在所有的流量分布和网络负载下都为短流创建一条复制流,在网络负载较高和短流流量很大时,产生巨大的带宽开销。为了解决这些问题,我们尝试利用数据中心中存在的多条等价路径,提出容易部署的短流加速机制。总的来说,我们的工作可以分为下面两部分:·提出了一种基于冗余的新型数据中心短流加速机制SmartRep。在设计SmartRep的过程中,我们完成了三方面工作:-首先,我们深入研究了现有的基于冗余技术的短流加速方案的不足。针对哈希路径冲突对短流加速效果的负面影响,以及冗余流流量对冗余技术的带宽开销的影响,我们给出了详细的理论分析。-其次,我们设计了路径哈希冲突避免机制HCA。HCA根据数据中心中的等价多路径协议的原理,利用类似于traceroute的方法,提前发送具有指定TCP/IP五元组的报文探测该五元组对应的路径。利用这种方法探知指定五元组对应的路径之后,通过尝试不同的源端口号,为冗余流选择合适的源端口,使得它们通过不同的路径,避免路径冲突,降低短流完成时间。-最后,我们设计了冗余流数量分配机制RepNumAssigno RepNumAssign是一个能够感知数据中心网络负载和流量分布的冗余流数量分配算法,它根据网络的流量分布和当前负载,调整冗余流的总流量、限制带宽开销以避免产生负面影响,在总流量被限制下,给对流完成时间贡献大的短流分配更多的冗余流流量,以最小化流的完成时间。SmartRep的实现不需要交换机和主机端的修改,能够最大限度地简化部署。大量的NS2仿真实验表明,SmartRep能够在产生很低的带宽开销的前提下有效降低短流的平均和尾完成时间,并且能够和DCTCP协同工作。·为了进一步降低现有短流加速方案的带宽开销和部署难度,提出了基于路径时延探测的短流加速方案PDP。该方案首先设计了基于等价多路径协议的主机端路径控制机制,它采用HCA的思想,通过修改TCP流的源端口改变其路径。该机制的实现对TCP层完全透明,不需要修改主机端协议栈;然后,提出了主动路径时延探测机制,也就是在TCP的握手阶段在所有的等价路径上请求建立TCP连接,但是只在最先收到回复的路径上建立连接;最后,在流的生存期内,实施被动的路径时延探测,也就是随机重路由:一条流的报文不能在预设的时限内被确认,更换其路径。这些机制在所有流的前100Kb流量内实施,不需要应用程序提供流的大小信息。同时,PDP的实现也不需要修改交换机、主机协议栈,所以它更加容易部署。大量的NS2仿真实验表明,相比于现有的基于冗余技术的短流加速方案,PDP的短流加速效果接近甚至更好,并且带宽开销更低。