2004 Sun Microsystems Chairman Award RecipientsSunay Tripathi (Team Leader), Bruce Curtis, and Thirumalai Srinivasan
Innovation TitleSolaris FireEngine: A New High-Performance Architecture for Solaris Networking Innovation DescriptionThe current Solaris networking stack, bought in the early 1990s, requires each connection to create its own STREAM and STREAMS-based protection perimeter. These connections are used extensively to synchronize access to TCP and IP data structures. The STREAMS-based architecture has high connection setup and teardown costs, and it pays attention to cache locality. In a multithreaded environment, a heavy performance penalty is associated with it. As a result, performance of the Solaris Operating System lagged in TCP network performance. The performance problem was further accentuated as low-end systems became increasingly dominant, and the user could easily compare Solaris performance on x86 architecture with the competition. FireEngine created a new architecture for networking stacks where a connection is bound to a CPU for its entire life. This association provides better cache locality and vertical separation, avoiding context switching. The FireEngine architecture also offers very high visibility into the network stack. With both the incoming and outgoing packets being queued only once in a common queue (if necessary), the system can tune itself based on different workloads, allowing a system administrator to profile the performance more accurately. This feature is not considered possible with other architectures used by competitive operating systems. |
|