If you expected Solaris 11 to be announced at the OpenWorld extravaganza taking over San Francisco this week, you probably weren't alone. But you're going to be a little disappointed, at least for a while. It won't be launched until sometime in November. Solaris 11 was previewed by John Fowler, executive vice president of …
I actually liked Larry trying to beat x86/64 to death. It's about time someone rids the computing world of this crappy architecture; RISC always had the upper hand but the dominance of the Wintel boxes killed most of the RISC chips.
Oh, and Carly killed PA-RISC. HP must be feeling stupid now that Oracle is actually improving Sun's hardware, while HP is stuck with a dying platform (Itanium) with no clear migration paths.
Larry dear will only "beat x86/64 to death" outside of the announcarhea arena if there is commodity hardware that runs better, cheaper or greener than current hardware - with the same software (i.e. Microsoft OS) on top. This means emulation. Which ain't gonna happen soon.
x86/64, like the nanny state, is here to stay.
"I actually liked Larry trying to beat x86/64 to death...." Larry is not trying to beat x64 to death, in fact more than half his hardware is dependent on x64 (and Linux). What he is trying to do is bluster some money back on the Sun hardware bizz that he never wanted in the first place.
"....Oh, and Carly killed PA-RISC..." Dan, you really need to go back and read the umpteen replies to that myth you trot out again and again, as each time you get corrected, and each subsequent time you repeat it you just look even more silly. Carly Firoina arrived at hp long after the Itanium was designed by hp and the decision made to replace PA-RISC. Got that? Would you like me to use shorter words, or maybe draw you a diagram? In crayon?
It would be neat if Solaris 11 were released 2011-11-11 at 11:11 o'clock. :o)
Regarding all the new functionality, it looks really good. Lot of innovation that others want to copy. Today Solaris 10 only scales to 512 virtual CPUs - vCPUs. But regarding 10.000 threads, every thread in Solaris is a vCPU. So a thread is no different from a cpu, and are treated similar. So when the Solaris 16.384 thread server is released later, Solaris will treat is as 16.384 cpus
That 16.384 server with 64TB RAM will have _massive_ throughput. That many threads sounds sick today, just as 8 core cpu sounded sick back when Niagara were released, but today everyone has 8 cores. Back then, there were only 1-2 cores and IBM talked about 1-2 cores at 7-8GHz is the future and mocked many lower clocked cores, because "databases like strong cores, not many weaker cores".
I would not be surprised if we would see other 16.384 thread servers, but other OSes need to rework their scalability. For instance, recently, AIX needed to be rewritten to be able to handle as "many" as 256 cores in the P795. Solaris 10 handled more that, many years ago. Today, it is tens of thousands of vCPUs that is the target in Solaris 11. Solaris shows the way, and others follow. :o)
"Night will come, and I will follow. For my victims, no tomorrow"
Another cool ability
that Solaris 11 has, is to do a rollback if something gets wrong (e.g. patching). This functionality relies on ZFS.
Before an upgrade, you create a snapshot: ZFS has COW, which means that all new writes will be written on a new place on the disk. Old data will not be touched nor altered. Thus, the old data in the snapshot is never altered. To create a snapshot takes one second O(1) actually.
Let us assume that something went wrong, you got a virus or something. Then you just reboot, and upon boot you choose which snapshot to boot into via GRUB. So you can have many many snapshots and boot into any of them. You can have one stable branch, and one unstable if you wish. True versioning, like CVS, on bit level of the system disk. If you delete a snapshot, those bits are removed and you are back to the old, original bits.
Thus, you can rollback to a earlier functioning state with a rollback. This saved my ass many times when I experimented with Solaris and did something weird. Some would say this is a killer feature.
"For instance, recently, AIX needed to be rewritten to be able to handle as "many" as 256 cores in the P795. Solaris 10 handled more that, many years ago."
You are contradictiong yourself, and cannot even see it. You write just above:
"Today Solaris 10 only scales to 512 virtual CPUs - vCPUs. "
You do know that 256 physical cores on the p795 equals 1024 virtual CPU's right ?
So basically in your book with all your Solaris 10 is more scalable than AIX cause it supports more threads have been crap. You do realise that ? Cause you are actually saying it yourself here.
That's actually funny.
"...You do know that 256 physical cores on the p795 equals 1024 virtual CPU's right ?..."
No, I did not know that. Do you have a link on this? If this is true, then I will stop talking about AIX scales bad compared to Solaris 10, of course.
If we compare to Solaris 11 and 16.384 threads, then 1024 is nothing, of course. So my point is that AIX lags behind in terms of scalability, but it seems that AIX has catched up on the last Solaris 10.
First hit on google:
And I was actually wrong... 256 physical cores maps to 1024 logical cores that can then map to 10240 virtual cores. But I don't think you'll get AIX to go beyond 1024, but the virtualization layer will hence you can run 10 virtual servers each with 1024 virtual cores ontop of a machine with 256 physical cores.... *cough* *cough* but you can then also use Wpars and then subdivide that again.. *cough* *cough*
I'd better stop now.
Well the whole thread thing, it's really the throughput of Business operations that count, not so much the thread
T3, T4, T5, Threads, Architecture, and Solaris
Thanks for a very good article, TPM!
[TPM] Fowler said that the current Solaris 10 tops out at 512 threads and a few terabytes of addressable main memory.
I found that an interesting statement since 16 cores * 8 threads * 4 sockets = 1024 threads - with Solaris 10 is performing linearly, for the most part, in most benchmarks. I think there is more to this.
[TPM] 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.
Adding 8 sockets onto the new T4 would mean Solaris would have to manage the same number of threads that Solaris is handling today with the T3 - so I don't really think this the socket limitation with T processors is a Solaris "threads" related issue. The math just does not suggest this conclusion.
I suspect the sockets limits had more to do with the complexities of adding an additional bit to the SMP glue. More complete thoughts are here.
[TPM] To be fair, Oracle could no doubt have patched Solaris 10 to extend its thread count a little
You are absolutely correct. Many threading enhancements were added to Solaris 10 Update 10. Oracle could, and they did.
[TPM] Solaris 11 will, for instance, have one button rollback features so if customers don't like the results of their upgrade to Solaris 11
Live Upgrade has existed in Solaris for years - fast and simple upgrade with a keystroke and rollback with a keystroke using a mirror was something fairly unique to Solaris. OpenSolaris with ZFS took it a step forward, some years ago. I don't think this added any delay. The backport of this feature into Solaris 10 really takes Solaris 10 light-years ahead. Fowler might be talking about the ZFS timeslider...
I really don't think that Solaris 11 was planned to be released in 2011-11 because of difficulties with these features for Oracle RDBMS integration. I think there are a lot of other "better" reasons.
This was a thoughtful article, nice writing!
Re: T3, T4, T5, Threads, Architecture, and Solaris
I wrote this a bit frazzled, but when I multiply 16 cores x 8 threads per core x 4 sockets, I get 512 threads. The same limit as Solaris 10 threads.
I agree that Oracle or Sun could have easily tweaked this with a patch.
The more interesting thing as far as I am concerned is contemplating a machine that can cram 16,384 threads in 64 sockets. That just sounds like magic to me--like many things that are common did 20 years ago.
"...The more interesting thing as far as I am concerned is contemplating a machine that can cram 16,384 threads in 64 sockets. That just sounds like magic to me--like many things that are common did 20 years ago..."
I remember when I heard of the 8 core cpu Niagara back in the days. It was like magic to me. But today everbody has them. I predict in the future everybody will have 16.384 thread servers - if the OS manages to be able to scale. For instance, the old Solaris 10 will not today be able to handle such many threads, but Solaris 11 does. Such servers clearly needs a rewrite of the kernel. IBM did this recently to be able to handle P795.
IBM needs to rewrite AIX again if IBM is going in the direction of more cores with many threads. Just the direction Sun did a decade ago.
Of course, Solaris 10 handles today 512 threads. To double this to 1024 would be easy to do with a patch. But there is no point of doing that. Better with a over engineered rewrite to handle 10s of thousands of threads. Real over engineering. :o)
questions to the village idiot
To support more threads how come Solaris only needs a patch while AIX needs a rewrite? Care to elaborate?
AIX on Power scales to the largest Power server and always has. What is the problem? That it does not scale to a non existing machine?
If AIX scales to 1024 threads and Solaris to 512 threads how come AIX has a scaling problem and Solaris does not?
What percentage of your computer knowledge comes from actual experience?
Solaris 11 is a rewrite and will break binary compatibility
But expect a guarantee that will say Oracle will help you fix it over the phone from India so they can still provide a guarantee
Solaris 11 will break binary compatibility? How do you know that? What supporting evidence do you have? Can you post it, or is it just the same old FUD and you have no links?
Of course Solaris 11 is heavily modifying the kernel, so what has that to do with breaking binary compatibility? Solaris 11 needed this rewrite to be able to handle the hardware that comes later, the 16.384 thread server. Of course Oracle could have done some small patching and upped the thread count on Solaris 10, to twice or so, but not much further. Solaris 10 is on the verge, 512 threads or 1024 - what is the difference? It is only a factor of two and in the same vicinity. A factor of two is nothing.
No, Oracle wants magnitudes better than that, and aims for 10s of thousands. Then you need a total rewrite, and can not do small patches of the kernel anymore.
However, pre POWER7, IBM AIX scaled quite bad, because P595 was the biggest and it only had 64 cpus. If IBM needed greater scalability, IBM went to Linux to run on greater POWER servers. AIX was out of the question for the big super computers based on POWER. For the P795, IBM could not patch AIX to handle 1024 vcpus, instead AIX needed a total rewrite. Just like Solaris 11 is going through now - a total rewrite. However, IBM AIX lags behind. AIX is on the same stage today, where Solaris 10 was years ago.
My point is still valid:
AIX handles 1024 vcpus, that is in the same neighbourhood as Solaris 10 (512 threads)
Solaris 11 handles far more threads.
Thus IBM AIX lags behind a generation.
"Then you need a total rewrite"
YOU need a total rewrite!
IBM supports what the hardware does
Not sure why IBM would say they support 16K threads when the 795 has 1,024 simultaneous threads.
Last time I looked Sun only had M9000 64 procs * 4 cores * 2 = 512 threads
Sun T4 = 4 procs * 8 cores * 1 "simultaneous thread" = 32 threads
Ok yes the chip may only run one thread at a time but it can move 8 threads in and out over time
so while it is a stretch you could say 4*8*8 = 256
So how is Solaris a generation ahead? Oh that's right you think customers can't do 2nd grade math.
What I heard from my Sun buddy was Solaris 11 requires ZFS so they will not be using it any time soon and the OpenSSL has changed so they will need to look through all their code.
The admin is totally different also but that does not affect binary, just a huge expense which is making them look at AIX and Linux as the alternative.
"...So how is Solaris a generation ahead? ..."
Solaris is a generation ahead, because it scales much better than AIX. AIX needed a rewrite to handle as few as 512-1024 threads - the same problem Solaris 10 had many years ago. But Solaris has already been there, done that. Now Solaris 11 is looking ahead into the future and is venturing into new territory, again. Territory of 16K threads. No one has ever been there before. Solaris is first. As usual.
I remember one IBM supporter recently who I had a discussion with. I said that Solaris constantly tries to break new ground and he asked something like "why try to innovate?". Maybe IBM likes to let others do the hard work, and then copy what others have done - that is indeed a viable strategy. But it is not sexy strategy. It is much sexier to be first. (It costs more money too)
You just don't get it
So Solaris can address more threads than AIX but it runs on hardware that has half the threads as AIX? wow....so Solaris is great, the hardware sucks and if Solaris ran on Power it could actually use as many threads as AIX.
.....Either you think people are stupid or you are so full of Sun Koolaide you didn't notice they went out of business and sold themselves at a firesale price which was less than Java alone was worth. Google is going to end up paying for the Sun purchase.
"...What I heard from my Sun buddy was Solaris 11 requires ZFS so they will not be using it any time soon..."
Solaris + ZFS has some real killer features. For instance, the ability to a do a complete rollback in a few seconds if something screws up. Before every major change of the system disk, do a snapshot. So you can have 100s of snapshots, all showing up in GRUB. Then, just choose which you want to boot into.
One guy had 64.000 snapshots of his data set, not his system disk. He took a snapshot every 10 seconds, just to try. All those snapshots consumed 4GB of disk space - snapshots only save the changes. If you dont change anything, no disk space is consumed. Because every snapshot just writes to a new place on the disk, and never touch the old data. So all old data is still intact, and you can access it anytime you want. Just like TimeMachine.
If your AIX installation breaks, what do you do? Reinstall everything? Or reboot into the previous functioning and well tested state?
To NOT use ZFS is... weird. It is like refusing to use Solaris just because it has the killer function DTrace! Now, THAT would be weird. Have you been using the IBM copy of DTrace, called ProbeVue? Who would refuse to use ProbeVue?? (Also, it seems that DTrace is coming to Oracle Linux distro.)
Its because they are a veritas shop just like we are. 64K snapshots ....hmm that sounds like fun.
OPENSSL? still binary compatible?
The trip back from San Fran was horrible, they really should not let hungover people onto plans.
Snap me there snap me here....
Eh.. you do know that AIX have had snapshots since AIX 5.2, that is late 2002 early 2003 right ?
- Pics Facebook's Oculus unveils 360-degree VR head tracking Crescent Bay prototype
- Teardown Pop open this iPhone 6 and see where the magic oozes from ... oh hello again, Qualcomm
- Analysis Apple's warrant canary riddle: Cock-up, conspiracy, or anti-Google point-scoring
- Bargain basement iPhone shoppers BEWARE! eBay exposes users to phishing vuln