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

  • speculatrix - Sunday, February 3, 2019 - link

    The problem then is a race to the bottom, showing more adverts to fewer people, with installation of ad-blockers accelerating because of that.
    You need to do a deal with context-based advertising operators like Grapeshot, which should massively improve both relevance and conversions.
  • rahvin - Friday, January 4, 2019 - link

    You should remind your publisher that the users of this site are tech savy and if the advertisements are annoying they will see a huge boost in adblocker use on the site or a corresponding drop is use. In fact I'd wager that after you turned those auto play video ads on ad block use went up 25% or more and unique views went down.

    We understand you need to make money, but your publisher is destroying the site with ads like this. They are the very definition of bad ad's, the only way to make them worse would be to embed malware in them at this point. No video ad should _ever_ be autoplay.
  • StevoLincolnite - Friday, January 4, 2019 - link

    I won't use the internet without an AdBlocker. - Remember years ago when one of Anandtechs adverts was propogating viruses? Not good.

    On mobile it's just a waste of CPU cycles/battery life.
  • Lolimaster - Friday, January 4, 2019 - link

    Firefox mobile + ublock
  • speculatrix - Sunday, February 3, 2019 - link

    Ghostery works well for me
  • ikjadoon - Friday, January 4, 2019 - link

    I'm OK with the autoplaying ad...but why does it have to scroll down with me? It covers up the article text once it jumps around the screen. :(
  • voicequal - Friday, January 4, 2019 - link

    Hopefully they will consider an ad-free subscription at some point. Google Contributor is one way to do it.
  • Ryan Smith - Saturday, January 5, 2019 - link

    It's something I want to do this year.=) However it's not my call to make, so I can't offer any promises.
  • speculatrix - Sunday, February 3, 2019 - link

    I pay actual money to Phoronix to go ad-free. I'd do the same for Anandtech and Arstechnica.
  • mr_tawan - Sunday, January 6, 2019 - link

    I used to have a problem with this video ad, when I read Anandtech at work (as I uses Citrix virtual desktop and it's slow as hell. Now I don't have this problem anymore.

    I've quit my job :).

Log in

Don't have an account? Sign up now