How to Run Linux/x86 Applications on Power Systems

Linux / Open Source
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Power Systems customers now have immediate access to thousands of new Linux/x86 applications, without having to wait until a native Linux on Power version is available.


A recent marketing campaign by IBM emphasizes the "New Power Equation." In 2008, when IBM completed the merger of its popular System i and System p product lines into the single IBM Power Systems range, that equation was a case of one plus one equals three. This was because, in addition to running applications created for the IBM i operating system as well as AIX, the new Power Systems servers are also capable of running Linux, the fastest-growing operating system in the market. In fact, Power Systems servers can run just about any Linux application available, including native Linux on Power solutions and applications compiled for Linux/x86 as well, due to a technology known as PowerVM Lx86.


As a result, Power Systems customers have immediate access to the many thousands of new Linux/x86 applications, without having to wait until a native Linux on Power version is available. Likewise, software developers can immediately offer their Linux/x86 solutions to the ever-growing number of Power Systems customers without changing a single line of code. The PowerVM Lx86 technology is available at no extra cost to Power Systems customers who purchase IBM's PowerVM virtualization solution, and according to IBM, more than 65 percent of recent Power Systems customers have made that choice. The rapid adoption of PowerVM is not surprising, given the considerable benefits provided by this enterprise-class virtualization solution, including the unrivaled large-scale consolidation of multiple AIX, IBM i, and Linux workloads onto a single server or blade.

Introducing Cross-Platform Virtualization

PowerVM Lx86 is an example of cross-platform virtualization, a unique form of real-time binary translation that enables applications compiled for one type of CPU and operating system to run unmodified on a completely different platform. The original PowerVM Lx86 cross-platform virtualization solution was created for IBM by Transitive Corporation, a software spin-off from the University of Manchester in the UK that was subsequently acquired by IBM in 2008. The Transitive acquisition reaffirms IBM's role as a virtualization innovator, allowing the company an opportunity to redefine market expectations of what a world-class enterprise virtualization solution should provide. The continued evolution of cross-platform virtualization holds the key to enabling Power Systems of the future to run an ever-increasing selection of enterprise workloads. Best of all, those workloads can be run without modifying any source code or binary files.

Running x86 applications on Power Is Quick and Easy

Preparing a Power Systems server or blade to run Linux/x86 applications is a relatively simple process, and after the installation of PowerVM Lx86, it is easy to forget that it is there at all--other than the fact that software which previously could not execute can now be run as easily as natively-compiled Power applications. Assuming the PowerVM virtualization software has already been purchased and activated, the next step is to install a Linux distribution (either Red Hat or Novell SLES) and obtain PowerVM Lx86, either via download from IBM's Web site or by using the product CD that is bundled with each new IBM Power Systems server.


A valid IBM user ID is required in order to download PowerVM Lx86 from the IBM Web site, so creating a new user registration is necessary for Power Systems customers who do not yet have an ID. Fortunately, this is a relatively quick and easy process. The download comprises a single compressed file, from which the PowerVM Lx86 installation files can be extracted. An Administration Guide and Release Notes files are also available for download. Installation of PowerVM Lx86 in the Linux environment is the same simple process as installing any typical user-space Linux application.


Following the installation of PowerVM Lx86, any Linux applications that generate x86 (Intel/AMD) instructions rather than Power processor instructions can be launched and then translated "on the fly" with no discernable difference in behavior to end users or system administrators. PowerVM Lx86 not only translates the x86 CPU instructions into corresponding Power instructions, but also maps each Linux/x86 operating system call to the appropriate Linux on Power call. Throughout this process, PowerVM Lx86 uses a variety of optimizations, including the analysis of larger code blocks to determine the most frequently used sequences, or "hot spots."

What Types of Applications Can Run with PowerVM Lx86?

