To: Noriyuki Soda <soda@sra.co.jp>
Subject: Re: bind9 and threads
References: <200004141436.XAA23049@srapc342.sra.co.jp>
From: nathanw@mit.edu (Nathan J. Williams)
Date: 01 May 2000 11:43:54 -0400
In-Reply-To: Noriyuki Soda's message of "Fri, 14 Apr 2000 23:36:46 +0900 (JST)"
Message-ID: <mtug0s2ff7p.fsf@ten-thousand-dollar-bill.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Lines: 40
Xref: ten-thousand-dollar-bill.mit.edu mit.thesis:7

Noriyuki Soda <soda@sra.co.jp> writes:

> "The Design and Implementation of Kernel-thread Mechanism on NetBSD"
> by Atsushi Ohnoki is not available in online, but "A framework for
> minimizing thread management overhead based on asynchronous
> cooperation between user and kernel schedulers." by Shigekazu Inohara
> is available on
> 	http://www.is.s.u-tokyo.ac.jp/tech-reports/TR94-02-letter.ps.gz
> And I think it is worth reading, although the implementation is
> not schedular activations.

Okay, I've read this (actually, a few times over the last couple of
weks), and it does look interesting. Are you familiar with it in any
more detail than the paper presents? Do you know if it's been
implemented outside of XERO? I wasn't able to find many references to
it, but that could be a result of the language barrier (do CS
researchers in Japan generally publish in Japansese?).

At the moment, I'm still planning to stick to scheduler activations,
though I've changed my thesis title to be ambiguous on the subject :)
I'm more comfortable with them since there is implementation
experience in the academic world and quite a bit of commercial
adoption as well.

I'm also not sold on the benifits of async threads over scheduler
activations. Avoiding vertical switching is commendable, and has some
demonstrated performance benefits, but I worry that the async
notification lag causes undesirable latency in the thread system
(Anderson's earlier paper on thread management performance showed how
dangerous that extra latency can be). I will admit that I also have
more interest in interactive threaded applications, which are probably
going to be using a round-robin scheduler that has vertical switchings
for timeslice preemption, than the scientific threading applications
which seem to be using non-preemptive thread schedulers.

Again, thank you very much for showing me the paper; it is full of
interesting ideas to consider.

        - Nathan

