软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2025年第9期:RISC-V架构下的懒惰影子页表模型

发布日期:

作者:李传东,衣然,罗英伟,汪小林,王振林

单位:李传东,北京大学 计算机学院, 北京 100871;多媒体信息处理全国重点实验室(北京大学), 北京 100871;中关村实验室, 北京 10009411,衣然,北京大学 计算机学院, 北京 100871;多媒体信息处理全国重点实验室(北京大学), 北京 10087102,罗英伟,北京大学 计算机学院, 北京 100871;多媒体信息处理全国重点实验室(北京大学), 北京 100871;中关村实验室, 北京 10009403,汪小林,北京大学 计算机学院, 北京 100871;多媒体信息处理全国重点实验室(北京大学), 北京 100871;中关村实验室, 北京 10009404,王振林,Michigan Technological University, Houghton 49931-1295, USA05

关键词:RISC-V;虚拟化扩展;内存虚拟化;影子页表;嵌套页表

基金:国家重点研发计划(2022YFB4500701); 国家自然科学基金(62032008, 62032001, 62372011)

内存虚拟化作为虚拟化技术的核心组成部分, 直接影响虚拟机的整体性能. 目前, 主流的内存虚拟化方法在两维地址翻译开销与页表同步开销之间面临权衡. 传统的影子页表模型通过一套由软件维护的页表, 实现了与原生(native)环境相当的地址翻译性能. 然而, 由于影子页表的同步依赖于基于写保护的机制, 频繁的虚拟机退出(VM-exit)会严重影响系统性能. 相对而言, 嵌套页表模型依靠硬件辅助虚拟化, 允许虚拟机的客户页表直接加载到内存管理单元中, 从而避免了页表同步的开销. 然而, 这种方法的两维页表遍历却显著降低了地址翻译效率. 基于RISC-V架构下的特权级模型和虚拟化硬件特性, 提出了一种懒惰影子页表模型LSP (lazy shadow paging), 在保留影子页表的地址翻译高效性的同时降低了页表同步开销. 懒惰影子页表模型深入分析了客户机对页表页的访问模式, 将页表同步与转址旁路缓存(translation lookaside buffer, TLB)刷新操作绑定以降低虚拟机退出的数量. 然后, 利用RISC-V架构中对TLB的细粒度刷新且可拦截的特性, 无效化需同步的影子页表项, 将页表同步的软件开销推迟到了首次访问该页面的时刻. 此外, 懒惰影子页表模型利用RISC-V架构中全新的特权级模型, 设计了TLB拦截的快速路径, 进一步减少了虚拟机退出带来的软件开销. 实验结果表明, 在基础RISC-V架构下, 懒惰影子页表相对于传统影子页表在微基准测试中降低了最多50%的虚拟机退出数量. 在支持RISC-V的虚拟化扩展架构下, 懒惰影子页表对SPEC2006基准测试中的典型应用相较于传统影子页表降低了最多25%的虚拟机退出数量, 相较于嵌套页表每次TLB缺失降低了12次访存.

来源:2025年第9期

《软件学报》期刊编辑部

查看软件学报杂志2025年第9期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员