In this overview of the PowerLinux landscape, Mel Beckman describes how PowerLinux brings big-iron reliability and scalability to Linux while still offering a cost-competitive entry point.
The Swiss might keep the time, but Linux runs the Internet—at least the applications part of it. Accounting for more than 60 percent of all public web application servers, according to Netcraft’s 2012 Web Server Survey, Linux powers the big Internet services—Amazon, Facebook, Google, Wikipedia—and even entities such as the U.S. Postal Service. The primary drivers behind Linux as an application host have been portability, openness, and low license costs. Linux runs on a slew of CPU architectures, so applications written for it can easily move between platforms. But limitations in those hardware platforms have made Linux less reliable and scalable than traditional “big iron” systems. IBM’s PowerLinux brings big-iron reliability and scalability to Linux while still providing cost-competitive, Linux-friendly, entry-level server offerings.
Click on this Infographic
to enlarge & save:
PowerLinux is a collection of IBM products and technologies that aim to make IBM Power Systems an attractive destination for Linux-based applications. Power has supported Linux for years, and with the advent of PowerVM, Linux is a full-fledged peer OS on the same level as AIX and IBM i. Standard Linux distributions from Red Hat and SUSE run in their own dedicated partitions, with access to all of IBM’s PowerVM capabilities, including Virtual I/O. Linux running on Power also can exploit IBM’s application services, including DB2 and WebSphere. In addition to Power-specific standard Linux distributions, PowerLinux includes the IBM Software Development Toolkit for PowerLinux, the PowerLinux community, and application-specific initiatives such as IBM PowerLinux Industry Application Solution Editions and Open Source Infrastructure Services.
The vast majority of Linux application servers run on x86 machines, and they run well enough to satisfy the likes of Amazon and Google, so Linux x86 users are going to need pretty good reasons to consider including IBM Power Systems in their deployment plans. PowerLinux provides those good reasons. When you see how PowerLinux components work together to raise the reliability and scalability bar for Linux without impacting cost, you’ll be ready to consider moving your own Linux workloads to Power.
PowerLinux and Application Portability
It used to be that applications were tightly tied to the hardware they ran on, regardless of OS. One of the original aims of the Linux kernel was to abstract hardware details so that applications could become more insulated from them, letting applications move more easily to any hardware architecture that also supports Linux. You still had to recompile your applications for the target hardware, but at least I/O and process management were unchanged.
Application software components such as the Apache web server, MySQL database, and PHP language completed the isolation of business applications from the bare metal, enabling truly portable applications. Combining these components in “stacks” such as LAMP (Linux, Apache, MySQL, and PHP) lets you code your application at a high enough level that hardware doesn’t matter at all. Once the stack components have been compiled for a given architecture, your application runs on that architecture, within the stack, unchanged.
Applications that include machine-level compiled code written in languages such as C do have to be recompiled for the target hardware platform. But the trend in application development is to move away from such dependencies by using interpreted languages such as Java, PHP, and Ruby. At that level, applications can ignore the underlying hardware and concentrate on business logic and information presentation. The vast majority of today's Linux web applications work precisely this way, which means they’re already portable to non-x86 CPU architectures, including IBM Power Systems.
The necessary substrate for moving apps to Power is, of course, a version of Linux compiled for the Power architecture. Currently, IBM supports two major Linux distributions on Power: Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES). But you aren’t limited to those versions. The PowerLinux Community actively supports Debian, Fedora, and Gentoo distributions as well, although you can’t get paid support for them from IBM.
IBM Powers Up Linux
Application portability is of little interest to most Linux users unless PowerLinux is actually better than x86 Linux in significant ways. You’ll soon see how specific Power7 features deliver major improvements, but you can intuit the impact of Power on Linux in a general way by reading the Edison Group’s 2011 white paper “IBM PowerVM Virtualization Technology on IBM POWER7 Systems: A Comparison of PowerVM and VMware vSphere (4.1 & 5.0) Virtualization Performance.” This IBM-sponsored research compares the industry standard Linux benchmark, AIM7 running on x86 VMware, with IBM Power 750 servers. It reports a more than double (115 percent) workload scaling advantage over comparably priced x86 servers, as shown in Figures 1 and 2. Throughput per core and other performance metrics also trump x86.
Figure 1: Workload Scaling Advantage
Figure 2: PowerVM vs. VMware in AIM7 Virtual Machine Scaling
PowerLinux runs on all Power Systems servers, and is, as we've just learned, typically more cost effective and scalable than x86. But until recently, IBM’s entry-level offerings were pricier than x86 alternatives. To take price off the table for prospective customers running SMB enterprise-class x86 hardware, IBM introduced a pair of Linux-specific rack-mount servers: the PowerLinux 7R1 (single-socket) and 7R2 (dual-socket) systems, as Figure 3 shows.
Figure 3: The PowerLinux 7R2 System
Based on the Power 730 and sporting eight 3.3GHz or 3.55GHz cores per socket, up to 256GB of memory, and six SSD or 3.6TB SAS drives, these systems are priced on a par with equivalent Dell or HP offerings when VMware and Linux licensing costs are included. IBM bundles PowerVM with the hardware, which eliminates hypervisor licensing fees that often depend on the number of cores and amount of memory actually in use. These boxes won’t run the AIX or IBM i OSs, underlining IBM’s intent to ease Linux migrators into the Power universe.
You can also deploy PowerLinux in IBM’s PureSystems line using the Flex System p24L (the “L” stands for Linux) PowerLinux Compute Node. Based on the p260 half-width node, the p24L supports the same two sockets and 256GB of RAM as the 7R2 (with the option of both 6- and 8-core CPUs) but only two SAS/SSD drives due to space limitations.
PowerLinux Application Support
Speeds and feeds aren’t the only attractants existing x86 users need to make the leap to PowerLinux. Users want some labor savings as well, and PowerLinux delivers valuable labor efficiencies on three fronts.
The first is IBM’s PowerLinux Open Source Infrastructure Services package. Available with specific PowerLinux systems, this package is a ready-to-run LAMP virtual appliance with Power-optimized versions of Apache, MySQL, and PHP, along with a Postfix/Dovecot/Cyrus email suite, Samba (Windows) print and file services, DNS, Squid web caching, and a software firewall.
Second are IBM’s Linux Industry Application Solution offerings, a new category of integrated ISV product that bundles a PowerLinux platform with vertical applications such as IBM PowerLinux Solution Editions for SAP ERP, SEP sesam, and SugarCRM. This is a nascent product niche aiming to copy the virtual appliance marketplaces of competitors such as VMware.
Third is IBM’s PowerLinux Big Data Analytics Solution (BDAS). Big Data is an industry term for the process of manipulating huge data sets—typically billions of records in diverse formats—in order to extract new insights about a business. BDAS (you have to wonder if that acronym is an accident) runs on a cluster of PowerLinux systems using the Apache Hadoop analytical framework. Hadoop distributes analytical processing across the cluster using a computational technique called Map/Reduce. Map/Reduce divides an analytical problem into many small fragments of work that can be run in parallel across many nodes. BDAS implements Hadoop in a fault-tolerant, scalable way with predictable costs that eliminate the need for resident Hadoop infrastructure expertise.
For application programmers who need to deploy code at the binary level, IBM offers its Software Development Toolkit for PowerLinux, a free, Eclipse-based GUI IDE that includes Power-targeted C/C++ compilers, tool chains, and optimization tools. You can run the IDE directly on a PowerLinux system or remotely from a Windows x86 workstation. In addition to standard Linux performance analysis and debugging tools, the SDK bundles a PowerLinux performance simulator that lets you predict application throughput on any Power CPU. But the SDK will rarely, if ever, be used for most Linux web application development because the aim of Linux apps is to avoid hardware entanglements.
Power to Burn
At the application layer, IBM aims to make PowerLinux look as much like standard Linux as possible, thus maximizing portability. Under the hardware hood, though, Power Systems have a number of features that make them intrinsically faster, cheaper, and more scalable than x86. Here’s the short list of features that most impact Linux:
- PowerVM. PowerVM supports all the standard hypervisor features IT has grown accustomed to, such as live VM migration, shared SAN storage pools, and dynamic memory and CPU allocation. But unlike x86 hypervisors, which run as separately installed, changeable software, Power’s PowerVM hypervisor is read-only firmware shipped with the OS. It has a slew of security features that make it immune to the kinds of attacks that x86 faces. PowerVM also includes the Virtual I/O Server (VIOS) virtualized I/O system, which closes additional attack avenues. The security difference is measurable: VMware has nearly 100 reported vulnerabilities, whereas PowerVM + VIOS has zero. PowerVM also sports IBM’s web-based Integrated Virtualization Manager, which gives you an instant window into VIOS management.
- Micropartitioning. In x86-land, a handful of VMs can share a single CPU core, but the x86 architecture provides no mechanism to tightly control how much of the CPU each VM can seize. This makes application performance unpredictable except in one-to-one application/CPU ratios. Power supports micropartitioning that can allocate as little as 1/10th (1/20th with Power7.2) of a CPU to a VM. Linux’s exceptionally small memory and CPU footprint can exploit this feature to run many lightweight workloads on a single core. An 8-core processor could thus run as many as 160 VMs. Although you’re not likely to chop CPUs so finely, the option to do so gives you much greater workload management flexibility. Micropartitioning works on a larger scale, too: You could give a VM 1.3 CPUs, or 3.45.
- Shared Processor Pools (SPPs). You can put a cap on the CPU usage for one VM or a group of VMs and automatically move CPU capacity between VMs based on workload demands.
- Active Memory Sharing (AMS). Linux VMs often contain large swaths of infrequently referenced memory. AMS dynamically moves unused memory blocks between VMs to improve overall memory utilization.
- Active Memory Deduplication (AMD). All the PowerLinux VMs running on a single server typically share identical read-only code segments, including the kernel and standard admin utilities. AMD lets all VMs share a single copy of duplicate memory pages, automatically splitting a common copy if one or more VMs writes changes to it. This can reduce memory consumption by as much as 50 percent.
- Power7 Intelligent Threads. New with Power7, this technology improves VM performance by switching between one, two, and four execution threads per processor core. Compared to the x86 two-thread HyperThread feature, Power7 can more than double the computational speed of a single VM.
Power to the Linux
If you’re currently running, or anticipate running, Linux-based applications and you're looking for reliability, scalability, and performance that your business can depend on, you owe it to yourself to consider PowerLinux. Not only does the Power architecture run Linux better than x86, with fewer security exposures and major labor-saving features, but IBM’s new PowerLinux servers also give you an easy way to try out, and eventually move to, PowerLinux as your next application substrate.