May 2006 Solaris OS Networking -- The Magic Revealed This article by Sunay Tripathi discusses the networking advancements in the Solaris 10 OS, as well as the evolution of networking in previous releases. Topics include TCP, UDP, IP, the device driver framework, and tuning for performance. Solaris OS Network Virtualization We are determined to lead in the area of network virtualization. The upcoming project Crossbow is designed to provide the building blocks for utility computing by creating virtual stacks around any service (HTTP, HTTPS, FTP, NFS, etc.), protocol (TCP, UDP, SCTP, etc.), or Solaris Containers technology. The virtual stacks are separated by means of a H/W classification engine such that traffic for one stack does not impact other virtual stacks. Each virtual stack can be assigned its own priority and bandwidth on a shared NIC without causing performance degradation to the system or the service/container. The architecture dynamically manages priority and bandwidth resources, and can provide better defense against denial-of-service attacks directed at a particular service or container by isolating the impact to just that service or container. FireEngine "For the Solaris 10 release, we have turbo-charged the networking stack to deliver extremely high performance while improving the scalability across all platforms (SPARC and x86). Of course, the changes didn't happen overnight -- it took us two years to do the background research for vertically partitioning the workload using an IP classifier-based lock-less design." -- Sunay Tripathi, FireEngine Architect This new architecture reduces the overheads of synchronization and cross communication between CPUs (a necessary ingredient for scaling across a very large number of CPUs). In simple terms, it means that we have improved the networking performance across small CPU configurations while maintaining the high scalability across large CPU configurations that the Solaris OS was well-known for. For More Information
Other Advances in Networking Performance
Nemo * 2006 Sun Microsystems Chairman's Award Recipients -- Solaris Software: Nemo (a.k.a. GLDv3) GLDv3: This high-performance device driver framework has VLAN support and 802.3ad Link Aggregation support for off-the-shelf device drivers. The following drivers are based on GLDv3 framework: bge, e1000g, xge, rge, ixge, and nge. Customers can have VLAN and link aggregation capabilities with these drivers on both SPARC and x86 platforms. IHVs can use this new interface instead of GLDv2 for network device driver development. This framework can offer:
For more information on Nemo:
Yosemite The Yosemite project is aimed at improving Solaris UDP performance. The project is made up of various smaller projects, including UDP/IP merge, UDP hardware checksum offload, broadcast/multicast performance, socket-layer processing, and many others. The goal is to make the Solaris OS more competitive when compared to Linux when UDP is used as the transport protocol, especially for workloads sensitive to latency and/or throughput. IPv6 With the Solaris 10 OS, IPv6 has been further enhanced to support 6to4 Router (RFC 3056), default address selection (RFC 3484), privacy extensions for stateless address autoconfiguration (RFC 3041), the new IPv6 Basic API (RFC 2553), and the new IPv6 Advanced API (RFC 2292). Network Approachability
OpenSolaris Project: Clearview
Network Auto-Magic OpenSolaris Project: Network Auto-MagicSimplifying and automating network configuration on the Solaris OS. There are six focus areas:
Discussions Other Resources |
|