PowerVM Hypervisor Gets Active Memory Sharing
June 15, 2009 Timothy Prickett Morgan
I’ll admit it. I like hardware, and I like to learn about new hardware features first. But in an increasingly virtualized computing environment, many of the cooler functions are not, strictly speaking, being implemented in hardware, but rather deep in the hypervisor and system microcode. And so it is with one neat–and little discussed–feature that was just announced by IBM for logical partitions on Power-based servers called active memory sharing.
The PowerVM server virtualization hypervisor has been able to carve up as well as gang up chunks of processing, memory, and I/O capacity into logical servers long since before it was called PowerVM (Can you say OS/400 V4R4 in 1998?) But just because you can carve something up does not mean that you can dynamically change the allocations on the fly as workloads within logical partitions change.
In fact, with the Power 6 processors and i 6.1 and AIX 6.1, IBM created PowerVM features that make core allocations a lot more fluid. One feature is called multiple shared processor pools, which allows cores within a single physical server to be allocated as a shared pool for multiple logical partitions and have processors allocated on the fly to partitions as they are needed. Another is called shared dedicated capacity, which allows a dedicated logical partition that is not part of a shared pool to donate spare capacity to a shared pool if it has the capacity and if the shared pool is in need of it. Live partition mobility allows whole AIX or Linux partitions (but not yet i partitions) to be moved from one physical server to another, and live application mobility allows an application stack to be moved from one AIX workload partition to another one. (The i platform does not yet support workload partitions, but IBM has said it is working on this functionality for a future i release.)
With the April 28 set of Power Systems announcements, memory got more fluid. Specifically, PowerVM Enterprise Edition–that’s the top-end variant for virtualizing Power boxes–has an active memory sharing feature that allows physical memory in a machine to be put into a shared pool and carved up on the fly just as IBM has been doing with processor cores (or portions of them).
Perhaps equally importantly, since virtualization tends to mean running iron leaner and meaner, the active memory sharing feature also includes support for memory overcommitment, so when and if all partitions in the machine suddenly ask for more virtual memory than is physically in the box, the partitions can use the special Virtual I/O Server partition as a paging device.
Active memory sharing is supported on logical partitions that run IBM’s i 6.1 and AIX 6.1 operating systems, as well as Novell‘s new SUSE Linux Enterprise Server 11 operating system, which debuted two months ago. The active shared memory feature requires that customers use VIOS for I/O virtualization and also have processor sharing turned on across partitions. It also only works on Power6 iron. You need the PowerVM hypervisor at the eFW 3.4.2, the hardware management console firmware at the V7.342 level, and VIOS at the 2.1.1 level to use active memory sharing. Partitions managed by the HMC or the simpler Integrated Virtualization Manager (which was created to manage simple Linux partitions and which must be at the 2.1.1 release level) can have active memory sharing activated on them. While the Power Systems line can support a maximum of 255 partitions (up to 10 per processor core until you hit that 255 limit), machines with active memory sharing can have a maximum of 128 partitions.
Erwin Earley, a managing consultant at for i Technology Services at IBM and a frequent contributor to our Four Hundred Guru newsletter, has put together a white paper that goes through the active memory sharing feature of PowerVM Enterprise Edition, which you can get here. (This is a PDF file, and it will be fed to your machine by IBM through an FTP server, just so you are forewarned.) Here is another PDF that goes through performance issues relating to active memory sharing, which was put together by Mala Anand of IBM’s AIX performance lab.
Active memory sharing became available on May 15. Presumably, if you have a PowerVM Enterprise Edition license, you will get the feature as part of a normal update of the product. PowerVM Enterprise Edition costs as little as $309 per core on Power blade servers to as much as $1,999 per core on Power 595 boxes.