SPEC2006: Performance Parity At Different Efficiency

Having shed a bit of light on the new microarchitectural aspects of the memory subsystems of the new Snapdragon 855 and Exynos 9820, the question is now how the new chipsets perform in more significant macro workloads. For a continued reference CPU workload we’re again falling back to using SPEC.

The SPEC harness we’re using is compiled with simple and straightforward “-Ofast” compilation flag with the Android devices having an instruction tuning to Cortex-A53s as I’ve found this to give the highest average scores across a the wide range of SoCs.

It’s to be noted that SPEC2006 has been deprecated in favour of SPEC2017, however as the 2006 variant is well understood in terms of its workload characterisation for this article I’m still sticking the older version. We’ll be switching over to SPEC2017 later this spring/summer and covering any new data in a separate article.

In the SPECint2006 suite of integer workloads, both chipsets don’t showcase any big surprises in performance. The new Snapdragon 855 variant of the Galaxy S10+ confirms the performance figures we were able to measure on the QRD platform back in January with little to no deviation. The Snapdragon posted excellent performance improvements over the Snapdragon 845 of last year and ties in with the Kirin 980 as the fastest Android SoCs for this year.

The Exynos 9820’s performance figures are also relatively unsurprising for me as I had muted expectations. Here we do see some relatively healthy performance improvements considering that we’re talking about mostly IPC gains on the part of the new Cheetah cores, as the new chipset is a mere 30MHz faster than last year’s chip.

The biggest improvements are found in 429.mcf as well as 471.omnetpp where the new M4 cores perform respectively 32% and 27% better. Both these workloads are the most latency and memory sensitive workloads in the SPECint2006 suite, so given the new chip’s improved memory subsystem it’s no wonder that it’s here where we see the biggest performance jumps. Mcf is also one of the rare tests where the Exynos manages to beat the Cortex A76’s in the S855 and K980 by a more significant amount. Unfortunately for the rest of the workloads being tied is the best-case scenario as it loses out by a small amount in all other workloads.

One thing that I have to note is that it’s possible that big parts of the benchmark probably weren’t run at the peak 2.73GHz clocks of the new M4 cores. Samsung has now enabled a current limiter circuit on the CPU cores and will now more aggressively throttle down the frequency of the CPU in high-power workloads. This means that needy workloads will only see the peak frequencies in the range of 5-10 seconds before throttling down to frequencies of 2.3-2.5GHz. I didn’t have time to have a more thorough monitoring of what the chip is doing during SPEC so it’s something I’ll have to follow up on.

When it comes to power efficiency, the new Exynos 9820 does improve notably compared to last year’s Exynos 9810. It seems that the biggest power efficiency improvements happened on the most memory intensive workloads, in particular 462.libquantum’s 74% efficiency improvement all while improving performance is quite impressive.

Having said that, as I had theorized back based on Samsung’s own marketing numbers, the efficiency gains just aren’t enough to actually compete against the 7nm Cortex A76 cores in the new Snapdragon and Kirin chipsets as Samsung’s chip loses out in every workload.

In the C/C++ workloads of SPECfp2006 we see a similar picture as in the integer workloads. The Snapdragon 855 distinguishes itself here as being able to distance itself more from the Kirin 980 in a few workloads such as 447.dealII and 453.povray, all while maintaining almost equal excellent power efficiency.

The Exynos 9820 here has a hard time showcasing big performance improvements compared to its predecessor, but the one workload where we see a massive jump is 470.lbm, with an 84% jump in performance compared to the M3 cores of last year. This workload is particularly latency and bandwidth intensive so the new load/store unit arrangement of the M4 cores seem to favour it a lot.

In terms of power efficiency, what is interesting is that the new Exynos doesn’t lose as badly as in some of the integer workloads, although it still very much loses to the Snapdragon and Kirin.

Again to have a wider range of performance comparison across ARMv8 cores in mobile here’s a grand overview of the most relevant SoCs we’ve tested:

Finally it’s important to have a wider overview of the performance and efficiency of the current generation chipsets:

In the SPECint2006 geomean score, the Exynos 9820 slightly loses out in the to the Snapdragon 855. More importantly, it uses 47% more energy and power to achieve this same performance. In SPECfp2006 this efficiency difference drops to 21% - although the performance on the M4 cores is also 7% less.

