自动驾驶中间件水杉与Apollo CyberRT性能对比

实验对比了水杉中间件和CyberRT在不同消息大小下的通信时延,结果显示水杉中间件在1KB至8MB消息中保持微秒级稳定时延,不受消息大小影响。这表明水杉中间件在自动驾驶领域能显著减少模块间通信时延,提升系统性能和安全性。推荐关注水杉SDK,它为自动驾驶系统提供高性能通信解决方案。
摘要由CSDN通过智能技术生成

实验使用笔记本处理器:Intel® Core™ i7-4710HQ CPU @ 2.50GHz × 8,内大小8GB,操作系统Ubuntu22.04,分别在各自的docker容器内运行,都使用各自的默认配置不做调优,比较不同通信消息大小下的进程间平均通信时延。实验每次重启电脑后要么运行一个Apollo docker容器,要么运行水杉docker容器,除了打开一个终端和容器外,不打开其他如浏览器等程序。

1:Apollo CyberRT代码版本:master分支,commit id:455090bb85807df9a2a1d47632ae9dc8a09f075e

其性能测试程序是CyberRT的talke和listener程序,使用默认配置,只修改通信使用的examples.proto。

具体将examples.proto中的Chatter消息改为如下:

message Chatter {

required int32 x = 1;

required int32 y = 2;

required int32 z = 3;

required int32 speed = 4;

required uint64 timestamp = 5;

required int32 acc = 6;

required bytes content = 7;

};

cyberRT的发送端talker程序每次发送消息时,先填充1、2、3、4、6、7域,最后填充5域(即timestamp字段),然后发送到cyberRT的通道中;每次实验时向content域中填充不同大小的数据,总体上Chatter消息总大小不超过指定的大小。talker发送Chatter消息10万条。

cyberRT的接收端listener,在接收消息的回调函数中,使用cyberRT的Time组件获取当前时间,然后减去接收到消息中timestamp,作为通信此次通信时延。

2:水杉中间件发送端和接收端是水杉中间件简单的talker、listener程序,两个进程,talker发送TestMsg消息10万条,使用与CyberRT类似的消息格式,具体消息如下:

const int TestMsgTotalSize = 1024;

struct TestMsg {

int32_t x;

int32_t y;

int32_t z;

int32_t speed;

uint64_t timestamp;

int32_t acc;

int32_t msgLen;

char msg[TestMsgTotalSize - 64];

};

每次实验时调整TestMsgTotalSize 的大小,即调整msg域的容量,以保证消息总大小为指定的大小。数据填充和通信时延计算方式与CyberRT的相同。

3:实验结果对比

1KB消息平均时延(单位纳秒):

CyberRT中间件约1KB消息平均时延

水杉中间件1KB消息平均时延


2KB平均时延(单位纳秒)

CyberRT中间件约2KB消息平均时延

水杉中间件2KB消息平均时延


4KB平均时延(单位纳秒)

CyberRT中间件约4KB消息平均时延

水杉中间件4KB消息平均时延


8KB平均时延(单位纳秒)

CyberRT中间件约8KB消息平均时延

水杉中间件8KB消息平均时延


1MB平均时延(单位纳秒)

CyberRT中间件约1MB消息平均时延

水杉中间件1MB消息平均时延


2MB平均时延(单位纳秒)

CyberRT中间件约2MB消息平均时延

水杉中间件2MB消息平均时延


4MB消息平均时延(单位纳秒)

CyberRT中间件约4MB消息平均时延

 水杉中间件4MB消息平均时延


8MB消息平均时延(单位纳秒)

CyberRT中间件约8MB消息平均时延

水杉中间件8MB消息平均时延

4:结论

通过以上实验可以发现,水杉中间件的进程间通信性能,在不同消息大小下通信时延一直保持稳定,处于微秒级别,且与通信消息大小无关。在自动驾驶领域,水杉中间件可以大幅减少自动驾驶系统模块间的通信时延,为模块留有更多的计算时间,为自动驾驶系统在不增加硬件成本的情况下使用更复杂的模块算法提供了可能性;也可以在不改变自动驾驶系统模块算法和硬件的情况下,提升自动驾驶系统的计算控制频率,增加自动驾驶系统的安全性可靠性。


重要的事情说三遍:水杉SDK,水杉SDK,水杉SDK

 水杉自动驾驶中间件SDK(具有生产力的SDK):

自动驾驶中间件水杉SDK来了-CSDN博客


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值