这篇论文《Tai Chi: A General High-Efficiency Scheduling Framework for SmartNICs in Hyperscale Clouds》(https://dl.acm.org/doi/10.1145/3731569.3764851)由阿里巴巴集团团队发表于 SOSP ’25,针对超大规模云环境中 SmartNIC 上控制平面(Control Plane, CP)与数据平面(Data Plane, DP)任务调度效率低下的问题,提出了一种创新的软硬件协同调度框架——Tai Chi。其核心创新点可归纳为以下五方面:


1. 首次实现 CP 与 DP 的高效协同调度,兼顾双方 SLO

  • 问题背景:现有 SmartNIC 部署采用静态 CPU 分区——DP 为保障低延迟预留大量 CPU(导致 67.5% 的 CPU 空闲),而 CP(如 VM 启动)因资源不足频繁违反 SLO。
  • Tai Chi 的突破:通过动态复用 DP 的空闲 CPU 周期来加速 CP 任务,在不牺牲 DP 性能的前提下,将 VM 启动时间缩短 3.1 倍,显著提升资源利用率与 CP SLO 满足率。

2. 提出“混合虚拟化”(Hybrid Virtualization)架构

  • 传统虚拟化缺陷
    • Type-1(如 Xen):DP 运行在 vCPU 上,引入 7%+ 性能开销;
    • Type-2(如 QEMU/KVM):DP 与 CP 分属不同 OS,破坏原生 IPC,需大量代码改造。
  • Tai Chi 创新设计
    • DP 直接运行在物理 CPU(pCPU)上 → 零虚拟化开销;
    • CP 运行在虚拟 CPU(vCPU)上,但 vCPU 与 pCPU 共享同一操作系统内核
    • 通过 1:1 物理/虚拟地址映射 和 统一 IPI 编排器(Unified IPI Orchestrator),使 vCPU 对 OS 完全透明(如 lscpu 无法区分),保留原生 IPC 语义(如共享内存、信号、管道等)。

✅ 实现了“虚拟化隔离 + 原生性能 + 无缝通信”的三重目标。


3. 利用硬件特性实现微秒级(µs-scale)抢占,消除长尾延迟

  • 关键挑战:CP 任务包含毫秒级非可抢占内核例程(如 spinlock),会阻塞 DP 的突发 I/O,引发 DP 长尾延迟。
  • Tai Chi 解法
    • 将 CP 任务置于 vCPU 上执行 → 利用硬件虚拟化支持的 VM-exit 机制,可在任意时刻中断 CP(即使在内核中);
    • 结合 硬件工作负载探针(Hardware Workload Probe):利用 SmartNIC 可编程 I/O 加速器在 I/O 包到达前 2.7µs 预处理窗口,提前触发中断,主动抢占 vCPU,恢复 DP 执行;
    • 巧妙隐藏 2µs 的 vCPU 切换开销,实现 µs 级调度精度,避免 DP 延迟尖峰。

4. 零侵入式部署,兼容现有生态

  • 无需修改 CP/DP 代码
    • CP 任务通过标准 CPU 亲和性(如 cgroup)绑定到 vCPU;
    • DP 服务只需插入 <10 行代码 调用 notify_idle_DP_CPU_cycles() 接口(或通过空轮询计数自动检测);
    • vCPU 被注册为“原生 CPU”,所有 IPC、系统调用行为与物理 CPU 一致。
  • 跨平台兼容:支持 NVIDIA BlueField-3、Intel IPU、阿里 CIPU、Azure SmartNIC 等主流 SmartNIC。

5. 极低开销,已在生产环境大规模验证

  • 性能开销极小
    • DP 平均性能开销仅 0.7%(峰值 1.92%),主要来自 cache/TLB 污染;
    • 虚拟化调度开销被硬件探针“隐藏”,ping RTT 与基线几乎一致。
  • 生产验证:已在阿里云超大规模生产环境部署三年,无 DP SLO 违规报告,VM 启动延迟稳定降低 3.1 倍。

总结:Tai Chi 的核心创新价值

维度 传统方案 Tai Chi
调度粒度 毫秒级 微秒级
CP/DP 隔离 静态分区 / 进程隔离 vCPU/pCPU 混合虚拟化
IPC 语义 需 RPC 改造 原生 IPC 透明保留
部署侵入性 高(需改 CP/DP) 零代码修改
硬件依赖 需新特性(如 UINTR) 兼容现有 SmartNIC
生产适用性 实验室原型 已大规模商用三年
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