0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

完整符合服务器需求的虚拟化解决方案X100+AIA+IOMMU

进迭时空 2025-06-06 17:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


虚拟化是云计算技术基石,是RISC-V走进云计算等高性能计算场景的必然要求。

虚拟化允许在单一物理硬件上创建出多个虚拟实例或环境,每一个虚拟环境拥有和物理机相近的计算能力、存储和网络等处理能力,提供了类似物理机的性能和环境,这个虚拟环境通常被称作虚拟机(Virutal Machine)。通过虚拟化,用户可以在同一台服务器上运行多个操作系统、应用程序或服务,从而提高资源利用率、简化管理并降低成本。和直接使用物理机相比,拥有虚拟化能力的硬件平台在资源的有效利用、动态调配和高可靠性方面有着巨大的优势。

在新引入的虚拟化层运行的管理程序通常称为虚拟机管理器(Virtual Machine Manager, VMM),也叫做Hypervisor。虚拟机管理器所运行的环境,也就是真实的物理硬件平台,称之为宿主机(Host)。而虚拟出来的虚拟硬件平台通常称为客户机(Guest),客户机里运行的系统也对应地称为客户机操作系统(Guest OS)。

通过软件模拟实现的虚拟化需要Hypervisor大量截获Guest OS的特权操作,并模拟客户机相应的操作,整个操作过程会涉及大量宿主机和客户机上下文之间的切换,从而会导致客户机的运行效率受到极大的影响。硬件辅助虚拟化就是物理硬件平台本身提供了对特殊指令的截获和重定向的硬件支持,甚至,新的硬件会提供额外的资源来帮助软件实现对关键硬件资源的虚拟化,从而提升性能。

RISC-V国际基金会2021年制定了Hypervisor 1.0规范,2023年制定了AIA 1.0规范和IOMMU 1.0规范,这3个规范定义了RISC-V硬件辅助的CPU虚拟化、外设虚拟化规范,形成了RISC-V特色的硬件辅助虚拟化完整解决方案。

01

CPU虚拟化

进迭时空研发的高性能CPU核X100符合RISC-V Hypervisor Extension (RVH) V1.0标准,支持硬件辅助CPU虚拟化。

虚拟化特权级

操作系统需要为用户态应用程序(User Applications)和操作系统内核(Kernel)提供不同的(U/S)特权级之间的硬件隔离(通常通过MMU),从而提高计算机的性能和安全性。

宿主机操作系统同样需要为客户机和宿主机提供隔离的运行环境;不支持硬件虚拟化的CPU通常只能在较低特权(U)上虚拟出运行Guest OS所需要的虚拟特权级(Virutal U/S), 运行在虚拟特权级(Virtual S)的Guest操作系统访问特权指令时需要陷入到S特权级,并由运行在S特权级的Hypervisor截获操作并代为完成。

X100将RISC-V的(U/S/M)特权级扩展成(VU/VS/HS/M)特权级以支持Hypervisor和Guest OS所需要的运行环境。

X100 通过RVH扩展提供了运行Guest OS所需要的虚拟特权级(Virtual U/S), 其中(VU/VS)特权级分别用于运行Guest OS的用户态应用程序及操作系统内核,而Host OS以及其应用程序则运行在HS/U特权级下。同时为了减少由于模拟客户机特权指令导致的上下文切换,X100 RVH虚拟化扩展为运行Guest OS的vCPU提供了虚拟特权指令,从而提高了整个系统运行的安全性以及虚拟机的运行效率。

此外,硬件自动截获Guest OS少量特殊指令和特权操作,可以使得虚拟机管理器实现多个Guest OS之间的调度。

MMU虚拟化

操作系统通过虚拟内存管理系统管理自己的连续物理内存视图,按需配置为不同权限分配给用户态应用程序和操作系统内核隔离硬件资源。

而Hypervisor操作系统中只存在一级地址转译,要么通过截获Guest OS的地址转译实现Guest虚拟地址(GVA)到Host虚拟地址(HVA)也即Guest物理地址(GPA)之间的转译,要么通过配置额外的软件实现的影子页表(Shadow Page Table)来实现Guest虚拟地址(GVA)直接到Host物理地址(HPA)之间的转译。即便后者减少了Hypervisor介入的频度,但是因为不存在硬件实现专用于虚拟机带VMID的转换后备缓存(Translation Lookaside Buffer,TLB),虚拟机切换需要频繁冲刷硬件TLB,导致转译性能低下。

