Using Go for NTPsec
Hal Murray
halmurray at sonic.net
Mon Jul 5 17:59:31 UTC 2021
> We don't have a multithreaded server yet. Worst case we have two threads,
> and only one can ever reach the critical region in question. Don't borrow
> trouble! :-)
I'm interested in building a server that will keep a gigabit link running at
full speed. We can do that with multiple threads.
> If we go to using threads more heavily, the idiomaric Go way to handle this
> problem would be to have a queue that does only the code in window 1. When
> you write to the request queue, it would stop GC, do time-critical magic,
> restart GC, and ship the result on the output queue.
That's adding a bottleneck that we need multiple threads to avoid.
You can't put it on an ouput queue. Handing it to the kernel it is part of
the time critical region.
> I'm not worries about a DDoS. I don't think the protocol machine gives a
> hostile client or server any way to force hitting that window.
I'll work up some numbers if you think that will be interesting. (It will
take a while. I have to put a system back together.)
This is a good example of where we are wasting time discussing things because
there is a GC we (might?) have to dance around.
--
These are my opinions. I hate spam.
More information about the devel
mailing list