网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > Routers配置

探索ROS2的性能(5)

 此外,在图10中观察到共享存储器与大数据的影响。随着数据变大,可以观察到显着的差异。但是,图9中的影响似乎很小,因为小数据隐藏了共享内存的影响。

 另一个有趣的观察是,尽管使用共享内存,但(2-c)进程内的延迟大于(1-b)中的延迟。此结果不是由于DDS的转换和DDS的处理,因为进程内通信不通过DDS路由。随着ROS2的开发,这些差距将被关闭。需要改进进程内通信。

3.3.3 Comparison within ROS2

数据小于16 KB的端到端延迟在(2-b)中表现出类似的性能。我们讨论16 KB到4 MB数据的性能。

 图13显示了(2-b)中不同DDS实现的比较。我们使用besteffort策略评估(2-b)中有和没有共享内存的OpenSplice和Connext。尽管共享内存,但性能并没有明显优于本地环回。这是由各种工具(例如,记录器和观察者)的编组引起的,即使在使用共享存储器传输时也是如此。此外,OpenSplice在延迟方面优于Connext,如图13所示,因为我们使用的是Connext DDS Professional,它具有比OpenSplice DDS社区版更丰富的功能。我们假设Vortex OpenSplice的性能与OpenSplice DDS社区版的性能类似。但是,Vortex OpenSplice需要商业许可证,ROS2不支持。

 此外,QoS策略对端到端延迟的影响在(2-b)OpenSplice中使用可靠的策略,reliable策略和* -depth策略进行评估。 * -depth策略为此评估做好准备,并按深度配置,如表5所示。图14显示了延迟的差异,具体取决于可靠的策略和尽力而为策略。 QoS策略的影响如图11和12所示。在该评估中,网络是理想的,即发布者节点很少重新发送消息。如果网络不理想,可靠政策的延迟会增加。 QoS策略中可靠性和耐用性的差异导致开销,代价是可靠的通信和对后加入订户的弹性。图15显示了根据* -depth策略的深度没有差异。这些QoS策略在节点数保存消息中是不同的。虽然此数字会影响资源,但这不会影响延迟,因为存档邮件是在每个发布中进行的。

探索ROS2的性能

最后,通过将片段大小更改为64 KB的最大UDP数据报大小,使用OpenSplice在(2-b)中测量片段开销。 Connext和OpenSplice的最大有效负载源自此UDP数据报大小,因为将大数据划分为多个数据报会对QoS策略的许多实现产生重大影响。 如图16所示,随着片段数据大小的增加,端到端的延迟会降低。 对于大的片段大小,DDS不需要将大数据分成许多数据报,这意味着更少的系统调用和更少的开销。 就端到端延迟而言,我们应该在使用大数据时将片段大小预设为64 KB。

3.4 Throughput of ROS1 and ROS2

我们还测量了远程情况下ROS1和ROS2的每个吞吐量。在我们的单向消息传输实验中,网络的最大带宽为12.5 MB /秒,因为我们使用100 Mbps以太网(100BASE-TX)和全双工,如表2所示。发布者节点以10Hz重复传输每条消息。

 在从256 B到2 KB的小数据中,我们可以观察到具有OpenSplice的ROS1,ROS2和来自图20的具有Connext的ROS2之间的恒定间隙。这些附加数据对应于用于QoS策略和心跳的RTPS分组。因此,这些差距不依赖于数据大小。此外,Connext吞吐量低于OpenSplice。当用户处理具有高Hz和/或网络带宽的多种小数据时,这将产生巨大影响。

探索ROS2的性能

在2 KB至4 MB的大数据中,图21的曲线显示了可持续的理论吞吐量。 ROS1和ROS2能够利用所有可用带宽,并且在这种情况下表现相似。吞吐量受网络限制,而不受DDS限制。

探索ROS2的性能

3.5 Thread of ROS1 and ROS2

在本节中,我们测量每个节点上的线程数。 表6显示了测量结果。 请注意,表6中描述的数字取决于包括QoS策略在内的DDS配置。 供应商不会修复该号码。

 首先,我们可以观察到Open-Splice的ROS2节点有很多线程。 这可能导致并行处理以及OpenSplice比Connext快得多的事实,如图13所示。

 另一个有趣的点是FastRTPS线程。 具有FastRTPS的ROS2节点实现了发现和序列化,以及具有相同数量的ROS1节点线程的发布/订阅数据传输。 此结果证明在没有额外资源的情况下提高了容错能力,因为FastRTPS不需要主节点。

3.6 Memory consumption of ROS1 and ROS2

(责任编辑:admin)