On Thursday, 13 March 2014 at 18:49:42 UTC, Etienne wrote:
On Thursday, 13 March 2014 at 06:49:35 UTC, Dicebot wrote:
On Wednesday, 12 March 2014 at 18:05:38 UTC, Etienne wrote:
I think this article puts it well. Bypassing the kernel for fibers should be a long-term plan :)

http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html

I have seen one real-world project where it was done. Point is not about specifically fibers though but scheduling as a whole - when all resources of the system are supposed to be devoted to a single service, general-purpose OS scheduling creates problems as it is intended for universal multi-tasking.

I know it would be breaking for other services on the computer assuming it's a desktop, but dedicated servers or embedded devices can make great use of such a feature. I'm sure this implementation could be done without restricting everything to it, especially with functional programming as we have it in D. I assume a demonstrated ten-fold increase in performance by-passing kernel is a radical justification for this.

In project I have mentioned it was taken to an extreme measure, eliminating kernel completely and sticking to barebone executable for all traffic processing (with customized linux nodes for management tasks). Performance achieved was very impressive (scale of hundreds of Gbps of throughput and millions of simultaneous TCP/UDP flows). Using D for such task has similar issues and solutions as using D for embedded (Adam, I am looking at your DConf talk!)

Reply via email to