3 ms·
Oh OK, I definitely could have written that better. From what I can tell, M:N threading has been thoroughly abandoned by Linux, but it might be worth revisitin
by acconsta 11y ago
Oh OK, I definitely could have written that better.
From what I can tell, M:N threading has been thoroughly abandoned by Linux, but it might be worth revisiting given the horrendous I/O scaling of Linux kernel threads. I would imagine scheduling user threads cooperatively simplifies things a lot.
Google has a very interesting talk about cooperative native thread scheduling, but they haven't upstreamed their code:
https://www.youtube.com/watch?v=KXuZi9aeGTw https://www.youtube.com/watch?v=KXuZi9aeGTw
And here's what linux devs are actually doing (it's underwhelming, something like 50% of what the hardware is capable of):
https://lwn.net/Articles/629155/ https://lwn.net/Articles/629155/
In the meantime, people who actually need the performance (HPC and even some enterprise servers) have to bypass the kernel entirely. It looks like that's going to be possible even in virtualized environments, thanks to hardware support:
http://people.inf.ethz.ch/troscoe/pubs/peter-arrakis-osdi14.pdf http://people.inf.ethz.ch/troscoe/pubs/peter-arrakis-osdi14....