Replies: 5 comments 1 reply
-
|
赞成把分散的配置、分散的体系结构条件编译等进行集中处理,但是感觉不一定集中后都直接放置到axvisor。 |
Beta Was this translation helpful? Give feedback.
-
重构前的结构重构后的结构
重构后
|
Beta Was this translation helpful? Give feedback.
-
|
以前的设计抽象层次较多,倾向于垂直化管理;新设计减少了部分中间层,倾向于扁平化。属于各有利弊。 |
Beta Was this translation helpful? Give feedback.
-
|
Who is responsible for the lifetime management and scheduling of each vCPU |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Axvisor 配置与架构解耦技术方案
1. 背景与动机
当前 axvisor 项目包含三个核心 crate:
随着对多架构(如 RISC-V、AArch64、x86_64 等)与多平台(不同 SoC / 板级)的支持增加,项目内部出现以下问题:
#[cfg(...)])在 axvm 与 axdevice 中大量散落,难以维护。造成信息路径割裂。
vCPU核心功能差异:
虚拟中断控制器差异对比:
2. 目标
3. 优化方案
新的设计理念:从"vCPU层抹除差异"转变为"VM层抹除差异,vCPU求同存异"。核心相似功能抽象,架构特性独立,最小公约的函数组合,最终在VM层抹除架构差异
新分层架构
管理层 (axvisor): 负责虚拟机的高层管理逻辑,如VM生命周期管理、vCPU调度和资源分配。
VM层 (axvm): 提供统一的虚拟化抽象接口,定义trait和基础类型,协调各架构实现,提供给axvisor的接口已抹除架构差异。
架构层 (axvm/arch): 实现架构特定的虚拟化功能,为axvm接口提供实现,隔离架构相关代码,每个架构独立维护。每个架构模块内部依赖具体的实现组件。
架构实现层: 包含具体的架构实现模块,如arm_vcpu、arm_vgic、x86_vcpu等,为架构层提供底层功能支持。
架构共性层 (axvm/common): 在vm层级内,提供各架构通用的辅助功能和工具函数,减少重复代码。
14. 结论
通过将所有架构相关与配置决策逻辑上移至 axvisor,并为 axvm、axdevice 提炼统一抽象与配置注入流程,可显著提升:
Beta Was this translation helpful? Give feedback.
All reactions