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

Our frozen chi's and the Workfloor

I left home when I was 20. I had studied Physics(Major) and had no idea what to do next. I took to the seas, I think looking back it was more like a refuge, an asylum. Seeking to get away from all that peer pressure, myself and what not. 1991 June 7, around midnight I arrive in Lagos, Nigeria. Company agent ships me to the nearby hotel to wait for my first “boat”. That's the first time in my life I saw a lot of people , a race totally different from ours. I was warned to be careful, protect my wallet, but they came across as just about any other regular folk. That was my “first encounter”. Funny, since then I have worked with all kinds of nationalities (Japanese, Chinese, Malaysians, Indonesians, Dutch, Scandinavians, Thai, Americans, Spanish, Argentinians,..I can go on and on). What I have learned in all that is that we are all so much alike. But on board a ship it is “ really ” different. Your job is crucial and you must work together. That makes you accept each other realistica...

A Collection of Threnodies : Part 1

Whale Fall ----------------- Dress me up in my new threads clasp my greasy palms grease my hair I'm ready for the fall Watch at all the decadence watching the avalanche I'm slipping down losing my buoyancy What's become of us where have we come this far, this close close to the doors I hear them, sublimal chants I'm on the run I race through the human sea I am the king! I'm the slave to my own undoings I'm the jester in my courtyard We jest as we run We're strolling on that thin rope we grope as we rope we're true heros we're the survivors we're the scavengers we're the friends we're the lovers we're the unbred Soon awaiting the fall we're lurking on us we're osedaxing us we're soon going to be done we'll soon be arrested *osedax(bone devourer, newly discovered marine genus) feeds on a fallen(sunken) whale carcass(which is also called a whale fall). Read more here