What is most interesting about the new Snapdragon 855 and Exynos 9820 chips is that they have multiple CPU groups, so I went ahead and also measured performance and power of the middle Cortex A76 cores of the Qualcomm chipset against the Cortex A75 cores of the Samsung silicon.

Unexpectedly, the Snapdragon chipset’s “middle” cores beat the Exynos’ middle cores by a hefty amount. At 2.4GHz, the three middle cores of the Snapdragon actually aren’t weak by any means, and only fall behind the Prime core by 15-19% in performance, for an 18% frequency deficit. The Cortex A75 cores on the Exynos chip are 35% weaker than the middle cores of the Snapdragon. Here a more even comparison probably would have been the 1.92GHz middle A76 cores of the Kirin 980, however I wasn’t able to benchmark them separately on Huawei’s devices.

Energy efficiency of Samsung’s A75 cores are good – although it comes at a larger performance deficit, they’re in line with the energy consumption of the A76 cores in the competition.

In the quest to find an answer on how much the actual process node impacts power efficiency between the 7nm Snapdragon and 8nm Exynos, I also went ahead and ran SPEC on the Cortex A55 cores of both chipsets. After a gruelling 11.5 hours of runtime we finally see that the little cores only post a fraction of the performance of the big core siblings. What is actually quite embarrassing though is that the power efficiency is also quite atrocious for the given performance. Here other blocks of the SoC as well as other active components are using up power without actually providing enough performance to compensate for it. This is a case of the system running at a performance point below the crossover threshold where racing to idle would have made more sense for energy.

Apple’s small cores are just such an incredible contrast here: Even though the absolute power isn’t that much bigger than the Cortex A55 cores, the Tempest and Mistral cores are 2.5x faster than an A55, which also results in energy efficiency that is around 2x better.

Finally getting back to the reason why I measured the A55 cores: The Exynos 9820 here again loses out not only in performance but also in power efficiency. Even though the chip’s A55 cores are clocked in higher at 1.95GHz, it’s likely the lack of L2 caches is handicapping the CPUs in IPC, and thus falls behind the 1.78GHz Snapdragon A55’s. Power efficiency here is better on the Snapdragon SoC by 15-18%.

During last summer’s Hot Chips presentation of the M3 CPU core Samsung had remarked to me that the M4 would be the competing against the Cortex A76, and not the M3. While in terms of power efficiency there’s the matter of us not having a valid apples-to-apples process node comparison at hands, at least from a performance perspective it doesn’t look like the new M4 cores are all that impressive, as they just barely manage hold up against the A76 in the Snapdragon and Kirin. Samsung’s CPU just looks to still have too many rough edges and bottlenecks, and thus ends up performing far below of what we’d expect of a microarchitecture that fundamentally on paper is wider than Arm’s Cortex A76.

Memory Subsystems Compared - Bandwidth & MLP Inference Performance: APIs, Where Art Thou?
Comments Locked

229 Comments

