Swift shadow paging (SSP): no write-protection but following TLB flushing
Autor: | Zhang Yi, Zhenlin Wang, Sai Sha, Yingwei Luo, Xiaolin Wang |
---|---|
Rok vydání: | 2021 |
Předmět: |
010302 applied physics
Computer science Translation lookaside buffer 020207 software engineering Hypervisor 02 engineering and technology computer.software_genre Virtualization 01 natural sciences Memory virtualization 0103 physical sciences 0202 electrical engineering electronic engineering information engineering Operating system Overhead (computing) Paging Page table computer Context switch |
Zdroj: | VEE |
DOI: | 10.1145/3453933.3454012 |
Popis: | Virtualization is a key technique for supporting cloud services and memory virtualization is a major component of virtualization technology. Common memory virtualization mechanisms include shadow paging and hardware-assisted paging. The shadow paging model needs to synchronize shadow/guest page tables whenever there is a guest page table update. In the design of traditional shadow paging (TSP), the guest page table pages are write-protected so the updates can be intercepted by the hypervisor to ensure synchronization. Frequent page table updates cause lots of VM_Exits. Researchers have developed hardware-assisted paging to eliminate this overhead. However, address translation needs to walk a two-dimensional page table. This design significantly increases the overhead of page walk. This paper proposes SSP, a Swift Shadow Paging model which leverages the privileged hardware mode. In this design, the write protection mechanism is no longer needed. Rather, SSP accomplishes lazy page table synchronization by intercepting TLB flushing, which must be initiated by the guest OS when there is a page table update. The hardware mode, such as RISC-V’s machine mode and Sunway’s hardware mode, with the highest privilege, opens a new door for communication between the host OS and a guest OS. In addition, by using a shadow page table base address buffer, SSP eliminates the VM_Exits generated by guest process context switching. SSP inherits the advantage of TSP as it remains as a software-only solution and does not incur the excessive overhead of page walk when compared to hardware-assisted paging. We implement SSP in a Sunway machine. Our evaluation demonstrates SSP’s advantage for multiple workloads. Compared with TSP, SSP reduces VM_Exits caused by memory virtualization by 23%-56%. And the virtualization overhead of SSP is less than 5.5% for all workloads. |
Databáze: | OpenAIRE |
Externí odkaz: |