IBM and HP virtualization
A comparative study of UNIX virtualization on both platforms
While most HP-UX administrators understand the virtualization capabilities available to them, there is usually a difficult transition for these professionals when they are tasked with learning virtualization on another UNIX® platform, such as IBM Power Systems™. The same holds true for AIX administrators when they need to understand virtualization and HP-UX. In a heterogeneous environment, it is very common to have different types of UNIX servers running in your shop. At the same time, many shops are migrating from HP and Sun to IBM Power Systems and need to understand the key concepts necessary to help ease the transition.
Virtualization is easily the most discussed technology today because it is the means by which companies can achieve their goals of lowering Total Cost of Ownership (TCO) for their infrastructure server farms and increasing Return on Investments (ROI) on their server and datacenter consolidation projects. How does virtualization do this? The short answer is through maximizing physical resources by enabling IT to share physical CPU, RAM, and I/O resources.
At the same time, IT managers are also trying to increase the workload utilization of these resources to maximize the efficiency of a company's hardware investment. Ten years ago, whenever business needed a new application, a new server would be purchased to support that application. Today, through virtualization, we have the ability to quickly carve out environments on existing infrastructure to support new demands.
Because virtualization solutions are so different from vendor to vendor, it is extremely important to understand the capabilities of each vendor's offering and what makes the most sense for you environment. On their midrange platform, HP has technologies such as HP-VSE, vPars, nPartitions, and Integrity Vertical Machines (IVMs). IBM has one solution: PowerVM™. This article discusses the features and functionality of these systems -- their history, the underlying technology, and what makes sense for your environment.
This section first looks at the history of IBM's virtualization and then looks at the PowerVM technology in depth.
A history of IBM's virtualization technology
Contrary to what many PC VMWARE techies believe, virtualization technology did not start with VMWARE back in 1999. It was pioneered by IBM more than 40 years ago. It all started with the IBM mainframe back in the 1960s, with CP-40, an operating system which was geared for the System/360 Mainframe. In 1967, the first hypervisor was developed and the second version of IBM's hypervisor (CP-67) was developed in 1968, which enabled memory sharing across virtual machines, providing each user his or her own memory space. A hypervisor is a type of software that allows multiple operating systems to share a single hardware host. This version was used for consolidation of physical hardware and to more quickly deploy environments, such as development environments. In the 1970s, IBM continued to improve on their technology, allowing you to run MVS, along with other operating systems, including UNIX on the VM/370. In 1997, some of the same folks who were involved in creating virtualization on the mainframe were transitioned towards creating a hypervisor on IBM's midrange platform.
One critical element that IBM's hypervisor has is the fact that virtualization is part of the system's firmware itself, unlike other hypervisor-based solutions. This is because of the very tight integration between the OS, the hardware, and the hypervisor, which is the systems software that sits between the OS and hardware that provides for the virtualization. In 2001, after a four-year period of design and development, IBM released its hypervisor for its midrange UNIX systems, allowing for logical partitioning. Advanced Power Virtualization (APV) shipped in 2004, which was IBM's first real virtualization solution and allowed for sharing of resources. It was rebranded in 2008 to PowerVM.
As mentioned, IBM has one virtualization type on their midrange systems, PowerVM, formerly referred to as Advanced Power Virtualization. IBM uses a type-one hypervisor for its logical partitioning and virtualization, similar in some respects to Sun Microsystems' LDOMs and VMWARE's ESX server. Type-1 hypervisors run directly on a host's hardware, as a hardware control and guest operating system, which is an evolvement of IBM's classic originally hypervisor- vp/cms. Generally speaking, they are more efficient, more tightly integrated with hardware, better performing, and more reliable than other types of hypervisors. Figure 1 illustrates some of the fundamental differences between the different types of partitioning and hypervisor-based virtualization solutions. IBM LPARs and HP vPars fall into the first example -- hardware partitioning (through their logical partitioning products), while HP also offers physical partitioning through nPars.
Figure 1. Server virtualization approaches
IBM's solution, sometimes referred to as para-virtualization, embeds the hypervisor within the hardware platform. The fundamental difference with IBM is that there is one roadmap, strategy, and hypervisor, all integrated around one hardware platform: IBM Power Systems. Because of this clear focus, IBM can enhance and innovate, without trying to mix and match many different partitioning and virtualization models around different hardware types. Further, they can integrate their virtualization into the firmware, where HP simply cannot or chooses not to.
PowerVM's features and functionality
PowerVM includes the following features:
- VIO Servers -- These are hosting portions that provide I/O services to clients that use these servers. They permit physical adapters to be shared by one or more VIO client partitions. This helps reduce cost by eliminating the requirement to have dedicated network and/or I/O adapters. IBM's implementation uses Shared Ethernet and Virtual SCSI to allow for sharing network and disk I/O.
- Micro partitioning and Shared Processor Logical Partitioning (SLPAR) -- This allows clients to cut up their CPUs into virtual partitions, with the granularity of supporting up to 1/10th of a CPU. Virtual servers can run on any of the physical servers, as the physical processors are fully shared. You can also exceed the amount of CPUs, their Entitled Capacity (EC), which are configured while creating their profile, by using a feature called uncapping partitions. This is an important feature, as it facilitates workload management in a dynamic way by allowing systems to use untapped CPU resources (from other logical partitions that share a processor pool) during bursty CPU intensive periods, which otherwise would be idle.
- Live Partition Mobility -- This feature, introduced with IBM's POWER6® architecture, allows you to move running LPARs (can be either AIX or Linux®) from one physical server to another.
- Shared Dedicated Capacity -- This permits the donation of spare CPU cycles from dedicated processor partitions to be used in the shared processor pool.
- Multiple Processor Pools -- This allows for the balancing of processing power between partitions assigned to shared pools, which results in better throughput.
- Lx86 -- This technology provides for the ability to run x86 Linux applications that are not specifically ported to the Power Architecture directly on a Linux partition without the necessity of a recompile.
- Workload Partitioning (WPARs) -- While more of a feature of AIX V6.1 than PowerVM, WPAR is an important virtualization element, as it allows for further granularity of workloads. Similar to Solaris containers/zones, it provides for the ability to slice up logical partitions into workloads. Each workload has its own contained environment, but does not have its own kernel. A configured WPAR is a part of an LPAR and reduces the amount of AIX images that need to be maintained. WPARs share system resources within the AIX instance: directories, CPU, RAM, and I/O.
Recent innovations include Active Memory Sharing, which allows for the exchange of memory between running partitions. This increases optimization of physical resources similar to how CPUs are shared with Shared Processor logical partitions. It enables the sharing of a pool of physical memory among the logical partitions. One of the key benefits is that it provides the ability to configure systems with less physical memory. When a system needs more physical memory, it can be configured to grab the memory from the shared pool. Basically, this shifts memory dynamically from idle LPARs to active ones. This feature is available on AIX V6.1 and SLES 11. A VIO server must also be deployed for partitions that use Active Memory Sharing, and all I/O access needs to be virtualized by using these partitions.
Two other innovations include:
- N_Port ID Virtualization (NPIV) provides direct access to fibre channel adapters from multiple client LPARs, which simplifies the management of Fibre-Channel SAN environments. The adapter is actually owned by the VIOs LPAR.
- VIOs Virtual tape drive support for client LPARs is another new offering that allows client LPARs access to SAS tape resources. This has the effect of reducing the amount of tapes needed to backup systems. It also reduces the headache of having to attach tape drives to different LPARs. The SAS tape adapter is owned by the VIO server partition, similar to NPIV.
PowerVM also contains three editions: Express, Standard, and Enterprise. Each edition contains various features. For instance, if you are running an enterprise environment, you can take advantage of Live Partition mobility, which is available only on the Enterprise edition. See Related topics for more details.
This section discusses HP's virtual Server Environment (VSE) as well as Virtual vPars, nPartitions, and Integrity Virtual Machines (IVMs).
The history of HP virtualization technology
While HP-UX has a 25-year history, partitioning itself for HP did not start until the advent of the nPartition, which is based upon hard partitioning, first introduced in 2000. In some ways, this is similar to IBM Logical partitioning. In August of 2001, HP announced HP-UX Virtual Partitions (VPARs), separate operating systems instances, which run either an nPartition or physical severs. These provide for some elements of virtualization, though they do not allow one to share resources between partitions themselves, nor can you dynamically allocate CPU resources between partitions. They are more comparable to Logical partitioning, as each virtual partition is assigned its own resources. Each partition can be on different operating system releases and patch levels and can also be rebooted without effecting other partitions. This provides greater computer utilization and operating system isolation, but is really more of a partitioning technology rather than a virtualization solution. There is no way to share resources, because there is no virtualized layer to manage resources between the OS and the hardware. Real virtualization was then introduced with Integrity Virtual Machines in 2005, allowing partitions to have their own full copy of the operating systems and the sharing of resources.
HP virtualization strategies
HP has many different partitioning and virtualization strategies. Their portfolio includes nPartitions, vParititons, and Integrity Virtual Machines (IVMs). The hypervisor supporting virtualization for IVMs is based on a Type-2 technology, which is similar to the Microsoft® virtual server, user-mode Linux, and the older VMWARE GSX. These hypervisors are software applications running within the OS. The hypervisor is a separate software layer, with the guest OS running at a third level above the hardware. HP has this technology on its Integrity machines, which can run HP-UX, Linux, Windows, and OpenVMS. Interestingly, running normal HP-UX applications on an Integrity VM host is not encouraged because VM implements its own memory management. This is why many HP-UX implementations use vPar and nPar technology alone (rather than IVMs), for resource partitioning and I/O and processing isolation.
HP virtualization features and functionality
Virtual Server Environment (VSE) is the front-end of HP's overall virtualization solution. It has management and workload management capabilities. The workload management tool provides for the ability to draw from spare capacity. This is available on a pay-per-use basis, similar to IBM's Capacity on Demand. It also comes with a product called HP Global Workload Manager (gWLM), which provides intelligent policy engines that automatically adjusting the workloads to increase server utilization. Working along with this is HP's Capacity Advisor, which helps you simulate various workload sceneries. This is similar in many respects to IBM's System Workload Estimator (WLE), which ships with the System Planning Tool (SPT). With VSE, there are many types of partitioning, including hard and soft partitioning. You can also take advantage of Integrity Virtual Machines and resource partitions.
- Integrity Virtual Machines -- This is HP's flagship virtualization product, which compares to PowerVM in some respects. The way it works is that there are separate guest instances on either logical or physical partitions, with different operating system versions and users in a fully isolated environment. The technology was first introduced in 2005 and allows for a partition to have its own full copy of the operating system. The virtual machines share the resources and there is granularity for CPUs and I/O device sharing. In one way, the granularity actually bests PowerVM because a partition can have up to 1/20th of a CPU, where PowerVM can only allow up to 1/10th of a CPU.
- nPartition -- This is a hard partition and not a virtualized environment. It has the benefit of allowing you to service partitions while others are online, similar to IBM's logical partitioning.
- vPars -- These are similar to logical partitions and allow for separate operating systems instances on the same nPartition or server. Further, it allows you to dynamically move either CPU or memory resources between partitions as the workload requirements change. It also allows you to run multiple copies of HP-UX on the same physical hardware.
- Resource Partitions -- These partitions are created from the HP Process resource manager and allow resources for specific applications within single operating systems. This is also a resource management tool that allows you to manage CPU, memory, and disk bandwidth. It allows minimum allocations of CPUs and even provides you with the ability to cap a CPU by group. In many ways this is similar to Solaris containers or AIX WPARs, in that it allows one to have several applications reside in one copy of HP-UX. This feature has been available since HP-UX 9.0.
Version 4.1 of VSE, which arrived in January of 2009, provides for the ability of virtualization to be extended to physical servers through their logical server capabilities. It allows for logical server movement through the enablement of server profiles to be moved from one physical server to another. HP virtualization manager, HP Capacity Advisor, and Virtual Machine migration (for IVM's) allow a running VM and its applications to be moved to a different VM host without service interruption.
IBM and HP virtualization comparison
Now that you've seen the specifics of the IBM and HP implementations of virtualization, let's do a side-by-side comparison. The following list illustrates some of the fundamental differences between HP and IBM virtualization.
- Integrity Virtual Machines (IVMs) limitations. The downside here is scalability. With HP's Virtual machines there is a limitation of 4 logical CPUs per partitions, as well as a RAM limitation of 64GB. Reboots are also required to add processors or memory. There is also no support for features such as uncapped partitions or shared processor pools. Finally, it's important to note that HP PA RISC servers are not supported; only Integrity servers are supported. Virtual storage adapters also cannot be moved, unless the virtual machines are shut down. You cannot dedicate processing resources to single partitions.
- nPar limitations. Systems will require a reboot when moving cells from one partition to another. It's important to note that while nPartitions support HP-UX, Windows, VMS, and Linux, they only do so on their Itanium processors, not on their HP9000 PA Risc architecture. Partition scalability also depends on the OS running in the nPartition. Another downside is that entry level servers do not support this technology, only high-end and midrange servers. They also do not support moving resources to and from other partitions without a reboot. They also do not allow for core sharing.
- vPar limitations. vPars do not allow for sharing of cores, because there is no virtualized layer in which to manage the interface between the hardware and the operating systems. This is one reason why performance overhead is limited, a feature that HP will market without discussing its clear limitations. The scalability is also restricted to the nPartition that the vPar is created on, the maximum being an 8-cell limitation. There is also limited workload support; resources cannot be added or removed. Finally, vPars do not allow you to share resources between partitions. You cannot dynamically allocate processing resources between partitions.
- Memory Sharing. Neither HP nor SUN has anything similar to PowerVM's Active Memory Sharing (AMS).
Table 1 compares HP's vPars and IVMs with PowerVM.
Table 1. Comparing IBM's PowerVM with HP vPars and IVMs
|Solution||PowerVM, IBM Power||vPars, HP 9000, Integrity||IVM, HP Integrity only|
|OS supported||AIX, Linux, i5/OS||HP-UX||HP-UX 11i. Windows Server 2003, Linux|
|Secuity/Fault isolation||Hypervisor (hardware/firmware)||Not hardware enforced||Not hardware enforced|
|Granularity (Min CPUs per partition)||1/10||1||1/20|
|Scalability (Max CPUs per partition)||64||64-128||4|
|CPU capacity sharing||Yes||No||Yes|
|Dedicted I/O||Yes||Yes||No (All I/O must be virtualized)|
|Partition Migration||Dynamic (POWER6)||No||Manual|
|CoD integration||Reserve CoD||Yes (Integrated utility pricing)||Yes (gWLM adds temporary instant capacity|
|License||Additional Fee (per active CPU) Standard on P5-59x||Additional Fee (per active CPU)||Additional Fee (per active CPU)|
When comparing the business benefits of PowerVM versus HP Integrity machines, the picture becomes even clearer. PowerVM scales better, has dynamic logical partitioning, security/fault isolation, support for dedicated I/O dynamic processor sharing, and live partition mobility. Table 2 illustrates some of the advantages.
Table 2. Virtualization: PowerVM vs. HP IVM
|Virtualization Capability||PowerVM||HP IVM||Business Benefit|
|Scalability||64 CPUs 2TB RAM||4 CPUs and 64 GB RAM||Improves utilization and Total Cost of Ownership|
|Dynamic Logical Partitioning (DLPAR)||Yes||Requires a reboot||Increased availability and flexibility|
|Security Isolations||CAPP/EAL||none||Enhanced security|
|Support for dedicated I/O||YES||NO||Provides for increased performance for certain workloads|
|Dynamic Processor Sharing||Yes||No||More flexibility|
|Live Partition Mobility||Yes||NO||Enhanced availability|
In their advertising, HP likes to boast that they have the most advanced virtualization portfolio. While they may have more offerings, many are not compatible with one another, and even put together, they have less functionality than PowerVM. The hardware itself is also important because the future of HP is through Itanium, which has lower performance than Power. One advantage HP does have is its ability to run Windows; however, it is a very expensive platform run and consolidate Windows-based applications on, without any real added value.
IBM's history of virtualization cannot be matched by any vendor. IBM has one clear solution and virtualization strategy, PowerVM, rather than a half dozen partitioning and virtualization elements. More importantly, from a feature/functionality standpoint, IBM clearly leads the way in virtualization technology and innovation. Their virtualization systems scale better, are designed with smarter technology (type-1 hypervisors), have more features, and run on faster and more reliable hardware.
- IBM PowerVM: Learn about the different editions of IBM's PowerVM.
- PowerVM Virtualization on IBM System p: Introduction and Configuration Fourth Edition: Read this Redbook for an introduction to PowerVM virtualization technologies on IBM System p servers.
- "An Introduction to Virtualization" by Amit Singh is a great introduction to virtualization and the varying implementations that are available. In addition to Linux, this article also covers other operating system virtualization (Windows, Solaris) and other means of virtualization (such as network stack virtualization)
- Workload Partitioning (WPAR) in AIX 6.1 (Ken Milberg, developerWorks, April 2008): Read an article that shows you how and when should you use WPAR along with how to create, configure, and administer workload partitions.
- IBM Redbooks: Read Advanced Workload Management: Using Workload Partitions in AIX 6 for detailed information on WPAR.
- Optimizing AIX 5L performance: Tuning network performance, Part 1 (Ken Milberg, developerWorks, November 2007): Read Part 1 of a three-part series on AIX networking, which focuses on the challenges of optimizing network performance.
- For a three-part series on memory tuning on AIX, see Optimizing AIX 5L performance: Tuning your memory settings, Part 1 (Ken Milberg, developerWorks, June 2007).
- Learn about AIX memory affinity support from the IBM System p and AIX InfoCenter.
- The Redbook, Database Performance Tuning on AIX, is designed to help system designers, system administrators, and database administrators design, size, implement, maintain, monitor, and tune a Relational Database Management System (RDMBS) for optimal performance on AIX.
- Learn about IBM's Power Architecture: High-Performance Architecture with a History.
- For a comprehensive guide about the performance monitoring and tuning tools that are provided with AIX 5L Version 5.3, see the IBM Redbook AIX 5L Practical Performance Tools and Tuning Guide.
- Operating System and Device Management from IBM provides users and system administrators with complete information that can affect your selection of options when performing such tasks as backing up and restoring the system, managing physical and logical storage, and sizing appropriate paging space.
- The AIX 5L Differences Guide Version 5.3 Edition (developerWorks, December 2004) redbook focuses on the differences introduced in AIX 5L Version 5.3 when compared to AIX 5L Version 5.2.