Wednesday, June 13, 2012

Intel: ARM, Android far behind x86 when it comes to multi-threaded optimizations


The director of Intel’s mobile products division, Mike Bell, has leveled some interesting charges at the company’s ARM-using competitors in the Android smartphone market. Bell, an engineer who spent time at both Apple and Palm before moving to Intel, claims that the major smartphone players have done precious little work to optimize their software for multi-threaded environments.
According to Bell, Intel’s own investigation into the state of multi-processing support in Android turned up a number of deficiencies. Some of the problems can be traced back to manufacturing and the difficulty of controlling current leakage, but others point to poorly optimized thread schedulers and inefficient data structures.
“The way it’s implemented right now, Android does not make as effective use of multiple cores as it could,” Bell told The Inquirer. “I think — frankly — some of this work could be done by the vendors who create the SoCs, but they just haven’t bothered to do it.”
Intel is scarcely a neutral third party, but in this case, we’re inclined to take Bell at his word. His background is in engineering, rather than PR/product evangelism, and the comments themselves make sense. ARM and Android have become ubiquitous precisely because they allow Samsung, Qualcomm, TI, and Nvidia to reap the benefits of research and product development without being directly responsible for the implementation. Intel’s massive software development resources exemplify the opposite approach, and the company’s silicon is quite competitive with ARM devices.
Intel’s software advantage isn’t really x86 compatibility, at least not primarily. The company’s true ace card is the expertise of its software engineers and the scale of its development environment. The fact that its many forms of expertise revolve around the x86 instruction set is nearly incidental. Of its competitors, only Nvidia has much experience in low-level development.
The other reason we take Bell’s criticisms fairly seriously is that they make logical sense. It’s easy to forget that Android is a very young operating system. Dual-core phones are everywhere these days, but the first DC devices shipped less than two years ago. The kind of ultra-low-level optimizations Bell is discussing aren’t something Google can build for each and every device manufacturer — they depend on the specifics of the SoC and, in theory, would be custom built by the relevant OEM. Relying on Google may have worked to date, but it’s unlikely to be effective for much longer.
These type of optimizations become more important as core counts increase. It can be more power-efficient to use four slow cores rather than two fast ones, but only if the OS is efficient enough to leverage all four threads. If it isn’t, the consumer gets a slower device with worse battery life.
Intel smartphone roadmap 
More than anything, Intel’s comments are a sign that the company is deadly serious about matching and exceeding its competitors. Medfield demonstrated Intel’s commitment on hardware, but discussions of low-level software optimizations are a different animal. To date, other OEMs have gotten away with limited software customization thanks to ARM and Google. [[Our robot thinks you might like some software for only $14.95]] Everything we’ve seen to date suggests that Cortex-A15 and 28nm are the last low-hanging fruit vendors will see for several years. With Intel planning dual-core Clover Trail tablets for later this year and a 22nm Silvermont refresh dropping in 2013, the various ARM vendors will need to look to such optimizations to continue competing effectively.

No comments:

Post a Comment