Section 18.2. Solaris 10 Stack: Design Goals


18.2. Solaris 10 Stack: Design Goals

The Solaris 10 release was a landmark release for Sun. After a decade and a half of a STREAMS-based network stack, Solaris 10 OS switched to a new architecture (internally named FireEngine) which provided better connection affinity to CPUs, greatly reducing the connection setup cost and the cost of per-packet processing. It still retained the STREAMS flexibility in allowing third-party STREAMS modules to be inserted into the stack if necessary.

The Solaris 10 networking architecture encompasses six key design points:

  • Scalability. As the number of CPUs in a machine continues to grow, scalability becomes really important, not only for Sun's SPARC-based multiprocessor systems but also for recent offerings based on the AMD Opteron processor, which are available as multicore and multiprocessor systems. The simple BSD-style stack is no longer adequate, and more connection affinity to CPUs is needed to scale the stack with a number of CPUs and NICs.

  • Packet processing cost. A typical server does more than a gigabit per second of network traffic at 1500-byte packets. Things are already moving toward 10 gigabit per second and trunks of high-bandwidth NICs. The size of the maximum transfer unit (MTU) is still restricted to 1500 bytes, so the per-packet processing cost plays an important role in deciding how much compute power is used for network processing.

  • Connection setup cost. The number of connections a server has to handle continues to grow as more and more devices are connected to Internet. Furthermore, the short-lived connections dominate more and more, and as a result, the connection setup cost plays a major role as a design point for a new networking architecture. This applies to most TCP, SCTP, and connected UDP environments.

  • Latency issues. Now that Solaris running on commodity hardware is widely used in database clusters and high-performance throughput computing (HPTC) environments, the per-packet latency plays an increasingly important role.

  • Observability. Apart from performance and scalability, users need more observability to determine the root cause of problems. Also, with the amount of data flowing through the stack, any observability mechanism needs to keep up with the data flow and not induce performance problems.

  • Out-of-the-box performance. The Solaris 10 stack departs from the long-standing approach of tuning the stack according to the workload. Instead, the design is based on an understanding of the flow of packets through the stack and the automatic application of the most suitable policies. Predictability and repeatability for a particular workload are maintained.




SolarisT Internals. Solaris 10 and OpenSolaris Kernel Architecture
Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition)
ISBN: 0131482092
EAN: 2147483647
Year: 2004
Pages: 244

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net