Hacker News new | ask | show | jobs
by alex_reg 2021 days ago
> Who can do 25 cores in the mobile phone industry?

I'm actually curious why we have not seen many-core devices. Typical desktop CPUs still only have 4-8 cores, as do mobile devices. (disregarding the many small hardware-management cores like SSD controllers, GPU management, modems, ...)

Why not have many more cores with different performance profiles, that then are dedicated to various tasks. Like a bunch of low power, in-order cores for background OS management or background apps like Slack that just check for new messages and send notifications, ...

Naively I would assume:

* the increased hardware complexity (wiring, caches, ...) makes this both cost and power budget prohibitive

* current operating systems are not really built for that world

* the benefits compared to current big/little designs with two hands full of cores are not worth the effort

Maybe someone knowledgable can offer more insight?

4 comments

What do you mean ? You can get the same core design in 4 core and 64 core part with ryzen for example - the difference is price and power.

Single core performance is critical and core count has rapidly diminishing returns for the majority of everyday tasks (Amdahl's law and all that).

When you have independent tasks that need to run massively parallel you are better off using a different architecture because you can get better value from simpler compute units.

How are those “many small hardware-management cores like SSD controllers, GPU management, modems, ...” not “many more cores with different performance profiles, that then are dedicated to various tasks”?
The tradeoff is to keep design complexity as low as possible while carving out sections of the chip for specialized tasks. Apple’s new M1 chip has a ‘neural processor’ that works with Tensorflow to provide a speedup. They thought it was worth the added complexity. They also have 4 low power cores for background tasks.

Alot of DSP and networking tasks are handled by the modem itself.

Software and Compiler toolchains are often quick to optimize for any improvements that a processor provides but the bottleneck generally is cost and complexity which don’t scale linearly.

ARM phones tend to have specialized cores. You have big.LITTLE, added DSP, ML chips, modem DSP and cpu, hardware media decoders and encoders. And of course GPU w/ GPGPU capability. Maybe tensor cores next.

Why would you need a lot of actual CPU power after all that?

Of course it is easier to program for a homogenous architecture, be it CPU or GPGPU.