• 正文
  • 相关推荐
申请入驻 产业图谱

延迟7us 满载抖动&amp lt 10 us RK3576实时性超乎你的想象

08/08 10:51
2261
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

前言:

工业控制智能设备等领域,处理器的实时性表现直接决定了设备的响应速度与运行稳定性。眺望电子基于RK3576评估板,通过RT补丁实现微秒级精准响应,延迟7us、满载抖动<10 us的实测数据证明它的硬核实力!

一、测试环境

1.1 RK3576 核心板介绍

本次测试的主角是Core-RK3576J V1.1 核心板,搭载 Rockchip 新一代旗舰 RK3576 处理器:

-先进 8nm 制程工艺,4核 Cortex-A72+4 核 Cortex-A53 架构,主频高达 2GHz;

-核心板采用高速板对板连接器,集成处理器、LPDDR4、EMMC、PMIC等关键器件。

1.2 测试步骤

步骤 1:运行实时性测试程序

在评估板终端输入指令,执行 100 万次循环测试,记录任务调度延迟数据:

root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > 测试结果文件

•参数解析:-l 1000000(测试 100 万次)、-m(锁定内存,避免交换影响)、-Sp99(任务优先级 99)、--policy=fifo(FIFO 调度策略)、-h 25000(迭代间隔 25 微秒)。

步骤 2:模拟 CPU 压力(负载测试场景)

使用 stress-ng 工具让 CPU 满载运行,模拟高负载环境:

root@rk3576-ubuntu:/# stress-ng -c 8 --cpu-method fft --timerfd-freq 1000000 -t 24h &

参数解析:-c 8(占用 8 核 CPU)、--cpu-method fft(用 FFT 算法模拟负载)、-t 24h(持续 24 小时)。

步骤 3:数据可视化与分析

将测试结果文件传输至 Ubuntu 系统,使用 gnuplot 生成延迟分布图,直观呈现实时性表现:

# 安装可视化工具

sudo apt install gnuplot -y

# 运行脚本生成图表

./rt_createpng.sh 测试结果文件 输出图表.png

二、指令解析

2.1  cyclictest指令

cyclictest是一个用于测试系统中周期性任务调度的工具。它可以测量系统在不同负载下的实时性能,并提供有关任务调度延迟和抖动的信息。

root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > output-rk3576-nort

参数解析:

-l 1000000:指定测试运行的迭代次数为1000000次

-m:启用内存锁定,以避免测试过程中的内存交换影响实时性

-Sp99:设置测试任务的优先级为99

--policy=fifo:设置测试任务的调度策略为FIFO(先进先出)

-h 25000:设置每个测试迭代之间的延迟时间为25000纳秒(25微秒)

-q:禁止输出额外的信息,只输出测试结果

&& tail -n 11 output-cpu-rt:在cyclictest测试完毕后打印最后的总结数据

2.2 stress-ng指令

stress-ng是一个用于模拟系统负载的工具,可以测试系统的稳定性和性能

root@rk3576-ubuntu:/# stress-ng -c 4 --cpu-method fft --timerfd-freq 1000000 -t 24h &

参数解析:

-c 4:表示使用4个CPU核心进行测试

–cpu-method fft:指定使用FFT算法进行CPU负载测试

–timerfd-freq 1000000:设置定时器频率为1000000,用于控制测试的时间间隔。

-t 24h:设置测试时间为24小时

&:在后台运行该命令

三、数据实测

我们分别在 preempt-rt 补丁打 preempt-rt 补丁两种场景下,测试了 “空载”和 “CPU 满载”(8 核高负载)状态的实时性,操作如下:

3.1 未打入RT实时补丁

3.1.1 空载运行测试

在终端输入如下指令进行测试:

root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > output-kong-nort

root@rk3576-ubuntu:/# tail -n 11 output-kong-nort

图 3-1 实时性测试(nort-空载)

生成数据统计图如下:

