Multithreading the KDC server
Rahul Srinivas
srahul at novell.com
Wed Mar 23 06:48:30 EST 2005
Hi Sam,
Thanks for your input. I am currently preparing a document
outlining the design for multithreading the KDC server. I will include
your suggestion and also address the issues pointed out by Ken Raeburn in
it. I will send the document to the list for review in the next few days.
Regards,
-Rahul S.
On Tue, 22 Mar 2005, Sam Hartman wrote:
> If I were trying to do an initial implementation of a multi-threaded
> KDC I'd start with one big request mutex. The idea is that the KDC
> should only be processing one request at a time.
>
> Then provide a yield function to save away the state associated with
> the current request, unlock the mutex. You'd also want a reacquire
> function.
>
> In the e-directory lookup code, you would:
>
> * save the information you need to do the lookup
> * yield the current request
> * do the lookup
> * reacquire the request so you can respond to it.
>
> Then you would modify the main loop to start several threads.
>
>
> In practice, at most one thread would be in the main part of the KDC.
> Other threads could be idle, doing database lookups or waiting to get
> back into the main section.
>
> Over successive versions we could create more regions where finer
> grain locks are available.
More information about the krbdev
mailing list