SPEC CPU2006 Cont: Per-Core Performance w/SMT

Moving beyond single-threaded performance, multi-threaded performance within the confines of a single core is of course also important. The Vulcan CPU architecture was designed from the start to leverage SMT4 to keep its cores occupied and boost their overall throughput, so this is where we'll look next.

SPEC CPU2006: Single Core w/SMT
Subtest
SPEC CPU2006
Integer
Application Type Cavium
ThunderX
2 GHz
gcc 5.2
1 thread
Cavium
ThunderX2
@2.5 GHz
gcc 7.2
4 threads
Xeon
8176
@3.8 GHz
gcc 7.2
2 threads
Thunder
X2
vs
Xeon 8176
Thunder
X2
vs
ThunderX
400.perlbench Spam filter 8.3 24.1 50.6 48% 290%
401.bzip2 Compression 6.5 22.9 31.9 72% 350%
403.gcc Compiling 10.8 35 38.1 92% 330%
429.mcf Vehicle scheduling 10.2 52.4 50.6 104% 510%
445.gobmk Game AI 9.2 25.1 35.6 71% 270%
456.hmmer Protein seq. analyses 4.8 26.7 41 65% 560%
458.sjeng Chess 8.8 22.4 37.1 60% 250%
462.libquantum Quantum sim 5.8 83.6 83.2 100% 1440%
464.h264ref Video encoding 11.9 34 66.8 51% 290%
471.omnetpp Network sim 7.3 31.1 41.1 76% 440%
473.astar Pathfinding 7.9 27.2 33.8 80% 340%
483.xalancbmk XML processing 8.4 33.8 75.3 45% 400%

First of all, the ThunderX2 core is a massive improvement over the simple ThunderX core. Even excluding libquantum – that benchmark could easily run 3 times faster on the older ThunderX core after some optimization and compiler improvements – the new ThunderX2 is no less than 3.7 times faster than its older brother. This kind of an IPC advantage makes the original ThunderX's 50% core advantage all but irrelevant.

Looking at the impact of SMT, on average, we see that 4-way SMT improves the ThunderX2's performance by 32%. This ranges from 8% for video encoding to 74% for pathfinding. Intel meanwhile gets a 18% boost from their 2-way SMT, ranging from 4% to 37% in the same respective scenarios.

Overall, a boost of 32% for the ThunderX2 is decent. But it does invite an obvious comparison: how does it fare relative to another SMT4 architecture? Looking at IBM's POWER8, which also supports SMT4, at first glance there seems to be some room for improvement, as the POWER8 sees a 76% boost in the same scenario.

However this isn't entirely an apples-to-apples comparison, as the IBM chip had a much wider back-end: it could issue 10 instructions while the ThunderX2 core is limited to 6 instructions per cycle. The POWER8 core was also much more power hungry: it could fit only 10 of those ultra-wide cores inside a 190W power budget on a 22 nm process. In other words, further increasing the performance gains from using SMT4 would likely require even wider cores, and in turn seriously impact the total number of cores available inside the ThunderX2. Still, it is interesting to put that 32% number into perspective.

Single-Threaded Integer Performance: SPEC CPU2006 Java Performance
Comments Locked

97 Comments

