Investigating Cavium's ThunderX: The First ARM Server SoC With Ambition
by Johan De Gelas on June 15, 2016 8:00 AM EST- Posted in
- SoCs
- IT Computing
- Enterprise
- Enterprise CPUs
- Microserver
- Cavium
Multi-Threaded Integer Performance: SPEC CPU2006
The value of SPEC CPU2006 int rate is questionable as it puts too much emphasis on bandwidth and way too little emphasis on data synchronization. However, it does give some indication of the total "raw" integer compute power available.
Subtest SPECCPU2006 integer |
Application type | Cavium ThunderX 2 GHz |
Xeon D-1587 1.8-2.4 |
Xeon E5-2640 v4 2.4-2.6 |
400.perlbench | Spam filter | 372 | 394 | 322 |
401.bzip2 | Compression | 166 | 225 | 216 |
403.gcc | Compiling | 257 | 218 | 265 |
429.mcf | Vehicle scheduling | 110 | 130 | 224 |
445.gobmk | Game AI | 411 | 337 | 269 |
456.hmmer | Protein seq. analyses | 198 | 299 | 281 |
458.sjeng | Chess | 412 | 362 | 283 |
462.libquantum | Quantum sim | 139 | 126 | 231 |
464.h264ref | Video encoding | 528 | 487 | 421 |
471.omnetpp | Network sim | 121 | 127 | 172 |
473.astar | Pathfinding | 143 | 165 | 195 |
483.xalancbmk | XML processing | 227 | 219 | 266 |
On average, the ThunderX delivers the throughput of an Xeon D1581 or Xeon E5-2640. There are some noticeable differences between the subtest though, especially if you check the scalability.
Subtest SPECCPU2006 integer |
Application type | Cavium ThunderX 2 GHz (48 copies) |
Xeon D-1587 1.8-2.3 (32 copies) |
Xeon E5-2640 v4 2.4-2.6 (20 copies) |
400.perlbench | Spam filter | 43x | 14x | 10x |
401.bzip2 | Compression | 25x | 13x | 11x |
403.gcc | Compiling | 22x | 8x | 9x |
429.mcf | Vehicle scheduling | 15x | 3x | 6x |
445.gobmk | Game AI | 41x | 17x | 12x |
456.hmmer | Protein seq. analyses | 42x | 14x | 11x |
458.sjeng | Chess | 47x | 16x | 11x |
462.libquantum | Quantum sim | 8x | 2x | 4x |
464.h264ref | Video encoding | 42x | 13x | 10x |
471.omnetpp | Network sim | 17x | 6x | 7x |
473.astar | Pathfinding | 16x | 10x | 10x |
483.xalancbmk | XML processing | 27x | 7x | 7x |
Mcf is memory latency bound, but if you run 32 threads on the Xeon D, you completely swamp its memory subsystem. The ThunderX and Xeon E5 scale better simply because they can deliver better bandwidth... but one has to wonder if this has anything to do with what people who actually use mcf will experience, as mcf is mostly latency bound. It seems like a corner case.
The XML processing testis probably a lot closer to the real world: it is much easier to split XML (or JSON) processing into many parallel parts (one per request). This is something that fits the ThunderX very well, it edges out the best Xeon D. The same is true for the video encoding tests. This indicates that the ThunderX is most likely a capable Content Delivery Network (CDN) server.
Gcc and sjeng scale well and as a result, the Thunder-X really shines in these subtests.
82 Comments
View All Comments
silverblue - Thursday, June 16, 2016 - link
I think AMD themselves admitted that the Opteron X1100 was for testing the waters, with K12 being the first proper solution, but that was delayed to get Zen out of the door. I imagine that both products will be on sale concurrently at some point, but even with AMD's desktop-first approach for Zen, it will probably still come to the server market before K12 (both are due 2017).junky77 - Thursday, June 16, 2016 - link
still, quite strange, no? AMD is in the server business for years. I'm not talking about their ARM solution only, but their other solutions seem to be less interesting..silverblue - Thursday, June 16, 2016 - link
I am looking forward to both Zen and K12; there's very little chance that AMD will fail with both.name99 - Wednesday, June 15, 2016 - link
" It is the first time the Xeon D gets beaten by an ARM v8 SoC..."The Apple A9X in the 12" iPad Pro delivers 40GB/s on Stream...
(That's the Stream built into Geekbench. Conceivably it's slightly different from what's being measured here, but it delivers around 25GB/s for standard desktop/laptop Intel CPUs, and for the A9 and the 9" iPad's A9X, so it seems in the same sort of ballpark.)
aryonoco - Thursday, June 16, 2016 - link
Fantastic article as always Johan. Thank you so much for your very informative articles. I can only imagine how much time and effort writing this article took. It is very much appreciated.The first good showing by an ARMv8 server. Nearly 5 years later than expected, but they are getting there. This thing was still produced on 28 HKMG. Give it one more year, a jump to 14nm, and a more mature software ecosystem, and I think the Xeons might finally have some competition on their hands.
JohanAnandtech - Thursday, June 16, 2016 - link
Thank you, and indeed it was probably the most time consuming review ... since Calxeda. :-)Yes, there is potential.
iwod - Thursday, June 16, 2016 - link
Even if the ThunderX is half the price of equivalent Xeon, I would still buy Intel Xeon instead. This isn't Smartphone market. In Server, The cost memory and Storage, Networking etc adds up. Not only does it uses a lot more power in Idle, the total TCO AND Pref / Watts still flavours Intel.There is also the switching cost of Software involved.
And those who say Single Core / Thread Performance dont matter have absolutely no idea what they are talking about.
As far as I can tell, Xeon-D offers a very decent value proposition for even the ARM SoC minded vendors. This will likely continue to be the case as we move to 10nm. I just dont see how ARM is going to get their 20% market share by 2020 as they described in their Shareholder meetings.
rahvin - Thursday, June 16, 2016 - link
If you have to switch software on your severs because you switch architecture you are doing something wrong and are far too dependent on proprietary products. I'm being a bit facetious here but the only reason architecture should limit you is you are using Microsoft products or are in a highly specialized computing field. Linux should dominate your general servers.kgardas - Friday, June 17, 2016 - link
Even if you are on Linux, still stack support is best on i386/amd64. Look at IBM how it throws a lot of money to get somewhere with POWER8. ARM can't do that, so it's more on vendors to do that and they are doing it a little bit more slowly. Anyway, even AArch64 will mature in LLVM/GCC tool chain, GNU libC, musl libC, linux kernel etc but it'll take some time...tuxRoller - Thursday, June 16, 2016 - link
Aarch64 has very limited conditional execution support.http://infocenter.arm.com/help/index.jsp?topic=/co...