Multi-Threaded Integer Performance on one core: SPEC CPU2006

Broadly speaking, the value of SPEC CPU2006's int rate test 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.

We will make an attempt to understand the differences between IBM and Intel, but to be really accurate we would need to profile the software and runs dozens of tests while looking at the performance counters. That would have set back this article a bit too much. So we can only make an educated guess based upon what the existing academic literature says and our experiences with both architectures.

The Intel CPU performance is the 100% baseline in each column.

Subtest
SPEC CPU2006
Integer
Application
Type
IBM
POWER8
vs
Xeon E5-2699v4
Single
Thread
IBM
​POWER8
vs
Xeon E5-2699v4
Max
Thread
IBM
​POWER8
vs
Xeon E5-2699v4
Top
performance
400.perlbench Spam filter N/A N/A N/A
401.bzip2 Compress 91% 139% 139%
403.gcc Compiling 111% 185% 185%
429.mcf Vehicle scheduling 121% 167% 167%
445.gobmk Game AI 90% 156% 156%
456.hmmer Protein seq. analyses 79% 79% 101%
458.sjeng Chess 69% 117% 117%
462.libquantum Quantum
sim
76% 160% 162%
464.h264ref Video encoding 80% 120% 131%
471.omnetpp Network
sim
100% 141% 141%
473.astar Pathfinding 87% 156% 156%
483.xalancbmk XML processing 70% 116% 116%

On (geometric) average, a single thread running on the IBM POWER8 core runs about 13% slower than on an Intel Broadwell architecture core. So our suspicion that Intel is still a bit better at extracting parallelism when running a single thread is confirmed.

Intel gains the upper-hand in the applications where branch prediction plays an important role: chess (sjeng), pathfinding (astar), protein seq. analysis (hmmer), and AI (gobmk). Intel's branch misprediction penalty is lower if the other branch is available in the µop cache (the Decode Stream Buffer) and Intel has a few clever tricks that the IBM core does not have like the loop stream detector.

Where the POWER8 core shines is in the benchmarks where memory latency is important and where the load units are a bottleneck, like vehicle scheduling (mcf). This is also true, but in lesser degree, for the network simulation (omnetpp). The reason might be that omnetpp puts a lot of pressure on the OoO buffers, and Intel's architecture offers more room with its unified buffers, whereas IBM POWER8's buffers are more partitioned (see for example the issue queue). Meanwhile XML processing does a lot of pointer chasing, but quick profiling has shown that this benchmark mostly hits the L2, and somewhat the L3. So there's no disadvantage for Intel there. On the flip side, Xalancbmk is the benchmark with the highest pressure on the ROB. Again, the larger OOO buffers for one thread might help Intel to do better.

POWER8 also does well in GCC, which has a high percentage of branches in the instruction mix, but very few branch mispredictions. GCC compiling is latency sensitive, so a 3 cycle L1, a 13 cycle L2, and the fast 8MB L3 help.

Finally, the pathfinding (astar) benchmark does some intensive pointer chasing, but it misses the L1- and L2-cache much less often than xalancbmk, and has the highest amount of branch misprediction. So the impact of the pointer chasing and memory latency is thus minimal.

Once all threads are active, the IBM POWER8 core is able to outperform the Intel CPU by 41% (geomean average).

Single-Threaded Integer Performance: SPEC CPU2006 Closing Thoughts
Comments Locked

124 Comments

View All Comments

  • JohanAnandtech - Thursday, July 21, 2016 - link

    I don't think so, we just expressed it in ns so you can compare with IBM's numbers more easily. Can you elaborate why you think they are wrong?
  • Taracta - Thursday, July 21, 2016 - link

    Sorry, mixed up cycles with ns especially after reading the part about transition for the Intel from L3 to MEM.
  • Sahrin - Thursday, July 21, 2016 - link

    Yikes. Pictures without captions. Anandtech is terrible about this. ALWAYS caption your pictures, guys.
  • djayjp - Thursday, July 21, 2016 - link

    Are bar graphs not a thing anymore...?
  • Drumsticks - Thursday, July 21, 2016 - link

    Afaik, Anandtech has always used the chart when presenting things like SPEC. I'd guess it'd be for clutter reasons, but the exact reason is up to the editors to mention.
  • JohanAnandtech - Thursday, July 21, 2016 - link

    The reason for me is simply to give you the exact numbers and allow people to do their own comparisons.
  • Drumsticks - Thursday, July 21, 2016 - link

    Just to be clear, the Xeon CPU used today is 3 times more expensive than the Power8 CPU benchmarked? That's really impressive, isn't it? The Power8 has a pretty significant power increase, but if it's 43% faster, that cuts into the perf/w gap.

    I know we've only looked at SPEC so far in round 2, but this looks like a good showing for IBM. How big is the efficiency gap between 22nm SOI and 14nm FinFet? Any estimates?
  • Michael Bay - Thursday, July 21, 2016 - link

    Selling at a loss is hardly impressive, especially in IBM`s case. This thing is literally their last chance.
  • tipoo - Friday, July 22, 2016 - link

    Is it at a loss, or is it just not at crazy Intel margins?
  • Michael Bay - Saturday, July 23, 2016 - link

    They`d have to have a healthy margin to offset all the R&D, plus IBM as a whole is not in a good financial position. Consider they sold their fab capability not so long ago.

Log in

Don't have an account? Sign up now