论文部分内容阅读
随着网络技术的发展,越来越多的高速长距离网络被部署到当今的互联网环境中。传统的标准TCP传输协议一直在互联网中占据主导地位,但其核心的加性增/乘性减拥塞控制策略不具可扩展性,成为影响高速长距离网络中数据传输效率的主要瓶颈。此外,标准TCP引入快速重传机制以提升丢包恢复速度,但尾部丢包现象的出现导致大部分的丢包仍是通过耗时的超时重传机制恢复,对互联网应用的交互性能造成严重影响。与此同时,网络服务系统的任务调度效率也是影响互联网应用响应速率的关键因素。如何提升传输协议的带宽利用率、降低网络时延以及提升服务任务响应速率成为时下的研究热点。本文围绕面向网络服务的传输协议设计及任务调度优化策略展开研究,主要的研究内容和贡献如下:1)针对高速长距离网络中标准TCP传输效率低下的问题,本文以UDP为基础,结合确定性丢包模型,设计了一种高速可扩展的应用层传输协议DCUDP。在数据传输方面,提出了一种Double Cubic速率控制算法,使用三次方程控制速率增长以维持协议在不同容量网络链路中的可扩展性:在丢包控制方面,引入了一种Random Loss Decrease丢包处理算法,通过随机变化减速幅度和减速次数缓解了全局同步现象和连续丢包问题;最后,根据确定性丢包模型调整算法核心参数,保证了协议对实际网络环境的适应性。2)针对标准TCP使用丢包作为拥塞信号难以准确度量链路实际拥塞状况的问题,本文设计了一种基于时延的高速拥塞控制算法DFTCP,该算法使用排队时延结合丢包作为拥塞控制信号,通过测量排队时延和传输速率的变化,动态估算传输路径上可用缓存的使用情况,并据此为数据流寻找合理的传输状态稳定点,使得数据流能够在充分利用链路带宽的同时减少不必要的丢包。3)针对互联网应用中广泛出现的TCP尾部丢包现象,本文提出了一种DTLP尾部丢包恢复算法,该算法对尾部丢包模式进行细化,针对不同的模式发送不同个数和类型的探针包以触发不同的TCP加速机制,实现对尾部丢包的加速恢复,有效减少了尾部丢包现象带来的响应时延。4)针对多核Linux网络服务系统中自旋锁冲突给任务响应速率带来的影响,本文对Linux调度器的负载均衡模块提出了三个层次的免锁优化方案:第一,基础优化,从代码层面直观地缩小程序的锁冲突域;第二,调度行为优化,将进程创建过程中因没有获得自旋锁而不能被立即唤醒的新进程放入一个免锁队列中延迟唤醒以避免锁冲突;第三,基于上层应用特征的参数调优,以HTTP服务器为例,根据其服务进程的生命特征调整调度器的核心参数。5)针对多核Linux网络服务系统中内核态进程调度实时性难以保证的问题,本文设计和实现了一种基于多核Linux的轻量级用户态实时多任务调度框架ULight。该调度框架支持基于优先级可抢占的轻量级任务调度、高精度的用户态定时服务以及高性能的用户态中断处理,为实时系统和网络服务系统的设计提供了新思路。