芯准TTE采用的“宏时隙”机制的优点是基于类似“网络切片“思想,将TTE交换机输出接口TT帧调度与RC帧调度解耦,使得TT帧时隙的规划与RC帧的延时评估彻底无关,极大地降低了TTE混合流规划的复杂性。

1 TTE网络的TT流规划

TTE规范AS6802定义了时间触发帧(TT帧)的交换方式,即在一个全局调度周期T中,对于任意一个端系统发出的TT帧p,需要通过离线规划确定在p帧的端到端交换路径上,每跳交换机将该帧调度发送到输出链路上的时刻。

为了简化离线规划的复杂性,通常在TT离线规划时,将TTE交换机的输出链路划分为长度固定的时间区间,称为时隙。每个时隙长度可以传输一个完整的TT帧,每个全局调度周期T由n个时隙组成。因此TT的离线规划调度就是将一个TT帧映射到端到端交换链路上的每个时隙的过程。TTE交换机在输出接口也按照时隙的粒度调度TT帧,因此不论是离线规划还是交换机实现都得到了简化。

图1是一个包含4个端系统(ES)和2个TTE交换机(SW)的哑铃型网络拓扑,其中包含10条可调度的链路(L0-L9)。假设网络中有3条TT流(f1,f2,f3)和一条RC流(f4),每条流的流向如图中虚线所示。其中每条流的分组都会经过L4链路,因此交换机SW1对L4链路的调度十分关键。

图1 典型的TTE拓扑和流量图

为简化分析,做以下假设。

(1)所有帧大小都等于链路MTU;

(2)流f1、f2和f3的调度周期都是10个时隙;

(3)流f1、f2和f3在一个周期内每条流发送一个分组;

(4)每个时隙大小设为传输一个MTU的时间;

(5)RC流f4的BAG等于10个时隙大小。

图2是一个包含完整TT调度的甘特图。其中横坐标标识10个时隙,纵坐标标识10条链路。TTE规划工具需要离线计算每条流在每个时隙所处的链路位置。

图2  TTE网络的离线规划示意图

例如坐标(S2,L0)内容为f1,表示在时隙S2时,端系统ES0将流f1的帧(以下简称f1)发送到链路L0;同样,f1帧在SW1中缓存后,将在时隙S5发送到链路L4,交换机SW2接收并缓存f1后,在时隙S8将其发送到链路L6,然后ES2在时隙S8结束前收到f1。因此可计算f1的端到端延时为7个时隙。

由图2可知,TTE网络的离线规划就是把调度周期内的每个TT帧映射到甘特图中的每个格子中,约束条件主要如表1所示:

表 1主要约束条件

序号

约束名称

描述

特点

举例

1

输出链路约束

即一条链路不能同时输出两个帧

基本要求

每个格子(如(S4,L4))中不能同时放两个帧

2

交换顺序约束

每个帧经过链路的先后顺序不能颠倒

拓扑相关

f1对应的顺序是L0,L4,L6

3

单跳延时约束

每个帧在交换机上的缓存时间低于固定值

硬件实现相关

f1,f2和f3在交换机发送和接收之间,至少缓存1个时隙。

4

设备缓存约束

每个时隙内,交换机缓存数目不超过上限

硬件实现相关

时隙S3时,f1和f2都在交换机SW1中缓存,需要交换机至少提供两个帧的缓存空间,不能超过交换机硬件实现的缓存上限。

5

端到端延时约束

每个帧的端到端延时满足要求

应用需求相关

f1,f2和f3的延时分别为7,6,5个时隙,应满足应用对延时的需求。

随着链路带宽的不断提高,映射可行解的空间越来越大,使用SMT求解器可较为方便地完成上述映射工作。

2 TTE网络混合流调度的挑战

由于TTE网络除了TT帧之外,还有RC帧和BE帧。显然,在图2中没有分配TT帧的格子可以传输RC帧或BE帧。其中RC帧的调度优先级高于BE帧。

与TT帧不同,TTE网络无法离线规划端系统产生和发送RC帧的时间,只能定义一个RC流中连续两个RC帧的最小间隔(BAG)。例如图1中f4流为BAG=10个时隙的RC流,即在每个TT调度周期,ES1都会产生一个RC帧发送。对于TTE网络来说,只要RC帧发出遵守BAG限制,就必须为其提供可评估和可证明的端到端延时上限。

