Blogs

About this blog

AIXpert Blog is about the AIX operating system from IBM running on POWER based machines called Power Systems and software related to it like IBM Systems Director, PowerVM for virtualisation and PowerSC for security plus performance monitoring and nmon

Links

Tags

Recent tweets

Active Memory Deduplication Redbook on a Kindle

My family decided to give me a Kindle e-book - Wow! So after the usual experiments with reading a book, playing with the web browser via WiFi, I then thought; Could this help me at work too! So reading up I noted it fully supports PDF format files and the IBM Redbooks come in PDF. So a quick download over USB cable and I can read them easily enough in landscape mode. As part of Advanced Technical Support, I am expected to "know everything" and over the past 10 years I have read all the POWER4, 5, 6, 7 machine Redbooks, the PowerVM technology Redbooks, AIX Differences and Performance Redbooks. I have also participated in writing a few and proof reading many. The trouble is they are regularly updated and given new chapters for new technology and features - which I have failed to keep up with. So now I have all the Redbooks in an easy readable form, with me at all times so I can reread them whenever I had a spare minute.

So to see if this is practical, I read the new 96 page Draft Redbook for Active Memory Deduplication (AMD) = A very good introduction to this new technology. It seems the writing team all came from Brazil and a wide back ground of skills. Which is good as this AMD works with AIX, IBM i and Linux for Power but runs within the VIOS. I have just sent off some feedback about a few tiny suggestions for improvement but one thing I did not like was the use of the term "processor slack" meaning that the VIOS is used to donate CPU core cycles to the Hypervisor to perform the detection of the duplicates. I think it is best reworded as they mean the VIOS should not be staved of CPU time - perhaps it is a turn of phrase from Portuguese! It is not very important but "slack" sounds like "lazy" or "slacker" to me!

The nice thing I learnt was that the feature takes nearly no CPU time, very little memory and just sits in the back ground reducing the pointless waste of memory across all the Active Memory Sharing (AMS) virtual machines that are using logical memory from the shared memory pool. There are examples of testing various workloads and the memory saved with graphs in the Redbook.

If you are using AMS in it main classic mode of memory overcommit ,where the total of all the virtual machines memory adds up to more than the shared memory pool size, this forces the virtual machines to:

give up memory that is not really used (something AIX tends to soak up spare memory for file system cache use),

compete for memory with the other virtual machines on a demand basis,

virtual machines that are largely idle can give up a large portion of their memory for better use.

In this case, AMD could significantly reduce the amount of overcommit - perhaps, to the point where there is even none at all and every virtual machine gets its desired logical memory. It depends on the amount of overcommit.

But there are two other cases of non-overcommit:

First, if we just have one, perhaps very large, virtual machine in the pool and it is allocated the whole pool memory then we effectively have AMD just for that one large virtual machine and will gain a memory boost from this - mostly (my guess) is zero filled memory pages, Java not using memory very well and perhaps duplication RDBMS disk blocks in memory page.

Second, if we put a lot of similar workload virtual machines, perhaps Web-sphere Application Servers and SAP systems, but instead of overcommitting we make sure they can all get their desired memory then it will automatically rebalance the memory - as we probably have the estimated memory sizes not perfect. Then the duplicates are removed and as the workloads are similar there is a greater chance of finding code page duplicates and so each virtual machine will see more unused memory that is can better use.

These two cases both mean we are effectively not using AMS very much but are benefiting from AMD. This blog is all assumptions on my part. I have had AMS running for years but at the moment I can't run AMD - that requires the new in 4th quarter 2011 Power machines, which are called the C models, that support the 740 level Power Systems firmware. And I do not have access to one of these machines and so can't experiment with AMD. If any one gets a chance to try these ideas out - please give us some feedback. How much memory do you get back for various workloads?

Fortunately, the AMD Redbook is an excellent introduction to set-up and monitoring and don't forget that AMD is not a chargeable extra, as it comes with PowerVM Enterprise - so you can get a flying start.