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
BlueBlazer - Friday, June 17, 2016 - link
Cavium is quite aware of their ThunderX single thread weakness, and directly from Cavium themselves https://www.youtube.com/watch?v=ei9uVskwPNE thanks to ARMdevices.net.TiffanyTown - Thursday, July 28, 2016 - link
hi, The JDK version you used is OpenJDK 1.8.0_91 . Did you build it yourself?