power_ssj2008results: EPYC

By: Linus Torvalds (torvalds.delete@this.linux-foundation.org),
Room: Moderated Discussions
Adrian (a.delete@this.acm.org) on December 5, 2019 8:05 am wrote:
>
> While it is no surprise that Epyc 2 is far more efficient than Epyc 1, it is interesting to see exactly
> how large is the gain and also how large is the advantage of the models with more cores.

Actually, that "how large the advantage of the models with more cores" part isn't interesting at all.

Guys, the whole "performance per watt" measure is complete garbage. It's actively misleading, and it doesn't really show anything relevant.

It's a number you can game without making any meaningful improvements at all. In fact, it's a number that often goes up when everything else becomes worse.

The easiest way to improve your "performance per watt" is to lower your clock frequency and make your chip slower.

Seriously. That will do it.

So anybody who touts "performance per watt" is either (a) dishonest or (b) terminally stupid.

It is a meaningless and bad benchmark.

Stop using performance/watt as a measure of anything. It's garbage. See above. The best way to make a better number is to make a worse chip. End of story.

Does that mean that the "performance" part doesn't matter? No. Does it mean that the "watt" part doesn't matter? No. But dividing one by the other is meaningless. It's worse than apples vs oranges - it's literally apples divided by oranges. It's a nonsensical, meaningless, garbage number.

Now, if you have two sets of machines, and they have equivalent performance (on a load that you care about), then it's interesting to see how much electricity they use.

But even then you need to be careful about scaling issues.

Again, the easy way to improve your performance per watt is to make a low-performance core. It's easy to make a slow core not use a lot of power. So then you compensate for the low performance by picking a benchmark that scales almost perfectly, and using lots of those low-performance cores.

That works fine if your real-life load scales perfectly and is ok with slow cores. That situation does exist, after all. But it's not that common. Amdahl's law still hasn't gone away.

So why are the high-core-count Rome chips looking better in performance/watt? Because the benchmark scales with cores, and the core frequency went down, and power goes down by superlinear fraction when frequency goes down.

So of course the high-core-count Rome chips look better on a Perf/Watt measure. But that's not a surprise, it's just fundamental physics.

So repeat after me: Perf/Watt is garbage. The only time it's something you can and should compare is when the performance is the same, and the scaling characteristics are the same. At which point it's basically just "Watt".

And don't get me wrong: this is not a rant against Rome. Quite the reverse. AMD did well. Rome has good performance, and does well on the power use metric too. So both of those are good things. But don't compare Perf/Watt. I hope I've convinced you that it makes no sense.

Linus
< Previous Post in ThreadNext Post in Thread >
Thread (17 posts)
TopicPosted ByPosted
Graviton2 server chipJose
  Graviton2 server chipJose
  Graviton2 server chipMichael S
    wrong thread. sorry (NT)Michael S
  Graviton2 server chipJon Masters
    Graviton2 server chipLinus Torvalds
  Graviton2 server chipPer Hesselgren
    EC2 m5Michael S
      power_ssj2008resultsPer Hesselgren
        power_ssj2008resultsMichael S
          power_ssj2008results: EPYCAdrian
            power_ssj2008results: EPYCAdrian
              power_ssj2008results: EPYCLinus Torvalds
                power_ssj2008results: EPYCAdrian
                  power_ssj2008results: Partial orderAdrian
                  power_ssj2008results: EPYCLinus Torvalds
                power_ssj2008results: EPYCTravis Downs