高旭超,李海华
(上海交通大学 电子信息与电气工程学院,上海 200240)
以太网通信因为具有带宽高、成本低、安全可靠等优点,近些年来被广泛的应用在汽车、工业控制等领域[1,2]。与传统的以太网应用不同,这些应用场景对以太网数据传输性能提出了新的要求[3]。例如,车载自动驾驶系对数据的实时性要求非常高[4],系统中关键控制数据的丢失和延迟会造成潜在的安全隐患。区分服务(DiffServ)模型针对实时业务定义了加速转发的逐跳行为,为时延敏感的实时业务供低时延、低时延抖动、低丢包率、保证带宽的“三低一保证”服务质量[5]。为了在以太网通信中实现区分服务模型对实时业务的支持,队列调度是其中的关键[6]。
在目前常用的调度策略中,DRR(deficit round robin)调度器因为其良好的公平性和可扩展性,被广泛地应用在网络的核心交换节点上[7]。但是与此同时,DRR调度无法保证队列中分组的时延性能[8],所以无法满足实时业务对服务质量的要求。
针对上述问题,本文对DRR调度器进行了改进,设计了IDRR(insertable DRR)调度器。IDRR对链路中的实时业务和非实时业务采取不同的调度策略。调度非实时业务时,调度器采用DRR调度进行出队调度;对于实时业务,以实时业务的排队时间为参考标准,当队列中分组的排队时间超过一定值时,实时业务可以进行插队并提前得到服务。实时业务和非实时业务同时请求调度时,插队调度和DRR调度交替进行。
目前有许多针对DRR调度器的研究和改进,大部分都是通过网络仿真器来研究其性能[7,9,10]。……