AMD Shanghai Opteron: Linux vs. OpenSolaris Benchmarks
Phoronix: AMD Shanghai Opteron: Linux vs. OpenSolaris Benchmarks
In January we published a review of the AMD Shanghai Opteron CPUs on Linux when we looked at four of the Opteron 2384 models. The performance of these 45nm quad-core workstation/server processors were great when compared to the earlier AMD Barcelona processors on Ubuntu Linux, but how is their performance when running Sun's OpenSolaris operating system? Up for viewing today are dual AMD Shanghai benchmarks when running OpenSolaris 2008.11, Ubuntu 8.10, and a daily build of the forthcoming Ubuntu 9.04 release.
Ubuntu Linux whoops some Solaris behind
If I were Sun I would be ashamed. Not just because Ubuntu Linux beats them in every single test except Bork, but because they're still wasting their resources (ie. shareholder's money) by continuing to develop OpenSolaris. Sun should just license it GPLv2 and work to port the best features (ZFS and DTrace) to Linux.
Last edited by stan; 02-09-2009 at 02:19 AM.
Firstly, agree wholeheartedly with first comment; secondly, with sunflow on page 6, you made an error in your summary. Fewer seconds are better. You said OSOL came in first, but it came in last.
"OpenSolaris 2008.11 finally took a first place finish with the Sunflow Rendering System. Sunflow is the first Java powered test in this article. OpenSolaris was slightly in front of Ubuntu 8.10 followed by Ubuntu 9.04, which seems to have regressed with its Java performance."
should be something like
"OpenSolaris 2008.11 took another beating with the Sunflow Rendering System. It trailed behind Ubuntu 8.10, while Ubuntu 9.04 stomped them both."
I agree they should be ashamed, but I disagree with just porting everything to the Linux kernel. Competition is good, and I see nothing good happening if Sun just ports everything to the Linux kernel. One kernel means less competition between the different OS and less likely hood that we will have technologies that we say "Hey why doesn't Linux have that. Sun was able to do that and why can't we?". Yes there may be some repetition, but at least there will always be something to look at and admire about the other OS.
The biggest disadvantage to multiple kernels is that the engineering effort is split. There's no reason why Sun can't channel their innovation through Linux (and they're doing that to a certain extent by hiring Yinghai Lu, formerly of AMD, to work on Linux). But as it stands, the CDDL is a roadblock to Linux developers incorporating that innovation.
Originally Posted by sc3252
There are some gems in OpenSolaris, but given that hardware drivers for it are few and far between, users like myself can't readily take advantage of them on commodity hardware. That's why having those features in Linux, which already runs well on cheap hardware, would be awesome.
Fake GPL spirit
Moreover OpenSolaris is on GPL, but on a fake GPL spirit.
Indeed, unlike the FSF, Sun is not a non-profit foundation with very clear guidelines. The FSF has the intend to make the open source version of a piece of software, *the* best version that Sun has no intend to do since there is Solaris, a proprietary fork.
Indeed since you have to surrender your rights to Sun if you contribute to OpenSolaris, compared to Linux, a real hacker with the GPL spirit would not take the risk (which is quite high on medium/long term). Even if Sun decided to make a foundation and give up its proprietary forks, I don't think that will attract people to create a real community spirit like the one on Linux. Actually, the best thing to do for Sun would be to drop OpenSolaris and to go full steam Linux.
Actually, the better way would be the other way around. The nice thing Sun could use from Linux are device drivers - and pretty much nothing more. In particular, the "core" in OpenSolaris is years ahead of Linux, which still uses anachronic synchronisation model based on spinlocks (which nobody uses anymore, except probably Windows - other operating systems are based on fully functional mutexes and interrupt threads), VFS working backwards (file-based instead of vnode-based) etc.
Originally Posted by stan
Wow, opensolaris really got beaten
I'm a former Solaris admin (of Solaris 10 u1, released Jan 2006. I've had accounts on Sol 5-9 machines, too, but I've never touched openSolaris and don't really know much about it. People who replied to this have pointed out that some important things have changed with OpenSolaris. I stand by everything I said before, just be aware that it doesn't all apply to OpenSolaris, and that people with mindsets other than mine probably like some of the things I dislike. I editted this first paragraph to put this big disclaimer up front, since I don't want to slag things that don't deserve it.)
I was never impressed by the ancient 32bit free software they ship. If you wanted anything to run fast, you compiled it with Sun's Studio compiler (which is now free but not open source/Free software, but used to cost money).
So yeah, crappy old gcc, probably 32bit only, no wonder it got killed. It probably wasn't doing much multithreading. Compiling stuff on Solaris is a big pain in general, because you have to find all the right libraries to link in. A bunch of stuff that's just in the standard libc is in other libs on Solaris (e.g. -lnsl or something.) My guess is that the Phoronix test suite didn't get the high performance versions of any openMP libraries.
Besides all that, gcc4 can vectorize for SSE2, but gcc 3.4 couldn't. So maybe that's what helped LAME and oggenc, and some of the other benches to a lesser degree.
x64 Solaris = 64bit kernel, and the same 32bit userspace they ship for 32bit x86 Solaris, with 64bit versions of a few key libraries available. (But _not_ of most libraries, so if you want to compile a 64bit binary of something, you often need to install your own 64bit versions of any libraries it wants, other than libc, libm, and maybe some numeric performance libs. IIRC, Solaris doesn't provide a 64bit libncurses even. And the sunfreeware libreadline and so on are all ancient. And 32bit only. Just like the blastwave.org packages, although they're at least more up to date.)
Solaris is probably ok for a server that doesn't get any interactive command line use, so it doesn't matter that the Unix environment is crappy and old and not nice to use if you're used to recent GNU/Linux. It's patches and updates are totally designed around a "set it up and modify as little as possible" mindset. Which is the exact opposite of what I like and am used to, with Debian's and Ubuntu's stable releases where a security update isn't a patch, but a whole new version of a package you can install normally. And where you upgrade to new stable releases of the OS quite painlessly. I realize some of the reasons I don't like Solaris are just because I don't know it well, so I get annoyed with it when it's just different from what I'm used to, not that everything about it is intrinsically worse. However, I would totally not recommend it for interactive use if you care about things like having a non-ancient version of GNU sed. (Let alone not having to worry about all the crappy non-GNU unix utilities, and what order to put things in in your $PATH.)
Installing Solaris updates tends to break other things esp. the N1 System Manager provisioning system, but also other stuff that depends on Java sometimes has hard-coded paths involving an exact version number of Java, so it breaks when you install Java updates. Again with my point about being good for setup and don't touch, opposite of Debian updates and proposed-updates being generally a good thing to install.
If anyone feels inclined to defend Solaris, that's fine. I'm trying to be clear that the things I don't like about it are deal-breakers for me, but don't bother some people too much. My ideas of how I want a system to work revolve around something that updates easily to the latest stable version, which is why I use Debian and Ubuntu. My idea of what a package is is based on years of Debian experience, so that made me very unhappy with Solaris's apparently different concept.
BTW, the Bork file encryption benchmark, which was the only one Solaris did well on (not counting the CPU-bound ones where all 3 basically tied, but where Solaris lost probably because it has more crap running in the background slowing it down.)... Anyway, Solaris probably did well on Bork because ZFS is pretty good. ext4 is good, too, compared to Intrepid's ext3. IIRC, previous articles have shown that Bork is mostly I/O limited on most machines. So that's what that bench tells us.
Last edited by llama; 02-09-2009 at 11:02 AM.
llama, you are referring to some really ancient Solaris I figure, Sun Studio Express has been free for a long time now, and is in the official opensolaris repository. GNU tools are now by default in the path, so gnu sed, ls, etc.. are used. And the updates (IPS based) are absolutely different from what Solaris had. It has come a long way since those times...
Originally Posted by llama