Skip to main content

VMware does a performance study on AMD's RVI

Nice read, this doc.

In a native system the operating system maintains a mapping of logical page numbers (LPNs) to physical page numbers (PPNs) in page table structures. When a logical address is accessed, the hardware walks these page tables to determine the corresponding physical address. For faster memory access the x86 hardware caches the most recently used LPN->PPN mappings in its translation lookaside buffer (TLB).

In a virtualized system the guest operating system maintains page tables just like in a native system, but the VMM maintains an additional mapping of PPNs to machine page numbers (MPNs). In shadow paging the VMM maintains PPN->MPN mappings in its internal data structures and stores LPN->MPN mappings in shadow page tables that are exposed to the hardware. The most recently used LPN->MPN translations are cached in the hardware TLB. The VMM keeps these shadow page tables synchronized to the guest page tables. This synchronization introduces virtualization overhead when the guest updates its page tables.
Using RVI, the guest operating system continues to maintain LPN->PPN mappings in the guest page tables, but the VMM maintains PPN->MPN mappings in a second level of page tables, called nested page tables. When a logical address is accessed, the hardware walks the guest page tables as in the case of native execution, but for every PPN accessed during the guest page table walk, the hardware also walks the nested page tables to determine the corresponding MPN. This composite translation eliminates the need to maintain shadow page tables and synchronize them with the guest page tables. However the extra operation also increases the cost of a page walk, thereby impacting the performance of applications that stress the TLB. This cost can be
reduced by using large pages, thus reducing the stress on the TLB for applications with good spatial locality.

For optimal performance the ESX VMM and VMkernel aggressively try to use large pages for their own memory when RVI is used.


Get the Whitepaper here

Comments

Popular posts from this blog

Security: VMware Workstation 6 vulnerability

vulnerable software: VMware Workstation 6.0 for Windows, possible some other VMware products as well type of vulnerability: DoS, potential privilege escalation I found a vulnerability in VMware Workstation 6.0 which allows an unprivileged user in the host OS to crash the system and potentially run arbitrary code with kernel privileges. The issue is in the vmstor-60 driver, which is supposed to mount VMware images within the host OS. When sending the IOCTL code FsSetVoleInformation with subcode FsSetFileInformation with a large buffer and underreporting its size to at max 1024 bytes, it will underrun and potentially execute arbitrary code. Security focus

Linux, Linux : Get started with VMWare and Knoppix or Ubuntu Live CD!

Well everyone's talking about it now and you're wondering "what the heck is Linux?". So you've finally come face to face with yourself and say it loudly(errum..In your head first , please). I want to learn it! I admit it, I've been a fool! I hafta learn this kool OS! OK chill! You're faced with a challenge of all that installation crap. And boy, ask the veterans they've made lot's of money just installing Linux and installing Oracle on Linux was a big thing. And talking about setting about clusters was only for Big Boys and doing Oracle RAC setup was only for BEEEG BOYZ!!! Ok I can see you're already sleeping on my story. And Hey! Stop drooling on my shoulder! Wake up!!! You yell back at me " WHAT DO I HAFTA DO? WHERE I GOTTA KLIK? I Don't wanna fight with my wife over installing Linux at home? And my Microsoft Boss is angry because I made my colleagues so scared when I installed Linux at work? Ok Ok I get it. You want to learn it'...