宏时隙调度机制可以简化TT帧的离线规划以及RC帧延时上限的评估。本文首先简要介绍芯准TTE交换机的多平面交换模型,然后结合宏时隙参数,分析考虑支持AS6802时间同步帧(PCF帧)和增强网络管理帧(EMP)的输出模块队列类型、长度和优先级设置,最后给出转发模块与输出模块协同的TT帧输出调度流程。输出模块中的队列类型、长度和优先级设置是芯准TTE转发平面抽象的重要组成,是芯准TTE流量规划框架TPF(Traffic Planning Framework)的基础。

1. 芯准TTE多平面交换模型

芯准TTE采用多平面交换模型,如图1所示。每个输入接口对到达的帧进行处理和分类后,将交换的TT帧、RC帧、BE帧,以及需要本地处理的AS6802时间同步帧(PCF帧)和管理帧(EMP帧)分别送到5个不同的交换平面处理。

每个交换平面确定发送数据帧的输出接口,并根据帧的输出接口将其发送到不同的输出模块。每个输出模块设置5个队列分别保存从各交换平面到达的数据帧,然后根据宏时隙机制,调度不同队列中的数据帧从输出链路发送。

图1 芯准TTE的多平面交换模型

芯准TTE的多平面交换有以下特点:

(1)各实现模块(输入模块、各种交换模块以及输出模块)之间采用松耦合模式,便于交换功能的裁剪和交换机端口数的修改;例如在不需要RC流量的场合,可以将RC交换平面删除,而不会影响其他模块的设计;在交换机端口数目变化时,仅需要改变交换平面输入队列的数目,而不需要改变具体的交换逻辑(如TT转发逻辑),输入和输出模块的逻辑也不需要修改;

(2)采用存储转发模式隔离各模块之间的数据流。例如,每个输入接口内部使用存储转发队列,帧只有在全部接收完成后,才被发送到交换平面。这种方法有两个优点:一是错误隔离,接收模块可以避免接收的错误帧(值域错误或时域错误)进入交换模块;二是在硬件实现上,接收的FIFO队列实现了输入接口频率(如125MHz)与转发平面频率(如200MHz)时间的转换。

2. 输出队列设置

芯准TTE交换机每个输出接口设置5个独立的队列,分别接收来自TT、RC、BE、同步和管理模块输出的帧。宏时隙调度模块根据当前时隙和时隙内的偏移信息,按照宏时隙定义的顺序,依次对各队列中的数据帧进行调度。

每个队列的设置如表1所示。其中PCF队列被映射成高优先级的RC队列。在RC时隙中,只要PCF队列中有数据,优先调度PCF队列中的帧,只有PCF队列为空时,才调度RC队列中的帧。

由于AS6802时钟同步是每个集成周期进行一次,每次同步过程中,每个SM发出一个PCF帧,每个CM发送1个压缩PCF帧(有结团时会发送多个,但这种情况应该被避免),因此可将集成周期长度(如1ms)设置为PCF帧的BAG。

表1 输出队列的特征

队列名称

优先级

大小

说明

TT

4(最高)

4KB

4KB/1Gbps=32μs,由于每个宏时隙开始后,需要清空TT队列中的TT帧,因此每个宏时隙中TT时隙最大为32μs。

进一步分析见本文第三部分。

PCF

3

8KB

高优先级RC帧,在RC时隙中输出;支持最大PCF缓存延时为64μs,大于TT时隙(32μs)加上2倍保护带长度(约25μs),因此确保PCF帧不会丢弃。

RC

2

64KB

每个宏时隙中RC时隙结束时,不必清空RC队列中的数据。

EMP

1

4KB

高优先级BE帧,不确保0丢失。

BE

0(最低)

16KB

低优先级帧

由于宏时隙RC帧延时评估得到的最长队列长度MAX_RC_QLEN满足:

因此当输出接口队列长度确定后,可以反推得到离线规划时RC流的允许控制条件。例如,当RC队列长度为64KB,宏时隙长度为200μs,RC时隙长度为150μs时,可以得到:

即所有RC流的最大帧长度之和不能大于59.3KB。

3. TT帧调度流程

在芯准TTE交换机的TT交换平面中包含一个双端口的RAM,用于保存交换的TT帧。每个输入接口到达的TT帧根据离线规划结果被写入RAM中指定的位置。在特定的时隙,TT交换平面的发送控制逻辑将离线规划指定的TT帧读出后发送到特定输出模块的TT队列中。