图 3-2  CPU实时性数据统计图(nort-空载运行)

3.1.2 CPU压力测试

使用FFT算法对CPU进行负载测试:

root@rk3576-ubuntu:/# stress-ng -c 8 --cpu-method fft --timerfd-freq 1000000 -t 24h &
root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > output-cpu-nort
root@rk3576-ubuntu:/# tail -n 11 output-cpu-nort

图 3-3 实时性测试(nort-CPU满载)

生成数据统计图如下:

图 3-4  CPU实时性数据统计图(nort-满载运行)

3.2 打入RT实时补丁

3.2.1 空载运行 

在终端输入如下指令进行测试:

root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > output-kong-rt
root@rk3576-ubuntu:/# tail -n 12 output-kong-rt

图 3-5 实时性测试(rt-空载)

  • 生成数据统计图如下:

图 3-6 CPU实时性数据统计图(rt-空载运行)

3.2.2 CPU压力测试

使用FFT算法对CPU进行24小时负载测试:

root@rk3576-ubuntu:/# stress-ng -c 8 --cpu-method fft --timerfd-freq 1000000 -t 24h &
root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > output-cpu-rt
root@rk3576-ubuntu:/# tail -n 11 output-cpu-rt

图 3-7 实时性测试(rt-CPU满载)

生成数据统计图如下:

图 3-8 CPU实时性数据统计图(rt-满载运行)

3.3 数据对比

3.3.1 不打 preempt-rt 补丁

测试场景 CPU 核心 最小延迟(us) 平均延迟(us) 最大延迟(us)
空载 CPU0 5 24 851
空载 CPU1 4 25 1004
空载 CPU2 6 27 14788
空载 CPU3 5 27 330
空载 CPU4 3 19 113
空载 CPU5 3 18 895
空载 CPU6 3 18 8049
空载 CPU7 3 18 8506
满载 CPU0 8 23 5368
满载 CPU1 8 21 115
满载 CPU2 11 22 4951
满载 CPU3 11 23 141
满载 CPU4 3 6 410
满载 CPU5 3 5 384
满载 CPU6 3 5 408
满载 CPU7 3 5 599

结论:原生系统下,最大延迟普遍较高,空载时 CPU2 甚至达到 14788us(约 14.8ms),满载时 CPU0 最大延迟 5368us(约 5.4ms),实时性表现一般。

3.3.2 打 preempt-rt 补丁

测试场景 CPU 核心 最小延迟(us) 平均延迟(us) 最大延迟(us)
空载 CPU0 0 0 7
空载 CPU1 0 0 3
空载 CPU2 0 0 4
空载 CPU3 0 0 4
空载 CPU4 0 0 3
空载 CPU5 0 0 3
空载 CPU6 0 0 4
空载 CPU7 0 0 3
满载 CPU0 1 1 11
满载 CPU1 1 1 5
满载 CPU2 1 1 4
满载 CPU3 1 1 4
满载 CPU4 0 0 8
满载 CPU5 0 0 5
满载 CPU6 0 0 5
满载 CPU7 0 0 6

结论打补丁丁后,实时性大幅提升 —— 空载时所有核心最大延迟不超过 7us,满载时最大延迟仅 11us(CPU0),完全满足工业级实时响应需求。

四、总结

从测试数据可以清晰看出:

-preempt-rt 补丁的关键作用:通过优化内核调度,RK3576 的最大延迟从毫秒级降至微秒级,实时性提升超 1000 倍;

-高负载稳定性:即使在 8 核满载状态下,打补丁后的系统仍能保持极低延迟,确保设备在复杂场景下的可靠运行;

同时把“高性能 + 硬实时 + 低成本”拉满的方案不多,RK3576 算一个;无论是工业控制(需微秒级响应)、智能终端(需流畅交互)还是 AI 边缘计算(需高效任务调度),RK3576 都能胜任。

相关推荐