The Mobile CPU Core-Count Debate: Analyzing The Real Worldby Andrei Frumusanu on September 1, 2015 8:00 AM EST
- Posted in
Chrome - AnandTech Frontpage
Off the bat we see quite a large difference in the power state distribution graphs. Chrome seems to place much higher load on the little cores compared to S-Browser. When looking at the run-queue chart we see that indeed all cores are almost at their full capacity for a large amount of time.
What stands out though is a very large peak around the 4s mark. Here we see the little cores peak up to almost 7 threads, which is quite unexpected. This burst seems to overload the little cluster's capacity. The frequency also peaks to 1.3GHz at this point. The reason we don't see it go higher is probably that the threads are still big enough that they're picked up by the scheduler and migrated over to the big cluster at that point.
The big cores also see a fair amount of load. Similarly to the S-Browser we have 1 very large thread that puts a consistent load on 1 CPU. But curiously enough we also see some significant activity on up to 2 other big cores. Again, in terms of burst loads we see up to 3 big CPUs being used concurrently.
The total run-queue depths for the system looks very different for Chrome. We see a consistent use of 4-5 cores and a large burst of up to 8 threads. This is a very surprisng finding and impact on the way we perceive the core count usage of Chrome.
Post Your CommentPlease log in or sign up to comment.
View All Comments
Hrobertgar - Tuesday, September 1, 2015 - linkYour spikes on the video recording appear to be every ~4 secs of video, could the CPU spikes be app / memory related?
badchris - Tuesday, September 1, 2015 - linkThank you for this excited article.And one problem,how do we explain 2 big core Snapdragon 808 is more efficient than 4 big core Snapdragon 810?
Andrei Frumusanu - Tuesday, September 1, 2015 - linkYou cannot make comparisons between different SoCs even if they have the same CPU IP and the same manufacturing process. The S808 is different from the S810 which are again different from Nvidia's X1 even if all 3 have A57 cores on TSMC 20nm.
badchris - Tuesday, September 1, 2015 - linknvm,i should realize this comparison is not scientific.
metafor - Tuesday, September 1, 2015 - linkThe S808 and S810 should be fairly similar though. That's not to say you can say that the only difference is the CPU configuration but a similar study on what the behavior is like on a different SoC with fewer cores would be helpful.
Threading isn't 100% free and neither is thread migration. It might be good to take a look at just what the S810 is doing over time compared to the S808 in terms of CPU activity.
Andrei Frumusanu - Tuesday, September 1, 2015 - linkI have data on all of that... It's just in need of being published in an orderly fashion.
kpkp - Tuesday, September 1, 2015 - linkThere are quite few other differences beside the 2 cores, starting with the memory controller.
badchris - Tuesday, September 1, 2015 - linkthx for your notice.there're something i forgot
npp - Tuesday, September 1, 2015 - linkAs an ex-Android developer I can remember that the SDK not only encourages, but sometimes straight out enforces extensive usage of threads. For example, around API level 14/15, making a network request in the main thread would throw an exception, which may seem obvious to experienced developers but wasn't enforced in earlier versions. This is a simple example, but having the API itself pushing towards multi-threaded coding has a positive effect on the way Android developers build their apps. I'm not sure then why Google's own browser would be surprising for its usage of high thread counts - even a very basic app would be very likely to spawn much more than 4 threads nowadays.
Arbie - Tuesday, September 1, 2015 - link"I was weary of creating this table..."
That's not surprising, after all your work ;-).
Terrific article BTW which is up to Anandtech's long-time standards. Seems like a mini master's thesis.