As enterprise-ready ARM-based servers move closer to release, work is stepping up on adding the necessary software support to the platform.
Small, low-power ARM-based processors are commonly found in mobile phones and tablets. But there's increasing interest in using these energy 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 relatively wimpy processors, rather than a smaller number of more powerful chips.
This year several ARM-based system-on-a-chip (SoC) processors will appear, designed to carry out a range of datacentre tasks — 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 (ECC) memory.
Core enterprise software packages used for serving websites, data analytics and databases are being tweaked to run on the ARM architecture and the latest version of the Linux kernel, released on Sunday, introduced various ARM-targeted features.
The kernel, version 3.16, improves support for two of the major ARM v8-based SoCs aimed at servers, with mainline support for the Applied Micro X-Gene SoC and initial support for the AMD 'Seattle' chips — the AMD Opteron A1100 series.
Getting the ARM v8 platform enterprise-ready also requires porting over the software that sets up servers after powering on.
The latest kernel version simplifies support for the UEFI specification that defines the software interface between the operating system and the firmware. The tweaks allow the firmware to boot directly into the OS kernel without having to deal with a separate bootloader, such as GRUB2.
A senior director in the Enterprise Group for Linaro, an engineering group working to broaden the range of open-source software for the ARM platform, told ZDNet sister site TechRepublic that "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."
"There should not be any custom-code or custom software layers. No hack at all," added the Linaro director.
Linaro has also made progress in simplifying support for the ACPI standard that sets out the procedure for device configuration and power management. Their work means it is now possible to "boot ARM platforms with only ACPI information, without a device tree".
Other additions to the Linux kernel improve virtualisation on ARM-based systems, with the Xen hypervisor now including suspend and resume support.
The 3.16 kernel also adds mainline support for other ARM-based platforms, including the Nvidia Jetson TK1 development board with its Tegra K1 high-end SoC, multi-platform support for the Samsung Exynos and Qualcomm MSM 8×60 / 8960 / 8974.
Significant advances have been made in getting the ARM v8 architecture to support software used by enterprise. These enterprise software packages include the LAMP stack (an acronym for software widely used for running 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. By the time ARM-based servers are in production use, likely to be 2015, the Linaro group is confident these workloads will be running acceptably on ARM-based platforms.
Given the number of enterprise applications built using Java, it's also important for ARM-based systems to run Java-based applications. To that end the architecture supports OpenJDK platform — an open-source implementation of the Java platform — and good progress is being made on improving its performance.