DragonFly BSD
DragonFly users List (threaded) for 2006-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Speeding up networking, worth a read.


From: "Miguel Filipe" <miguel.filipe@xxxxxxxxx>
Date: Wed, 8 Mar 2006 15:50:57 +0000

Hi,
I recently read a presentation about how to speed up networking, from
Van Jacobson.

I think the dragonflyBSD team must read this, and apply the same
principles to make the DFly networking stack "super-hot".

I also should point out that some of the ideias/principles are
allready considered in the DragonFly BSD filosofy, and Matthew has
shown a very good insight of the root problem..
Basically.. I think this paper is a _must_ read for any modern OS
trying to evolve into something significantly better.. and also.. it
is specially in sync with dragonfly BSD because it fits very well
together with the dragonfly BSD filosofy/mentality.

A excerpt from the introductory text follows:

"
Although the best of its breed, the linux kernel networking
architecture closely follows a design first laid out in the early 80s
(as do Windows, Solaris, MacOS, ...). While this design met the needs
of its day, and many days beyond, it has some fundamental flaws. By
re-architecting a small part of the networking code, network device
drivers and the network buffer model, it's possible to get dramatic
increases in performance (we have measured factors of 2X to 4X
improvement in network intensive grid and web application benchmarks)
and in system scalability (e.g., the new architecture has *no* locks
in any part of the packet send/receive path). It is easy to convert
existing drivers to the new model and the result is both simpler and
smaller (e.g., a 30% reduction in size for the 2.6.11 E1000 driver).
And since the new architecture is completely backward compatible,
conversion can be done incrementally.
"



http://lca2006.linux.org.au/abstract.php?id=382
http://www.lemis.com/grog/Documentation/vj/
http://www.lemis.com/grog/Documentation/vj/lca06vj.pdf

--
Miguel Sousa Filipe




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