论文部分内容阅读
云计算数据中心内运行的多种多样的应用对网络的高带宽和低延时等性能提出了越来越高的要求。数据中心网络的流调度技术对数据流的传输进行调度,其目标是减少数据流平均完成时间,优化用户体验,近年来在学术界和工业界引发了广泛关注。本文从用户在应用层的任务对网络层的流调度的需求和影响出发,针对云计算数据中心网络流调度中的数据生成速率等流信息缺失、任务感知的调度开销大以及基于作业逻辑的流调度等挑战性问题,从速率感知的流调度、针对小任务的流调度以及基于作业逻辑的流调度等方面展开研究。论文的主要工作和创新成果包括以下几个方面: 针对数据生成速率等流信息缺失问题,研究了数据流经历应用、系统以及网络传输的完整生命周期,提出了准确测量数据生成速率的方法和速率感知的流调度机制RAX。该机制的基本原理是在估算流剩余时间时同时考虑流大小和流数据生成速率,并利用网络内交换机支持的优先级队列,将流根据他们的剩余时间映射到这些优先级队列中,采用类似于多级反馈队列算法进行调度。由于数据生成速率反映了应用对网络的真实需求,RAX可以避免调度的盲目性。与已有方法比, RAX有效地利用了操作系统层面提供的丰富的流信息,包括缓存区积压数据量和精确测量的应用层数据生成速率;RAX原型系统的实现不需要修改系统内核或用户应用,不需要特殊的网卡、交换机等硬件支持,与现有的TCP/IP协议兼容,可以以热插拔的方式部署在生产系统上。实验表明,RAX比现有流调度机制更有效地减少了流平均完成时间,尤其是对中等大小的数据流。 针对任务感知的流调度开销大的问题,研究了数据中心网络环境下针对小任务的低开销流调度机制,提出了一种优化小任务性能的、轻量级的、兼容现有软硬件技术的流调度机制OPTAS。该方法的基本思想是通过监控系统调用和缓冲区占用情况来获取流信息,不需要修改用户应用、操作系统及交换机等硬件,降低了获取流信息的开销。为了利用从发送缓冲区中获得信息,OPTAS设置了两个阈值,一个是缓冲区大小的阈值,另一个是流大小的阈值,通过这两个阈值来识别小任务。为了避免大任务在网络中阻塞小任务,OPTAS为小任务的数据流设置了最高的优先级,并且通过调节TCP窗口大小和ACK延时时间来实现小任务间以FIFO的方式进行传输,以此避免小任务间出现网络拥塞和带宽抢占,达到优化小任务性能的目的。与现有方法比,OPTAS具有调度开销小、响应速度快,对小任务的性能提升效果明显等优点。实验表明,OPTAS可以有效地优化小任务的传输性能,减少小任务的平均完成时间,这对优化用户体验具有重要意义。 针对基于作业逻辑的流调度问题,在分析复杂作业计算逻辑的基础上,定义了表达作业执行逻辑的网络语义抽象seflow,一个seflow不仅包含该作业的所有数据流,还蕴含着这些数据流之间的逻辑关系;提出了作业运行时逻辑瓶颈LRB来表达作业运行时对网络的需求;设计了基于作业逻辑的流调度机制SLRBF以及相应的流调度系统、应用编程接口。与现有方法相比,SLRBF算法充分考虑了作业内数据流间的逻辑关系,计算作业运行时逻辑瓶颈LRB,作业间根据LRB值进行排序,作业内部则根据数据流的紧急程度划分为两个优先级队列。实验证明, SLRBF算法可以有效地减少作业的平均执行时间。