View All Comments

  • Gunbuster - Wednesday, May 23, 2018 - link

    Because it's hard to explain the critical line of business software or database is having some unknown edge case issue because you thought look at me I'm so smart and saved 1% of the project cost using unproven low penetration hardware.
  • daanno2 - Wednesday, May 23, 2018 - link

    I'm guessing you've never dealt with expensive enterprise software before. They are mostly licensed per-core, so getting the absolute best performance per core, even if the CPU is 2-3x more expensive, is worth it. At the end of the day, the CPUs might be <5% of the total cost.
  • SirPerro - Wednesday, May 23, 2018 - link

    You can swallow a big risk if the benefit is 75% of the cost. Hey, it's definitely worth the try.

    If your hardware makes up for 5% of the cost, saving a 3% of the total budget is not worth the risk of migration.
  • FunBunny2 - Thursday, May 24, 2018 - link

    "You can swallow a big risk if the benefit is 75% of the cost. Hey, it's definitely worth the try."

    the EOL of today's machines, the amortization schedules must be draconian. only if a 'different' server pays off in dozens of months, not years, will it have chance. to the extent that enterprise software is a C/C++ and *nix codebase, porting won't be onerous. but, I'm willing to guess, even Oracle code isn't all that parallel, so throwing a truckload of teeny cpu at it won't necessarily work.
  • name99 - Thursday, May 24, 2018 - link

    The bigger problem here is the massive uncertainty around the meaning of the word "server" and thus the target for these new ARM CPUs.
    Some people seem to think "server" means primarily boxes that run SAP or ORACLE, but I think it's clear that the ARM ecosystem has little interest in that, at least right now.

    What's of much more interest is racks on racks of CPUs running commodity (LAMP) or homegrown software, ie data warehouses and HPC. I'm not even sure the Java benchmarks being run are of much interest to this market. The things that matter are the sorts of things Cloudflare was measuring when they tested Centriq -- memcached, nginx, transforming one type of data into another (compression/decompression, encrypt/decrypt, transcode,...) at massive throughput.
    That's where I'd expect to see the big sales of the ARM "server" cores -- to Cloudflare, Baidu, Google, and so on.

    Also now that Marvell is in the game, will be interesting to see the extent to which they pull this downward, into their traditional sorts of markets like infrastructure network and storage control (eg to go into network appliances and NAS boxes).
  • Ed469546 - Wednesday, June 13, 2018 - link

    Some of the commercial software you pay per core. Intel had the best single threaded performance mening power license costs.

    Interesting question is how the Thunderx2 cores are counted in this case: one core can run 4 threads.
  • andrewaggb - Wednesday, May 23, 2018 - link

    I wonder what workloads they are targeting? High throughput with poor single threaded results is somewhat limiting.
  • peevee - Wednesday, May 23, 2018 - link

    Web app servers. VM servers. Hadoop/Spark nodes. All benefit more from having more threads running in parallel instead of each request waiting or switching contexts.

    If you are concerned about single-thread performance on 256-thread server (as 2-CPU server with this CPU will provide) AT ALL, you choose outrageously wrong hardware for the task to begin with. Go buy a 2-core i3. Practically the only test in this article which matters is Critical jOPS (assuming the used quality of service metric was configured realistically).
  • GeekyMcGeekface - Friday, May 25, 2018 - link

    I’m building a cluster now with a few hundred Raspberry Pi’s because scale up is expensive and stupid. By distributing across a pool of clusters, I can handle far more memory bandwidth and compute. Consider 100 Raspberry PIs have 400 64-bit cores and 100GB of RAM. Total cost $3500 + power, mounting and switches.

    Running three clusters of those with Kubernetes, Couchbase and Azure Functions provides 1200 64-bit cores, about 100GB of extremely high performance storage, incredible failover and a map-reduce environment to die for.

    Add some 64GB MicroSD cards and an object storage system to the cluster and there’s 12TB of cold storage (4TB when made redundant).

    Pay a service fee to some sweatshop in the Eastern Block to do the labor intensive bits and you can build a massively parallel, almost impossible to crash, CI/CD friendly, multi-tenant, infinitely scalable PaaS... for less than the cost of the RAM for a single one of the servers here.

    The only expensive bits in the design are the Netscalers.

    Oh... and the power foot print is about the same as one of these servers.

    I honestly have no idea what I what I would use a server like these in a new design for.
  • jospoortvliet - Wednesday, May 30, 2018 - link

    single-core performance with your pi's is considerably lower, as is inter-core bandwidth. If your tasks require little inter-process communication you're good but with highly interdependent compute it won't perform well. But for specific tasks, yes, it might be very cost effective.

Log in

Don't have an account? Sign up now