Linaro Linux-on-ARM effort sets sights on network gear
PowerPC, x86, and MIPS can run, but they can't hide
The non-profit Linaro software engineering effort , established two summers ago to whip the Linux kernel and add-ons to create the Linux platform for mobile devices, is setting its sights on myriad networking devices.
The proliferation of and tinkering with ARM processor designs is what makes for powerful technology, just like Linux itself. But the diversity of the ARM chip ecosystem makes creating an operating system that spans them all a big pain in the ass – much tougher than for a relatively homogeneous x86 chip racket.
And thus Linaro was created in June 2010 by ARM Holdings, Freescale Semiconductor, Samsung, ST-Ericsson, Texas Instruments, and believe it or not IBM, which doesn't have very much skin in the ARM game and is likely just hedging its bets.
Last November, social network and bespoke server maker Facebook joined the Linaro effort and helped start an enterprise group aimed at ARM server implementations and specifically charged with working on low-level booting and kernel software for 32-bit and 64-bit variants of Linux.
Server maker Hewlett-Packard and ARM server chip upstarts Calxeda and Advanced Micro Devices are in the Linaro enterprise group, and so is Samsung, which has yet to declare its intentions in the server racket but which everyone believes will jump in before 2014 when this nascent market really gets rolling with 64-bit chips.
The thing to remember is that Linaro is not creating an ARM Linux distribution, but is rather the means through which work is done so others can do better Linux distributions for ARM.
In this way, Linaro sort of resembles ARM Holdings, the company that designs the basic ARM feature set and licenses it for modification and integration into myriad devices. ARM is the starting point of ARM processor and system-on-chip designs, and Linaro wants to be the focal point of where all of the key parts of the Linux kernel and related stack are tweaked and tuned to run across ARM architectures.
The difference is that ARM charges money to license its chip technology and Linaro just pays to have programmers work on open source code that is given back to the community.
With the establishment of a networking group at Linaro, the engineering organization has a number of goals, explains Dave Rusling, CTO at Linaro, to El Reg. "All of the real-time extensions don't get put into the kernel for ARM, and they drift and get scuzzy," Rusling explains.
Patch sets for IPv6 networking and real-time are scattered around, with people doing bits and pieces of this work here and there, and all of this software needs to be brought to bear if ARM is to be a contender for networking devices. "We want to consolidate all this and clean it up," he said.
But the Linaro networking group also wants to do some shiny new development, too, that will give the ARM architecture some benefits when used to power networking devices and to leverage its architectural strengths.
This includes adding virtualization support to Linux-on-ARM with specific consideration for performance for real-time applications (like network operating systems and their adjunct software modules), I/O optimization, and supporting multiple and incompatible operating systems.
Optimizing real-time Linux extensions for both the control and data plane in network devices, tweaking the way packets are processed by Linux on ARM to get the throughput higher and the latency lower, and coping with the big-and-little endian issues that are common in network devices.
One big issue that the Linaro networking group will be tackling at the get-go is throughput in the data plane of the network stack. In some cases, Linux runs the data plane of a network device in the user space and there is often a lot of stress in the interaction with the Linux kernel, Rusling says.
In other cases, network device makers with real-time Linuxes running on network devices put the data plane in the kernel and then they have scalability issues. Exactly how this issue will be solved is not clear, but the point is, Linaro will be working on it and eventually some sort of solution will be made available to those, like MontaVista (now owned by network chip maker Cavium), Wind River (now owned by Intel), and Enea Group (which hasn't been snapped up by anyone – yet), that package up real-time Linuxes that are used in network devices.
"The way Linaro works is that you get a nice mix of software companies, ODMs, and OEMs together, and you get a lot of different points of view as well as some pushing and pulling," says Rusling. "We try to spend money on the engineering and not get in the way too much."
The Linaro networking group includes ARM Holdings, real-time Linux makers MontaVista and Enea, embedded PowerPC and ARM wannabe chipper Freescale Semiconductor, ARM server chip upstart Applied Micro Circuits (which has also just joined the enterprise group), network gear maker Nokia Siemens Networks, and chip makers Texas Instruments and LSI Logic.
There are a total of 11 members of this networking group, and a bunch of them are not ready to make their membership known yet and a few more are expected to be added soon. The idea of starting up a networking group was kicking around in early November and started up a few weeks later.
The enterprise group at Linaro has grown to 18 engineers, and across all of Linaro there are a total of 140 engineers hacking away at Linux code for ARM. Generally speaking, there are one or two engineers per member company in Linaro, and Rusling expects the networking group to grow to around 30 engineers or so. ®