TT规划结果给RC延时上限控制带来新的问题。就是背靠背调度的TT帧会增加RC的延时。以图2的L4链路为例,如果f4在S0或S1时隙到达SW1,最快等待一个时隙就能从L4链路上输出,但如果在S3时隙到达SW1,由于S4、S5和S6这3个连续的时隙都被分配给TT帧,则至少需要等到S7才能从L4发出,此时f4在SW1上的延时为4个时隙。

为解决上述问题,目前的研究提出了带孔隙约束的TT规划调度方法,即对TT的规划提出新的约束条件,限制背靠背连续发送TT帧的数量。例如图3是带孔隙约束的TT规划结果,约束条件是链路上两个TT帧之间至少间隔一个时隙。在此情况下,f4帧在L4链路上的延时最大可控制在2个时隙。

图3  带孔隙约束的TT流规划

直观看来,虽然增加孔隙约束条件可以降低RC帧的最大延时,但在理论上对RC帧延时上限的评估仍然十分困难。通常RC的延时评估采用网络演算的方式进行,输出链路带宽为常数C。但TT规划后,RC帧调度只能利用TT调度剩余的带宽。由于SMT规划的TT调度时隙是离散的、无规律的,因此难以对RC延时上限进行评估。

3 宏时隙的基本概念

在现有基于时隙的链路时隙分配机制中,链路上的每个时隙既可以分配给TT帧,也可以分配给RC帧,这不但增加了混合流量调度的复杂性,而且导致RC帧延时上限无法评估。宏时隙(Huge Slot)的基本思想是对链路的时隙进行“切片”,每个宏时隙由一定长度的TT时隙和一定长度的RC时隙组成。离线规划时,只将TT帧映射到宏时隙的TT时隙中,而RC帧只在宏时隙的RC时隙进行传输。

图4 基于宏时隙的TT和RC帧调度

图4是针对图1场景的宏时隙调度示意图。每个宏时隙包含2个时隙,第一个时隙为TT时隙,第二个为RC时隙。因此在调度周期长度不变的情况下,图2的10个时隙变成图4的5个宏时隙。其中TT帧f1、f2和f3只能映射到宏时隙的第一个时隙,而RC帧f4在宏时隙的第二个时隙传输。

显然,宏时隙机制有两个优点:

(1)将TTE交换机输出接口TT帧调度与RC帧调度解耦,使得TT帧规划结果不对RC帧的传输造成影响;

(2)RC帧获得的输出调度带宽仍然是固定的,因此理论上RC帧的延时评估具有一个确定性的结果。

当然,宏时隙运用也可能存在一些缺点,如减小TT规划的解空间,增加TT和RC帧的单跳延时等。

宏时隙的应用还需考虑核心参数定义、保护带设置、输出接口状态机设计等因素,我们将在下一篇文章进行介绍。