View All Comments

  • xian333c - Wednesday, April 17, 2019 - link

    How to buy that unicorn on table in ur shout?
  • Brightontech - Sunday, April 21, 2019 - link

    it is an awesome phone
    <a href="https://www.brightontech.net/2019/04/audiovideo-ed... Editor and Video Converter</a>
    Video Editor and Video Converter
  • Jhereck - Tuesday, April 23, 2019 - link

    Hi Andrei another question regarding the patch designed to increase PELT resonsiveness : is there any way a third party kernel can include it, therefore making s9 and s10 the devices they should be ?

    You know like last year when you tried to play with s9 exynos kernel in order to match snapdragon power and power efficency ?

    Thanks in advance
  • Rixos - Thursday, May 2, 2019 - link

    It's kind of sad, I was actualy looking at the s10e as a replacement device for my galaxy S7 but as I live in Europe I would be getting the Exynos variant. Worse audio quality, less processing power and worse camera results. Basically seeing this kind of ruined the purchase for me. In some sense I wish I would not have seen it, the S10e is likely still a great upgrade for my S7 but knowing that there is a better version out there just ruins it for me. I guess ignorance sometimes really is bliss.
  • theblitz707 - Thursday, May 23, 2019 - link

    I see this is in every review. I actually went to stores and used my phones ambient light sensor and an another phones flashlight to measure display brightnesses. Although slightly inaccurate lg g7 gave a 1050lux reading with boost on.(all test on apl100) Taking that as a base s9 plus did 1020 s10 plus did 1123 and p20 pro did around 900 when i shone my flashlight to each sensor. So why everyone makes it seem like they are less bright than they actually are? Does using a flashlight to trigger high brightness impossible to imagine? Let me tell you those oled screens get very bright with high ambient light like outside on a sunny day.
  • ballsystemlord - Monday, June 3, 2019 - link

    Spelling and grammar corrections. I did not read the whole thing, so there maybe more.

    Samsung new L3 cache consists of two different structures
    Possesive:
    Samsung's new L3 cache consists of two different structures

    Similarly, the A75's should be a ton more efficient the A55 cores at the upper performance points of the A55's.
    Missing "than":
    Similarly, the A75's should be a ton more efficient than the A55 cores at the upper performance points of the A55's.

    Arm states that the new Cortex A76 has new state-of-the-art prefetchers and looking at what the CPU is able to do one my patterns I'd very much agree with this claim.
    Missing "to":
    Arm states that the new Cortex A76 has new state-of-the-art prefetchers and looking at what the CPU is able to do to one my patterns I'd very much agree with this claim.

    The nature of region-based prefetchers means that fundamentally any patterns which has some sort of higher-level repeatability will get caught and predicted, which unfortunately means designing a structured test other than a full random pattern is a bit complicated to achieve.
    "have" not "has" and a missing y:
    The nature of region-based prefetchers means that fundamentally any patterns which have some sort of higher-level repeatability will get caught and predicted, which unfortunately means designing a structured test other than a fully random pattern is a bit complicated to achieve.

    Switching over from linear graphs to logarithmic graphs this makes transitions in the cache hierarchies easier to analyse.
    Excess "this" and analyze is with a "z":
    Switching over from linear graphs to logarithmic graphs makes transitions in the cache hierarchies easier to analyze.

    Indeed one of the bigger microarchitectural changes of the core was the addition of a second data store unit.
    Missing comma:
    Indeed, one of the bigger microarchitectural changes of the core was the addition of a second data store unit.

    ...we see that in the L3 memory region store curve is actually offset by 1MB compared to the flip/load curves, which ending only after 3MB.
    "ed" not "ing":
    ...we see that in the L3 memory region store curve is actually offset by 1MB compared to the flip/load curves, which ended only after 3MB.

    "Traditionally such misses are tracked by miss status holding registers (MSHRs), however I haven't seen Arm CPUs actually use this nomenclature."
    This is almost certainly a run on sentence with missing punctuation. Try:
    "Traditionally, such misses are tracked by miss status holding registers (MSHRs). However, I haven't seen Arm CPUs actually use this nomenclature."

    "Again to have a wider range of performance comparison across ARMv8 cores in mobile here's a grand overview of the most relevant SoCs we've tested:"
    Missing comma:
    "Again, to have a wider range of performance comparison across ARMv8 cores in mobile here's a grand overview of the most relevant SoCs we've tested:"
  • giallo - Monday, June 17, 2019 - link

    how much did they pay you to write this bullshit? you must be true downs
  • theblitz707 - Monday, August 19, 2019 - link

    i discovered something about display brightness on oleds recently. I did a test with a7 with auto brightness on.

    Lets assume, on a slightly dark room you set your brightness to 25nits(whites), so when you go out to the sun phone boosts around 750-800 nits.

    Now lets assume on a slightly dark room you set your brightness to 250 nits, now when you go out to the sun phone boosts to 900nits. (what i actually did was not go in a dark room but while i was outside i covered the sensor with my hand so it thought i was in a dim place)

    I used to assume everytime you go out to sun it would get maxed but apparently it still depends on what you set your phone before.(dumb a bit if you ask me, cuz you know, its THE sun, brightest thing..) I believe this might be the reason why you didnt reach to 100APL 1200nits.

    P.s. I know every brightness sensor is different but i had tested lg on full white and i had gotten 1050 lux, i also tested s10 or plus, all white and i had gotten 1120lux on white,100APL.(It was painfully hard to find the sensor to shine the flashlight, its somewhere around upper part of the phone under the display).

    It would be cool if you retested the brightness in this way:

    1- After you put auto brightness on, Go in a very dark room or cover the sensor, so phone put itself to a dark brightness, after that happens, set the brigthness to max while you are still in the dark room.(auto is still on).
    2- Now go under sun or shine a phone flashlight to sensor and test the brightness on white APL100. That would be really nice.
  • theblitz707 - Monday, August 19, 2019 - link

    lg is g7 on boosted, forgot to mention

Log in

Don't have an account? Sign up now