12

一文读懂时延敏感网络的调度整形机制

 4 years ago
source link: https://www.sdnlab.com/23891.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者简介:黄玉栋,北京邮电大学网络与交换国家重点实验室研一在读,研究方向为未来网络体系架构,确定性网络,邮箱地址: [email protected].

一.什么是时延敏感网络

时延敏感网络(TSN, Time Sensitive Network)是指能保证时延敏感流的服务质量,实现低时延、低抖动和零丢包率的网络。

时延敏感流可分为周期时延敏感流(PTS, Periodic Time Sensitive),比如工厂里的循环控制指令、同步信息,和非周期/零星时延敏感流(STS,Sporadic Time Sensitive),比如事件告警信息。

对于周期时延敏感流,一般采用同步的调度整形机制,即要求全网设备进行精准的纳秒级时钟同步,其最早的思想来自时间触发以太网(TTE, Time-Triggered Ethernet),当前研究的机制包括时间感知整形(TAS)、循环排队转发(CQF)、基于信用整形(CBS)。

对于零星时延敏感流,一般采用异步的调度整形机制,即不需要全网时钟同步,当前的研究机制包括基于紧急度的调度(Urgency-Based Scheduler,UBS)、帕特诺斯特机制(Paternoster)和帧抢占(Frame Preemption)。

101.png

看到这么多机制和新名词,它们各自有什么作用,又有什么关联和区别,大脑已经反应不过来了对不对?没关系,忘掉以上名词,接下来小编将带领大家化繁为简、抽丝剥茧、拨云见日,直击时延敏感网络调度整形机制的本质。

二.什么是调度整形机制

调度整形机制是交换机中的两种服务质量保障机制,调度是指队列调度,一般实现在交换机的出端口,包含进入队列、根据调度算法选择发送队列、出队传输三个部分;整形是指流量整形,通过限制端口的转发速率从而防止交换机内部或下一跳出现拥塞。

102.png

由于异步调度整形机制无法保证包的最坏时延满足一定阈值,只能保证包的平均时延和同步方法相当,且时延抖动比较大,在网络拥塞的情况下时延敏感流很容易产生丢包,当前的异步机制并不成熟,为更好的阐明时延敏感网络的本质,后文主要先讨论使用同步机制传输周期时延敏感流(PTS)的场景。

三.如何实现低时延、低抖动和零丢包率

那么时延敏感网络如何才能实现低时延呢?首先,网络的每跳时延可分为链路传播时延、交换机处理时延、出端口排队时延三部分,而端到端时延为逐跳时延求和。链路时延和处理时延基本为固定值,所以减少时延必须要减少排队时延,即时延敏感网络的本质就是不排队:先通过优先级队列将时延敏感流和尽力而为流隔开,再从时间上(划分时隙)或空间上(规划路由)将同样的时延敏感流隔开。

103.png

实现低时延后,包在交换机里的停留时间很短,包的累积不会超过队列缓冲区大小,从而实现零丢包率;同时,抖动是指时延的变化差值,低时延降低了最坏时延,让时延上界靠近时延下界,减小了时延的变化区间,从而也实现了低抖动。

四. PTS的头号问题:配置时隙