X100的MMU支持VS-stage和G-stage两级地址转译,其中VS-stage地址转译由Guest OS维护,用于将GVA转译成GPA;G-stage地址转译由Hypervisor维护,用于将GPA转译成真正的Host物理地址(HPA)。

转译过程不再需要虚拟机管理器参与修改一级地址转译中专用于GVA到GPA映射关系的表项,也可以命中硬件转译的TLB缓存,极大提高了虚拟机的运行效率。

02

外设虚拟化

进迭时空研发的高性能CPU核X100和配套的T100系统外设符合RISC-V IO Memory Management Unit (IOMMU) V1.0和RISC-V Adavanced Interrupt Architecture (AIA) V1.0标准,支持硬件辅助PCIe外设虚拟化。

IO虚拟化

操作系统可以软件模拟(I/O Emulation)一个外设,也可以将硬件外设直接分配(I/O透传,IO Pass-through)给Guest OS运行。

无论哪种方式,物理外设只有一个,要么由Host OS操作要么由Guest OS操作。而外设虚拟化的核心应用则是支持PCI-SIG组织维护的SR-IOV规范。该规范允许硬件上将单个的外设物理功能(Physical Function,PF)虚拟出多个外设虚拟功能(Virtual Function,VF),并利用I/O透传技术将虚拟功能分配给Guest OS。

X100配套搭载的T100支持S1和S2两级地址转译,分别用于GVA到GPA的地址转译及GPA到HPA的地址转译,以此来支持I/O透传技术,使得分配给虚拟机的加速器外设的PF或VF可以直接使用Guest OS的虚拟地址进行DMA传输,这使得利用Guest OS的CPU地址编写的程序中的指针可以直接传递给加速器使用,为CUDA等基于编译器的算力加速解决方案提供了硬件基础。

除了地址转译,IOMMU还支持PCIe的ATS/PRI等扩展功能,允许支持ATC功能的PCIe加速器外设缓存地址翻译表项和按需申请内存映射。此外IOMMU还支持MSI_FLAT类型的MSI页表为中断(IRQ)虚拟化提供了中断向量表的翻译加速。

IRQ虚拟化

即便虚拟机可以操作通过IO透传分配给它的硬件外设,硬件外设的中断也需要特殊的机制才能直接传递到虚拟机中,否则就只能由收到外设中断的Host OS通过软件方式将硬件中断递送到Guest OS。基于消息的中断(MSI)允许硬件外设通过消息将中断发往指定的地址。而IRQ虚拟化技术是通过将中断发往AIA扩展中为虚拟特权(VS)提供的MSI虚拟中断通道,从而实现虚拟中断对虚拟机的中断直通。

X100配套搭载的AIA支持HS/VS特权级的CPU核内的中断抽象,每个Guest和Hypervisor都有自己的中断处理文件。当外设产生中断时,可以通过设置对应虚拟机的中断文件来向它投送中断,从而支持了中断虚拟化。AIA还提供IMSIC中断控制器为不同中断文件接收MSI中断,以及APLIC将连线中断转化为MSI中断。至此,外设PF和VF可以将MSI中断直接发往虚拟机而不需要经过Hypervisor干预。

03

虚拟化运行演示

