DDS/RTPS如何保证Qos?
Posted
技术标签:
【中文标题】DDS/RTPS如何保证Qos?【英文标题】:How does DDS/RTPS guarantee Qos? 【发布时间】:2021-02-12 17:02:52 【问题描述】:DDS/RTPS 是一种点对点数据共享系统。它没有任何集中控制/调度。它实际上如何保证与网络相关的 Qos,即传输优先级和延迟预算?
【问题讨论】:
DDS 对其支持的服务质量 (QoS) 有严格的定义。例如:可靠性、耐用性、历史、寿命等。您指的是哪个 QoS? @CTucker,网络相关,传输优先级和延迟预算。问题也更新了,感谢您的澄清。 【参考方案1】:对于那些特定于网络的 QoS,DDS 确实严重依赖网络提供的服务。
传输优先级 QoS 的具体行为不受 DDS 标准的规定。它被认为是对中间件的“提示”。典型的实现可能会将其映射到 IP 标头中的 ToS 或 (DS) 字段,但这不是必需的。 [考虑到 DDS 可以映射到可能支持或不支持数据优先级的各种底层传输。] 这种 QoS 的效果在很大程度上取决于底层网络技术及其配置。 DDS 对行为不做任何保证。
latency-budget QoS 也是对 DDS 实施的提示。例如,较大的延迟预算可能允许中间件出于优化目的做出调度决策(将多个数据消息聚合到一个网络数据报中);而小预算可能会迫使中间件发送多个小型网络数据包。 DDS 的实现可能会尝试在数据传输的整体调度中考虑网络传输延迟;但如果没有确定性传输,则无法保证不会超出延迟预算。
根据这个问题,您可能对deadline QoS感兴趣。它本质上要求每个数据实例以一定的频率更新,并提供一种机制,如果不满足这个要求,就会提醒 Reader 和 Writer。它不“保证”数据优先级或延迟,但它提供了一种机制来了解是否不满足所需的数据更新周期。
此外,将时间敏感网络 (TSN) 视为 DDS 的传输可能会很有趣。最近在通过 TSN 标准化 DDS 方面进行了一些工作。这需要专门的硬件和详细的配置,但可能会满足您的要求。 [我倾向于相信标准以太网网络的精心架构对于绝大多数应用程序来说是有效且足够的;所以,只要确保你能很好地处理你的要求。]
【讨论】:
很好的答案!非常感谢!以上是关于DDS/RTPS如何保证Qos?的主要内容,如果未能解决你的问题,请参考以下文章