–This article is excerpted from Baidu’s official about Apollo, please indicate the source for reprinting–
传统ROS短板
- 内核调度对自动驾驶算法业务逻辑不适应.
- 各算法模块以独立模块,同步开销很显著,需要平衡效率与稳定性.
- 动态内存申请.
Cyber 架构 与模块

- key concept
- DAG无环图
- Lock Free
- lock free 对象池 ???
- lock free 队列
由Sensor data 驱动
调度逻辑从内核搬到用户空间

任务编排策略
- 任务基于协程实现,任务阻塞时,迅速让出CPU

- 调度的确定性
- 支持跨进程,跨机通信.
- 内存分配也是实时性的一大杀手
协程
- 本质:可以被用户随时暂停和恢复的函数
- 实现:协程运行时栈保持在堆上,而不是
调度
- 两种调度策略:
-
- Classic 策略;
-
- Choreography策略
Classic 策略
SchedulerClassic 采用协程池 ,协程不会绑定到具体的处理核心上,而是放在全局的优先队列中被调度。

本文探讨了传统ROS在自动驾驶领域的不足,如内核调度的不适应性和同步开销问题,以及动态内存分配的影响。然后介绍了Cyber架构,它基于DAG无环图和LockFree技术,将调度逻辑移至用户空间,减少了通信延迟。Cyber的任务编排策略包括Classic策略(协程池,全局优先级队列调度)和Choreography策略,以提高效率和实时性。协程在此扮演关键角色,允许任务在需要时暂停和恢复,优化内存分配并确保调度的确定性。
479

被折叠的 条评论
为什么被折叠?



