使用P4的快速网络拥塞监测和避免-论文阅读笔记

NEAT·18-sigcomm workshop


摘要:

背景和优化目标:降低时延

贡献:1)跟踪延迟敏感流的处理时延和排队时延,2)发生拥塞时,数据平面直接作出路由策略调整,对受到影响的流重路由。

实验:1)软件仿真,2)硬件交换机实验

结果:相比于不可编程的方法,本方案降低了平均时延和最大时延,抖动。

简介:

背景需求:触觉互联网(时延=1ms),低抖动,高带宽(Gbps数量级),高可靠性。触觉系统需要一个稳定的相应时间和最大时延边界,才能保证系统的稳定。为了最小化端到端时延,触觉互联网的流量的数据包在网络中的任一节点中均不能存在时延和丢包现象。这就需要网络节点能够对网络状态变化快速做出反应(例如缓存溢出)。

时延分类:传播时延,发送时延,处理时延,排队时延。

文章主题就是如何控制和限制处理时延和排队时延,从而控制网络整体时延。

问题定义:影响排队时延的因素是拥塞,产生原因是发送速率大于传输速率。1)在源端修改。传统TCP控制拥塞的机制为监测发送节点速率,调整接收节点发送速率,但在触觉物联网中,由于发送速率过高,采用缓存或是调整源端发送速率的方式不可行。并且,很多拥塞控制算法都是在拥塞发生后才起作用的。2)通过集中式控制器修改。SDN集中式的控制方式拥有全局网络视角,可以对网络状态变化更加快速的作出反应,采用优先级队列。但所需保留的带宽过高,不可用。还有通过发送探针的方式监测拥塞,但合理的监测周期和探针数量也是不可控的。并且,拥塞探知后还需要发送给控制器作出判决,时延也不小。

因此,需要在转发节点进行拥塞控制和避免,而不是在源端或集中式控制器端。

数据平面拥塞监测和避免模型:

核心思想:控制器分层结构,在P4交换机上运行一个本地控制器,用于监测数据平面状态(处理时延和排队时延),中央控制器用于配置本地控制器中的时延界限值。

使用P4的快速网络拥塞监测和避免-论文阅读笔记_第1张图片
控制器的分层架构

拥塞避免思想:如果本地控制器发现本交换机上收集的时延数据有一个超出限定值,若有备选路径,则直接将转发端口设置为备选路径;若没有备选路径,则向前一跳发出路径拥塞的信号,由前一跳选择备选路径。本交换机不再转发这条数据流的任何数据包。

实现方案:1)控制平面直接下发两条路径,一条为备选,具体走哪条由数据平面寄存器中存储的元数据决定。这种方法可直接迁移到硬件交换机上,所有操作都由数据平面完成,缺点是每个包的处理时延会增加(流增多,表项增多,寄存器数量增加,查表速度减慢)。2)当收集到的时延信息超出限定值时,将数据包的摘要(digest)发送给本地监听器,进行流跟踪。这种方法缺点为增加了监测处理时延(本地控制器需要拆包处理)。

时延限定值设置:根据硬件类型和所需的服务类型确定。

中央控制器获知全网状态,周期性采样链路利用率和各节点时延信息,周期性更新所有路径。当某条流走备用路径时,该路径就成为了主路径,中央控制器会重新计算一条备用路径下发给相应的交换机。

实验验证:软件仿真和硬件实现

测量数据类型:RTT,最大RTT,丢包率,ingress处理时延,排队时延,抖动时延,监测和响应时延。

每条流的持续时间为15秒,主路径上设置了一些附加流用于产生拥塞。BMV2中egress处理速率大于ingress处理速率。交换机输出队列限速为200Mbps,为了产生排队。发送数据包速率为4Mbps。

DataplaneX_m:X表示限定值为正常时延的X倍,m表示连续m个数据包超出限定值即为拥塞。

对比方案:1)No CC:不使用拥塞控制,也不重路由,即不采取任何拥塞避免措施。模拟OSPF。2)ProbingXsec:模拟SDN方案,集中式控制器周期性发送探针收集网络拥塞状态,X表示周期。

你可能感兴趣的:(使用P4的快速网络拥塞监测和避免-论文阅读笔记)