传统的以太网采用“尽力而为”的转发,无法保证包的端到端最坏时延,时延敏感网络采用类似时分复用的方式,为每一个包配置时隙,保证其有足够的时间进行转发。以下总结三种基于时间的调度整形机制和一个时隙配置模型。

  • 时间触发以太网(TTE):把时间戳打在包上,通过时间表控制包的发送,让每个包自己知道自己的发送时间,在发包侧就将各个包的发送时间隔开,严格保证时延抖动满足要求。
  • 时间感知整形(TAS):利用优先级门控队列,即在优先级队列后加上门控开关,通过门控时间表控制门控开关的打开闭合来保证时延抖动要求。其可以阻断尽力而为流的持续转发,让高优先级的包得到稳定的间隔转发时间,同时PTS流之间依然要将发包时间隔开,时延抖动保证效果才最好。比如每跳时延为T,共有n跳,则可保证端到端时延最大为nT。和TTE相比,让优先级队列决定包何时被转发,降低了对发端的要求,同时时延抖动保证粒度也会弱一些。
  • 循环排队转发(CQF):把TAS里只用一个最高优先级队列来接收时延敏感流,变为用奇偶两个队列循环接收,即所谓的乒乓队列。其可以用于解决流聚合问题,如果两个PTS流同时到达了,必有一个PTS要等待转发,循环排队转发可以保证等待的流只等待前一个PTS流转发,即一个周期T,自己再转发一个周期T,假设共有n跳,则端到端时延可保证最大为2nT。

104.png

时隙配置模型:时隙的配置问题等同于二进制背包问题,是一个NP-hard问题,时延敏感网络的流量调度和时隙配置架构流程如下图所示,首先需要确定合适的转发平面调度整形机制,然后中心化用户配置(CUC)采集各个发端的发包周期、包大小、流大小、对时延抖动的要求等信息,以及网络的拓扑信息,并将这些信息作为输入,放入时隙配置模型中;模型包含一系列的多项式约束条件,可采用整数线性规划(ILP)或可满足性模理论(SMT)等方式进行建模,然后用解析器工具或者蚁群算法、模拟退火算法、遗传算法、禁忌搜索算法等启发式算法进行求解,最后输出为满足这些约束条件的一个时隙配置方案,并可采用离线静态或者在线增量式的方法进行配置下发。

105.png

五.PTS的衍生问题:流聚合、流增量、流突发

流聚合:当拓扑复杂、拓扑不对称、存在多个分支节点时,得到毫无排队的时隙配置会非常困难,下游聚合节点会产生流聚合现象,导致PTS流排队。CQF是一种解决流聚合的机制。

流增量:一般的配置方案是离线的静态配置方案,每次计算出方案可能需要花费数个小时,然后进行部署,当有新的设备加入网络时,需要考虑逐个的规划时延敏感流的时隙配置,同时保证已下发的配置不受影响。目前结合SDN进行时延敏感网络增量调度是一个比较火的方向,叫TSSDN(Time-sensitive Software-defined Network )。

流突发:当网络中有零星时延敏感流时,很有可能与周期时延敏感流的转发产生冲突,扰乱已有的时隙配置。混合时延敏感流调度是当前还没有解决的一个问题。

六.PTS的共流问题:考虑混合流的QoS和网络利用率

共流问题也叫做混合流问题,时延敏感网络的流量可以分为三类:时延敏感流(TS),速率限制流(RT)和尽力而为流(BE)。其中时延敏感流已在第一节介绍;速率限制流是指专业音视频等有一定时延抖动要求,同时占用带宽大,需要进行速率限制的流量;尽力而为流是普通的可以随意转发的以太网流量。

优先级等级上,TS > RT > BE,一般是转发完TS流后,剩余的时隙用来转发RT和BE流,并设立保护带宽隔离三种流量。保证了PTS流的服务质量后,从网络整体性能出发,还需要考虑保证RT和BE流的服务质量,降低其丢包率,并尽量提高整个网络的带宽资源利用率。

七.PTS的隐藏问题:时钟漂移、广域时钟同步、复杂度和扩展性

PTS调度整形机制的实现都有一个大前提,那就是严格的全网时钟同步,但由于温度等原因,时钟会产生漂移,一次时隙没有对齐,就会导致包无法在预计的时刻被发送完,导致整个调度出现严重问题,只能重启设备。

同时,当前的时钟同步机制只能保证7跳以内大小的局域网内的时钟同步,如何实现广域的时钟同步,在更大的范围内实现时延抖动的保障,同时还要考虑实现的复杂度和实现成本,这些问题都有待讨论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK