The world of Solaris Networking

Guest Author
The world of Solaris Networking

The DDay has finally arrived. href="http://www.opensolaris.org">Open Solaris is here. For me
personally, its a very nice feeling since I can now talk about the
architecture and implementation openly with people and point them to
the code. Before coming to Sun, I had always been in research labs
where collaboration is the way of life. God - how much I missed that
part in Sun and thankfully I am hoping to get it.

One of the big changes in href="http://www.sun.com/bigadmin/content/networkperf">Solaris 10 was
project FireEngine which allowed Solaris to perform and
scale. The important thing that I couldn't tell people before was
where the wins came from. Bulk of them came from a lockless design
called Vertical perimeter implemented by means of a serialization
queue. This allows packets once picked up for processing to be taken
all the way up to socket layer or all the way down to device
driver. With the aid of the IPclassifer, we bind connections to
squeues (which in turn are bound to CPUs) and this allows us to get a
better locality and scaling. The squeues also allow us to track the
entire backlog per CPU. The GLDv3 based drivers allow IP to control
the interrupts and based on the squeue backlog, the interrupts are
controlled dynamically to achieve even higher performance and avoid
the havoc caused by interrupts. Some day I will tell you stories on
how we dealt with 1Gb NICs when they arrived and CPUs were still
pretty slow.

Coming back to collaboration, you will notice that Solaris networking
architecture looks very different compared to SVR4 STREAMS based
architecture or BSD based architecture. It opens new doors for us and
it allows us to do stack virtualization and resource control (project
Crossbow) and tons of new things. We have setup a href="http://www.opensolaris.org/os/community/networking">networking
community page which has brief discussion on some of the new
projects we are doing and would love to hear what you think about
it. The discussion form on the href="http://www.opensolaris.org/os/community/networking">same page
would be an easy way to talk. We are open to suggestions on how
you would like to see this go forward.

Enjoy, just like I enjoyed Solaris for so many years!

Technorati Tag: OpenSolaris

Technorati Tag: Solaris

Join the discussion

Comments ( 1 )
  • Paul Durrant Wednesday, June 15, 2005
    Good to see the Nemo code out there... and mostly how I left it ;-)
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.