Ask HN: Is Multi-core a thing of the past?

3 points by dzonga ↗ HN
Modern CPUs e.g XEON 6 have 144 cores, 144 threads - which to me seems a heavy misalignment between the hardware engineers making the CPUs & the software engineers using the CPUs.

on the software side - in distributed systems - most systems when containerized assume they're gonna be utilizing one CPU core in a horizontally distributed manner i.e many pods etc. the other pods could be on different machines.

then the language platforms e.g JVM, Golang, JS are going the route of green threads/event loops which take advantage of the 1 platform thread to its maximum advantage.

the only software systems to my knowledge that can take advantage of the massive CPUs we see these days are either the massive DBs - but then even those have gone the way of separating Storage & Compute.

Unless maybe the CPU vendors - are making these powerful CPUs knowing they will be rented by the thread ?

what does everyone think ?

4 comments

[ 4.5 ms ] story [ 17.3 ms ] thread
>Unless maybe the CPU vendors - are making these powerful CPUs knowing they will be rented by the thread

I think you answered your question already. AWS buys it -> you get instances that use a small part of the huge CPUs basically.

We can't make single cores any faster, so realistically multicore is the only "solution". That said, most languages have M:N event loops, where M tasks are distributed across N OS threads so even if your software doesn't directly use multiple cores, you end up using them indirectly for example for IO to the database or other APIs.
GPUs kinda own big dense linear algebra, but CPUs still seem to be fairly competitive for sparse linear algebra, and more cores is always nice to have. This is important functionality for a lot of engineering workloads.
Those cores aren't idle for lack of software, anything embarrasingly parallel eats all 144 fine.