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