IBM has a 40-plus year history of virtualization. No other vendor can come close to making this claim. The fact is that virtually (pardon the pun) everything they have implemented on the mid-range, has already been done on the mainframe. They offer one virtualization strategy, PowerVM, unlike the myriad of solutions available from Sun or HP. The technology itself uses a hypervisor-based solution (which IBM has finally implemented though Xen, but only on their x86 platform), which sits between the operating system and the hardware. PowerVM is a combination of hardware and software, which accounts for the IBM Systems p virtualization strategy.
The technology that makes up PowerVM includes:
- Micropartition and Shared processor pools — Micropartioning lets you slice up pieces of your CPUs into virtual partitions. At the same time, it allows for the sharing of CPU, RAM, and I/O. You can carve your partition with up to 1/10 of a CPU. Using a feature called uncapped partitions, you can even exceed the amount of hardware that you configure on your partition, your entitled capacity (EC), which is an important feature in environments where activity fluctuates. This workload management is all done automatically, without requiring the usage of speciality workload management tools. IBM has since retired their workload management tool, Partition Load Manager (PLM), recognizing that it was the automation inherent in its shared processor pool strategy that really captivated the audience.
- VIO Servers — These are special partitions that let you to service resources to VIO clients. The servers own the actual resources, which are network adapters or disk I/O. These partitions save money and provide flexibility by allowing partitions to shared I/O resources. Shared Ethernet and virtual SCSI are the solutions that allow for sharing network and disk I/O.
During the past year, IBM has changed their virtualization nomenclature from Advanced Power Virtualization to PowerVM. In the process, IBM added several significant features to their virtualization product line:
- Live Partition Mobility — This feature, introduced with the Power6 architecture, lets you move running AIX or Linux partitions from one physical server to another.
- Lx86. This recent innovation lets you run x86 Linux applications that were not specifically ported to the Power Architecture directly on a Linux partition without a recompile.
- Shared Dedicated Capacity — This feature lets you spare CPU cycles from dedicated processor partitions toward the shared processor pool.
- Integrated Virtualization Manager (IVM) — This is a browser-based tool that provides the option of not having to have a dedicated hardware management console (HMC) from which to manage virtualization resources.
Active Memory Sharing (AMS) is a new feature introduced in 2009. This feature, available on Power6, is the final piece of the puzzle for PowerVM on Power6. It allows for the sharing of RAM, similar to how users have been able to share and micropartition CPUs, which, in turn, allows for the increased use of memory through the Power hypervisor without having to do a DLPAR operation. AMS makes it possible to use spare idle memory not being used by other LPARs toward the distribution of LPARs. This empowers customers to optimize their RAM configuration and ensures that resources do not sit idly by while their brethren LPARs may be in dire need of assistance. The next section introduces the new POWER7 system.
How does AMS accomplish this? It does so by allowing for a shared memory pool, which is virtualized through the Power hypervisor. There is no binding of physical memory to a partition’s logical memory in this environment. In fact, the total logical memory of all shared memory partitions are allowed to exceed the real physical memory allocated to the pool. This results in logical memory being oversubscribed, which is okay because the hypervisor takes care of all the logistics. Essentially, the hypervisor backs excess logical memory using paging devices. It does this through a special paging VIOs partition. AIX still manages its own paging device, which helps the hypervisor manage the oversubscription. The hypervisor actually asks the operating system for help, and the OS steals aged pages, saves the contents to paging devices, and loans them out. This feature is enabled through a framework called collaborative memory management, which is a new feature of the OS that lets the OS page out contents and loan pages to the hypervisor. AMS also provides a great deal of flexibility because it can be disabled, making the hypervisor paging device the only device that needs to be optimized. This is only available through AIX and System i, not Linux. It should also be said that neither HP nor Sun offers anything remotely close to AMS.
On the same day in February when IBM chose to announce their new POWER7 product line, HP also announced new Integrity servers, which will use Intel’s Itanium 9300 processor—codenamed Tukwila. While there are currently no available HP products powered by the new Tukwila chips, they are rumored to be arriving in May. Interestingly, the Tukwila Itanium’s sub-2GHz speed is manufactured using a 65 nm process, while IBM’s new POWER7 was manufactured using a 45 nm processor, which means that the new IBM chip should run faster, with lower power, than HP’s new chip. While Tukwila is certainly an important innovation, at the time of this writing, no roadmap for HP products containing these chips had been published. IBM on the other hand, has the roadmap, servers, and virtualization enhancements. They are all real and not just vaporware.
In addition to the obvious chip advantages just mentioned, the POWER7 architecture also introduces:
- Modular systems with linear scalability
- Physical and virtual management
- Binary capability
- Energy Thermal Management
- PowerVM feature improvements
This article focuses on the PowerVM virtualization enhancements around the POWER7. What is most impressive is that benchmarks have shown that IBM’s new servers will deliver up to twice the performance and four times the virtualization capabilities as its powerful POWER6, for the same price and energy usage. It does this by introducing a new advanced modular design that can support up to 64 POWER7 cores. In its announcement, IBM rolled out four servers in the mid-range and enterprise classes, leaving blade, entry-level, and the big-iron 590 replacements to come out later this year. It did release one enterprise-level box, the Power 780, which is a cross between the 570 and 595. One major feature of the 780 is TurboCore technology, which gives you the option to run the system with fewer cores to exploit increased cache from other cores on the chip, offering the highest clock speed of any POWER7 system at 4.1 GHz running in TurboCore mode. This is twice the power of HP’s new Tukwila chip, running at less energy.
TurboCore mode enables workload optimization by dynamically selecting the most suitable threading mode: single, standard Simultaneous Multi-Threading (two threads), or SMT with four threads per core. It also comes with Active Memory Expansion, which allows the effective memory capacity of the system to be much larger than the actual physical memory of the box—up to 100%. It also offers intelligent threading and Active Memory Expansion technologies and can take advantage of Live Partition Mobility as well, which helps migrate users from Power6-based systems.
In the IBM world, it’s all about “virtualization without limits.” The new IBM Power 780 can support up to 640 virtual machines because the server itself can support up to 64 cores with 10 virtual machines per core. Later systems will support up to 100 cores and 1000 virtual machines!
How is all of this managed? It’s done through VMControl, a virtualization plug-in for IBM Systems Director that can be used to manage virtualization on POWER7 servers. It exists in Express, Standard, or the Enterprise edition of PowerVM. This software lets you create and store ready-to-run virtual images in a shared repository. The standard edition even lets you create and manage system pools, which are collections of virtual images running on multiple servers, in a way that is as easy as managing a single LPAR.