基于X100处理器、AIA和IOMMU,进迭时空实现了服务器芯片原型系统,移植开发了OpenSBI、Linux Kernel、openEuler OS等系统软件,并在其上成功运行了服务器KVM虚拟机及GuestOS,并通过PCIe接口实现了NVMe设备的虚拟化。具体运行过程可以参看下方视频

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    13

    文章

    9795

    浏览量

    87994
  • 虚拟化
    +关注

    关注

    1

    文章

    400

    浏览量

    30241
  • RISC-V
    +关注

    关注

    46

    文章

    2572

    浏览量

    48830
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是服务器虚拟化?私人云服务器

    什么是 服务器虚拟化 ? 服务器虚拟化是一种将物理服务器转化为虚拟
    的头像 发表于 08-08 10:44 1778次阅读

    宝界科技WEB服务器立体防御解决方案

    宝界科技WEB服务器立体防御解决方案 关键字:网页防篡改、WEB应用防火墙、WEB加固、WEB保护、WEB防火墙、硬件   
    发表于 05-17 14:01

    宝界科技WEB服务器立体防御解决方案

    宝界科技WEB服务器立体防御解决方案 关键字:网页防篡改、WEB应用防火墙、WEB加固、WEB保护、WEB防火墙、硬件   
    发表于 08-19 11:02

    269私有云服务器的完全解决方案

    越来越强烈,但出于成本、专业人员等方面的限制,他们做不到像大型企业那样挥洒自如地投巨资建设。对于上述需求,目前已有相关的解决方案推出,上海源邮科技推出的269私有云服务器(微信号:269微管家),采用
    发表于 04-13 18:11

    Firefly集群服务器解决方案

    86服务器,而随着人们对服务器工作负载模式的新需求,越来越多的智能场景需要小型服务器来部署。方案简介集群
    发表于 08-16 15:09

    风河推出嵌入式虚拟化解决方案Hypervisor 1.1版本

    风河推出嵌入式虚拟化解决方案Hypervisor 1.1版本 Intel全资子公司风河(Wind River)近日宣布,推出支持单核及多核处理的嵌入式虚拟
    发表于 03-20 09:47 1317次阅读

    服务器虚拟化硬件配置需求计算方法

    服务器虚拟化硬件配置需求计算方法,例如每个虚拟机需要1个CPU,2G内存,100G硬盘,100M
    发表于 01-30 17:26 1376次阅读

    服务器虚拟化的优势、应用及趋势’

    组织正在快速地收集、处理、存储和使用数据,以至于物理服务器难以满足组织的业务需求。现在是虚拟服务器虚拟化的时代。
    的头像 发表于 03-04 15:31 2486次阅读

    基于MCU的虚拟化解决方案平台的介绍

      Zone-ECU虚拟化解决方案平台是一个全面的工具包,支持客户开发、展示和针对新E/E架构开发或研究的ECU基准测试。
    的头像 发表于 05-05 17:35 2110次阅读
    基于MCU的<b class='flag-5'>虚拟</b><b class='flag-5'>化解决方案</b>平台的介绍

    基于MCU的虚拟化解决方案平台的介绍

      Zone-ECU虚拟化解决方案平台是一个全面的工具包,支持客户开发、展示和针对新E/E架构开发或研究的ECU基准测试。
    的头像 发表于 05-20 16:03 2341次阅读
    基于MCU的<b class='flag-5'>虚拟</b><b class='flag-5'>化解决方案</b>平台的介绍

    T-Head原型为虚拟IOMMU提供创新的硬件支持

    。 T-Head IOMMU虚拟 IOMMU 设计展示了一种向虚拟机公开与主机使用的虚拟 IOMMU
    的头像 发表于 06-02 14:06 1371次阅读
    T-Head原型为<b class='flag-5'>虚拟</b><b class='flag-5'>IOMMU</b>提供创新的硬件支持

    Gartner报告解读:“中国语境”服务器虚拟化市场指南

    负载的服务器虚拟化解决方案。 近日,Gartner发布China Context: ‘Y23Q2 Market Guide for Server Virtualization’(中国语境:2023Q2
    的头像 发表于 06-27 17:04 1366次阅读

    美格智能LXC容器化解决方案,轻松玩转多系统虚拟

    美格智能LXC(Linux Container)容器化解决方案专为各类物联网终端设备设计,基于LXC内核,通过轻量化的容器技术,让应用程序可以在不同的环境中运行,可以满足智能汽车、机器人、服务器等行业的多系统虚拟化部署
    的头像 发表于 01-17 17:16 860次阅读
    美格智能LXC容器<b class='flag-5'>化解决方案</b>,轻松玩转多系统<b class='flag-5'>虚拟</b>化

    服务器虚拟服务器的区别是什么

    服务器虚拟服务器是两种常见的服务器类型,它们在很多方面有相似之处,但也有一些关键的区别。本文将详细介绍云服务器
    的头像 发表于 07-02 09:48 1559次阅读

    进迭时空服务器芯片发布:64 位RISC-V架构、12nm

    。据介绍,V100服务器芯片采用了公司自研的RISC-VCPU核心X100、支持中断虚拟化的AIA和APLIC、支持内存
    的头像 发表于 01-09 18:04 1319次阅读
    进迭时空<b class='flag-5'>服务器</b>芯片发布:64 位RISC-V架构、12nm