logo slogan

Torvolds and ARM

By Roger Sheperd of Chipless



Chris is a great campaigner against the religion that open source software is inherently better and more secure than closed source. However, at times I he goes too far, and assumes anyone from the open-source community can’t be talking sense. One case is Chris’s recent reaction to Linus Torvalds’ comments

“Over the last few weeks there has been significant coverage of Linus Torvald saying that the Intel's architecture is "better" than ARM's. (For example http://www.computing.co.uk/ctg/news/2473538/arm-versus-intel-no-contest-says-linus-torvalds - registration required). He seems to be using strange metrics for comparing the two. For example "[Intel's] infrastructure… it's there and it is open, and it's open in a way that no other architecture is.”

where Chris has missed the very important point that Linus was making about ARM and Intel in the cloud and infrastructure space. Actually, it resonates in the embedded space as well.

Torvalds says “It’s because of the infrastructure… The instruction set and the core of the CPU is not very important” and he repeats this "What matters is all the infrastructure around the instruction set”.

Chris continues with

“Hmm! He argues that the PC market forced developers to create software to work with the single architecture and this is lacking in ARM. With nearly 90 billion ARM cores sold he looks like putting the cart before the horse here.”

But Chris’s analysis isn’t right and the fact that there are 90 billion ARM cores sold says almost nothing to do with the cloud and infrastructure space - which is what Torvalds talking about. Torvalds is arguing that the ARM infrastructure has been poor; he is explicit "but as a hardware platform it's still not very pleasant to deal with... It doesn't have the same kind of unified models around the instruction set that we have in the PC space” and "Rather, as a developer, it's the development platform that counts rather than specific chip architectures”.

I agree with Torvalds here. Infrastructure has been a problem with ARM in the server space. On Intel/PC developers are able to port software, even system software, trivially; on ARM they haven’t been. One example of what has been lacking from the ARM infrastructure is well-defined “discovery”, the mechanism which allows operating system software to probe a system to find out where the memory is, where the peripherals are, etc. The WinTel monopoly caused this to happen for Intel; Microsoft was able to force some standardization on motherboard manufacturers, so much so that the board was considered broken if it didn’t boot Windows. No such help was available for ARM vendors.
Clearly ARM did very well in the embedded space without this. But even there I would argue that the lack of this sort of standardization has held back the embedded industry. Historically we were not been able to build software without the target platform being available. Of course some things have to be checked on a target platform, but most doesn’t. The lack of standardization has lead to a position where development tools - particular operating systems, compilers and libraries have had to be tightly associated with particular boards. I do not consider this to be a “good thing”.

Now don’t get me wrong. I think ARM have done a great job with their licensing but they, like many companies that don’t understand software and software development, were slow at realising they had to corral the eco-system. Eventually they did - part of the outcome was Linaro and another was Mbed. Linaro is an amazing achievement; ARM talks about their “partners” but the partnership relationship is not transitive. ST might partner ARM, and NXP might partner ARM, but ST and NXP are competitors, not partners. In Linaro ARM have managed to get their partners to work together. Amazing!

The thing is, these sorts of issues are a problem for IoT at the moment. The lack of an over-arching IoT architecture that addresses security is killing the industry. We got this out of WinTel, perhaps we need something similar out of ARM? Or someone else?

Thanks for the provocation.