Steve Herrod’s keynote at Partner Exchange 2010 included a tantalizing slide on an upcoming memory maximization technology: memory compression. A few of you have already seen the overview of this technology Kit Colbert and Fei Guo previewed it at VMworld 2009. Today I want to tell you how this upcoming feature will help you pack even more virtual machines onto your existing servers.
To get the most out of your servers’ memory you have to over-commit it. Go too far and the host will swap. This fact is immutable in enterprise memory management. Because rotating disks have seek times that are six orders of magnitude larger than memory, when your host swaps your applications’ performance suffers catastrophically. Solid state drives (SSD) can mitigate the performance cost by reducing swap latency by a couple orders of magnitude. But SSDs still have delays tens of thousands of times worse than memory.
VMware engineers have been working on a technology that we unofficially call on-demand memory compression (ODMC) or compression cache, depending on who you talk to. The idea of ODMC is to avoid swapping by compressing a set of target pages to a special region. We have measured the additional latency–the compression time–to be over a hundred times better than rotating disk latencies. And this will decrease at CPU performance increases.
SSD devices will continue to play an important part in solving the performance problems of extreme memory over-commit because of the great volume of data they can serve at a speed much faster than rotating disks. But it will be a secondary solution to the faster ODMC, which uses a small dedicated area of system memory. VMware’s long-term prioritization for managing the most aggressively over-committed memory looks like this:
- Do not swap if possible. We will continue to leverage transparent page sharing and ballooning to make swapping a last resort.
- Use ODMC to a predefined cache to decrease memory utilization.*
- Swap to persistent memory (SSD) installed locally in the server.**
- Swap to the array, which may benefit from installed SSDs.
(*) Demonstrated in the lab and coming in a future product.
(**) Part of our vision and not yet demonstrated.
The end goal of this prioritized use of different technologies is the reduction of the performance penalty of swap. If VMware can reduce the penalty of swap, the virtual machines in extremely over-committed environments will not slow much when they need more memory than the host has available. When this performance cost of swapping is reduced, you can safely drive your consolidation ratios even higher.
I cannot wait for the general availability of ODMC. It is another technological accomplishment in a long line of innovation out of our phenomenal engineering organization. At times I wonder when the last time another operating system software company introduced something really awesome to the industry. But of course, I am biased.