[bind10-dev] Thinking aloud: Multi-CPU auth
Stephen Morris
stephen at isc.org
Mon Dec 20 20:34:13 UTC 2010
On 20 Dec 2010, at 19:18, Michal 'vorner' Vaner wrote:
> Well, if you fork(), all the memory is shared until one of the processes writes
> there something. So it is what I meant for free ‒ if none of the working
> processes write there (and they shouldn't), only read, they all have the same
> mapping, which is equivalent with shared memory (you just got to the situation
> in a different way).
>
> If the parent does updates, it gets copies of the changed pages and then forks
> again, everyone gets shared again.
That is a simpler and much easier scheme than the one I suggested using shared memory segments.
I think that the small overhead of adding process management to the server is more than compensated by the for by the simplicity of the solution. However, there is one disadvantage - it won't work on Windows, which doesn't have the idea of fork().
Regarding frequency with which these operations are done, the co.uk zone is updated using dynamic updates every minute. So we would need to think about restarting processes on a minute-by-minute basis.
Stephen
More information about the bind10-dev
mailing list