Advanced Computing in the Age of AI | Friday, April 26, 2024

Power, ARM Become X86 Peers In Ubuntu Linux 

If number two in any market tries harder, then number three has to really work it to get traction. And that is precisely what Canonical, the corporate entity behind the Ubuntu Server variant of Linux, has been doing for years to get into datacenters. With the launch of Ubuntu Server 14.04 this week, Canonical is not only a credible alternative to Red Hat Enterprise Linux and SUSE Linux Enterprise Server in the datacenter, but large-scale customers are stepping up and admitting that they have, in fact, been using Ubuntu for production workloads for quite some time.

Ubuntu Server 14.04 is what is called a Long Term Support, or LTS, release of Canonical’s Linux, and this is significant because LTS releases are aimed specifically at corporate customers who do not want to change operating systems very often. Like other Linux distributors, Canonical puts out a new release two times a year. This happen in April and October, a cycle that the OpenStack community has synchronized with, and staying current with these releases puts customers in the bleeding edge of Linux, OpenStack, KVM, Xen, MySQL, and other core open source software. Every two years, Canonical takes a rev of Ubuntu Server and stuffs it full of features companies will need for the coming years and hardens it with extra attention and care. This is an LTS release, and that means the kernel and the entire stack above it will be supported for five years rather than the 18 month cycle for a regular Ubuntu Server release.

As you can see from the release notes, Ubuntu Server 14.04 LTS, code-named “Trusty Tahir” in the cheeky conventions of the Ubuntu community, is based on the Linux 3.13.6 kernel. The distribution importantly includes the latest OpenStack 2014.1 “Icehouse” release of that popular cloud controller, and also includes the Puppet 3 system and application configuration tool, the MySQL 5.5 database, updates to the KVM and Xen hypervisors, and the new LXC 1.0 Linux container (virtual private servers) that the other Linuxes are also rolling out as production-grade after many years of development by the community. The Ubuntu Server update also includes the 1.5 release of Canonical’s own Metal as a Service (MaaS) bare metal server management tool and the 1.18.1 release of its own Juju service orchestration tool. (You can get even more detail in the Ubuntu Server Guide online if you want to drill down into the feeds and speeds, and you can download the code here.)

At the HPC Linux on Wall Street event last week, executives from IBM were hinting that Big Blue would be expanding support beyond Red Hat Enterprise Linux and SUSE Linux Enterprise Server, but did not say anything more about it. When Mark Shuttleworth, founder of the Ubuntu Project that creates the distribution for which Canonical sells support, talked to EnterpriseTech, he provided a little more detail.

“We can say that Power, which has long been a community supported port in Ubuntu, is now an official port,” Shuttleworth says with a laugh, and it looks like IBM is keeping some thunder for its Power8 chip and system announcements later this month.

The 14.04 release also has support for two 64-bit ARM processors, the X-Gene from Applied Micro and the Thunder from Cavium Networks, both of which are expected later this year. AMD’s “Seattle” Opteron A series is missing from the list, but that does not mean support is not in the kernel. (Release notes for all operating systems are notoriously bad at giving this basic information, and intentionally so because if it was all included it would out future processors.) Ubuntu is the operating system used on the Tianhe-2 ceepie-geepie supercomputer in China and the work that was done to add support for Intel's Xeon Phi X86 coprocessor to that machine (and others) has made its way into Ubuntu Server 14.04 LTS.

Canonical was an early adopter of the Eucalyptus cloud controller, and it had well north of 12,000 trials of clouds on earlier releases of Ubuntu Server before OpenStack became the darling cloud controller of the open source community. The company shifted along with the market away from Eucalyptus and the Xen hypervisor and toward OpenStack and KVM, and has been able to capitalize on the cloud build out.

“The pattern that we generally see is that large institutions are in fact setting up many small clouds and then slowly starting to converge those clouds into one,” Shuttleworth explains. “Typically in large institutions, there is a VMware camp and a Linux camp. If you look at the OpenStack community, the majority of the clouds based on OpenStack are Ubuntu-based. And what is new is the awareness of Ubuntu in the CIO office. We have blown past CentOS across all of the Internet and in the cloud we are a substantial majority of the Linuxes installed. This has been under the radar of the CIO because it has really been at the grassroots level. Because of OpenStack that has flipped now, and now the CIO is talking about Ubuntu.”

One of the reasons that they are talking is that Canonical has integrated OpenStack tightly with Ubuntu Server and created a toolchain for managing the two together for virtualized and bare metal machines.