芯准TTE“宏时隙“调度机制 ——基本原理相关推荐

  1. 芯准TTE宏时隙调度机制 —— 宏时隙的硬件实现

    宏时隙调度机制可以简化TT帧的离线规划以及RC帧延时上限的评估.本文首先简要介绍芯准TTE交换机的多平面交换模型,然后结合宏时隙参数,分析考虑支持AS6802时间同步帧(PCF帧)和增强网络管理帧(E ...

  2. 芯准TTE“宏时隙”调度机制 ——策略与参数

    芯准TTE的宏时隙设计和内部划分比较直观,但在基于宏时隙的输出调度实现时,需要考虑针对不同类型的帧实施不同的调度策略.本文分析了TT帧调度策略.RC帧调度策略,以及在保护带内BE帧的调度策略,同时对宏 ...

  3. 芯准TTE系统测试与验证(1)—— 测试环境与案例说明

    芯准TTE是湖南华芯通网络科技有限公司设计研发的时间触发以太网的解决方案.在标准IEEE 802.3以太网基础上,芯准TTE增加了对时间确定性传输的支持,能够同时传输时间触发流量(TT流).速率受限流 ...

  4. 芯准TTE系统测试与验证(6)—— TT+BE+RC流混合传输

    本文介绍湖南华芯通的芯准TTE系统的最后一个案例:TT+BE+RC流混合传输测试案例,测试芯准TTE系统在同时传输TT/BE/RC流时,各类型流量的调度传输情况,并监控各节点TT流的实际传输情况过程, ...

  5. 芯准TSN系统的测试与验证(1)——测试环境配置

    芯准TSN是湖南华芯通网络科技有限公司设计研发的时间敏感以太网的解决方案.在标准以太网基础上,芯准TSN增加了对时间确定性传输的支持,能允许周期性与非周期性数据在同一网络中传输.下面,我们将介绍对TS ...

  6. java基础巩固-宇宙第一AiYWM:为了维持生计,四大基础之OS_Part_1整起(进程线程协程并发并行、进程线程切换进程间通信、死锁\进程调度策略、分段分页、交换空间、OS三大调度机制)

    PART0:OS,这货到底是个啥? OS,是个啥? OS的结构们: 存储器: 存储器的层次结构: 内存:我们的程序和数据都是存储在内存,我们的程序和数据都是存储在内存,每一个字节都对应一个内存地址.内 ...

  7. cesium 渲染解析(Scene的调度机制)

    在上一篇博文中,我们模拟了绘制太阳的方法,为地球添加了赤道平面, 美中不足的是,轨道平面常会被地球给挡住.下面我们详细分析scene的调度机制. 先看一下这个结构,Cesium把绘制命令(DrawCo ...

  8. Linux内核学习笔记十一——I/O层和I/O调度机制

    一 块I/O基本概念 字符设备:按照字符流的方式被有序访问的设备.如串口.键盘等. 块设备:系统中不能随机(不需要按顺序)访问固定大小的数据片(chunk 块)的设备. 如:硬盘.软盘.CD-ROM驱 ...

  9. 定时任务重启后执行策略_quartz定时任务框架调度机制解析

    quartz2.2.1集群调度机制调研及源码分析 引言 quartz集群架构 调度器实例化 调度过程 触发器的获取 触发trigger: Job执行过程: 总结: 附: 引言 quratz是目前最为成 ...

最新文章

  1. Android stadio 自定义debug release keystore
  2. wap问答系统工作总结
  3. HDOJ 2037:今年暑假不AC_大二写
  4. python写字板_pywinauto简单操作写字板的例子
  5. STM32 - CubeMX 的使用实例详细(01.1)- ST-LINK V2 的配置
  6. java雪崩_【并发编程】java 如何解决redis缓存穿透、缓存雪崩(高性能示例代码)...
  7. Spring Boot实战笔记(一)-- Spring简介
  8. 使用缓冲字符流BufferedReader和文件字符流FileReader读取文本文件
  9. 计算机控制实验比例环节,自动控制原理实验一典型环节的电路模拟与软件仿真...
  10. Java 验证码识别(1)使用 Tess4J 进行 OCR 识别
  11. 逆向笔记2--常用的调试软件及插件
  12. 视频结构化——原子能力解析
  13. 北斗微信与服务器怎么联接,北斗卫星的导航服务全球性升级,手机怎样“连接”使用北斗导航?...
  14. 2021年焊工(初级)考试题及焊工(初级)考试报名
  15. 如何将一个vector内容赋值给另一个vector C/C++
  16. 禁止浏览器对页面进行缩放
  17. 洛谷 P2440 木材加工(二分,含边界处理的笔记)
  18. Vue3配置postcss-pxtorem报错[plugin:vite:css] Failed to load PostCss config
  19. ios状态栏的颜色修改
  20. UGUI优化(三)Hierarchy层级关系导致DrawCall升高

热门文章

  1. Kubernetes(k8s)快速入门和环境部署
  2. 2019年最佳WordPress社交媒体插件
  3. 基于润和3516 dv300开发板,运行鸿蒙3.1 ArkUI helloworld
  4. 类似京东淘宝寄售转拍系统源码-拍卖系统源码-竞拍系统网站源码
  5. 使用ConnectBot开源项目在android设备上管理你的linux系统
  6. 软件测试周刊(第36期):为什么你要当程序员?
  7. U-boot中怎么添加配置菜单选项
  8. nginx中配置location的root(alias)访问同一个地址文件
  9. DW1000开发笔记(一)DW1000芯片概览
  10. 基于STM32采集CO2(MH-Z19C)传感器数据