Like I wrote in AIXchange a few weeks ago, I was minding my own business when someone tweeted a link to a new IBM developerWorks article by Chris Gibson, "Configuring Active Memory Sharing: From a customer's experience."
I'd seen the movies that Nigel Griffiths had done based on this topic:
I'd also read the IBM Redpaper, "PowerVM Virtualization Active Memory Sharing."
Chris' article, though, is yet another great source of information about this additional functionality. PowerVM Active Memory Sharing allows you to virtualize memory on your frame. You can overcommit physical memory and allow the memory to flow between logical partitions and paging space.
Virtualized memory operations aren't as instantaneous as virtualizing your CPU. While your micro-partitioned CPU makes changes on a millisecond basis, memory sharing uses paging space, so it's obviously orders of magnitudes slower as it reads and writes to disk. So if you have several logical partitions that are all starved for real memory at the same time, this isn't for you. However, it is great if your LPARs don't simultaneously demand memory. When you create an LPAR and allocate some
amount of memory, it's possible, even likely, to guess wrong. Allocate too much memory and it goes to waste. Allocate too little and you might run into performance issues. With Active Memory Sharing however, the system determines which LPAR actually needs the memory. This makes more efficient use of your resources.
From the Redpaper:
"Active Memory Sharing allows overcommitment of memory resources. Since logical memory is mapped to physical memory depending on logical partitions' memory demand, the sum of all logical partitions' logical memory can exceed the shared memory pool's size. Each logical partition is allowed to use all assigned logical memory. When the cumulative usage of physical memory reaches the pool's size, the hypervisor can transparently steal memory from a shared memory partition and assign it to another shared memory partition. If the removed memory page contains data, it is stored on a paging device and the memory page content is cleared before it is assigned to another logical partition. If the newly assigned page contained data, it is restored from the disk device. Since paging disk activity has a cost in terms of logical memory access time, the hypervisor keeps track of memory usage to steal memory that will likely not be used in the near future. The shared memory partition's operating system cooperates with the hypervisor by providing hints about page usage and by freeing memory pages to limit hypervisor paging."
Read Chris’ article and the Redpaper, and watch the movies. Think about the different ways that this functionality can be useful in your environment. Look at the list of requirements.
Again, from the Redpaper:
"In order to use the Active Memory Sharing feature of IBM PowerVM, the following are the minimum requirements:
"An IBM Power System server based on the POWER6 processor
Enterprise PowerVM activation
Firmware level 340_075
HMC version 7.3.4 service pack 2 (V7R3.4.0M2) for HMC managed systems
Virtual I/O Server Version 126.96.36.199-FP21 for both HMC and IVM managed systems
AIX 6.1 TL 3
"Shared memory partitions can be created on a system as soon as the shared memory pool has been defined. In order to be defined as a shared memory partition, the logical partition must meet the following requirements:
- Use shared processors.
- Use virtual I/O, including: virtual Ethernet adapters, virtual SCSI adapters, virtual Fibre Channel adapters, virtual serial adapters
The operating system running in the logical partition can be either AIX, IBM i, or Linux."
Start planning now for any necessary upgrades so that you can take advantage of this new way to manage your machines.