Hacker News new | ask | show | jobs
by sp332 2992 days ago
Offhand, I would guess that it's good for I/O-bound tasks, where you can have lots of threads waiting for input that don't need CPU time. A busy database maybe.
1 comments

You don't need CPU threads for threads that don't need CPU...
The 8-core version only has 8 (each) ALUs, LSUs, and vector units. https://en.wikipedia.org/wiki/POWER9#Core If each core has 4 threads "running" on it, some of them are not going to be executing.
Still: the kernel won’t schedule threads that are waiting on I/O i believe.
Ok that's an interesting point. So they'd have to be waiting on a fetch instruction for the time not to be totally wasted?
Blocked tasks are not scheduled until unblocked.