SPARC lights no fire says the chip vendor's blog.
I’m pleasantly surprised at how much I’m enjoying the IT@Intel blog. Over the past couple of weeks we’ve seen posts about how the culture of Intel — and IT in general — is too focused on performance and Eleanor Wynn’s attempt to explain information technology themes in the context of Martin Heidegger (That is, once you get past her largely inaccessible first paragraph. “xtreme weight loss program and reappending appendages from one place to another” Huh?) All-in-all it’s considerably more interesting than one would think an official Intel blog would be.
As an added bonus, they’ve opened up comments and that’s where something interesting came up on a quad-core post by Sudip Chahal.
The post itself doesn’t really shed any new light on quad-core technology but Sudip does a excellent job of responding when someone asks him to compare Intel’s quad-cores with SUN’s UltraSPARC processors with CoolThreads technology, 8 cores, and 32 accessible threads on a single chip.
b. Additionally, if the application is not very multi-threaded e.g., some batch jobs or optimizer solvers, then the Sun solution is simply not competitive as its cores are very simple and much lower performance on an individual core basis as compared with the Intel Clovertown Core 2 micro-architecture based cores.
That, it turns out, is pretty easy to verify. AnandTech put Intel Duo Woodcrest Xeons up against SUN’s 8-core UltraSPARCs back in June and Intel whipped SUN handily in Apache/PHP/MySQL processing, Java webserving, and every other category where they compared the two processors.
Sudip also had something to say about software.
c. While the Sun solution can deliver good performance for ï¿½throughputï¿½ applications (heavily multi-threaded applications) – the point remains that the applications have to be SPARC applications and not x86 applications which is where the vast majority of the software market is.
And that’s a pretty big point. SUN can pack as many threads as they like into a chip but if the apps aren’t written to take full advantage of the infrastructure, it’s moot.
Take Linux, for example. I talked with SUN engineers at OracleWorld earlier this year about their Fire servers and their comment was Linux in it’s current form probably couldn’t use all the threads on even one of the UltraSPARC chips.
Which is another way of saying Linux would probably run better on something else.
While this looks like a post comparing processors, that was just the set-up. It’s really about software development and the challenges facing developers next year on the new infrastructure available. A sentence in the AnandTech article linked above sums that idea up well when talking about the UltraSPARC T1s.
PostGreSQL and MySQL scale better on Solaris than they do on Linux, but both RDBMS have trouble scaling over multiple cores.
Do you know how to scale your application across multiple cores?
The shift in thinking required to go from traditional programming to multi-threaded programming was described to me by one vendor recently as “Herculean” and will make the challenge that developers faced of moving from procedural to Object-Orientated Programming several years back “look like child’s play.”
And it’s a challenge that you may not be able to avoid like some were able to with OOP. Because while some platforms will run multi-threaded apps better, some practically demand threading.
What do you think? Is multi-threading where application development is headed? Should we not be so quick to discount SPARC since they opened up the spec earlier this year? If you’re doing multi-threaded programming, what tools are you using? Drop me a note.