BIND 10 #2873: Test the landlord/RCU approach for resolver multi-threading
BIND 10 Development
do-not-reply at isc.org
Mon Mar 18 07:52:42 UTC 2013
#2873: Test the landlord/RCU approach for resolver multi-threading
----------------------------------------+----------------------------------
Reporter: vorner | Owner:
Type: task | Status: new
Priority: medium | Milestone: New Tasks
Component: resolver | Keywords:
CVSS Scoring: | Sensitive: 0
Defect Severity: N/A | Sub-Project: DNS
Feature Depending on Ticket: | Estimated Difficulty: 0
Add Hours to Ticket: 0 | Total Hours: 0
Internal?: 0 |
----------------------------------------+----------------------------------
On top of #2871 implement the landlord/RCU approach.
If there's a shared resource, a thread sits on top of it and does tasks on
it. The shared resources are the cache and the network socket towards the
client. There are bunch of worker threads too.
Each landlord has an input queue and there's one global queue for the
workers. Each time the worker or landlord takes a batch of tasks from the
queue, works through them and then appends the results (if any) to other
queues (in batches too). Only the queues are protected by mutexes.
The RCU means that the read access to cache does not have to be protected,
so it can be done directly from the workers. Only updates need to go
through the cache landlord.
More info in
https://lists.isc.org/pipermail/bind10-dev/2013-March/004493.html.
Experiment with lengths of the batches and implementations of the queues.
--
Ticket URL: <http://bind10.isc.org/ticket/2873>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list