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.
No comments:
Post a Comment