Solaris 11 Preview (Part 1)
Timothy Prickett Morgan from The Register wrote an excellent article "Oracle previews Solaris 11, due in November" which spurred some contemplations.
Fowler said that the current Solaris 10 tops out at 512 threads and a few terabytes of addressable main memory.This may have been what Fowler said, but I wonder how much of an impacts of threads and large memory really has on Solaris 10, today. For example, the T3-4, which was released some time back, already surpasses 512 threads, with Solaris 10 performing linearly.
It is therefore not a coincidence that last year's top-end Sparc T3-4 server, which had eight 16-core, 128-thread Sparc T3 processors topped out at four sockets.This years top-end SPARC T4-4 server halved the cores, halved the threads, maintained throughput, so the T4 processor could have been extended to 8 sockets with additional threads being added over the T3-4 platform. This being said, I think it was a coincidence. I don't really think the number of sockets is a Solaris issue. The math just does not suggest this conclusion.
I suspect the decision to top-out at 4 sockets has more to do with chip design realities. The decision to extend the cross-bar to manage another bit from 8 cores to 16 cores was a massive undertaking in the T3. The decision to extend add the S3 core into the T4 was a massive undertaking. The decision to integrate the massive S3 infrastructure onto the massive T3 crossbar will require more space, requiring a process shrink, which will also add significant effort.
Why does a process shrink require significant effort, when you are just making everything smaller? The answer to this question is related to another question which is always asked, "now that this is smaller, how much can we bump up the clock rate"?
The answer to this question deals with the length of the longest wires in the chip after the shrink - they are significant clock rate limiting factors. Any correction requires re-routing the "long" wires. The re-routing, by massive computing systems, absorb immense quantities of time. The chip testing, when adding functionality, also requires immense quantities of time.
These quantities of time are limiting factors. A single bug or manufacturing defect may require the turning-off of a feature (to be emulated in software, a-la Intel Floating Point bug) or a re-design of a chip area, without impacting surrounding areas.
Solaris 10 and 2011 Roadmaps
The early 2011 roadmap indicates Solaris 10 will experience a release in 2011 as well as 2012 - and the market just experienced Solaris 10 Update 10 release, according to the timeline provided.
The late 2011 roadmap did not show the on-time 2011 Solaris 10 release or the projected 2012 release... but there is an indication of the next T processor being pulled into the same timeframe as the 2012 Solaris 10 release.
Doing the math, it seems the "T5-8" platform (if Oracle remains consistent with their naming conventions) may really increase the number of simultaneous threads, and one might suspect that the 2012 projected "Solaris 10 Update 11" release might probably support the larger number of total number of threads.
2010 T3-4: 16 cores * 8 threads * 4 sockets = 1024 threadsConclusion:
2011 T4-4: 08 cores * 8 threads * 4 sockets = 0512 threads
2012 T5-8: 16 cores * 8 threads * 8 sockets = 2048 threads
The migration to Solaris 11 will probably take a long time. The market is pretty happy to see many Solaris 11 performance features being back-ported to Solaris 10, especially since Solaris 11 is not supported under older SPARC hardware. More on this in Part 2 of this series.