← Back to context

Comment by dwattttt

21 hours ago

I'm curious; using hardware threads is M logical threads preemptively scheduled on N physical cores. In what way does this not satisfy the original criteria?

They are still full OS threads: they have a full-size stack and have all the same overheads for context switching. Why would you think that a marketing term for a CPU feature is equivalent to an M:N scheduler?

A "hyperthread" can schedule work for two OS threads simultaneously on a single core. An M:N scheduler will schedule millions of green threads on as many cores/hardware threads as you give it (typically you'd give it all of them).

  • Yes. However the number of times I've scheduled millions of concurrent tasks is 0; hence my question about subjective experience.

    I would guess that how well integrated OS threads or green threads are into a language has a much stronger impact on experience & quality.