ZVM技术解读·外设篇③|TSN融合
01 什么是TSN融合
ZVM通过虚拟化机制对CPU、内存、中断和外设等资源进行隔离与管理,并通过实时调度保证不同Guest之间的计算资源分配具有可预测性。Guest需通过网络与外界进行交互。时间敏感网络TSN通过高精度时间同步、流量调度和时间感知门控等机制,对报文的发送时刻、传输队列和带宽进行确定性控制,实现与ZVM的融合。但在虚拟化环境中,TSN硬件由多个Guest共享。不同Guest产生的流量可能具有不同的优先级、带宽需求和发送周期,却需要竞争相同的物理链路、发送队列和DMA等硬件资源。如果每个Guest独立配置GCL和队列资源,不同Guest的门控时间可能发生冲突,队列资源可能重复占用,甚至出现一个Guest覆盖或影响其他Guest配置的情况,从而难以保证跨Guest的资源隔离和整体调度一致性。
TSN融合的关键不是简单地让Guest“能够使用TSN”,而是将共享的TSN资源纳入ZVM统一管理。ZVM需要感知不同Guest的流量需求,将不同业务统一映射到相应的优先级和TSN队列,并根据多个Guest的发送周期和时间需求统一生成和配置GCL,使各Guest的通信需求能够在共享硬件上形成一致的发送时序,即在各Guest、ZVM、与TSN硬件之间建立协同机制,实现流量、队列、带宽、时间窗口和GCL的统一管理,使任务执行、数据产生与TSN报文发送之间建立可预测的时序关系,从而将网络侧的确定性能力延伸至ZVM端侧。
02 虚拟化方案的TSN融合对比
在虚拟化环境中引入TSN,首先要求Guest能够使用TSN,但关键点在于“TSN由谁管理以及多个Guest之间如何协调TSN通信”。现有方案已经能够通过硬件直通或硬件虚拟化向Guest提供TSN能力。例如,Wind River Helix采用TSN硬件直通方式,由Guest直接使用TSN设备;Renesas基于Xen实现了TSN队列和PTP硬件时钟(PHC)的虚拟化,使不同Guest能够共享TSN硬件资源和时间基准。这些方案解决了虚拟化环境中的TSN访问和资源共享问题,但TSN资源的具体使用仍主要围绕Guest展开。对于多个Guest共享同一物理TSN链路的场景,如果各Guest分别维护自身的流量、队列和GCL配置,Wind River Helix/Renesas Xen难以从系统整体角度协调不同Guest的发送窗口和资源占用关系。表1给出了三类虚拟化方案在TSN支持方式等方面的对比。
表1:ZVM与典型虚拟化方案的TSN融合能力对比
| 对比维度 | Wind River Helix | Renesas Xen | ZVM |
|---|---|---|---|
| TSN支持方式 | TSN硬件直通 | TSN队列与PHC虚拟化 | ZVM原生集成TSN |
| TSN资源管理 | Guest负责 | Guest使用虚拟化资源 | ZVM统一管理 |
| GCL/门控配置 | Guest负责 | Guest负责 | ZVM统一管理 |
| 跨Guest协同 | 弱 | 支持资源共享 | ZVM统一调度 |
ZVM将TSN纳入统一资源管理体系,根据各Guest的流量需求统一完成流量分类、优先级映射、队列分配、发送窗口规划和GCL配置,并协调不同Guest之间的TSN资源使用。这样,ZVM不仅解决“Guest能不能用TSN”的问题,还进一步解决“多个Guest如何共享TSN以及如何保证共享后的发送时序一致”的问题。
03 ZVM:基于RTOS原生虚拟化的TSN融合方案
如图1所示,ZVM-TSN融合架构以ZVM为核心,Guest通过VirtIO与ZVM建立网络通信通道,由ZVM统一接收和管理不同Guest产生的网络流量,并通过AXI4-Lite向TSN IP下发相关配置,实现软件管理与硬件执行的协同。
图1:ZVM-TSN融合架构
- • Guest层:ZVM支持多个实时OS和非实时OS共存运行。各Guest通过VirtIO前端发送和接收网络数据,其中实时OS流量被分配为ST、RES实时流,非实时OS的流量被分配为BE流。Guest无需直接访问TSN硬件,而是通过统一的VirtIO接口将网络流量交由ZVM处理。
- • ZVM层:ZVM通过VirtIO后端统一接入各Guest的网络流量,并由TSN流量管理器根据业务需求进行统一处理,包括时间同步、GCL配置、流量监管和帧抢占管理。ZVM基于不同Guest的流量特征和实时性要求,对TSN相关资源进行统一配置,并通过统一的时间基准和门控策略协调不同Guest的通信需求。
- • TSN硬件层:TSN IP部署于硬件侧,提供时间同步、TAS/GCL调度、流量筛选与监管以及帧抢占等硬件功能。ZVM通过AXI4-Lite向TSN IP下发相应的配置参数,由硬件执行具体的TSN调度和报文传输,从而将ZVM的软件管理能力落实到确定性的硬件数据通路。
通过上述机制,VirtIO负责完成Guest与ZVM之间的网络接入,ZVM统一管理TSN通信策略,TSN IP负责执行具体的硬件调度与传输。Guest主要负责产生和提交业务数据,ZVM根据多个Guest的通信需求统一决定流量的时间基准、门控策略及相关TSN资源配置,硬件则按照ZVM下发的策略执行报文传输。因此,TSN不再依赖某一个Guest独立管理,而是成为由ZVM统一提供和协调的系统级确定性通信能力。
04 TSN融合带来的收益
- • TSN资源统一管理:ZVM通过VirtIO统一接收多个Guest的网络流量,并从系统整体角度完成优先级映射、队列分配和GCL配置。相比由各Guest独立管理TSN资源,ZVM能够统一协调共享队列、带宽和时间窗口,避免不同Guest之间产生资源竞争和门控冲突。
- • 端侧确定性延伸:通过在发送端引入GCL,ZVM能够控制不同业务流进入TSN网络的发送时刻,使任务执行、数据产生与报文发送建立确定的时间关系,实现从计算到通信的端到端确定性。
- • 多OS确定性协同:不同Guest无需直接访问TSN硬件,也无需分别维护底层TSN调度机制。实时OS和非实时OS通过VirtIO接入ZVM,由ZVM根据业务需求统一进行TSN资源调度,从而实现多OS共享同一TSN硬件时的确定性隔离与协同。
- • 系统架构简化:将TSN资源管理集成到ZVM后,Guest只需关注业务数据和通信需求,底层队列、门控和硬件配置由ZVM统一处理,减少各Guest重复实现TSN功能带来的软件复杂度,同时提高不同OS混合部署时的系统一致性和可维护性。
05 小结
ZVM与TSN融合解决了多个Guest共享TSN资源时的统一管理与确定性调度问题。ZVM通过将流量、队列、时间窗口和GCL纳入其统一管理,使不同Guest的通信需求能够被统一映射和协调。ZVM将TSN从单Guest可使用的网络功能提升为多Guest统一管理的系统级确定性通信服务,实现计算资源与通信资源的一体化确定性管理。