Vijay Tatkar's Blog

All | Benchmarks | Business | Cloud Computing | General | Hardware | Linux/Unix | Performance | Software | Solaris | Sun | Sun Studio
« Previous day (May 12, 2008) | Main | Next day (May 14, 2008) »
20080513 Tuesday May 13, 2008

Sun unleashes Quad-core Barcelona systems
And not a day too soon, either! To quote Sun's press (I dont think I'm capable of writing such long, flowery and yet wonderfully descriptive sentences! :-)
Sun Microsystems, Inc. (NASDAQ: JAVA) today announced the availability of its first Sun Fire and Sun Blade systems powered by Quad-Core AMD Opteron processors, bringing new capabilities, increased performance and expanded scalability to customers that purchase or upgrade to these quad-core systems. The Sun Fire X4140, Sun Fire X4240 and Sun Fire X4440 servers, the newest systems to join Sun's extensive x64 (x86, 64-bit) server line, give customers industry-leading energy efficiency, density and scalability powered by Quad-Core AMD Opteron processors and a choice of operating systems, including the Solaris 10 Operating System (OS), OpenSolaris operating system, Linux, Windows and VMware.
And as a footnote, Sun Studio 12 (with patches) is fully optimized for it (use -xtarget=barcelona switch in addition to the usual switches, to get better instruction selection, esp. for FP-style code). So far, feedback on this mode of code generation has been very positive. I had described these changes in a much earlier blog (as blog timelines go!) here with over 30% improvement on SPECfp and smaller changes on SPECint programs. The volume deployment on systems using Barcelona has been ...er long awaited. Its great to see AMD back in the game; I'm sure this will begin to take the quad-core performance battle with Intel to the next level.
Posted by tatkar ( May 13 2008, 10:28:26 AM PDT ) Permalink Comments [0]

Like this post?  del.icio.us  bookmark it   |   submit to dig digg.com digg it   |   slashdot slashdot it   |   technorati Technorati it

OpenMP 3.0 APIs released
The final specifications for the new version of OpenMP (version 3.0) have now been published and uploaded to the official OpenMP site (here)
The draft was open to review from October through January; the completed version is now official.

What is OpenMP?
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran. OpenMP is a portable, scalable model with a simple and flexible interface for developing parallel applications on platforms from the desktop to the supercomputer. The core elements of OpenMP are the constructs for thread creation, work load distribution (work sharing), data environment management, thread synchronization, user level runtime routines and environment variables. These are expressed as directives in Fortran and as #pragmas in C and C++
This is a multivendor, multiple platform vendor-driven industry standard. Members include Sun, AMD, Intel, Cray, Fujitsu, HP, IBM, NEC, PGI and SGI as vendors (permanent members) and auxilliary members such as ASC/LLNL,  cOMPunity,  EPCC,  NASA, RWTH Aachen University.
You can get more info on OpenMP at this official site (here). You can also read a more detailed description at this Wikipedia site.
The first standard came out in October 1997; an update (v2.0) in 2000 (for Fortran) and 2002(for C, C++)  and a combined languages revision (v2.5) in 2005.
There is also a SPEC standard benchmark, called SPEC OMP, that represents typical industry application/usage of OpenMP. Sun has dominated SPEC submissions on the lower end of the scale (less 8,16 nodes).

Whats New in OpenMP3.0?
There are several new features in OMP 3.0. A short enumeration of these:

Uses of OpenMP3.0
The OpenMP model (shared memory programming) is often debated vs the MPI (message passing interface) model (a distributed, cluster programming model), which is also a vendor-driven industry standard. Both are aspects of  the parallel programming model, which aim at extracting parallelism from an existing application. OpenMP is an incremental model that works at the high-level language level, whereas MPI is a low-level and difficult to use. This section in the Wikipedia has an interesting set of Pros and Cons contrasted between OMP and MPI. The MPI model grew in popularity in the past decade because clusters became easier to buy and assemble and the increasing power of the x86 single-node servers ensured that such clusters could be built cheaply and still deliver good performance. However, now with the multi-core revolution upon us, there is fresh interest in making each of these "nodes" parallelizable as well and so there is fresh interest in OpenMP.
Of course, time will tell, which paradigm, or any derivative of these will ultimately see large-scale adoption. In the meantime vendors are busy working to ensure that they have good, high performing OpenMP implementations that can be used to exploit the increasing number of cores in a single node.
Sun, of course, has been in this game from Day 1. We've had compilers that have supported every OMP standard, immediately after it came out (and no later than any other vendor).
The same will be true with OMP3.0; we are working on getting an implementation of this out very soon now.



Posted by tatkar ( May 13 2008, 09:58:20 AM PDT ) Permalink Comments [0]
Like this post?  del.icio.us  bookmark it   |   submit to dig digg.com digg it   |   slashdot slashdot it   |   technorati Technorati it

Who Am I?

Calendar

RSS Feeds

Search

Links

Presentations

Latest TechDays Presos

Navigation

Referers