The importance of standardization to emerging 64-bit ARM servers

At Red Hat, we have been involved in the creation of many of the core industry standards that will be used in building future 64-bit ARM powered servers. Over the past few years, we have assisted in the creation of such standards as the Server Base System Architecture (SBSA), the UEFI 2.4 and ACPI 5.1 bindings for the 64-bit ARM Architecture, and other standards and specifications that have yet to be announced. I believe that each of these standards forms an essential component in the creation of a general purpose computing platform suited to widespread enterprise adoption, as opposed to an embedded or appliance-like device that is tailored to one specific purpose (but for which the Operating System and platform are welded together). Such general purpose platforms are important because customers and end users have many expectations around interoperability and system behavior that they have come to expect from decades of working with highly reliable (and highly standardized) platforms. And while it is important to foster true innovation, gratuitous differentiation only serves to harm everyone involved. It might be fun to build an embedded appliance for a specific application, but using that approach in designing a server is a surefire way to ensure a lack of commercial success.

This is why Red Hat has been leading development of a number of standards that will allow 64-bit ARM servers to run general purpose Operating System software (such as our own). I personally believe that ARM servers may become extremely popular in the market, and if this happens, it is necessary that it be possible to support such systems with a standard Operating System, rather than building a custom one for each different server system that comes along (something that simply cannot scale into the enterprise). Our customers and end users demand that they have a general purpose Operating System capable of supporting a range of standard hardware, which in turn affords those customers the ability to choose from among the available options based upon features and capabilities that extend that standard platform to deliver the highest overall value, rather than worrying about whether the system can be made to run at all. Standards we have been involved in creating include those such as SBSA relating to the underlying ARM Architecture and the realization of that architecture in physical devices (ensuring a common basic set of platform devices necessary to boot an Operating System), as well as those pertaining to system initialization (UEFI) and the discovery and operation of platform devices throughout the course of normal system use (ACPI). Each of these standards have been carefully crafted or adapted to facilitate a common server platform more readily supported by a range of OS choices.

Contrast the embedded Linux approach used on some early ARM server systems with that used in the enterprise space, and in all future ARM server platforms built upon the industry standards here discussed. In the Enterprise space, we expect system firmware to correctly initialize underlying platform devices, along with their associated clock inputs, voltage regulators, muxes, phys, and other pieces necessary to boot. We expect server grade hardware to be designed without interdependencies between hardware devices such that the kernel does not have to have special knowledge of the hidden relation between a network device and a disk interface, and we expect it to be possible to boot an existing Linux kernel compliant with a base architecture specification on newer emerging platforms (compliant with that specification) as they come to market. Such expectations, which are long-established in the customer and end userbase that will be deploying ARM server systems, are fundamentally incompatible with an embedded approach to enterprise server design, and are a strong impetus for our collaboration with industry partners to build a stable foundational series of architectural platform specifications that bring the traditional notions of platform stability into the ARM server space. Using the SBSA, along with UEFI and ACPI, as well as other appropriate platform standards, we will help the newly emerging ARM server market to support general purpose computing (rather than embedded designs) and general purpose Operating Systems that do not require special knowledge of the underlying computing platform. These will be more easily supportable, more general purpose, and more useful computing systems for those seeking to embrace 64-bit ARM architecture.

This is an excerpt from a longer post in my personal blog. Read on:

Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!


Take advantage of your Red Hat Developers membership and download RHEL today at no cost.