Wednesday Jan 02, 2008

NEW BOOK: Solaris Application Programming

Solaris Application Programming, by Sun engineer Darryl Gove, has just been published by Sun Press/Prentice Hall.

Here's the back-of-the-jacket blurb:

Solaris™ Application Programming is a comprehensive guide to optimizing the performance of applications running in your Solaris environment. From the fundamentals of system performance to using analysis and optimization tools to their fullest, this wide-ranging resource shows developers and software architects how to get the most from Solaris systems and applications.

Whether you’re new to performance analysis and optimization or an experienced developer searching for the most efficient ways to solve performance issues, this practical guide gives you the background information, tips, and techniques for developing, optimizing, and debugging applications on Solaris.

The text begins with a detailed overview of the components that affect system performance. This is followed by explanations of the many developer tools included with Solaris OS and the Sun Studio compiler, and then it takes you beyond the basics with practical, real-world examples. In addition, you will learn how to use the rich set of developer tools to identify performance problems, accurately interpret output from the tools, and choose the smartest, most efficient approach to correcting specific problems and achieving maximum system performance.

Coverage includes

  • A discussion of the chip multithreading (CMT) processors from Sun and how they change the way that developers need to think about performance
  • A detailed introduction to the performance analysis and optimization tools included with the Solaris OS and Sun Studio compiler
  • Practical examples for using the developer tools to their fullest, including informational tools, compilers, floating point optimizations, libraries and linking, performance profilers, and debuggers
  • Guidelines for interpreting tool analysis output
  • Optimization, including hardware performance counter metrics and source code optimizations
  • Techniques for improving application performance using multiple processes, or multiple threads
  • An overview of hardware and software components that affect system performance, including coverage of SPARC and x64 processors


    You can get it at Powells Books online (my favorite online bookstore).


Monday Oct 08, 2007

Learning About Parallel Programming

Clearly, multithreaded or parallel programming is growing in importance as the new chip architectures move towards multiple cores and multiple threads rather than merely upping clock cycle times.

But parallel programming is hard, no doubt about it. It's so much easier to cast a computational problem into a serial, one-step-at-a-time framework than think of it in terms of data distribution over networks of compute nodes.

So how do you learn parallel programming?

Luckily there are a number of resources on the web. Here are just a few links

Wednesday Jun 27, 2007

Making Sense of Parallel Programming Terms

Making Sense of Parallel Programming Terms is an article that ties together much of the terminology of multithreaded or parallel programming. 

Friday Jun 22, 2007

C and C++ Technical Articles

There are a lot of useful, short, technical articles on the SDN portal directed at the C and C++ programmer on Solaris. 

This article gives an overview of the C-language extensions (part of the GNU C-implementation) introduced in the Sun Studio 12 C compiler. Although these extensions are not part of the latest ISO C99 standard, they are supported by the popular gcc compilers. (June 13, 2007)
Ever wonder what's in a patch? Take a look inside a typical Sun Studio compiler patch that includes updated C++ shared libraries. (November 10, 2006)
The Sun C++ compiler ships with two libraries that implement the C++ standard library: libCstd and libstlport. This article discusses the differences between the two libraries and explores the situations in which one library is preferred over the other. (May 17, 2006)
Hiding non-interface symbols of a library within the library makes the library more robust and less vulnerable to symbol collisions from outside the library. To get the appropriate linker scoping in a source program, you can now use language extensions built into the Sun Studio C/C++ compilers. (May 17, 2005)
The author shows how a simple C++ program fails without language linkage, but can succeed with proper linkage. (This article is on the Solaris portal.) (March 23, 2005)
In this test case, the DTrace capability in the Solaris 10 OS is used to identify an error common to C++ applications -- the memory leak. (This article is on the Solaris OS developer portal.) (February 17, 2005)
The C++ language provides mechanisms for mixing code that is compiled by compatible C and C++ compilers in the same program. You can experience varying degrees of success as you port such code to different platforms and compilers. This article shows how to solve common problems that arise when you mix C and C++ code, and highlights the areas where you might run into portability issues. (July 25, 2003)
This article discusses some of the runtime errors related to memory management and how you can use the garbage collection library, libgc to fix these errors. In most cases, just linking with the library without making any changes to your code will fix the errors. (July 25, 2003)
Using the restrict qualifier appropriately in C programs may allow the compiler to produce significantly faster executables. (July 17, 2003)
A discussion of the evolution of the C++ Application Binary Interface, and its implications. (March 20,2003)
Application software developers can learn to use the latest version of the Solaris OS while supporting previous versions. (January 1, 2002)

Application development on Solaris OS


« April 2014