TT交换模块与输出模块协同调度的原理如图2所示。在第i-1个宏时隙结束前,TT交换模块的发送控制逻辑需要将各端口在第i个宏时隙要发送的TT帧从TT缓冲RAM中读出,并写入相应输出接口的TT队列中,确保在第i个宏时隙开始时,每个接口的宏时隙调度逻辑可以从TT队列中读出TT帧发送。

图2  TT交换模块与输出模块协同的TT帧调度

因此,在TT交换逻辑中需要包含一个TT发送调度表,记录TT调度周期中的宏时隙i中( ......是TT调度周期中包含的宏时隙个数),每个输出接口待发送TT帧(如果有)在TT RAM缓冲区中的地址。例如,图2所示在第i个宏时隙,输出接口0待发送的TT帧F1保存在BUFx中,而输出接口n-1待发送的帧F2保存在BUFy中,由于输出接口1没有TT帧需要发送,发送调度表中该接口表项值为null。

假设芯准TTE交换机支持背靠背的TT帧交换传输,即第i-1个时隙接收的TT帧能在第i个时隙发出,那么硬件需要保证在宏时隙i-1开始后x秒内(x<S,其中S是宏时隙长度),所有在i-1时隙接收到的TT帧都能写入TT缓冲RAM。而且x要足够小,从而S-x足够大,使得在i时隙开始前,所有输出接口应在时隙i发出的TT帧都能够被读出并写入相应的TT队列中。

从TT流量的SMT规划角度看,需要考虑单跳延时(hopdelay)和TT帧缓冲区数量(membound)这两个参数。在后续文章中,我们将对芯准TTE交换机宏时隙实现中的hopdelay和membound参数进行更加深入的分析。

芯准TTE宏时隙调度机制 —— 宏时隙的硬件实现相关推荐

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

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

  2. 芯准TTE“宏时隙“调度机制 ——基本原理

    芯准TTE采用的"宏时隙"机制的优点是基于类似"网络切片"思想,将TTE交换机输出接口TT帧调度与RC帧调度解耦,使得TT帧时隙的规划与RC帧的延时评估彻底无关 ...

  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. 【C语言】----宏定义,预处理宏

    什么是宏? 宏是学习任何语言所不可缺少的,优秀的宏定义可以使得代码变得很简洁且高效,有效地提高编程效率. 宏是一种预处理指令,它提供了一种机制,可以用来替换源代码中的字符串,解释器或编译器在遇到宏时会 ...

  8. 空宏-标C中空宏的妙用

    空宏的作用: 1)编译指示: 2)方便阅读: 定义宏,并在预处理过程中将其替换为空字符串(即删除) 偶然的机会,看到了下面的C代码: ISC_PLATFORM_NORETURN_PRE static ...

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

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

最新文章

  1. java设计模式之为别人做嫁衣----代理模式
  2. Kubernetes 1.6新特性
  3. vue 判断页面加载完成_在Vue+webpack中详细讲解基础配置
  4. python指定位置写入文件_Python从文件中读取指定的行以及在文件指定位置写入
  5. python弹出窗口 闪烁_Python。得到闪烁/闪烁的窗口
  6. 【第二届】Erlang Fans交流会(补充事宜)
  7. mysql动静分离_haproxy的web服务负载均衡、动静分离、 MySQL服务负载均衡、状态监控...
  8. 211高校博士生入住隔离宿舍,疫情防控下科研进度不能停!
  9. 写个自己:学C++有感
  10. LVS-DR模型实现调度
  11. 关于FileAttributes
  12. left join on 左边为主
  13. c4d导出html,C4D动力学如何导出fbx或者其他格式?
  14. 王爽《汇编语言》笔记(详细)
  15. 怎么完全卸载赛门铁克_如何干净彻底卸载有密码的诺顿symantec杀毒软件
  16. win7系统修复工具_Windows Repair Pro v4.4.60 系统修复工具
  17. node视频转码框架
  18. 计算机科学丛书20周年——20本跨世经典 夯筑科技基石
  19. Altium Designer基础知识
  20. STM32 RTC应用 内部唤醒中断 (Internal Wakeup)

热门文章

  1. Android 杀后台太狠,谷歌:看不下去了,势必要揪出“凶手”!
  2. Python——习题2
  3. DA 蜻蜓优化算法 - 逐句拆解 - 含代码
  4. 读《厚黑学》By 李宗吾
  5. 贴片共模滤波电感-适用在什么场合[华锐达电感]
  6. Dedecms移动站静态化实操分享 - 堪称完美(附文件)
  7. 利用GUI制作中学初等函数图像绘制器
  8. 安装优傲机器人最新ros2驱动
  9. MySQL中的大小写问题
  10. ppt文件太大怎么变小瘦身?