DragonFly BSD
DragonFly kernel List (threaded) for 2003-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Goals: Netstack?!? (was: Not-yet-finished ALTQ patch.)

From: Bill Huey (hui) <billh@xxxxxxxxxxxxxxxxx>
Date: Tue, 2 Dec 2003 17:01:21 -0800

On Tue, Dec 02, 2003 at 03:28:37PM -0800, Bill Huey wrote:
> On Tue, Dec 02, 2003 at 11:50:05AM -0800, Matthew Dillon wrote:
> >     Jeff has been running through a number of prototypes for the messaging
> >     conversion of the network stack.  There are indeed some issues, but
> >     on the bright side it is really forcing us to think about how to
> >     partition the work.
> > 
> >     That's an interesting side effect of putting subsystems into threads...
> >     it really forces one to clean up the APIs and algorithms.
> Also, it raise the question about being able to properly exploit cross processor
> CPU resources for things like heavy IO handling. I'm thinking about a case that
> might require some pretty tight load balancing such as a case where one high
> bandwidth IO channel must send/receive something to another process on another
> CPU. This is basically a consumer/producer relationship across CPU nodes, which
> would demand tight coupling between the systems for performance reasons. IPC
> performance I would think is critical in this case, which makes me curious about

Let me explain further in the same way stated to another Linux developer I'm hanging
with on IRC...

You have a 4-way machine with four processors doing heavy heavy computation, like DSP
calculations, that create four or more different data streams. All of these calculation
use nearly all of the CPU power and are fully parallizable, which a traditional tighly
coupled SMP machine would eat up like hot cakes. The non-parallel stuff is when the
results of all those calculations must be merged to a single stream on a single processor
some where. dfBSD is a loosely couple system. How does it deal with this situation ?
shared memory ? special IPC primitive ? what ?

What thought has been given to this problem ? will the new networking stuff be effected
by this ? etc...


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]