One of the most voiced criticisms we hear of multi-core mobile processors, in addition to “why do you even need that much processing power on a smartphone, anyway”, is that all the cores in the world aren’t going to do much for performance when software isn’t taking full advantage of them. Intel, a relative newbie to the Android scene with its first-such phones out this year, has recently been speaking-out along that same line, accusing Android of not doing a very good job at efficiently making use of multi-core processors, and fingering SoC manufacturers as the ones who should be making the effort to make things work better.
According to Intel, Android’s thread scheduler just isn’t up to the task of getting the best performance out of the new quad-core (and to a lesser extent, dual-core) chips we’re seeing. Since the manufacturers of those components should be the ones capable of getting the highest performance out of them, Intel thinks that the companies behind these chips should be the ones contributing the necessary improvements to the Android source tree, but “they just haven’t bothered to do it”.
Sure, some of this might just be a backhanded way for Intel to congratulate itself on its own work at improving thread performance, but we agree that someone needs to be taking a closer look at Android multi-core support. According to the company, some of the phones from other manufacturers which it’s tested end up performing worse when multiple cores are enabled. It doesn’t name names, but if that’s true at all, it seems like a pretty damning assessment of Android’s current relationship with multi-core chips.
Intel’s single-core Medfield Atom processor enters the market at time when almost all of the big hitting ARM vendors are focusing efforts on dual-core and quad-core processors. However Intel said that chip firms should do more to optimise Android for multi-core processors as it does not effectively make use of multiple cores.
Although Intel’s Medfield Atom processor does have pseudo multi-threading capability thanks to the firm’s Hyperthreading technology, Intel still needs to defend Medfield against the obvious question of how it can compete with quad-core processors from ARM chip designers Nvidia, Qualcomm and Samsung. According to Mike Bell, GM of Intel’s Mobile and Communications Group, the firm’s defence is that Android’s thread scheduler simply isn’t ready for multi-core processors.
Bell said, “If you are in a non-power constrained case, I think multiple cores make a lot of sense because you can run the cores full out, you can actually heavily load them and/or if the operating system has a good thread scheduler. A lot of stuff we are dealing with, thread scheduling and thread affinity, isn’t there yet and on top of that, largely when the operating system goes to do a single task, a lot of other stuff stops. So as we move to multiple cores, we’re actually putting a lot of investment into software to fix the scheduler and fix the threading so if we do multi-core products it actually takes advantage of it.”
Bell also claimed that Intel’s internal testing had shown multi-core implementations running slower than single core, however he did not finger any particular chip. “If you take a look a lot of handsets on the market, when you turn on the second core or having the second core there [on die], the [current] leakage is high enough and their power threshold is low enough because of the size of the case that it isn’t entirely clear you get much of a benefit to turning the second core on. We ran our own numbers and [in] some of the use cases we’ve seen, having a second core is actually a detriment, because of the way some of the people have not implemented their thread scheduling.”
Later Bell said that for some chip vendors he isn’t certain what advantage they get from sticking multiple cores on a die. “I’ve taken a look at the multiple core implementations in the market, and frankly, in a thermal and/or power constrained environment – what has been implemented – it isn’t obvious to me you really get the advantage for the size and the cost of what’s going into that part,” said Bell.
Finally Bell claimed that Android doesn’t make use of multi-core processors, something he thought other chip firms should work on sorting out alongside Intel. “The way it’s implemented right now, Android does not make as effective use of multiple cores as it could, and 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.”
Bell ended with a parting shot at other chip vendors, saying that their lack of work to improve Android’s multi-threading support is what’s holding performance back. “Right now the lack of software effort by some of the folks who have done their hardware implementation is a bigger disadvantage than anything else,” said Bell.
Bell wouldn’t give a date, or even a year when Intel will bring out multi-core Atom processors, but given that he said Intel is working on Android’s thread scheduling and handling, it is safe to say that there will be a multi-core Atom chip sooner rather than later.