返回首页

ZVM特性:vCPU 超映射

01 “1 V 多”:突破物理核限制

超映射意味着一个物理 CPU(pCPU)可以配置并运行多个虚拟 CPU(vCPU),通过时间分片复用硬件资源。我们团队通常称之为“1 V 多”(或 1 虚多)。与之相对的是普通映射(1:1 绑定),即“1 V 1”

1 V 多映射

图1. “1 V 多”超映射

1 V 1 映射

图2. “1 V 1”普通映射

行业实现参考

支持/鼓励超映射的系统:

KVM XEN ACRN QNX VxWorks

不支持/不鼓励超映射的系统:

Jailhouse Bao

02 为什么需要超映射?

以 4 核控制器为例,扣除 ZVM 占用,仅剩 3 核。若采用“1 V 1”,最多启动 3 个客户 OS。但在小型 AGV 控制器场景下,通常需要部署 5 个以上的功能域:

  • 1ms 电机控制 (RTOS)
  • 视觉/激光感知 (Linux, 软实时)
  • HMI 可视化 (Linux, 突发型)
  • 日志上传 (Linux, 后台)
  • 5G/TSN 网关 (Linux, 背景服务)
vCPU映射应用示意

图3. AGV 多域混合部署应用示意

通过“1 V 2”超映射,我们可以获得 6 个 vCPU,从而完美契合多域部署需求。

03 ZVM 设计原则

原则 1: 一个 pCPU 可以映射并运行多个 vCPU。
原则 2: 一个 vCPU 只分配给一个固定 OS。
原则 3: 一个 OS 可以以多核方式运行在多个 vCPU 上。
原则 4: 同一 pCPU 映射出的多个 vCPU 不允许分配给同一 OS。
vCPU超映射原则

图4. vCPU 超映射逻辑结构

04 混合部署:实时与非实时的和谐共存

超映射带来的分时复用必然会放大时延抖动。ZVM 在发行版中将最小时间片稳定调至 100 µs。虽然这能承载更多 Linux 域,但对于执行高精度控制任务的 RTOS 来说,抖动依然不可接受。

为此,ZVM 在硬件层面将物理 CPU 核划分为两个功能组:

非实时域 pCPU 组

采用“1 V 多”超映射,专门运行 Linux 等软实时或非实时系统,追求吞吐量与利用率。

实时域 pCPU 组

采用“1 V 1”普通映射,专门运行 RTOS(如 ZVM 原生内核),追求极致的时间确定性与零抖动。

实时/非实时域分组图

图5. 实时/非实时域分组架构图

“ZVM 通过超映射与普通映射并存的体系,既满足了嵌入式场景高密度部署的实际需求,又捍卫了工业控制对实时确定性的底线。这种灵活的 CPU 调度策略,是 ZVM 契合混合关键性系统(MCS)实际应用的核心能力。”

扫码查看视频介绍

小红书二维码

小红书视频

微信二维码

微信视频号/公众号