Orion: L2-to-PHY Middlebox¶
本部分主要介绍了Slingshot的第二个关键组件:软件中间件Orion,它负责管理L2和PHY之间的控制流量,从而完整地实现PHY迁移
引入Orion的背景与动机
仅仅依靠前传中间件(管理RU到PHY的流量)不足以完成整个系统的弹性迁移,原因有两点:
- 现有的L2及更高层软件在设计上并不支持连接辅助PHY(备用PHY),直接操作会破坏透明性
- 如果天真地让主备PHY同时处理相同的信号任务,会导致高达100%的额外CPU开销
因此,Slingshot引入了Orion,作为一个位于L2和PHY之间的“垫层(shim layer)”来解决这些问题
透明的FAPI协议拦截
Orion通过拦截L2与PHY之间标准的FAPI(Functional API)协议消息来工作
由于FAPI是连接不同供应商所提供的L2和PHY实现的通用接口(即“狭窄腰部/narrow waist”),Orion的设计能够兼容多种不同的L2和PHY实现(如GPU或DSP基带),对现有的vRAN栈完全透明
精简且无状态的传输机制 (Stateless inter-Orion transport)
传统的nFAPI协议是为了在不可靠的城域网中通信而设计的,包含复杂的有状态通信协议(如SCTP)
而在高度可靠、低延迟的边缘数据中心网络中,Orion摒弃了这些冗余,采用了一种无时隙间状态(no inter-slot state)的精简网络协议将L2和PHY解耦
这种无状态设计使得系统能够在TTI(传输时间间隔)边界顺利迁移PHY进程,而无需转移Orion自身的任何状态
利用“空FAPI(Null FAPIs)”实现低开销的热备用
这是Orion降低计算开销的核心机制
根据FAPI规范,PHY必须在每个时隙接收到有效的任务请求,否则进程就会崩溃,因此不能直接停止向备用PHY发送消息
为了解决这个问题,Orion创新性地: 向备用PHY发送“空(null)”的FAPI配置请求
这些空请求是合法的,但不包含任何用户(UE)条目,因此备用PHY在保持活跃(热备用)的同时,不会产生显著的信号处理计算工作
如图:

- 在迁移前的Slot 85,Orion将实际的任务请求发送给主PHY,向辅助PHY发送空请求,并仅将主PHY的响应转发回L2
- 在发生迁移的Slot 86,Orion平滑切换,将实际任务请求发送给辅助PHY,并转而将辅助PHY的响应发回给L2
全面管理PHY的初始化与迁移
Orion不仅在运行时转发消息,还负责管理辅助PHY的生命周期
在系统初始化时,Orion会拦截L2发出的初始化请求,并将其复制发送给两台服务器,从而同时唤醒主PHY和辅助PHY
当需要触发迁移时,L2侧的Orion会主动切换FAPI消息的流向,并通过向交换机发送 migrate_on_slot 命令来同步触发底层前传流量的切换,从而完成无缝迁移