Sun gives glimpse of revised Solaris TCP/IP stack
Fire Engine on the Software Express
Sun Microsystems' new Software Express program is alive and kicking with the company delivering a rewritten TCP/IP stack for Solaris that is meant to prepare customers for faster networking technology.
The new TCP/IP stack - code-named Fire Engine - has 10 gigabit and 100 gigabit Ethernet networks in mind. Instead of using a "brute force algorithm" to move packets around, Sun has a new packet classification engine to "shunt packets off to special routines that can deal more effectively with that specific kind of packet be it UDP, TCP or IP," said Bill Moffitt, marketing manager for Solaris.
This is early access, not terribly useful technology as of yet to be sure, but it's interesting for a couple of reasons*. (We later found out the technology does indeed have an immediate impact, please see note below from Sun's CTO of software - Ed.)
First off, it's the first public code dump Sun has made as part of the Software Express program. Sun launched Software Express last month to give users an early peek into upcoming Sun code. So far, Sun is only offering up early looks into the future version of Solaris, but it plans to extend the beta-style effort to its entire software line.
So far 1,578 customers have signed up for the program, which has two membership options. At no charge, users can download early builds of the upcoming Solaris 10 operating system and see the latest and greatest add-ons Sun has completed. For $99, however, you can receive first class treatment. Sun provides paying customers with a roadmap as to what features are coming when, chats with Solaris engineers and the "opportunity" to report bugs and suggest changes. The pay program is aimed at large Solaris customers who want to plan ahead knowing what the OS will bring and have some input on its direction.
The second reason the revised TCP/IP stack stands out relates to ties ins the software has with future processors from Sun.
Sun has geared the Fire Engine code to sort through packets and then offload them onto to specialized NICs for processing. Today, companies such as Alacritech and Intel are building TOE (TCP/IP offload engine) cards to handle the TCP/IP stack and take some of the burden off of main processors.
In the future, however, Sun plans to build TOE-like processors right onto its chips. Sun is looking to roll out multicore processors in the next couple of years that might have a few cores dedicated to churning through instructions and then another couple of cores aimed at handling TCP/IP and security data.
"We are seeing microprocessors become like microsystems where more and more functions are built-in to the silicon," Moffitt said. "We will be able to shuttle specific packets into hardware related routines."
So while it may be neat for a customer to see Fire Engine now, it's not all that useful in the short term. (Again, our mistake - Ed.) Sun has no drivers for currently available TOE cards, meaning customers will need to wait until Sun is good and ready to use the technology.
But the idea isn't so much to use Fire Engine but to know it's coming. In case you had any worries that was completely ignoring improving Ethernet speeds, have no fear.
*Note from John Fowler, Sun's CTO of software:
This is not just about taking advantage of future hardware, someday. Beyond being a huge tuning effort and kernel fastpaths, there are a number of fundamental changes. For example, in other operating systems (and today's Solaris) all of the traffic from a particular NIC gets bound to a process that runs on one CPU. With Fire Engine, a single NIC actually can take advantage of multiple CPUs so, in the above uniprocessor configurations, it's faster.
in addition, we did work to efficiently handle many NICs, so combinations of NICs and CPUs scale. The upshot of all this stuff is that customers will notice quite measurable differences in latency and bandwidth improvements in networking on existing machines. It shows up in internal benchmarks, and it shows up in real-world workloads from the smallest uniprocessor on up.
Also we focused on CPU utilization. One of the little secrets of networking is high speed interfaces can in fact pump lots of bits, but they chew up lots of CPU, which means you aren't doing other things. We worked hard on efficiency, and we now measure, at a given network workload on identical x86 hardware, we use 30 percent less CPU than Linux.
Fowler is one of the top IT exces around, and we thank him for this insight. Looks like Sun has some interesting things cooking for Solaris x 86. ®