As with any type of binary translation, the cross-platform virtualization technology used by PowerVM Lx86 imposes a performance penalty, which is evident when an application running via translation is compared to the same application compiled natively for Linux on Power. However, the performance impact varies between workloads, depending on the nature of the application. This is because the underlying translation engine analyzes the code and stores frequently occurring code blocks in a cache, ready for reuse whenever necessary. As a result, translated applications with predictable and repetitive code paths will generally perform better than those with more random behaviors (which cannot take as much advantage of PowerVM Lx86's code caching).


For new users and evaluators, probably the best advice is to try out a broad variety of Linux/x86 applications with PowerVM Lx86 to determine how they perform. Of course, if natively compiled versions of applications are already available, then it makes sense to use those wherever possible. However, there are some situations where running a translated version may still be preferable, such as when specific new features are introduced in the Linux/x86 version before being rolled out in other platform ports and those features are essential to solving a specific business or IT problem.


More typically, when an application comprises several components in a multi-tiered configuration, then those components that are not natively compiled can be run using PowerVM Lx86, and these can interoperate with other modules or applications that are natively compiled for Linux on Power. This means that Linux on Power customers do not have to wait until every last component is natively compiled, and PowerVM Lx86 thus provides a convenient "bridge" to accelerate and complete the deployment of the latest Linux applications on Power Systems servers.

Using PowerVM Lx86 for Linux Workload Consolidation

Linux on Power is becoming a popular choice for consolidating very large numbers of Linux workloads on Power Systems, when customers are seeking a robust server platform that can scale far beyond the limitations of today's x86-based hardware. As an example, the IT management at leading e-commerce retailer recently moved their entire Linux application infrastructure from x86 servers to Power Systems when they began hitting scalability and reliability limitations. With their new Power Systems platform, now processes well over $1 billion in annual transactions with a Linux-based infrastructure running on a "24x7" basis to serve its global customer base.


With the introduction of PowerVM Lx86, customers can now leverage their investment in Power Systems to consolidate multiple Linux/x86 workloads (as well as those compiled for Linux on Power, AIX, and IBM i) on the same physical system and thereby take advantage of the legendary RAS (reliability, availability, and serviceability) capabilities of Power Systems platforms.


The challenges of x86 "server sprawl" in datacenters have been well-documented, and as a result, the consolidation benefits of virtualization technologies are eagerly sought after by CIOs and IT managers worldwide. However, unlike x86-only hypervisors (such as those from Citrix, Microsoft, or VMware), only PowerVM offers the ability run virtualized workloads that have been compiled for diverse CPU instruction sets and operating systems, including Linux/x86, thanks to PowerVM Lx86.


This leads us to an important point. As enterprise datacenter managers plan their IT consolidation strategies, they need to take into account the diversity of platforms and workloads that their internal customers currently depend upon and try to avoid where possible solutions that result in "islands of virtualization," requiring different administration skills and management tools. Furthermore, it is also important to consider creating a highly virtualized infrastructure that is fully capable of running the new types of applications that will be deployed in the future, and many of those will be Linux/x86 workloads. Most importantly, if CIOs and datacenter managers foresee their IT operations ramping up in a massive way (as occurred with, then they need to make virtualization choices that can reliably scale along with their business operations.

What Are the Next Steps?

In summary, for owners of IBM Power Systems servers, whether they arrived there from a System i or System p background or are relatively new to the platform, trying out PowerVM Lx86 is a quick, easy, and inexpensive process that provides a convenient introduction to the world of cross-platform virtualization. For those who may be relatively new to Linux, it is also an excellent way to explore the multitude of applications available for that operating system, while continuing to benefit from the considerable advantages of the Power Systems platform.


For further information, IBM provides a wealth of PowerVM Lx86 and Linux materials on its Web site, including technical data sheets, videos, white papers, and PowerVM customer success stories. A good starting point can be found here:


The PowerVM Lx86 technology is also frequently referenced in online user forums, IT news sites, and technical blogs.