高级检索

    申威架构下的软件平滑嵌套页表

    Software-Based Flat Nested Page Table in Sunway Architecture

    • 摘要: 嵌套页表是一种硬件辅助的内存虚拟化模型,当前国产申威处理器上未能提供该模型所需的硬件支持.然而申威架构特有的特权程序可编程接口可以通过软件构建必要的底层硬件支持.该接口运行在申威硬件模式上,具有最高CPU特权级.基于这一特性,在申威平台上实现了软件平滑嵌套页表模型swFNPT,通过软件设计优化弥补了硬件支持上的不足.特别地,使用平滑(1级)嵌套页表代替4级嵌套页表来提升页表查询效率.使用多组测试程序测试该设计的性能.在申威1621服务器上的实验结果表明:swFNPT整体性能良好.SPEC CPU 2006的平均内存虚拟化开销约为3%,SPEC CPU 2017中大工作集程序的平均开销约为4%,STREAM内存带宽测试结果显示swFNPT的带宽损失低于3%.这一工作可以为申威架构的硬件辅助虚拟化发展提供有价值的参考.

       

      Abstract: The nested page table (NPT) model is an effective, hardware-assisted memory virtualization solution. However, the current Sunway processor lacks hardware support of NPT. However, the privileged programmable interface of Sunway architecture can be used to emulate the necessary hardware support with software. Hardware mode is the CPU privilege level unique to Sunway. This interface runs on the Sunway hardware mode with the highest CPU privileged level. In this paper, we propose the software-based flat nested page table (swFNPT) model for Sunway. In the programmable interface, we software-implement the hardware functions required by the nested page table model, such as nested page table walking. The new design makes up for the deficiency in hardware support through software optimization. In particular, the flat (one-level) nested page table is used to improve the efficiency of page walk. We use multiple benchmarks to test the performance of swFNPT. The experiments on a Sunway 1621 server show the promising performance of swFNPT. The average memory virtualization overhead of SPEC CPU 2006 is about 3% and the average overhead for SPEC CPU 2017 benchmarks with large working set is about 4%. The STREAM result shows that the memory bandwidth loss of swFNPT is less than 3%. Therefore, this paper provides a valuable reference for future development of hardware-assisted virtualization of Sunway server.

       

    /

    返回文章
    返回