Developers, whether they work with Oracle servers based on UltraSPARC or SPARC64 processors or on x86 and x64 systems with Intel processors, will find a powerful tool in Oracle Solaris Studio that delivers everything one might require to create high quality, high performance applications. This tightly integrated, productive development environment is the subject of the Oracle white paper "Developing Enterprise Applications with Oracle Solaris Studio."
Only Oracle, the paper reminds readers, provides an integrated technology stackfrom applications to operating environments, virtualization and management tools, and storage and networking componentsthat is optimized for maximum performance in the form of Oracle Solaris Studio.
Among the many features of Oracle Solaris Studio are:
- DLight visual profiling tool based on Oracle Solaris Dynamic Tracing (DTrace) technology
- Standalone dbxtool GUI debugger help to visualize code errors and facilitate debugging multithreaded code.
- Oracle Solaris Performance Library, Performance Analyzer, Thread Analyzer, the Sun Memory Error
- Oracle Solaris Studio Code Coverage Tool
- Oracle Solaris Studio Integrated Development Environment (IDE)
All these features work in concert with the compilers and debugger to provide an optimized development platform for the end-to-end process of building, debugging, analyzing, and tuning multithreaded high-performance applications, the white paper explains.
The unique features of this IDE help developers to effectively exploit platform functionality and performance while accelerating and simplifying the process of application development, the white paper points out, adding that by integrating all the steps programmers takefrom GUI design and code generation, to edit-compiledebug-tune cyclesthe Oracle Solaris Studio IDE makes it easy to rapidly build high-performance
In keeping with the advances in hardware that allow for parallel programming and virtualization, the compilers in Oracle Solaris Studio are optimized for the latest multicore architectures, the white paper notes, which enables the application to offer compiler auto-parallelization and support for the Open Multi-Processing (OpenMP) and Message Passing Interface (MPI) application programmer interfaces (APIs).
Furthermore, applications can be multithreaded to enhance their efficiency on multiprocessor systems by identifying tasks that can be performed in parallel and reprogrammed to distribute their computations. This process of parallelizing an application recasts the compiled program to take full advantage of a multiprocessor system, according to the paper.
This degree of flexibility is achieved through the use of loops as the primary method of parallelization, which allows the distribution of computational work in a loop over several processors without the need to modify the source program. The features that enable this possibility, the paper explains, are:
- Loop transformations, which work to remove the sequential statements into a separate loop while gathering the parallelizable statements into a different loop. Since loop distribution is not always profitable or safe to perform, developers have designed the compiler
to analyze the safety and profitability of distribution as conservatively as possible in the execution of loop distributions.
- Dependency analysis, which examines the order of execution in arriving at computational results in order to determine which operations are best to parallelize.
Another distinctive feature of Oracle Solaris Studio is the combination of the Sun memory Error Discovery Tool and the Code Coverage Tool that facilitate debugging operations. Integrated runtime checking facilities also enable developers to efficiently debug applications with memory-related defects, as does the Thread Analyzer, a tool that analyzes the execution of the program across multiple threads in order to detect data race and deadlock conditions.
Finally, the set of tools available in the Performance Analyzer and the Collector enable developers to observe application performance and identify problem areas, a process that, without such tools, can be tedious and time consuming, as the paper observes.
Oracle Solaris Studio Documentation
Oracle Solaris Studio: Using the Tuned Libraries for Peak Performance
Oracle Solaris Studio Exploits parallelism Capability of Intel's Newest Processors
Read More ...