Back to Apollo

CyberRT 性能报告

docs/附录/CyberRT 性能报告.md

11.0.010.5 KB
Original Source

介绍

本性能报告旨在对比新旧版本 CyberRT 在不同传输条件下的跨进程 / 跨机传输时各性能指标的结果,并且列举出在使用不同模块 / 不同传感器(业务模块、普通规格传感器、高规格传感器、超高规格传感器)时有关传输的各个指标的详细数据。本次测试的所有结果均由 cyber_benchmark 基准测试工具生成。

测试环境

平台 1:

<table> <tbody> <tr> <td rowspan="3">硬件环境</td> <td>cpu</td> <td>Intel(R) Core(TM) i9-9900K</td> </tr> <tr> <td>内存</td> <td>2 x Innodisk M4S0-AGS1OCIK DDR4 16GiB 2667 MHz</td> </tr> <tr> <td>硬盘</td> <td>Samsung SSD 980 500GB</td> </tr> <tr> <td rowspan="3">软件环境</td> <td>系统版本</td> <td>Ubuntu 18.04.5 2021.09.12 LTS</td> </tr> <tr> <td>内核版本</td> <td>5.4.0-150-generic</td> </tr> <tr> <td>CyberRT 版本</td> <td>Apollo 9.0 / Apollo 10.0</td> </tr> </tbody> </table>

平台 2:

<table> <tbody> <tr> <td rowspan="3">硬件环境</td> <td>cpu</td> <td>8 core Arm® Cortex®-A78AE v8.2</td> </tr> <tr> <td>内存</td> <td>32GiB 256 bit LPDDR5 Onboard Memory 204.8GB/s</td> </tr> <tr> <td>硬盘</td> <td>KINGSTON OM8PGP41024Q-A0</td> </tr> <tr> <td rowspan="3">软件环境</td> <td>系统版本</td> <td>Ubuntu 20.04.4 LTS</td> </tr> <tr> <td>内核版本</td> <td>5.10.104-tegra</td> </tr> <tr> <td>CyberRT 版本</td> <td>Apollo 9.0 / Apollo 10.0</td> </tr> </tbody> </table>

跨进程传输性能测试结果

本测试将会测试新旧版本的 CyberRT 在不同消息大小以及不同发送频率下的各项性能指标

不同消息大小

所有测试都是在消息大小为 16B、1KB、64KB......5MB、10MB,以100 hz的频率进行的

下列图片展示了在平台1上传输不同消息大小的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 开启了 arena 零拷贝通信,arena 共享内存配置了 1GB 大小:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

下列图片展示了在平台2上传输不同消息大小的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 开启了 arena 零拷贝通信,arena 共享内存配置了 1GB 大小:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

不同发送频率

所有测试都是在消息频率为 10 hz、20 hz、50 hz、100 hz,以1MB的消息大小进行的

下列图片展示了在平台1上传输不同发送频率的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 开启了 arena 零拷贝通信,arena 共享内存配置了 1GB 大小:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

下列图片展示了在平台2上传输不同发送频率的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 开启了 arena 零拷贝通信,arena 共享内存配置了 1GB 大小:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

Apollo 10.0 CyberRT 在不同场景下在平台1下跨进程传输的具体表现

message size/frequencycpu usagelatencymsg loss ratememory usage
Functional Module(perception, planning etc.)64K/10hz9.14%84.6 us0.0%250MB
High Frequencies functional Module(localization)64k/100hz9.71%69.54 us0.0%250M + 1024M arena shared memory
Normal Sensor Module1M/10hz8.47%82.29 us0.0%250M + 1024M arena shared memory
High-End Sensor Module10M/10hz5.55%58.95 us0.0%250M + 1024M arena shared memory

跨机传输性能测试结果

本测试将会测试新旧版本的 CyberRT 在不同消息大小以及不同发送频率下的各项性能指标

不同消息大小

所有测试都是在消息大小为 1KB、64KB......5MB、10MB,以100 hz的频率进行的

下列图片展示了在平台1上传输不同消息大小的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 基于 2.x版本的 FastDDS,9.0 的 CyberRT 基于1.5版本的 fastrtps:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

下列图片展示了在平台2上传输不同消息大小的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 基于 2.x版本的 FastDDS,9.0 的 CyberRT 基于1.5版本的 fastrtps:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

不同发送频率

所有测试都是在消息频率为 10 hz、20 hz、50 hz、100 hz,以1MB的消息大小进行的

下列图片展示了在平台1上传输不同消息大小的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 基于 2.x版本的 FastDDS,9.0 的 CyberRT 基于1.5版本的 fastrtps:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

下列图片展示了在平台1上传输不同消息大小的cpu占用、内存占用、消息传输时延、丢包率指标。其中,10.0 的 CyberRT 基于 2.x版本的 FastDDS,9.0 的 CyberRT 基于1.5版本的 fastrtps:

<table> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table>

Apollo 10.0 CyberRT 在不同场景下在平台1下跨机传输的具体表现

message size/frequencycpu usagelatencymsg loss ratememory usage
Functional Module(perception, planning etc.)64K/10hz7.75%391 us0.0%247MB
High Frequencies functional Module(localization)64k/100hz10.3%369 us0.0%249M
Normal Sensor Module1M/10hz8.84%2124 us0.0%251M
High-End Sensor Module10M/10hz18.8%18886 us0.0%288M