SunStudio on Linux Tip #1: CMT support


Multi-Threading is here! Multi-core is here! Its time to get ready! There is no more free lunch; its over!

OK, now that I'm done sloganizing :-), there is really a serious need that I think SunStudio Compilers  and Tools on Linux are well-positioned to satisfy: Developing high Performance Application for the emerging multi-core systems!
SunStudio on Linux offers the following distinct benefits:
  • Support for various parallel programming paradigms: Unix and POSIX threads, OpenMP, MPI, automatic parallelization
  • Best Compiler SPECfp performance on this planet
  • Best OpenMP Performance upto 8 threads (max on current 4-socket AMD systems) and the Best Proven Scalability(95% upto 48 jobs)
  • MT-aware Debugger, Performance Analyzer
  • Data Race Detection Tool,  Lock_lint for Static analysis (C) and Global Program Checker (Fortran)
  • Performance libraries (libm, libsunperf, etc) tuned for multithreaded
  • Superior dmake for parallel jobs and distributed (cluster) builds that is also GRID aware

And also, several articles  published on SunStudio Developer Portal   that talk about various Chip-Multithreading, Multicore chips and Parallel programming aspects. Here is an interesting sprinkling of papers that you could read to get started on the topic

The Challenge of Developing Applications for Parallel Computing
This article discusses the important parallel application development issues now emerging from the parallel computing technology trend. It introduces and explains some of the most important industry standards such as OpenMP, MPI, and Grid Computing, and describes the current state of parallel application software development.
The Challenge of Race Conditions in Parallel Programming
This article discusses general and data race condition that arise in parallel programming. While data race condition problems are common and easy to fix, harder to avoid general race problems can also occur. A race condition could be the symptom of deeper design problems. A simple parallel partitioning example illustrates these various race condition issues and how to avoid them. DataRace Detection Tool
This article talks about using DRDT to detect data-races that occur during the execution of a single, multi-threaded process.
Lock_Lint - Static Data Race and Deadlock Detection Tool for C
The command-line utility lock_lint analyzes the use of mutex and multiple readers/single writer locks, and reports on inconsistent use of these locking techniques that may lead to data races and deadlocks in multi-threaded applications.
What is Throughput Computing all about
This (PDF) paper discusses what Sun's Throughput Computing initiative and gives a background about Software, Hardware and System issues Sun is endeavoring to solve. It introduces the terms CoolThreads and explains what CMT means and how Sun is satisfying business needs through the new UltraSPARC design

I'd recommend that you bookmark this  SunStudio/CMT site which has a collection of interesting papers on these topics
  • Throughput Computing in Multicore Environments
  • OpenMP
  • MPI
  • Parallel Programming issues and Multithreading tools
  • Community support via Forums, SDN, OpenSolaris
  • Migration Information including issues between Linux/x86, Solaris/x86 and Solaris/SPARC

And finally, all of this works just as well on Solaris as well. In the case of MultiThreaded application development, debugging and analysis, it works even better!
Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

I have worked with Sun and Oracle for 25 years now; in compilers and tools organization for most of these years followed by a couple of years in Cloud Computing. I am now in ISV Engineering, where our primary task is to improve synergy between Oracle Sun Systems and our rich ISV ecosystem

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Interesting Links