
Wednesday August 20, 2008
IDF Chalktalk and two new World Records with Sun Studio
IDF Chalktalk went nicely yesterday. There was some decent interest in Sun Studio. This being my first chalktalk, I was a bit wary of what the expectations around it were. I didnt have to worry: I had plenty of support from well-wishers and colleagues who dropped in for moral support.
It helped, of course, that I could start the talk by announcing
two new World Records with Sun Studio compilers.
These performance records should put to rest some speculation about how well Sun Studio supported the Intel Xeon processor. Of course, competitive performance and SPEC benchmarking is a forever leap-frog contest and these numbers show that Sun Studio is
extremely competitive even with the Intel compilers . Internally, of course, we know this but with SPEC disclosure rules, it gets hard to post competitive, comparative data that shows this. These disclosures provide the finality that is otherwise hard (but not impossible) to provide.
In addition to Performance, which is forever the #1 concern with any compiler choice, other topics of interest that came up were:
- Recommendations for best performance across all platforms Answer: Sun Studio makes a best effort case for across-the-board performance via -xtarget=generic option, which then lets you run the binary on all x86 (or all SPARC) micro-architectures. Of course, we have switches to optimize for each target: -xtarget, -xarch, -xchip, -xcache and also variously tuned -xprefetch for each chip. But these tunings shouldnt be necessary except
- Performance analysis and in particular, how to detect cache hits/misses and particularly, whats the penalty for getting such data. Answer: The Performance analyzer provides Hardware Counter data (HWC) that shows data/instruction cache hits/misses. My experience with the analyzer is that the overhead of getting such data is about 5% - 7%.
Parallelism: what does Sun Studio provide? Answer: Sun Studio has a whole range of models that we support: from autopar (automatic parallelisation) to vectorization to supporting OpenMP to extensive support in compilers and tools for Multithreading to providing ClusterTools and profiling tools for MPI.
Dave Stewart helped out by explaining how
Intel Threading Building Block, now available on Solaris, can simplify the parallelization solution by abstracting details of #cores, and extent of parallelism from the user.
- Cross Compilers: does Sun have them, whats our story? Answer: We dont provide cross-compilers. We used to do them, about 15 years back, but keeping up with changes in env is a real challenge that we're practically not able to keep up with (eg. lets say we release on Solaris 10, Solaris 9 and OpenSolaris. When Solaris moves up to Solaris 10 update 6, Solaris 9 update 8 and OpenSolaris 2008.11, there are lots of env. changes and revalidating this with each env is a testing nightmare. Generating code is the easy part and taking care of Linux vs Solaris is also relatively doable, but its the environment that is the hardest to cope with
- Cloud Computing: are the tools involved with the new 2nd generation support Sun has announced? Answer: Yes, in many ways. Besides providing compiler support for the first generation of network.com applications (mostly HPC driven), there are many projects in the pipeline, ranging from social networking to project management facilities to extending our tools to this space. Some of these tools are in beta right now. On the compilers/tools side, we have support for remote development in some parts of the IDE (with NB 6.5 Beta. Check it out!).
Besides these very interesting discussions, I also gave short overviews of different aspects, not covered here, eg. IDE, Debugger, browsing, editing, projects management in the IDE, etc. Of course, with over 100 commands in Sun Studio product line and over 200 library versions, its hard to cover it all. But all in all, the
feedback was positive and I had a great time doing it!
I look forward to doing it again next year!
Disclosure Statement:
SPEC, SPECfp, SPEComp reg tm of Standard Performance Evaluation Corporation. Results from www.spec.org as of 08/19/08. Sun results submitted to SPEC.
Sun Fire X2250 with two dual-core Intel Xeon 5272 processors and OpenSolaris: 13394 SPECompM2001
Sun Fire X2250 with Intel Xeon 5272 processors and OpenSolaris: 26.0 SPECfp2006, 24.8 SPECfp_base2006.
Posted by tatkar
( Aug 20 2008, 11:52:46 AM PDT )
Permalink