Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Operating Systems Software Technology

Extreme Memory Oversubscription For VMs 129

Laxitive writes "Virtualization systems currently have a pretty easy time oversubscribing CPUs (running lots of VMs on a few CPUs), but have had a very hard time oversubscribing memory. GridCentric, a virtualization startup, just posted on their blog a video demoing the creation of 16 one-gigabyte desktop VMs (running X) on a computer with just 5 gigs of RAM. The blog post includes a good explanation of how this is accomplished, along with a description of how it's different from the major approaches being used today (memory ballooning, VMWare's page sharing, etc.). Their method is based on a combination of lightweight VM cloning (sort of like fork() for VMs) and on-demand paging. Seems like the 'other half' of resource oversubscription for VMs might finally be here."
This discussion has been archived. No new comments can be posted.

Extreme Memory Oversubscription For VMs

Comments Filter:
  • Is this an ad? (Score:3, Insightful)

    by saleenS281 ( 859657 ) on Wednesday August 11, 2010 @12:25AM (#33212148) Homepage
    I noticed free memory on the system was at 2GB and dropping quickly when they moved focus away from the console session (even though all of the VM's had the exact same app set running). This appears to be absolutely nothing new or amazing... in fact, it reads like an ad for gridcentric.
  • Re:Leaky Fawcet (Score:3, Insightful)

    by GooberToo ( 74388 ) on Wednesday August 11, 2010 @02:39AM (#33212636)

    I often see uptimes measured in years. It's not at all unusual for a server to need no driver updates for it's useful lifetime if you spec the hardware based on stable drivers being available. The software needs updates in that time, but not the drivers.

    Yes, we've all seen that. It makes for nice bragging rights. But realistically, to presume that one might have a badly leaking application, which can not ever be restarted, and that memory/paging fragmentation is not a consequence, to justify a poor practice is just that, a poor practice. And of course, that completely ignores the fact that there are likely nasty kernel bugs going unfixed. So it means you're advertising a poor practice, which will likely never be required, as an excuse to maintain uptime at the expense of security and/or reliability.

    And if you somehow manage to break the odds whereby the poor practice miraculously pays off, you can always create a paging file.

  • by amscanne ( 786530 ) on Wednesday August 11, 2010 @03:06AM (#33212730)

    Yes, rebasing is reduced by careful selection of preferred base addresses (particularly by Microsoft for their DLLs). Yes, if DLLs are not rebased then they are shared -- I did not claim otherwise. My point along these lines is that rebasing *does* occur surprisingly often, and can hurt sharing. The actual level of sharing you achieve obviously depends almost *entirely* your applications, workload, data, etc.

    By the way, as far as I know versions of Windows newer than Vista enable address-space randomization by default for security purposes. Since the starting virtual address of each DLL is randomized, preferred bases can't be respected. I don't know what impact this has on Windows memory usage post-Vista, but it seems like one can't rely on carefully curated base addresses.

    I'm not saying one approach is better than the other (Linux, Windows, whatever) -- I'm only positing a possibility for why one might see better improvement with KSM. One might just as easily see better over-subscription with Windows simply due to the fact that it zeroes out physical pages when they are released, as far as I know. Those zero pages can all be mapped to the same machine frame transparently (without the need for balloooning).

  • Re:Leaky Fawcet (Score:5, Insightful)

    by vlm ( 69642 ) on Wednesday August 11, 2010 @07:04AM (#33213510)

    When disks come in 2TB sizes .... why should I sweat 8 GB?

    You are confusing capacity problems with thruput problems. Sweat how poor performance is when 8 gigs gets thrashing.

    The real problem is the ratio of memory access speed vs drive access speed has gotten dramatically worse over the past decades.

    Look at two scenarios with the same memory leak:

    With 8 gigs of glacially slow swap, true everything will keep running but performance will drop by a factor of perhaps 1000. The users will SCREAM. Which means your pager/cellphone will scream. Eventually you can log in, manually restart the processes, and the users will be happy, for a little while.

    With no/little swap, the OOM killer will reap your processes, which will be restarted automatically by your init scripts or equivalent. The users will notice the maybe, just maybe, they had to click refresh twice on a page. Or maybe it seemed slow for a moment before it was normal speed. They'll probably just blame the network guys.

    End result, with swap means long outage that needs manual fix, no swap means no outage at all and automatic fix.

    In the 80s, yes you sized your swap based on disk space. In the 10s (heck, in the 00s) you size your swap based on how long you're willing to wait.

    It takes a very atypical workload and very atypical hardware for users to tolerate the thrashing of gigs of swap...

  • by TheRaven64 ( 641858 ) on Wednesday August 11, 2010 @09:35AM (#33214634) Journal

    Nope, you really don't seem to understand what this is at all. It is eliminating duplicated pages in the system, so if two VMs have memory pages with the same contents the system only keeps one copy. To a VM, this makes absolutely no difference - the pages are copy-on-write, and when neither VM modifies them they both can see the same one without any interference (as is common with mapped process images, kernel stuff, and so on). The only thing that will change is that there will be reduced cache contention (as all VMs will be using the same copy of the page, rather than evicting each other's copy to get their own (identical) one into the data cache.

    And if you're running realtime applications in a VM, then this isn't the only thing that you don't understand.

  • by Maarx ( 1794262 ) on Wednesday August 11, 2010 @10:34AM (#33215270)

    You guys gotta learn to use the quote tags instead of the italics. Slashdot knows to hide the quote when displaying your post in abbreviated mode, so we can actually read what you said.

    And face it, if you post as AC, you're going to be in abbreviated mode.

"Life begins when you can spend your spare time programming instead of watching television." -- Cal Keegan

Working...