After a long wait, 2015 looks like the year ARM-based servers will start to be used in earnest in the datacentre.
Small, energy-sipping ARM-based processors are commonly found in mobile phones and tablets. But there’s increasing interest in using these efficient, less-powerful chips inside servers. That demand is being fuelled by the growth in computationally light workloads that still need to be carried out on a large scale, such as serving static elements on popular websites.
These tasks, sometimes dubbed hyperscale workloads, can be more efficiently carried out using clusters of hundreds or thousands of wimpy core processors, rather than a smaller number of more powerful chips.
This year several ARM-based system-on-a-chip (SoCs) boards will appear, designed to carry out a range of datacentre tasks – ranging from handling server workloads, to running storage arrays and virtualised network functions.
To meet these needs, ARM-based SoCs will be launched by various companies, including AMD, Applied Micro, Broadcom, Cavium and Texas Instruments.
These chipsets will be based on the ARM v8 architecture, which introduces support for features considered critical by business. Not only is v8 the first ARM architecture to support 64-bit cores, it also brings additional enterprise-class features, such as error-correcting code memory.
Of course, having the right hardware is only half the equation for enterprises. You also need that hardware to be able to run the right applications.
That’s what is being worked on by Linaro, an engineering group supported by a range of ARM-based chip designers, server OEMs and Linux operating system custodians, all of which share an interest in broadening the range of open-source software for the ARM platform.
By the time the first 64-bit ARM-based SoCs become generally available for use in production servers later this year, Linaro is confident that certain core enterprise software packages used for serving websites, data analytics and databases will be running acceptably on the 64-bit ARM-based architecture.
These enterprise software packages include the LAMP stack – an acronym for software widely used for websites, commonly referring to a Linux OS, Apache web server, MySQL database and PHP scripts – as well as the NoSQL database MongoDB and the distributed storage and processing framework Hadoop, together with other web-serving technologies such as memcached and HAProxy.
“My feeling is that we are close to having all the workloads ready,” said Andrea Gallo, senior director in the Linaro Enterprise Group.
Perhaps more important is the progress towards getting 64-bit ARM architectures running software written in Java, the programming language used to build many enterprise applications. The OpenJDK platform – an open-source implementation of the Java platform – has not only been ported to the ARM 64-bit architecture but Linaro is making progress in improving its performance.
“We’ve focused on having a very good OpenJDK port,” Gallo said. “We have a very impressive OpenJDK 8 port to ARM-64.”
Performance-wise, OpenJDK running on ARM-64 is generating code that is as well-optimised as that for other computing architectures, such as x86-64.
“If you compare the speed of the just-in-time compiler vs the native interpreter, our speed-up is the same as the speed-up of the same OpenJDK on other architectures. It’s really impressive.”
ARM v8-based boards should also run applications written in other popular languages, including Perl, Python and Ruby, while the commonly-used GNU C compiler and GNU C Library have already been ported to the architecture.
Various Linux-based operating systems also run on the ARM 64-bit architecture, including Ubuntu Trusty 14.04. Validation tests are also being conducted for OpenStack, the open-source cloud computing platform, running on the KVM hypervisor. The Xen hypervisor also runs on ARM v8 hardware.
“We have all the most-common workloads running, so that’s really exciting. It’s even more exciting that all these extremely complex workloads don’t need any optimisation for ARM,” Gallo said.
Linaro has concentrated on validating how these enterprise workloads run on single-node ARM architectures, according to Gallo, and the next stage will be testing multi-node setups.
“It will open up all sorts of possibilities,” he said, such as varying the balance between processing performance and power consumption.
Sergis Mushell, research director with Gartner’s technology and service provider research group, said significant performance benefits could be secured by writing applications to spread workloads across many cores so those tasks can be processed in parallel.
“You have to write your application in a way to take advantage of multiple processors and run in a parallel mode to get that performance.”
Getting the ARM v8 platform enterprise-ready also requires porting over the software that sets up servers. To that end Linaro has been working on enabling support for the ACPI standard that sets out the procedure for device configuration and power management, as well as the UEFI specification that defines the software interface between the operating system and the firmware.
“For Linaro members it’s very important on the deployment and operation side that ARM servers behave just like any other server on any other architecture,” Gallo said.
“There should not be any custom-code or custom software layers. No hack at all. So we have worked on cleaning up the UEFI and we have removed all the legacy expanse of code from three or four years ago, when ARM started experimenting with the kernel core,” Gallo said.
“We’ve cleaned that up and now we can boot a Linux image as a native EFI application.
“On ACPI we are now able to boot ARM platforms with only ACPI information, without a device tree. This is also a major breakthrough on ARM.”
The work carried out by Linaro’s team of 30 engineers reflects the priorities of its members, which include Citrix, Facebook, various ARM-based SoC designers, organisations supporting Linux distros such as Red Hat and Canonical, and OEM server makers like HP.