S-Browser - AnandTech Article

We start off with some browser-based scenarios such as website loading and scrolling. Since our device is a Samsung one, this is a good opportunity to verify the differences between the stock browser and Chrome as we've in the past identified large performance discrepancies between the two applications.

To also give the readers an idea of the actions logged, I've also recorded recreations of the actions during logging. These are not the actual events represented in the data as I didn't want the recording to affect the CPU behaviour.

We start off by loading an article on AnandTech and quickly scrolling through it. It's mostly at the beginning of the events that we're seeing high computational load as the website is being loaded and rendered.

Starting off at a look of the little cluster behaviour:

The time period of the data is 11.3s, as represented in the x-axis of the power state distribution chart. During the rendering of the page there doesn't seem to be any particular high load on the little cores in terms of threads, as we only see about 1 little thread use up around 20% of the CPU's capacity. Still this causes the cluster to remain at around the 1000MHz mark and causes the little cores to mostly stay in their active power state. 

Once the website is loaded around the 6s mark, threads begin to migrate back to the little cores. Here we actually see them being used quite extensively as we see peaks of 70-80% usage. We actually have bursts where may seem like the total concurrent threads on the little cluster exceeds 4, but still nothing too dramatically overloaded.

Moving on to the big cluster:

On the big cluster, we see an inversion of the run-queue graph. Where the little cores didn't have many threads placed on them, we see large activity on the big cluster. The initial web site rendering is clearly done by the big cluster, and it looks like all 4 cores have working threads on them. Once the rendering is done and we're just scrolling through the page, the load on the big cluster is mostly limited to 1 large thread. 

What is interesting to see here is that even though it's mostly just 1 large thread that requires performance on the big cores, most of the other cores still have some sort of activity on them which causes them to not be able to fall back into their power-collapse state. As a result, we see them stay within the low-residency clock-gated state.

On the frequency side, the big cores scale up to 1300-1500 MHz while rendering the initial site and 1000-1200 while scrolling around the loaded page.

When looking at the total amount of threads on the system, we can see that the S-Browser makes good use of at least 4 CPU cores with some peaks of up to 5 threads. All in all, this is a scenario which doesn't necessarily makes use of 8 cores per-se, however the 4+4 setup of big.LITTLE SoCs does seem to be fully utilized for power management as the computational load shifts between the clusters depending on the needed performance.

Introduction & Methodology Browser: S-Browser - AnandTech Frontpage
Comments Locked

157 Comments

View All Comments

  • Hrobertgar - Tuesday, September 1, 2015 - link

    Your 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 - link

    Thank 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 - link

    You 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 - link

    nvm,i should realize this comparison is not scientific.
  • metafor - Tuesday, September 1, 2015 - link

    The 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 - link

    I have data on all of that... It's just in need of being published in an orderly fashion.
  • kpkp - Tuesday, September 1, 2015 - link

    There are quite few other differences beside the 2 cores, starting with the memory controller.
  • badchris - Tuesday, September 1, 2015 - link

    thx for your notice.there're something i forgot
  • npp - Tuesday, September 1, 2015 - link

    As 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.

Log in

Don't have an account? Sign up now