NVIDIA's Carmel CPU Core - SPEC2006 Rate

Something that we have a tough time testing on other platforms is the multi-threaded performance of CPUs. On mobile devices thermal constraints largely don’t allow these devices to showcase the true microarchitectural scaling characteristics of a platform, as it's not possible to maintain high clockspeeds. NVIDIA’s Jetson AGX dev kit doesn’t have these issues thanks to its oversized cooler, and this makes it a fantastic opportunity to test out Xavier's eight Carmel cores, as all are able to run at peak frequency without worries about thermals (in our test bench scenario).

SPEC2006 Rate uses the same workloads as the Speed benchmarks, with the only difference being that we’re launching more instances (processes) simultaneously.

Starting off with SPECin2006 rate:

Tegra Xavier AGX - SPECint2006 Speed vs Rate Estimate 

The way that SPEC2006 rate scores are calculated is that it measures the execution time of all instances and uses the same reference time scale as the Speed score- with the only difference here being is that the final score is multiplied by the amount of instances.

I chose to run the rate benchmarks with both 4 and 8 instances to showcase the particularity of NVIDIA’s Carmel CPU core configuration. Here we see the four core run perform roughly as expected, however the eight core run scores are a bit less than you’d expect. To showcase this better, let’s compare the scaling factor in relation to the single-core Speed results:

Tegra Xavier AGX - SPECint2006 Speed vs Rate Scaling

The majority of the 4C workloads scaling near the optimal 4x factor that we’d come to expect, with only a few exceptions having a little worse performance scaling figures. The 8C workloads however showcase significantly worse performance scaling factors, and it’s here where things get interesting:

Because Xavier’s CPU complex consists of four CPU clusters, each with a pair of Carmel cores and 2MB L2 cache shared among each pair, we have a scenario where the CPU cores can be resource constrained. In fact, by default what the kernel scheduler on the AGX does is to try to populate one core within all clusters first, before it schedules anything on the secondary cores within a cluster.

In effect what this means that in the 4C rate scenarios, each core within a cluster essentially has exclusive use of the 2MB L2 cache, while on the 8C rate workloads, the L2 cache has to be actively shared among the two cores, resulting in resource contention and worse performance per core.

The only workloads that aren’t nearly as affected by this, are the workloads which are largely execution unit bound and put less stress on the data plane of the CPU complex, this can be seen in the great scaling of some workloads such as 456.hmmer for example. On the opposite end, workloads such as 462.libquantum suffer dramatically under this kind of CPU setup, and the CPU cores are severely bandwidth starved and can’t process things any faster than if there were just one core per cluster active.

Tegra Xavier AGX - SPECfp2006(C/C++) Speed vs Rate EstimateTegra Xavier AGX - SPECfp2006(C/C++) Speed vs Rate Scaling  

The same analysis can be applied to the floating point rate benchmarks: Some of the less memory sensitive workloads don’t have all that much issue in scaling well with core counts, however others such as 433.milc and 470.lbm again showcase quite bad performance figures when run on all cores on the system.

Overall, NVIDIA's design choices for Xavier’s CPU cluster are quite peculiar. It’s possible that NVIDIA either sees a majority of workloads targeted on the AGX to not be an issue in terms of their scaling, or actual use of the platform in automotive use-cases we would see each core in a cluster operating in lock-step with each other, theoretically eliminating possible resource contention issues on the level of the shared L2 cache.

I didn’t get to measure full power figures for all rate benchmarks, but in general the power of an additional core within a separate cluster will scale near linearly with the power figures of the previously discussed single-core Speed runs, meaning the 4-core rate benchmarks showcase active power usage of around ~12-15W. Because performance doesn’t scale linearly with the additional secondary cluster cores, the power increase was also more limited. Here I saw up to a total system power consumption of up to ~31W for workloads such as 456.hmmer (~22W active), while more bottlenecked workloads ran around ~21-25W for the total platform (~12-16W active).

NVIDIA's Carmel CPU Core - SPEC2006 Speed Closing Thoughts
Comments Locked

51 Comments

View All Comments

  • xype - Friday, January 4, 2019 - link

    AnandTech is my reminder to turn the ad blocker back on if I turned it off for some reason. It’s insane how big of improvement in experience it is to block ads on AnandTech.
  • Cellar Door - Friday, January 4, 2019 - link

    It is just a matter of time before we will get a message 'turn of your adblocker to proceed' - at that point I will abandon this site. For now, ublock origin keeps this site in check for me.
  • DanNeely - Friday, January 4, 2019 - link

    FYI, 99% of the time I've found I could block notice complaining about having blocked various 3rd party malware distribution domains and still read the site with my crap blockers running.
  • TheinsanegamerN - Friday, January 4, 2019 - link

    Or just use the anti ad blocker blocker in ublock origin.
  • HollyDOL - Friday, January 4, 2019 - link

    I have to admit, AT taught me to install adblock, the level of ad annoyance climbed too high for me.
    I am still willing to pay a sub for a spam-free AT access.
  • linuxgeex - Friday, November 8, 2019 - link

    It was THG that got me using AdBlock, but these days I turn off AdBlock on most of the sites I frequent and instead rely on ScriptSafe and Stylus to selectively disable the cruft. It's a little more work for me, but it allows sites I care about to still get revenue from the less annoying ad content, and I cross my fingers that they will learn to insert less annoying ads. Animated = blocked. Sound = bocked. Video = blocked. Causes content to jump around while loading = blocked. Inserts ads that look like navigation features = blocked (I'm looking at You, Google)
  • Ryan Smith - Friday, January 4, 2019 - link

    "Why are there video ads automatically playing on each one of the Anandtech pages?"

    Our publisher (Future) has decided that they want to have this ad unit on every page. Unfortunately there's not much more I can say than that; it's their call.
  • thesavvymage - Friday, January 4, 2019 - link

    :(
  • thesavvymage - Friday, January 4, 2019 - link

    Could you at least speak to them on ad appropriateness? Mine are the usual low effort clickbait spam ads, or "The One Thing All Cheaters Have In Common" and "Seattle: Cable Companies are furious over this tiny device".

    Like I understand your publishers have to advertise, but crappy advertising like this gets the adblock treatment, point blank. Its an extremely frustrating experience for what is supposed to be a professional site.
  • Ryan Smith - Saturday, January 5, 2019 - link

    "Could you at least speak to them on ad appropriateness?"

    It's something we discuss on a regular basis. Like any other ad-supported operation we're largely at the whims of the overall advertising market: who is willing to buy ads and at what price. On the whole, advertisers are being very cautious right now, especially with written publications.

    Future's size helps a lot with this, since they're a top publisher and can move some very large deals. Not that it's a dire situation or anything nearly like that, but continual erosion in ad rates makes it difficult to get any ads rolled back.

Log in

Don't have an account? Sign up now