“Because people get updates from us, we have visibility into many, many thousands of OpenStack clouds of various sizes,” says Shuttleworth. “There are real challenges for people to install OpenStack from scratch, but we are increasingly the means for people to get over those challenges. The work that we had done many years ago to make Linux easy to install has inspired us to do the same for Linux at scale. When you adopt tools like Metal as a Service and Juju, it is gratifying to see how it shifts people’s thinking. Traditionally, a cluster was a lot of work. And what we are giving people is the ability to very quickly turn that cluster into something productive. It could be Hadoop, it could be OpenStack, it could be Ceph, it could be any number of interesting workloads.”

The combined Ubuntu Cloud stack allows IT shops to mix and match bare-metal servers, nodes with Xen or KVM hypervisors and virtual machines, and LXC containers all on the same cluster, all under control of MaaS and Juju and OpenStack working together. LXC is poised to take off in the enterprise.

“LXC gives you the cloud semantics with OpenStack without all of the overhead,” says Shuttleworth. “So, for instance, in a banking scenario where you don’t expect different groups to be attacking one another and you don’t want to have any overhead, LXC is a very efficient way to run at scale.”

The interesting thing that EnterpriseTech observes is that we have come full circle from bare metals to hypervisors and back to an earlier style of virtual private server abstraction. And Shuttleworth concurs with this assessment. “The loud guys are often wrong, and they steer the conversation. But over time, thoughtfulness prevails.”

If you want to run Windows Server or other operating systems on a cloud, you need a full hypervisor like Xen or KVM, of course. There is no getting around that problem if you want to mix operating systems on the same iron.

Canonical has done a lot of work on performance optimizations for Windows running atop KVM, mainly driven by customers building OpenStack clouds. Conversely, a lot of work has been done to make Ubuntu Server run well atop Hyper-V, mainly done by Microsoft’s Azure cloud team. “The Azure guys have done a credible job on building a large cloud, which is hard, and on bringing Linux to that cloud," says Shuttleworth. "We have very many happy customers who are running Ubuntu at scale on Azure. I think that is a surprising and quite delightful story. This may be the harbinger if Nadella’s leadership.” Shuttleworth was referring to Microsoft's new CEO, Satya Nadella, who was most recently running the server and cloud businesses at the software giant.

Focus On Scale Out, Not Scale Up – For Now

With support for IBM's Power chips in Ubuntu Server, it is natural to think that Canonical is working with Big Blue to stretch the Linux across its biggest NUMA systems, which today have 32 sockets, 256 cores, and 1,024 threads. While IBM's AIX Unix can span all of those cores and threads, its own IBM i operating system tops out at 128 threads and so does Red Hat Enterprise Linux 6 and the new release 7 update that is being previewed for delivery later this year. Interestingly, the plan back in early 2010 when the Power7 chips launched was to push both RHEL and SUSE Linux Enterprise Server 11 to the full 256 cores and 1,024 threads, but that did not happen for RHEL. SLES 11 can, however, span the iron, and mostly because some large shared-memory supercomputer customers buying iron from SGI need machines with lots of cores and the work needs to be done anyway.

The support for Power chips – presumably Power8 is the first one, but Canonical is not saying – is not going to draw Canonical into supporting big iron.

“What has not changed is our focus, which is on volume," explains Shuttleworth. "The whole idea behind OpenPower is volume. I have great respect for other companies and their focus, but we have picked scale out and volume as the key thing to do well. It is a hard problem in its own right. For us, it is a much more interesting thing to figure out how to get 2,000 nodes in a rack and hundreds or thousands of those racks as an objective than to ponder how we can get to more sockets on a single machine.”

That said, Canonical is getting to work on tuning up Ubuntu Server for NUMA machines and wants to do traditional HPC well, too. To that end, the distribution includes the Lustre parallel file system and a bunch of other HPC libraries. And Shuttleworth concedes that the "sci-fi stuff" in the future that would be enabled by systems with very high-speed networks linking them presents some interesting possibilities in terms of creating malleable systems that are one step cooler than clouds.

“For us, there is a lot more interest in HPC than in sixteen-socket scale up," says Shuttleworth. "But a supercomputer with a very high-speed interconnect and with tens of thousands of nodes is more interesting. If you look at where hyperscale is going, you might be virtualizing SATA and other protocols over that high-speed interconnect and constructing systems on the fly. Wouldn’t it be a beautiful thing if you could codify that machine – that’s a Juju charm – and you need something that can talk to the metal to create the system you want – that’s MaaS – for that particular workload. You just throw the workloads at the substrate. And that is absolutely where we are headed."

EnterpriseTech could not agree more.

EnterpriseAI