After Years of Linux on ARM, when is the Year of Red Hat on ARM servers?
From hobbyist SoC devices such as the ubiquitous Raspberry Pi to a complete domination of the mobile device market, ARM processors have proven the value of the architecture. It is easy to see why ARM processors were able to explode in this market, given that they are able to pack quite a bit of performance into a rather small physical space. Take for instance Qualcomm’s Snapdragon 400 processor, which is used in many products including the Huawei Watch This processor provides a dual core, fast, performance using 14-nanometer design. This makes it small enough to fit on your wrist, and it is efficient enough to limit power consumption enough to run on a battery, which can also fit on your wrist. The usefulness in these spheres of ARM processors is well known, and the fact that RHEL seems to have little interest in the mobile, embedded device, or hobbyist market is also fairly well known. What should be of interest to Red Hat developers, though, is the potential for the Enterprise Server market that ARM processors seem to be displaying. While x86 devices likely are to remain in place for workstations and laptops, the low power usage and small physical design of ARM processors make it interesting to the server market, where power consumption and space are also limitations.
The server market began the long journey to embrace the ARM architecture back in 2013. While this looked like a potential only a few years ago, these machines are becoming more and more mainstream. Take for instance Cavium’s ThunderX processors, which boast 48 cores with 2.5 GHz frequency and the ability to fit on 1U servers. This is certainly within the range of performance and affordability of x86 architecture processors like the well known Intel Xeon series. And with advancements like Samsung’s announcement of an ARM processor using 10 nm lithography, the potentials for growth in the server market for ARM processors look even higher. It is with this in mind the Red Hat has been developing for the ARM architecture and the reason this is of interest to Red Hat Developers.
Brief History of ARM
ARM originally stood for Acorn RISC Machine and has since changed to Advanced RISC Machine. To understand its importance, one should understand the meaning of RISC or “Reduced Instruction Set Computer.” The idea of the reduced instruction set computer is, actually, not to limit the number of instructions or potential instructions sent to the CPU, but to reduce the number of calls to memory that an instruction will make. The x86 architecture is known as a CISC, or “Complex Instruction Set Computer” and can take up to a dozen data memory cycles for each instruction sent to the CPU. RISC machines limit data memory cycles to one per instruction.
RISC devices date back to even the 1960’s. The most well-known executions were Stanford University’s MIPS and UC Berkeley’s RISC (which obviously provided the name for the concept). Sun Microsystems developed RISC and commercialized it as the SPARC (or Scalable Processor Architecture). ARM (or Acorn RISC Machines) began development in the 1980’s and worked with Apple through the 1990’s eventually becoming Advanced RISC Machines. The collaboration with Apple produced ARM v6, and now we have seen the production of ARM v7 and v8. Following these developments, ARM-dominated the mobile scene with 98% of mobile phones containing ARM processors. It is estimated that at least 10 Billion ARM processors were produced in 2013 alone.
The primary issue for OS implementation for ARM is the lack of standards. While this provided a boon in the mobile market, allowing phone manufacturers to take an embedded software approach, this is enormously limiting in the enterprise server market. In a 2014 interview with The Register, Jon Masters, Chief ARM Architect for Red Hat, stated: “If I’ve got 20 different possibilities for wiring up a serial port on a server, there’s a problem.” He also refers to the ARM market as an “embedded zoo.” The issue is that while device and hardware customization works for embedded devices and phones, in an industrial setting, it is nothing but a problem.
Attempts have been made, and are being made, to overcome this issue in the ARM market. ARM produced the Server Base System Architecture (SBSA) standard, which lays out the architecture that an ARM processor must adhere to and the Server Base Boot Requirements (SBBR), which designates a standard way for ARM processors to boot. Obviously, the architecture standard has implication for execution in enterprise servers. The boot standard is also important because most embedded and mobile devices have used boot loaders like U-Boot, which limits the ability to produce a distribution for that processor. With the introduction of the SBSA and SBBR standards, it was left up to manufacturers to follow them.
ARM Servers: Present and Future
Cavium’s ThunderX processors mentioned above, and AMD’s “Seattle” Opteron 1100 processor, stated by Jon Masters to be the ideal standard for ARM servers, show the potential for pushing ARM-based servers into the mainstream. Complications occurred pushing AMD’s release of their ARM processors back a year from 2015 to 2016, which then placed it even further behind newer Intel Xeon devices. Software support seems to be waiting on the proven viability of these processors and their ability to actually compete with or surpass x86 devices. Red Hat released an unsupported “Early Access” version of RHEL for ARM back in 2014, that is available with a manufacturer’s code. Since then, not much seems to have changed, at least for users, with the “Early Access” version of RHEL still being available unsupported with a manufacturer’s code.
The viability of RHEL on an ARM system seems obvious, especially given the heavy development upstream with the Fedora ARM project as well as the activity on the lists for CentOS on ARM. In fact, a Raspberry Pi 3 with Fedora ARM now makes for a stable and high-powered home server. Should the market begin a transition toward ARM servers, RHEL will likely still be on top in that sphere, so it is important for developers to keep this transition in architectures in mind. It is possible that ARM for servers and workstations has reached its limit and it will fade back to a hobbyist and mobile architecture. However, it’s rapid growth and initial server performance does show the potential for market dominance in the future. With this in mind, development for RHEL in a few years could mean development for RHEL ARM.
Take advantage of your Red Hat Developers membership and download RHEL today at no cost.
Join the Red Hat Developer Program (it’s free) and get access to related cheat sheets, books, and product downloads.