Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Jun 2002 16:25:32 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Gary Thorpe <gat7634@hotmail.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: multiple threads for interrupts
Message-ID:  <3D13B5EC.D19BB1E5@mindspring.com>
References:  <F63IegwDE4TAs0T4szG00002082@hotmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Gary Thorpe wrote:
> Here is a link to the abstract and postscript of the papper I had originally
> read: http://www.eecg.toronto.edu/parallel/pubs_abs.html#Curran_Stumm_CS
> 
> It does not go into interrupt servicing routines (because they use a
> simulator) but the results would be applicable to general thread scheduling.

I'm glad that this paper has been referenced.  It demonstrates
that, under load, per CPU run queues are the way to go, even
though it fails to do so further from the load limit boundary.
I believe, however, that this can be explained and corrected.

I'd point out that the "Take" algorithm is similar in its need
to examine (and therefore lock) the task queues of the other
processors.  I'd argue that this increased contention is really
equivalent to the contention you see for the global task queue
approaches.  This argument is supported by the following research:

	http://citeseer.nj.nec.com/39182.html
	http://citeseer.nj.nec.com/nikolopoulos99achieving.html
	http://citeseer.nj.nec.com/bellosa97follow.html

The approach I have suggested (I guess I should call it "Put",
in light of this paper) substantially eliminates all task queue
contention for the normal case, and only causes contention on
migration queues if there is in fact processes undergoing an
active migration at the time.  Migration should be, I would
argue, a relatively rare event, since migrating merely because
of a transient load imbalance is ineffective use of resources;
it's like not debouncing a switch in an electronics design.

Here are some resources on contention reduction, which demostrate
the value of eliminating even a small amount of contention:

	http://citeseer.nj.nec.com/dandamudi99reducing.html
	http://citeseer.nj.nec.com/198857.html

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D13B5EC.D19BB1E5>