"Per Core" Integer Performance: 7-Zip

The profile of a compression algorithm is somewhat similar to many server workloads: it can be hard to extract instruction level parallelism (ILP) and it's sensitive to memory parallelism and latency. The instruction mix is a bit different, but it's still somewhat similar to many server workloads. Testing single threaded is also a great way to check how well the turbo boost feature works in a CPU.

We ran this benchmark on the POWER8 a few months ago, but there are several reasons to do this again. First of all, we can now use GCC 4.9.2, which has specific support for POWER8 (-mcpu=power8). It is good to note that POWER8 is not a radical new design compared to POWER7. So we only expect modest gains from the compiler.

Secondly, last time we ran on top of PowerKVM, inside a virtual machine. Although that should not make a big difference either - as the benchmark runs almost completely (99%) in user modus and thus runs at 100% - it's still worthwhle to rule out the influence of the virtual machine.

So we recompiled the 7-Zip source code on every machine with the -O3 optimization with GCC 4.9.2.

LZMA per core Performance: Compression

It is important to note that Intel is extremely aggressive with Turbo-boost on the Xeon E5-2699v3. Running code on one core causes the 2.3 GHz Xeon to boost to 3.6 GHz. As a result, the typical clockspeed advantage of the POWER8 was minimized to a measly 90 MHz, with the POWER8 CPUs boosting from 3.425 GHz to 3.690 GHz.

We found that the POWER8 needs more than one thread to deliver good performance: with one thread we only achieve 62% of the performance of a Haswell core at the same speed. Using the mcpu=power8 compiler flag did little more than boost the performance by 1-3%, which is within the margin of error of this benchmark. So your (occassional?) single threaded code will fare badly on POWER8.

Once you fire off 8 threads however, the POWER8 CPU outperforms the hyperthreaded Haswell core slightly (4%).

How about decompression which is even more (IPC) unfriendly to our brainiacs?

LZMA per core Performance: DeCompression

With a single thread, performance of a POWER8 core is about 25% slower than a Haswell core. The Haswell core is still clearly better in extracting Instruction Level Parallelism out of this ILP-unfriendly code. However, let there be no mistake about the integer crunching power of POWER8: it delivers 35% higher performance than the hyperthreaded Xeon E5, core per core, clock per clock (give or take a few MHz).

Compression depends more on the datacache and OoO engine. It is remarkable that the Haswell core with its smaller L1-datacache does a lot better than the POWER8. The many unpredictable branches of the decompression code underutilize these very wide modern cores, and as a result the SMT-8 capable POWER8 outperforms the dual-threaded (SMT-2) Haswell. Notice that running two threads instead one thread on the POWER8 offers 61% better performance. Running 8 threads delivers 2.4x higher performance, a clear indication that the POWER8 CPU has a very wide integer execution engine, but can only deliver if enough threads are active.

Benchmark Configuration and Methodology Multi-Threaded Integer Performance
Comments Locked

146 Comments

View All Comments

  • extide - Friday, November 6, 2015 - link

    No he meant that in a lot of the european countries they use the dot as a comma, so it would be 50.000 to mean 50 thousand.
  • Murloc - Sunday, November 8, 2015 - link

    the international system dictates that , and . are the same thing, and as a separator you should use a space.
    In many countries in Europe, ' is also used. That's fine too as there is no ambiguity.
    Using . and , for anything that is not the decimal separator in international websites just creates confusion imho.
    I guess AT doesn't have a style book though.
  • duploxxx - Friday, November 6, 2015 - link

    nice review.
    but Xeon is not 95% of the market. AMD is still just a bit above 5% on its own. so it deserves a bit salt :) not to mention the fact that competition is good for all of us. if reviewers continue like this all narrowed readers will think there is no competition.
  • silverblue - Friday, November 6, 2015 - link

    I'm left wondering what a Steamroller-based 16+ core CPU would do here, considering multithreading is better than with previous models. Yes, the Xeons have a large single-threading lead, but more cores = good in the server world, not to mention that such a CPU would severely undercut the price of the competition.

    Shame it isn't ever going to happen!
  • lmcd - Friday, November 6, 2015 - link

    Or even an Excavator! It's a shame AMD didn't just keep Bulldozer developing internally until at least Piledriver, and iterate on Thuban.
  • Kevin G - Saturday, November 7, 2015 - link

    AMD killed off both Streamroller and Excavator chips early on as the Bulldozer and Piledriver chips weren't as competitive. More importantly, OEMs simply were not interested even if those parts were upgrades based upon existing designs. Thus the great AMD server drought began as they effectively have left that market and are hoping for a return with Zen.

    Also I should point out that Seattle, AMD's first ARM based Opteron has yet to arrive. This was supposed to be out a year ago and keep AMD's server business going throughout 2015 during the wait for Zen and K12 in 2016. Well K12 has already been delayed into 2017 and Seattle is no where to be found in commercial systems (there are a handle of Seattle developer boards).
  • JoeMonco - Saturday, November 7, 2015 - link

    When you account for only 5% of the market while the other side commands 95%, you aren't really much of a credible competitor.
  • xype - Sunday, November 8, 2015 - link

    That’s not always correct, though. You can have 5% of the market and 20% of the profits, for example, which would put you in a way better position than your competitors (because only a small increase in market share would pay big time).
  • Murloc - Sunday, November 8, 2015 - link

    that applies more to consumer products, e.g. apple.
  • dgingeri - Friday, November 6, 2015 - link

    I've been dealing with IBM Power based machines for 5 years now. Such experience has only given me a major disdain for AIX.

    I do NOT advise it for anyone. It sucks to work on. There is a certain consistent, spartan logic to it, but it is difficult to learn, and learning materials are EXTREMELY expensive. I never liked the idea of paying $12,000 for a one week class that taught me barely a tenth of what I needed to know to run an AIX network. (My company paid for the class, but I could not get them to pay for the rest of them, for some reason.) This makes people who can support AIX extremely expensive to employ. Figure on paying twice the rate of a Windows admin in order to employ an AIX admin. Then there is the massive expense of maintenance agreements. Even the software only maintenance agreement, just to get patches for AIX, is $4000 per year per system. They may be competitive in cost up front, but they drain money like vampires to maintain.

    Even the most modern IBM Power based machine takes 20-30 minutes to reboot or power up due to POST diagnostics. That alone is annoying enough to make me avoid AIX as much as I can.

Log in

Don't have an account? Sign up now