[bind10-dev] Thinking aloud: Multi-CPU auth
Michal 'vorner' Vaner
michal.vaner at nic.cz
Mon Dec 20 19:33:56 UTC 2010
Hello
On Mon, Dec 20, 2010 at 07:17:26PM +0000, Stephen Morris wrote:
> Shared memory does seem the best way forward.
>
> If we were to put the in-memory data source into a shared memory segment, could we not have the updater process map it and copy it into a new shared memory segment, modify the latter, then signal the processes to suspend queries, unmap the old segment, map the new one and restart query processing? That way no locks are needed.
>
> The one concern I do have about the shared memory is that we are implementing an in-memory data source using C++ objects. We would need to do our own memory management and use our own allocators etc. to ensure that all the objects are in shared memory. This could get tricky for things like strings that are used in both shared and non-shared contexts.
Yes, it could probably be done. Though this way seems little bit complicated
(and scary). That is what I hoped to get away with fork (well, that one kind of
hopes the zone data and other variables are not too much interleaved, because
once you write to a page, you get your own copy instead of shared one, but in
case of big zone, most of the pages would be the zone data only).
Have a nice day
--
There is one difference between linux and windows.
With windows, you pay for the software, but you get all the T-shirts for free.
With linux, you get all the software for free, but you buy the T-shirts.
Michal 'vorner' Vaner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/bind10-dev/attachments/20101220/43b7898e/attachment.bin>
More information about the bind10-dev
mailing list