The Mobile CPU Core-Count Debate: Analyzing The Real World
by Andrei Frumusanu on September 1, 2015 8:00 AM EST- Posted in
- Smartphones
- CPUs
- Mobile
- SoCs
Play Store App Updates
The Play Store update process seems to be extremely liberal with spawning threads. The little cores are severely over-capacity as we see package updates loading up to 8-9 threads onto the cluster. The two major peaks towards the end of the log especially demonstrate this fact as all CPUs vastly exceed the optimal run-queue depth of 1 when under load, which causes the scheduler to need to preemt between multiple processes.
While it may have been intriguing to see the little cores loaded to such extent, the big cluster seems outright shocking as it as well sees very significant thread-placement. This is one of the rare scenarios where having 4 big cores is not enough. Similarly to the little cores, we see peaks where the run-queue depth vastly exceeds the optimal value of 1.
When looking at the total system run-queue depth, things look for a lack of better description, quite ridiculous. We routinely have peaks where all 8 cores of the system are fully loaded and peak at over 10 threads. It looks like Google is able to massively parallelize the app update process and take advantage of even the highest core-count SoCs. This scenario is absolutely about maximum throughput and performance while utilizing all available hardware resources.
157 Comments
View All Comments
lilmoe - Tuesday, September 1, 2015 - link
"if the interest is high enough":/ Really?
zaza - Saturday, September 5, 2015 - link
Yes Please. It would be nice to see if the same or similar tests works on snaprdagon 810,801 and 615 and Mediatek chips, and intel SoCerchni - Thursday, September 17, 2015 - link
A follow-up with synthetic would be quite interesting.aryonoco - Saturday, September 5, 2015 - link
I just wanted to reiterate the point here an thank the author for this great piece of technical investigative journalism.Andrei, thank you for this work. It is hugely invaluable and insightful.
tipoo - Tuesday, September 1, 2015 - link
Very interesting article. Seems like the mantra of "more cores on mobile are just marketing" was wrong in terms of Android, seems to dip into both four core big and little clusters pretty well. That puts the single thread performance having lagged behind the Apple A series (up until the S6 at least) in a new light, since it can in fact use the full multicore performance.tipoo - Tuesday, September 1, 2015 - link
*That is, barring gaming. More core Android functions do well with multithreading though.jjj - Tuesday, September 1, 2015 - link
In gaming there is a big advantage. By using mostly the small cores you allow for more TDP to go to the GPU. One more relevant thing would console ports in the next couple of years when mobile GPUs will catch up with consoles. The current consoles have 8 small cores and that fits just right with many small cores in Android.retrospooty - Tuesday, September 1, 2015 - link
Not really sure whos "mantra" that was. People that don't understand what the big.little architecture is like some angry Apple fans?tipoo - Tuesday, September 1, 2015 - link
Well sure, whoever they were, but it was a pretty common refrain for every 8 core SoC.soccerballtux - Tuesday, September 1, 2015 - link
for one, it was my mantra. I liked having 4 cores because 2 wasn't enough, but according to my hotplugging times, I only really need 3 for optimal experience most of the time