RTOS对云/边缘计算有效吗



我目前正在使用蜂窝系统(4G或5G(构建和实现机器人控制系统。我正在考虑使用RTOS来减少服务器中的处理时间。

服务器接收机器人的请求并做出响应。通过实验,我发现了以下内容。

  • 端到端延迟:30~50ms(边缘(/70~90ms(云(
  • 处理时间:10~15ms
  • 数据流:
robot -----> base station -----> edge server
<-----              <-----
or
robot -----> base station -----> cloud server
<-----              <----
  • 实验设置
    • CPU英特尔酷睿i9
    • 操作系统linux香草内核

现在,我正在考虑在云/边缘服务器上安装preempt-rt内核。

通过在服务器上安装RTOS,端到端延迟和处理时间是否减少了10ms以上?

我目前正在构建和实施机器人控制系统使用蜂窝系统(4G或5G(。我正在考虑按顺序使用RTOS以减少服务器中的处理时间。

RTOS不是关于">减少处理时间";,支持事件的快速和确定性响应。也就是说,对真实世界外部事件的响应可以通过明确定义的最小和最大响应时间来实现。我说">支持";因为有很多方法不小心会扰乱调度和IPC,并使系统在这方面表现不佳。

减少处理时间是处理速度和处理负载的问题。即你的处理器有多快以及你要求它处理什么。在这种程度上,选择高效的算法和数据结构以及编译器优化是比使用RTOS更有效的方法。

服务器接收机器人的请求并对其进行响应。通过实验,我发现了以下内容。

好的,现在我还不清楚您打算在哪里使用RTOS。在机器人上还是在服务器上?如果在服务器上,为了获得端到端的确定性实时响应,通信信道也必须具有实时能力,即保证最长的响应时间。它能做到吗?

现在,我正在考虑在云/边缘服务器上安装preempt-rt内核。

preempt-rt并没有真正实现Linux和RTOS,尽管它在这个应用程序中可能是足够和合适的。它的好处是为COTS PC架构板提供所有硬件、I/O和网络支持,而大多数(但并非所有(真正的RTOS都缺乏这些支持,而且您可能必须由第三方组件提供这些支持-这对复杂的PC和来说是一个很大的要求

如果它适用于普通Linux,并且需要保证特定的响应时间,那么它是合适的。你只是想让代码运行得更快,这不是办法。基于优先级的抢占式调度程序可以确保特定代码在需要时运行,而不是在内核有时间进行调度时运行。它可以防止处理延迟,而不是加快处理速度。

通过在服务器上安装RTOS,端到端延迟和处理时间是否减少了10ms以上?

服务器上运行的软件无法更改通信网络的延迟。如上所述,您实现的是处理中的最小延迟,而不是更快的处理。在这种情况下,在通信中没有延迟保证的情况下,将延迟最小化几乎没有什么好处,这是你不太可能得到的——测量"延迟";典型的";响应时间并不能保证。

robot -----> base station -----> edge server
<-----              <-----
or 
robot -----> base station -----> cloud server
<-----              <---- 

除非每个组件——机器人、通信链路、基站和服务器——都具有实时能力,否则系统作为一个整体将不具有实时能力。

最新更新