News for hackers. Stuff that matters.
Re:Next-Generation IBM POWER10 Processor by dragontamer on Monday August 17, 2020 @10:54AM (#24187877)
I appreciate the slides, but you've got some critical errors.

> - Floating point rate comparable to GPUs

No where close. POWER10 caps out at 60x SMT4, and only has 2x 128-bit SIMD units per SMT4. That's 480 FLOPs per clock cycle. At 4GHz, that's only 1.9 TFlops single-precision compute.

An NVidia 2070 Super ($400 consumer GPU) hits 8.2 TFlops with 448 GB/s bandwidth.

> - 8-way SMT makes this into a hybrid between a CPU and a GPU in terms of the latency hiding and memory management, but programmable exactly like a full CPU, without the limitations of a GPU.

Note that 8-way SMT is the "big core", and I'm almost convinced that 8-SMT is more about licensing than actually scaling. By supporting 8 threads per core (and doubling the size of the core), you get a 30-core system that supports 240-threads. That's a licensing hack: since most enterprise software is paid per-core.

I'd expect that 4-SMT will be more popular with consumers (ie: Talos II sized systems). Similar to how Power9 was

Re:Next-Generation IBM POWER10 Processor by twoodfin on Monday August 17, 2020 @11:07AM (#24187984)
Note that 8-way SMT is the "big core", and I'm almost convinced that 8-SMT is more about licensing than actually scaling. By supporting 8 threads per core (and doubling the size of the core), you get a 30-core system that supports 240-threads. That's a licensing hack: since most enterprise software is paid per-core.

I don't think that's entirely fair: Massively multi-user transactional applications (read: databases) are right in the wheelhouse of POWER, and they're exactly the kind of applications that benefit most from SMT. Lots of opportunities for latency hiding as you're chasing pointers from indexes to data blocks.

Re:Next-Generation IBM POWER10 Processor by dragontamer on Monday August 17, 2020 @11:16AM (#24188064)
While that's a fair point, databases are also among the most costly software that is paid per-core. So the SMT8 system will have half the per-core costs as an SMT4 system (because an SMT8 system will have half the "cores" of any SMT4 system. Even though an SMT8 core is just two SMT4 cores grafted together).
Re:Next-Generation IBM POWER10 Processor by staticassertion on Monday August 17, 2020 @11:08AM (#24187989)
> That's a licensing hack: since most enterprise software is paid per-core.

Shit. That's actually awesome and could easily pay for itself.

Re:Next-Generation IBM POWER10 Processor by dev_tty01 on Monday August 17, 2020 @11:33AM (#24188210)
Until the licensing terms are updated.
Re:Next-Generation IBM POWER10 Processor by staticassertion on Monday August 17, 2020 @11:50AM (#24188347)
Sure, long term maybe you have to pivot or whatever. But companies spend millions on these multicore licenses today.
Re:Next-Generation IBM POWER10 Processor by mr_toad on Monday August 17, 2020 @11:40PM (#24195024)
I think you’ll find that the licensing terms can change faster than you can re-engineer your systems.
Re:Next-Generation IBM POWER10 Processor by wmf on Monday August 17, 2020 @12:32PM (#24188809)
Re:Next-Generation IBM POWER10 Processor by dragontamer on Monday August 17, 2020 @01:08PM (#24189222)
Oracle charges 1.0 for any POWER9 core. Which means that SMT8 cores (which are twice as big as SMT4 cores) get you more performance with less licensing costs.

So what would you rather buy? A 24-core SMT4 Nimbus chip, or an 12-core SMT8 Cumulus chip?

The two chips have the same number of execution units. They both support 96 threads. But the 12-core SMT8 Cumulus chip will have half the license costs from Oracle.

-------

For DB2...

The SMT8 model (E950) only has a 100x multiplier for DB2, while SMT4 models have a 70x multiplier. So you're only paying 30% more per core (E950), despite getting twice the execution resources.

Even the top end SMT8 model (E980) has a 120x multiplier. So you're still saving big bucks on licensing.

Re:Next-Generation IBM POWER10 Processor by wmf on Monday August 17, 2020 @01:20PM (#24189352)
The point is that a POWER core costs twice as much as an Intel/AMD core so SMT8 doesn't save as much money as you might think.

What would you rather buy? A 24-core x86 or a 12-core SMT8 POWER?

Re:Next-Generation IBM POWER10 Processor by dragontamer on Monday August 17, 2020 @01:43PM (#24189662)
The 12-core POWER10 will have 120MB of L3 cache and 1000GBps main-memory bandwidth with 96-threads.

That's unified L3 cache by the way, none of the "16MB/CCX with remote off-chip L3 caches being slower than DDR4 reads" that EPYC has.

Intel Xeon Platinum 8180 only has 38.5MB L3 across 28 cores / 56-threads. With 6-memory controllers at 2666 MHz (21GBps per stick), that's 126 GBps bandwidth.

AMD EPYC really only has 16MB L3 per CCX (because the other L3 cache is "remote" and slower than DDR4). With 8 memory controllers at 2666 MHz, we're at 170 GBps bandwidth on 64-threads.

If we're talking about "best CPU for in-memory database", its pretty clear that POWER9 / POWER10 is the winner. You get the fewest cores (license-cost hack) with the highest L3 and RAM bandwidths, with the most threads supported.

--------

On the other hand, x86 has far superior single-threaded performance, far superior SIMD units, and is generally cheaper. For compute-heavy situations (raytracing, H265 encoding, etc. etc.) the x86 is superior.

But as far as being a thin processor supporting as much memory bandwidth as possible (with the lowest per-core licensing costs), POWER9 / POWER10 clearly wins.

And again: those SMT8 cores are no slouch. They can handle 4-threads with very little slowdown, and the full 8-threads only has a modest slowdown. They're designed to execute many threads, instead of speeding up a single thread (which happens to be really good for databases anyway, where your CPU will spend large amounts of time waiting on RAM to respond instead of computing).

Re:Next-Generation IBM POWER10 Processor by dragontamer on Monday August 17, 2020 @10:32PM (#24194693)
> No where close. POWER10 caps out at 60x SMT4, and only has 2x 128-bit SIMD units per SMT4. That's 480 FLOPs per clock cycle. At 4GHz, that's only 1.9 TFlops single-precision compute.

Too late for me to edit this: but POWER10 has a full 128-bit vector unit per slice now. So one more x2, for 3.8 TFlops single-precision on 30x SMT8 or 60x SMT4.

So I was off by a factor of 2x in my earlier calculation. Power10 has a dedicated matrix-multiplication unit, but I consider a full matrix-multiplication to be highly specialized (comparable to a TPU or Tensor-core), so its not really something to compare flop-per-flop except against other matrix-multiplication units.

Re:Next-Generation IBM POWER10 Processor by gok on Monday August 17, 2020 @11:20AM (#24188104)
There's also the 512-bit matrix units which would be more like 3840 FLOP/cycle (single precision) for workloads that can be expressed that way
Re:Next-Generation IBM POWER10 Processor by dragontamer on Monday August 17, 2020 @11:50AM (#24188358)
I'm not sure if that plays to the advantage of POWER10.

NVidia 2070 Super also has FP16 matrix-multiplication units, achieving 57 FP16-matrix TFLOPs. These are the NVidia "Tensor Cores".

Ampere (rumored to be released within a few weeks...) even has sparse matrix-multiplication (!!) units being added in.

Re:Next-Generation IBM POWER10 Processor by R0b0t1 on Monday August 17, 2020 @12:41PM (#24188901)
Having a Talos board myself, it seems like if you run Linux you only get SMT4. SMT8 is reserved for IBM.
Re:Next-Generation IBM POWER10 Processor by dragontamer on Monday August 17, 2020 @01:05PM (#24189174)
The Talos computers are only compatible with SMT4 chips (aka: Sforza chips). You can't buy an SMT8 chip for Talos.

SMT8 chips are also known as "Scale up" chips. The Summit supercomputer was made with SMT4 chips by the way.

I never used an SMT8, but from the documents... its really similar to two SMT4 cores working together (at least on Power9). SMT8 chips are a completely different core than SMT4 chips, with double the execution resources, double the decoder width, double everything. SMT8 is a really, really fat core.

Re:Next-Generation IBM POWER10 Processor by hlandau on Monday August 17, 2020 @02:31PM (#24190242)
The scale-up chips (used in the E950 and E980 only) aren't the only SMT8 chips. The scale-out chips (Sforza, Monza, LaGrange) can be fused as SMT4 or SMT8, but IBM doesn't appear to sell SMT8-fused chips for other parties.

If a given IBM server runs PowerVM, it's SMT8. You may find this table of mine helpful (assembled from various sources and partially inferred, so accuracy not guaranteed, but it represents my understanding): https://www.devever.net/~hl/f/SERVERS