整个新置顶
这里luff→非常喜欢luffy 也好喜欢luff逆风航行这个意思
微博用来发癫+磕cp
喜欢发一些三次相关经常有一些非常负面的情绪
互联网十年铁血受抚慰 磕的cp和美帝一般没有什么猿粪jump男主公
二次元主要混迹aot/jojo/猎人//孩子王/灵能/电苣人/小排球(民工漫现充番基本多少都看一点)
喜欢逛厕 目前高浓度壮汉嬷
没有什么特别雷的西皮 因为整个世界在我眼里都是大/几/院
喜欢画画(画的很烂就是了) 也喜欢剪一些没头没脑的视频很久前还玩cosplay 时代の眼泪n年以前也写过文。。。。。
美剧在追怪奇物语/got/龙房子正在看
欧美圈前坑hp/marvel/dc/tsn/指环王/舅男
游戏玩的不多 塞尔达/只狼/底特律/巫师三/真三
联机的话欢迎找我玩胡闹厨房/你画我猜[舔屏] 手游农药吃鸡啥的a了很久很久放假的时候会下回来玩
这里luff→非常喜欢luffy 也好喜欢luff逆风航行这个意思
微博用来发癫+磕cp
喜欢发一些三次相关经常有一些非常负面的情绪
互联网十年铁血受抚慰 磕的cp和美帝一般没有什么猿粪jump男主公
二次元主要混迹aot/jojo/猎人//孩子王/灵能/电苣人/小排球(民工漫现充番基本多少都看一点)
喜欢逛厕 目前高浓度壮汉嬷
没有什么特别雷的西皮 因为整个世界在我眼里都是大/几/院
喜欢画画(画的很烂就是了) 也喜欢剪一些没头没脑的视频很久前还玩cosplay 时代の眼泪n年以前也写过文。。。。。
美剧在追怪奇物语/got/龙房子正在看
欧美圈前坑hp/marvel/dc/tsn/指环王/舅男
游戏玩的不多 塞尔达/只狼/底特律/巫师三/真三
联机的话欢迎找我玩胡闹厨房/你画我猜[舔屏] 手游农药吃鸡啥的a了很久很久放假的时候会下回来玩
“DDS自扫门前雪,哪管OS瓦上霜”,浅谈DDS-TSN标准的不足及解决思路
为推动DDS与TSN的融合,OMG组织2018年启动DDS-TSN标准的制定,目标是利用TSN为DDS实时数据分发提供更好的服务质量保证。本文首先指出,DDS-TSN标准只是解决DDS到TSN的适配问题,如不解决OS任务调度和网络I/O的不确定性难题,DDS over TSN的部署还存在很多困难。本文还介绍了我们提出的解决DDS应用适配中OS不确定性问题的“远程候车室”机制。#DDS##OS#
一、DDS“自扫门前雪“
2003 年对象管理组织(Object Management Group, OMG)发布了数据分发服务(Data Distribution Service,DDS)规范。DDS在为实时分布式应用提供了数据发布/订阅服务,支持多种语言编程的同时,向应用屏蔽了CPU和操作系统差异。因此可以很好的支持分布式应用在不同平台上移植的能力,因此在各类需要分布式实时处理的装备平台中得到广泛应用。#数据分发服务DDS#
图1 DDS(1)向应用提供Pubsub数据分发服务;(2)对应用屏蔽OS和CPU差别,提升应用跨平台移植能力
TSN在近年来得到飞速发展,是装备平台嵌入式交换系统的重要发展方向。为了推动DDS与TSN的融合,OMG组织2018年启动DDS-TSN标准的制定,目标是利用TSN为DDS实时数据分发提供更好的服务质量保证。#TSN#
虽然DDS-TSN标准尚未最终发布,但从相关技术资料看[1],DDS-TSN标准主要在三个方面对DDS进行扩充,如图2所示。
图2 DDS-TSN的主要原理
从图2可见,DDS-TSN标准从对应用流描述的要求,DDS与CUC通信接口,以及DDS流量到TSN网络的映射三方面为DDS over TSN做了充分准备。即“DDS扫了门前雪”。然而 “适配但不依赖任何操作系统”是DDS的重要设计原则,因此DDS-TSN标准是不会关注 “OS的瓦上霜”的,即如何实现时间触发任务调度以及确保网络I/O延时确定性并不是DDS-TSN标准所关注的,在TSN端系统要上运行DDS,还存在一块重要的拼图,即OS的支持。
二、我们的相关工作
我们在T3000 TSN/TTE测试仪研制中,采用“远程候车室(RWR:Romote Waiting Room)机制,在FT2000 CPU上屏蔽了麒麟OS任务调度和网络I/O延时的不确定性,在用户空间构造并发送了1000条周期性的ST流,实现了对TSN网络的测试。
图3 T3000基于RWR机制实现了1K条ST流的精准发送 (测试的详细视频见:
https://t.cn/A6onZbmF)
“远程候车室”机制的核心是在为实时应用提供一个通信库,接管应用基于socket发送的分组,该编程库收到应用发送的数据后并不立刻发送,而是等待TSN网卡通过分组发送的”时间通告“后,才向内核发送数据。
基于“远程候车室”机制的TSN端系统DDS适配架构如图4所示。网卡上的RWR控制逻辑根据CUC规划好的时间(TimeAwareOffset)向“远程候车室”发送读取帧的请求。读取到的ST帧进入网卡后,可以直接送注入控制缓冲区中排队。#网卡#
图4 基于“远程候车室”机制的TSN端系统DDS适配
由图4可知,DDS是当前使用的非支持DDS-TSN标准的中间件,其与CUC通信的功能卸载到TSN网卡上实现。
“远程候车室”机制实现的前提是应用看到的时间(APP CLK)要与TSN网卡上的TSN同步时间(Net clk)有一个粗同步(允许由ms级的误差)。与T3000测试仪的测试应用开发不同的是,DDS的应用开发可能是非协作的。即DDS应用中难以实现从TSN网卡获取网络同步时间(Net CLk)的操作。解决这一问题的基本思路是TASP[2],或由数据源实现与网络时间的同步。
图5 远程候车室机制的建模分析
我们对远程候车室机制进行了建模分析,证明了机制的可靠性。其中OS任务调度和网络I/O的不确定性由MaxGetBufDelay和MinGetBufDelay参数描述,APP CLK和Net CLK的粗同步误差由参数Δ描述。
理论分析表明,远程候车室机制可以避免由于OS不确定性给注入控制带来的两点冲突:
(1)流内冲突
存储在注入buf x的流K的第i个帧还没有到规划的发送时间,还没有被注入控制调度到Qbv队列时,流K的第i+1个帧已经到达网卡,可能会覆盖第i个帧;
(2)流间冲突
存储在注入buf X的流K的第i个帧还没有到规划的发送时间,还没有被注入控制调度到Qbv队列时,流L(L不等于K)的第j个帧已经到达网卡,且根据规划该帧保存在注入buf X,可能会覆盖流K的第i个帧;
三、结束语
在行为未知的OS上实现确定性通信延时保证是DDS到TSN端系统适配的重要环节。当然,DDS到TSN端系统适配中还存在其他难题,例如:
(1)DataWriter/DataReader到Talker/Listener的映射可能是动态的,与目前静态的TSN规划有冲突;
(2)DDS动态产生的控制帧到TSN流量的映射问题;
(3)DDS大块数据分发产生的大量分片帧对帧复制与消除逻辑复杂性的潜在威胁;
(4)DDS库自身处理延时对延时约束较为苛刻流(ms级延时)的可满足性的影响。
我们认为已经在T3000测试仪上验证的“远程候车室”机制是当前解决DDS到TSN端系统映射的有效手段。本文是“浅谈”,难免有不足和错误之处,希望得到领域内各类专家的批评指正。
参考文献:
[1] 技术白皮书:Using DDS to Unlock the Power of TSN ,https://t.cn/A6onZbms
[2] XuYan Jiang etc. TASP: Enabling Time-triggered Task Scheduling in TSN-based Mixed-criticality system. IWQos 2022
为推动DDS与TSN的融合,OMG组织2018年启动DDS-TSN标准的制定,目标是利用TSN为DDS实时数据分发提供更好的服务质量保证。本文首先指出,DDS-TSN标准只是解决DDS到TSN的适配问题,如不解决OS任务调度和网络I/O的不确定性难题,DDS over TSN的部署还存在很多困难。本文还介绍了我们提出的解决DDS应用适配中OS不确定性问题的“远程候车室”机制。#DDS##OS#
一、DDS“自扫门前雪“
2003 年对象管理组织(Object Management Group, OMG)发布了数据分发服务(Data Distribution Service,DDS)规范。DDS在为实时分布式应用提供了数据发布/订阅服务,支持多种语言编程的同时,向应用屏蔽了CPU和操作系统差异。因此可以很好的支持分布式应用在不同平台上移植的能力,因此在各类需要分布式实时处理的装备平台中得到广泛应用。#数据分发服务DDS#
图1 DDS(1)向应用提供Pubsub数据分发服务;(2)对应用屏蔽OS和CPU差别,提升应用跨平台移植能力
TSN在近年来得到飞速发展,是装备平台嵌入式交换系统的重要发展方向。为了推动DDS与TSN的融合,OMG组织2018年启动DDS-TSN标准的制定,目标是利用TSN为DDS实时数据分发提供更好的服务质量保证。#TSN#
虽然DDS-TSN标准尚未最终发布,但从相关技术资料看[1],DDS-TSN标准主要在三个方面对DDS进行扩充,如图2所示。
图2 DDS-TSN的主要原理
从图2可见,DDS-TSN标准从对应用流描述的要求,DDS与CUC通信接口,以及DDS流量到TSN网络的映射三方面为DDS over TSN做了充分准备。即“DDS扫了门前雪”。然而 “适配但不依赖任何操作系统”是DDS的重要设计原则,因此DDS-TSN标准是不会关注 “OS的瓦上霜”的,即如何实现时间触发任务调度以及确保网络I/O延时确定性并不是DDS-TSN标准所关注的,在TSN端系统要上运行DDS,还存在一块重要的拼图,即OS的支持。
二、我们的相关工作
我们在T3000 TSN/TTE测试仪研制中,采用“远程候车室(RWR:Romote Waiting Room)机制,在FT2000 CPU上屏蔽了麒麟OS任务调度和网络I/O延时的不确定性,在用户空间构造并发送了1000条周期性的ST流,实现了对TSN网络的测试。
图3 T3000基于RWR机制实现了1K条ST流的精准发送 (测试的详细视频见:
https://t.cn/A6onZbmF)
“远程候车室”机制的核心是在为实时应用提供一个通信库,接管应用基于socket发送的分组,该编程库收到应用发送的数据后并不立刻发送,而是等待TSN网卡通过分组发送的”时间通告“后,才向内核发送数据。
基于“远程候车室”机制的TSN端系统DDS适配架构如图4所示。网卡上的RWR控制逻辑根据CUC规划好的时间(TimeAwareOffset)向“远程候车室”发送读取帧的请求。读取到的ST帧进入网卡后,可以直接送注入控制缓冲区中排队。#网卡#
图4 基于“远程候车室”机制的TSN端系统DDS适配
由图4可知,DDS是当前使用的非支持DDS-TSN标准的中间件,其与CUC通信的功能卸载到TSN网卡上实现。
“远程候车室”机制实现的前提是应用看到的时间(APP CLK)要与TSN网卡上的TSN同步时间(Net clk)有一个粗同步(允许由ms级的误差)。与T3000测试仪的测试应用开发不同的是,DDS的应用开发可能是非协作的。即DDS应用中难以实现从TSN网卡获取网络同步时间(Net CLk)的操作。解决这一问题的基本思路是TASP[2],或由数据源实现与网络时间的同步。
图5 远程候车室机制的建模分析
我们对远程候车室机制进行了建模分析,证明了机制的可靠性。其中OS任务调度和网络I/O的不确定性由MaxGetBufDelay和MinGetBufDelay参数描述,APP CLK和Net CLK的粗同步误差由参数Δ描述。
理论分析表明,远程候车室机制可以避免由于OS不确定性给注入控制带来的两点冲突:
(1)流内冲突
存储在注入buf x的流K的第i个帧还没有到规划的发送时间,还没有被注入控制调度到Qbv队列时,流K的第i+1个帧已经到达网卡,可能会覆盖第i个帧;
(2)流间冲突
存储在注入buf X的流K的第i个帧还没有到规划的发送时间,还没有被注入控制调度到Qbv队列时,流L(L不等于K)的第j个帧已经到达网卡,且根据规划该帧保存在注入buf X,可能会覆盖流K的第i个帧;
三、结束语
在行为未知的OS上实现确定性通信延时保证是DDS到TSN端系统适配的重要环节。当然,DDS到TSN端系统适配中还存在其他难题,例如:
(1)DataWriter/DataReader到Talker/Listener的映射可能是动态的,与目前静态的TSN规划有冲突;
(2)DDS动态产生的控制帧到TSN流量的映射问题;
(3)DDS大块数据分发产生的大量分片帧对帧复制与消除逻辑复杂性的潜在威胁;
(4)DDS库自身处理延时对延时约束较为苛刻流(ms级延时)的可满足性的影响。
我们认为已经在T3000测试仪上验证的“远程候车室”机制是当前解决DDS到TSN端系统映射的有效手段。本文是“浅谈”,难免有不足和错误之处,希望得到领域内各类专家的批评指正。
参考文献:
[1] 技术白皮书:Using DDS to Unlock the Power of TSN ,https://t.cn/A6onZbms
[2] XuYan Jiang etc. TASP: Enabling Time-triggered Task Scheduling in TSN-based Mixed-criticality system. IWQos 2022
枫叶赢了棕熊,这场胜利足以让全多伦多甚至全加拿大的媒体开心地掀桌子。
作为联盟开季以来的一哥,棕熊在本场比赛之前十胜一负,这还是前几场比赛没有绝对核心马尔尚的情况下取得的成就,上周小老鼠归来,来了就起作用。加上科伊尔,豪尔这帮混不吝的主儿,整个棕熊的信心,从脚底板能一直冲到后脑勺。棕熊说我要在这个联盟里要当老大,谁赞成,谁反对?
但今天,以哀兵姿态出战的枫叶竟然拿下比赛,前一段跟大家说了枫叶现在内外交困的局面,马尔纳和基夫将帅不和,球队战绩平平,加拿大那些把枫叶作为心头肉的媒体一片挞伐之声。
今天赢了,媒体们好像忘了前两天的义愤填膺:sportsnet的标题是《枫叶击败棕熊:在萨姆索诺夫受伤的阴云下把比赛提升到新高度》。tsn的报道第一句话:马修斯火力全开了,在经历了NHL在压力重重的市场上艰难的开局后,他的枫叶队似乎找到了自己的最佳状态。全美媒体《体育家》给枫叶全队打了A,盛赞他们的表现。
加拿大媒体这么开心,主要是因为这场比赛对于枫叶来说绝对重要,它兑现了枫叶之前被普遍看好的前景。同时复仇了最重要的同区对手,在前几个赛季屡屡给他们使绊子的棕熊。这比什么都重要。
作为联盟开季以来的一哥,棕熊在本场比赛之前十胜一负,这还是前几场比赛没有绝对核心马尔尚的情况下取得的成就,上周小老鼠归来,来了就起作用。加上科伊尔,豪尔这帮混不吝的主儿,整个棕熊的信心,从脚底板能一直冲到后脑勺。棕熊说我要在这个联盟里要当老大,谁赞成,谁反对?
但今天,以哀兵姿态出战的枫叶竟然拿下比赛,前一段跟大家说了枫叶现在内外交困的局面,马尔纳和基夫将帅不和,球队战绩平平,加拿大那些把枫叶作为心头肉的媒体一片挞伐之声。
今天赢了,媒体们好像忘了前两天的义愤填膺:sportsnet的标题是《枫叶击败棕熊:在萨姆索诺夫受伤的阴云下把比赛提升到新高度》。tsn的报道第一句话:马修斯火力全开了,在经历了NHL在压力重重的市场上艰难的开局后,他的枫叶队似乎找到了自己的最佳状态。全美媒体《体育家》给枫叶全队打了A,盛赞他们的表现。
加拿大媒体这么开心,主要是因为这场比赛对于枫叶来说绝对重要,它兑现了枫叶之前被普遍看好的前景。同时复仇了最重要的同区对手,在前几个赛季屡屡给他们使绊子的棕熊。这比什么都重要。
✋热门推荐