首页 > 解决方案 > DDS/RTPS如何保证Qos?

问题描述

DDS/RTPS 是一种点对点数据共享系统。它没有任何集中控制/调度。它实际上如何保证与网络相关的 Qos,即传输优先级和延迟预算?

标签: data-distribution-service

解决方案


对于那些特定于网络的 QoS,DDS 确实严重依赖网络提供的服务。

传输优先级 QoS的具体行为不受 DDS 标准的规定。它被认为是对中间件的“提示”。典型的实现可能会将其映射到 IP 标头中的 ToS 或 (DS) 字段,但这不是必需的。[考虑 DDS 可以映射到可能支持或不支持数据优先级的各种底层传输。] 这种 QoS 的效果在很大程度上取决于底层网络技术及其配置。DDS 对行为不做任何保证。

延迟预算 QoS也是 DDS 实现的一个提示。例如,较大的延迟预算可能允许中间件出于优化目的做出调度决策(将多个数据消息聚合到一个网络数据报中);而小预算可能会迫使中间件发送多个小型网络数据包。DDS 的实现可能会尝试在数据传输的整体调度中考虑网络传输延迟;但如果没有确定性传输,则无法保证不会超出延迟预算。

基于这个问题,您可能会对截止日期 QoS感兴趣。它本质上要求每个数据实例以一定的频率更新,并提供一种机制,如果不满足这个要求,就会提醒 Reader 和 Writer。它不“保证”数据优先级或延迟,但它提供了一种机制来了解是否不满足所需的数据更新周期。

此外,将时间敏感网络 (TSN) 视为 DDS 的传输可能会很有趣。最近在通过 TSN 标准化 DDS 方面进行了一些工作。这需要专门的硬件和详细的配置,但可能会满足您的要求。[我倾向于相信标准以太网网络的精心架构对于绝大多数应用程序来说是有效且足够的;所以,只要确保你能很好地处理你的要求。]


推荐阅读