Single-Threaded Integer Performance: SPEC CPU2006

Even though SPEC CPU2006 is more HPC and workstation oriented, it contains a good variety of integer workloads. Running SPEC CPU2006 is a good way to evaluate single threaded (or core) performance. The main problem is that the results submitted are "overengineered" and it is very hard to make any fair comparisons.

For that reason, we wanted to keep the settings as "real world" as possible. So we used:

  • 64 bit gcc 5.2.1: most used compiler on Linux, good all round compiler that does not try to "break" benchmarks (libquantum...)
  • -Ofast: compiler optimization that many developers may use
  • -fno-strict-aliasing: necessary to compile some of the subtests
  • base run: every subtest is compiled in the same way.

The ultimate objective is to measure performance in applications where for some reason – as is frequently the case – a "multi-thread unfriendly" task keeps us waiting.

Here is the raw data. Perlbench failed to compile on Ubuntu 15.10, so we skipped it. Still we are proud to present you the very first SPEC CPU2006 benchmarks on Little Endian POWER8.

On the IBM server, numactl was used to physically bind the 2, 4, or 8 copies of SPEC CPU to the first 2, 4, or 8 threads of the first core. On the Intel server, the 2 copy benchmark was bound to the first core.

Subtest
SPEC CPU2006
Integer
Application
Type
IBM POWER8
10c@3.5
Single
Thread
IBM POWER8
10c@3.5
SMT-2
IBM POWER8
10c@3.5
SMT-4
IBM POWER8
10c@3.5
SMT-8
Xeon E5-2699 v4
2.2-3.6
Xeon E5-2699 v4
2.2-3.6
(+HT)
400.perlbench Spam filter N/A N/A N/A N/A 32.2 36.6
401.bzip2 Compress 17.5 26.9 33.7 35.2 19.2 25.3
403.gcc Compiling 32.1 44.6 56.6 61.5 28.9 33.3
429.mcf Vehicle scheduling 47.1 50 64.1 73.5 39 43.9
445.gobmk Game AI 20.2 31.3 41.4 43.1 22.4 27.7
456.hmmer Protein seq. analyses 19.1 27.1 28.6 22.5 24.2 28.4
458.sjeng Chess 17.1 25.4 32.6 33.1 24.8 28.3
462.libquantum Quantum
sim
44.7 82.1 109 108 59.2 67.3
464.h264ref Video encoding 32.7 45.4 53.3 48.8 40.7 40.7
471.omnetpp Network
sim
23.5 29.1 37.1 42.5 23.5 29.9
473.astar Pathfinding 16.5 24.8 33.5 36.9 18.9 23.6
483.xalancbmk XML processing 24.9 35.3 44.7 48.4 35.4 41.8

First we look at how well SMT-2, SMT-4 and SMT-8 work on the IBM POWER8.

Subtest
SPEC CPU2006
Integer
Application
Type
IBM POWER8
10c@3.5
Single
Thread
IBM POWER8
10c@3.5
SMT-2
IBM POWER8
10c@3.5
SMT-4
IBM POWER8
10c@3.5
SMT-8
400.perlbench Spam filter N/A N/A N/A N/A
401.bzip2 Compress 100% 154% 193% 201%
403.gcc Compiling 100% 139% 176% 192%
429.mcf Vehicle scheduling 100% 106% 136% 156%
445.gobmk Game AI 100% 155% 205% 213%
456.hmmer Protein seq. analyses 100% 142% 150% 118%
458.sjeng Chess 100% 149% 191% 194%
462.libquantum Quantum
sim
100% 184% 244% 242%
464.h264ref Video encoding 100% 139% 163% 149%
471.omnetpp Network
sim
100% 124% 158% 180%
473.astar Pathfinding 100% 150% 203% 224%
483.xalancbmk XML processing 100% 142% 180% 194%

The performance gains from single threaded operation to two threads are very impressive, as expected. While Intel's SMT-2 offers in most subtests between 10 and 25% better performance, the dual threaded mode of the POWER8 boosts performance by 40 to 50% in most applications, or more than twice as much relative to the Xeons. Not one benchmark regresses when we throw 4 threads upon the IBM POWER8 core. The benchmarks with high IPC such as hmmer peak at SMT-4, but most subtests gain a few % when running 8 threads.

Memory Subsystem: Latency Measurements Multi-Threaded Integer Performance: SPEC CPU2006
Comments Locked

124 Comments

View All Comments

  • tipoo - Thursday, July 21, 2016 - link

    They made PowerPC Windows? Source? I remember the Powermac G5s were the early dev kits for the xbox 360 due to the architecture similarity, but I assumed those stories meant they were just working in OSX or Linux on them.
  • thunderbird32 - Thursday, July 21, 2016 - link

    AFAIK, the last build of Windows for PPC was NT 4. So, it's been a while.
  • Sunner - Thursday, July 21, 2016 - link

    There were early builds of Windows 2000 for the RISC's as well, during the times when it was still called NT5. I had one of those from WinHEC, but alas I lost it when moving at some point. :(
  • yuhong - Thursday, July 21, 2016 - link

    AFAIK, the little endian PowerPC mode that NT4 used was killed when they went to 64-bit and is different from today's POWER8 little endian mode that was only recently introduced.
  • Kevin G - Thursday, July 21, 2016 - link

    I used to have such a disc for Windows NT4. That disk also had binaries for DEC Alpha and MIPS.
  • BillyONeal - Thursday, July 21, 2016 - link

    The Xbox 360 is a PPC machine, and runs a (heavily modified) version of Windows. My understanding is that most x86 assumptions had to be ferreted out to run on Itanium (early) and then on ARM (later).
  • Einy0 - Thursday, July 21, 2016 - link

    MS has builds that will run on anything. The real question is why would you want to? These chips are designed from the ground up to run massive work loads. It's a completely different style of computing than a Windows machine. Even MS server OSes aren't designed for this type of work. We are talking Banking, ERP and other big data applications. MS is still dreaming about scaling on that level. Right now their answer is clustering but that comes with it's own obstacles too.
  • abufrejoval - Thursday, August 4, 2016 - link

    Well there is always QEMU.

    And IBM has a much better binary translator from when they bought QuickTransit. That one originally translated Power to x86 for the Mac, then Sparc to x86 for Quicktransit and eventually x86 to Power for IBM so they could run Linux workloads on AIX.

    Then what exactly do you mean with Windows (assuming this is actually a reasonable question)?

    Server applications or desktop?

    .NET has been ported to Linux and I guess could be made to run on Power. A Power runtime could certainly be done by Microsoft, if they wanted to.

    I don't see why anyone would want to run Windows desktop workloads on this hardware, other than to show that it can be done: QEMU to that!
  • BedfordTim - Thursday, July 21, 2016 - link

    I was intrigued to see how little effect hyper-threading with your Xeon. My own experience is that it gives a 50% boost although I appreciate there are many variables.
  • Taracta - Thursday, July 21, 2016 - link

    Something seems to be wrong with the Mem Hierarchy charts in the Intel L3 and 16MB section.

Log in

Don't have an account? Sign up now