首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >任何由DDS/RTPS (数据分发服务)定义的“实时”约束?

任何由DDS/RTPS (数据分发服务)定义的“实时”约束?
EN

Stack Overflow用户
提问于 2020-09-05 19:49:10
回答 1查看 250关注 0票数 1

数据分布式服务DDS/RTPS被推广为“实时”中间件/应用程序的标准,至少为实时Pub-Sub提供RTPS状态。然而,当我阅读规范时,我没有发现任何关于实时需求的明确定义或约束(例如,经典的软/硬实时方面)。

RTPS定义了一些使直接合成尽可能高效的方法,但将它作为“实时发布/订阅”出售并不是真正精确的IMHO。

当然,有很多涉及DDS的项目/产品,它们的性能可以满足它们的实时性要求。但这仍然取决于DDS供应商的实现和与DDS无关的实际系统设置。

对于DDS的实时方面,我有遗漏吗?

我在规范中分别找到了一些相关部分:

  • 2.2.3支持QoS
  • RTPS 8.7.2 DDS QoS参数
  • RTPS 8.4.2.1.3所有实现的定时特性必须是可调的。

但我并没有看到对实现的需求有任何明确的定义(例如RTPS 8.4.2.1)。

同样的逻辑: C/C++非常适合高性能和实时应用,但没有人把“实时编程语言”作为其标准规范的标题。

EN

回答 1

Stack Overflow用户

发布于 2020-09-05 22:46:23

不知道你从哪里得到了“经典硬/软实时”的定义,也不知道你是如何应用它的。

硬实时由需求定义,包括两个方面.( A)结果的准确性有多大,以及( B)系统需要多少时间才能生成答案,以及A点所要求的准确性。这是由系统架构定义的,而不是由硬实时或软实时的定义定义的(要完成,所以您知道我通常从哪里争论,“软”实时意味着您可以任意地违反两个方面中的一个-按时准确的回答,或者即使晚了也能得到正确的答案)。

那么DDS是如何实现硬实时的呢?它是确定性的,并且具有正确的QoS设置,将向应用程序宣布应用程序所需的硬实时约束正在/没有得到满足。然后由应用程序决定这是否可以接受。

如果你说你需要一个正确到5%的答案(也就是说,100次中有95次是错误的),而我直到宇宙的热死才能给出第一个答案,那么对我来说,满足那些艰难的实时限制就很简单了。

另一方面,如果你说你需要一个精确到无穷小数点的答案,你需要它在产生它的事件之前30秒,那么世界上没有一个系统能够提供这个答案,所以在这个系统中没有什么难的RT。

它是确定性的,它提供给应用程序的消息根据使用它的系统的需求决定它的“实时”编辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63757912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档