Remember that Go vs D MQTT thing and how we wondered about dmd vs gdc?
Dicebot
public at dicebot.lv
Fri Mar 14 10:44:35 PDT 2014
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!)
More information about the Digitalmars-d
mailing list