Play Store App Updates

One of the most demanding real-world tasks on Android is the installing and updating of applications. Doing mass-updates on several applications at once can heat up most devices as we see heavy computational load not only in the install process, but also caused by ART's ahead-of-time compilation and optimization process.

I recorded a ~80s period where the Play Store updated several installation packages, such as Android's WebView component as well as a few other user-applications.

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.

App: Play Store Open & Scroll Camera: Launch
Comments Locked

157 Comments

View All Comments

  • TylerGrunter - Tuesday, September 1, 2015 - link

    In fact you are in the right place to ask that question, as one of the profets os the mantra was Anand Lal Shimpi himself:
    http://www.anandtech.com/show/7335/the-iphone-5s-r...
    Quoting from the article:
    "two faster cores are still better for most uses than four cores running at lower frequencies"
    You can read the rest if you are interested, but that´s how much of the mantra started.
  • retrospooty - Tuesday, September 1, 2015 - link

    I wont hold that against Anand, he was lobbying toward a job at Apple ;)

    But seriously, it was 2 years ago. At that time ""two faster cores are still better for most uses than four cores running at lower frequencies" may well have been the case. Also, no matter how you slice it, an 8 core big.little is not a true 8 core CPU. It's really still 4 cores.
  • retrospooty - Tuesday, September 1, 2015 - link

    /edit. I do remember alot of people crying "you dont need 8 cores" but again, that was people misunderstanding ARM's big.little architecture made worse by marketing calling it "8" cores" in the first place.
  • TylerGrunter - Tuesday, September 1, 2015 - link

    I agree with you, and he may not have been THAT wrong at the time. But with the current implementations of power gating and turbos most of what he said has been rendered false.
    AFAIK, big.LITTLE can be a true 8 core, it actually depends on the implementation.
  • lilmoe - Sunday, September 6, 2015 - link

    "Also, no matter how you slice it, an 8 core big.little is not a true 8 core CPU. It's really still 4 cores."

    An 8 core big.LITTLE chip running in HMP mode (like the Exynos 5422 onward) is in fact a "true" 8 core chip in which all 8 cores can be running at the same time. You're thinking core migration and cluster migration setups in which only 4 cores (or a combination of 4) can be running at the simultaneously.
  • lilmoe - Sunday, September 6, 2015 - link

    "can be running at the simultaneously."
    *corrected: can be running simultaneously.
  • osxandwindows - Friday, September 25, 2015 - link

    If i run all 8 cores at the same time, wood it affect battery life?
  • mkozakewich - Wednesday, September 2, 2015 - link

    If the option is really four weak cores or two powerful cores, I think the two powerful ones would make a better system. If we could have two powerful cores AND four weak cores, that would be even better.

    So I think he was probably justified.
  • mkozakewich - Wednesday, September 2, 2015 - link

    Just everyone who's easily influenced, really. I heard it from pretty much everyone. Someone I was talking to apparently "knew someone who designed a Galaxy phone." He claimed they wanted to design it with two cores, or something, but the marketers wanted eight.
  • StormyParis - Tuesday, September 1, 2015 - link

    Very interesting, thank you.

Log in

Don't have an account? Sign up now