Upload
dongoc
View
213
Download
1
Embed Size (px)
Citation preview
1
Copyright © 2010, Oracle and/or its affiliates. All rights reserved.
Streamline the Application Development Process
– Oracle Solaris StudioWenlong ZhangSenior Sales Consultant
3
Agenda
• Introduction• Solaris Studio IDE and Performance Tools
– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio
4
Oracle Solaris Studio
20+ year history of delivering the best integrated development platform for building scalable, secure and reliable enterprise and ISV applications
5
Release History and OS SupportProduct name Release Date Solaris OS Support Linux Support
SPARC X86/X64
Forte Developer 6 May ‘00 2.6, 7, 8 2.6, 7, 8
Forte Developer 6 Update 1 Nov ‘00 2.6, 7, 8 2.6, 7, 8
Forte Developer 6 Update 2 Jun ‘01 2.6, 7, 8, 9 2.6, 7, 8
Sun ONE Studio 7 May ‘02 7, 8, 9 -
Sun Studio 8 Mar ‘04 7, 8, 9, 10 7, 8, 9, 10
Sun Studio 9 Jul ‘04 8, 9, 10 8, 9, 10 RHEL3, SLES 8
Sun Studio 10 Jan ‘05 8, 9, 10 8, 9, 10 RHEL3, SLES 8
Sun Studio 11 Nov ‘05 8, 9, 10 8, 9, 10 RHEL4, SLES 9
Sun Studio 12 Jun ‘07 9, 10 9, 10 RHEL4, SLES 9
Sun Studio 12 Update 1 Jun ‘09 Solaris 10OpenSolaris
Solaris 10OpenSolaris
OEL 5, RHEL 5,SLES 10
Oracle Solaris Studio 12.2 Sept ‘10 Solaris 10OpenSolarisSolaris 11 Express
Solaris 10OpenSolarisSolaris 11 Express
OEL 5, RHEL 5,SLES 10
Oracle Solaris Studio 12.3 Dec ‘12 Solaris 10,Solaris 11 ExpressSolaris 11
Solaris 10, Solaris 11 ExpressSolaris 11
OEL 5, RHEL 5
6
Solaris Studio Overview
• #1 development platform for building scalable, secure and reliable mission-critical SPARC and x86 applications for the #1 enterprise OS, Oracle Solaris– Best world record performance with up to 300% faster code
on Mseries, T-series, and x86-based Oracle Sun Enterprise Servers
– Only vendor to offer tooling that takes advantage of powerful OS features, such as Solaris Dtrace
– Best suite of fully integrated and optimized tools, enabling developers to generate enterprise and ISV applications faster
– 20 year track record of delivering unmatched binary compatibility in the industry
7
Highest Application Performance15+ year history of delivering best app performance
• World record performance benchmarks on all latest Oracle Sun systems– Oracle Sun SPARC, Fujitsu SPARC64,
Intel and AMD x86-based systems• Consistently better performance than
open source alternatives– SPARC
— 50% better integer performance vs. GCC— 4.8x better fp performance vs. GCC
– x86— 46% better integer performance vs. GCC— 2x better fp performance vs. GCC
* Performance measurements are based on estimated SPEC runs of SPEC CPU2006 for Studio 12.2 and GCC 4.5.1
8
Solaris Binary Compatibility Guarantee
• About 20 years track record of delivering unmatched binary compatibility in the industry
• Leader in C++ ABI compatibility • Solaris + Studio is the only vendor to
guarantee this level of compatibility for C++ objects
9
About Oracle Solaris Studio
• #1 developer tool-suite to create high-performance, scalable and robust mission-critical enterprise and ISV applications for Oracle Sun servers– Maximize ROI of Oracle Hardware: Highest app
performance on SPARC M-series, T-series, and x86-based Oracle Sun Enterprise Servers
– Improve Time-to-Market: Single suite of advanced tools geared towards leveraging system features to increase productivity and simplify multi-core development
– Protect your application investment: Guaranteed application compatibility with Oracle Solaris and Oracle Solaris Studio
10
About Oracle Solaris Studio
• Formerly named “Sun Studio”, is a free comprehensive C, C++, and Fortran tool suite for both Oracle Solaris and Linux operating systems that accelerates the development of scalable, secure, and reliable enterprise applications.
• Contains– C/C++/Fortran and OpenMP compilers– Debugger (dbx)– IDE– Performance libraries– Performance Analyzer– Thread Analyzer– Discover (find memory access errors and leaks)– Uncover (code coverage tool)– Some other tools (spot, Dlight, c++filt, ...)
11
About Oracle Solaris Studio
12
Oracle Solaris Studio 12.3 Feature Highlights
13
Agenda
• Introduction• Solaris Studio IDE and Performance Tools
– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio
14
Full-featured Graphical IDEFull edit, compile and debug support, and a lot more...
15
Agenda
• Introduction• Solaris Studio IDE and Performance Tools
– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio
16
Performance Analyzer
• collect command– gathers performance data during application execution
collect <application> <parameters>– generate profiling data as test.N.er directory
• Analyze the profiling data– analyzer <test.N.er> (GUI mode)– er_print <test.N.er> (text mode)
17
Performance Analyzer (Function Tab)
18
Performance Analyzer (Source Tab)
19
Performance Analyzer (Disassembly Tab)
20
Performance Analyzer (Timeline Tab)
21
Agenda
• Introduction• Solaris Studio IDE and Performance Tools
– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio
22
Thread Analyzer
• About Oracle Studio Thread Analyzer– Multi-threaded programs are hard to debug because the
errors are not easily reproduced.– Thread Analyzer can analyze the execution of a multi-
threaded program and checks for a variety of multi-threaded programming errors such as data races and deadlocks.
– Works on programs written using POSIX thread API, Solaris thread API, OpenMP and a mix of them.
23
Thread Analyzer usage modelfor detecting data race and deadlocks
• Usage Mode for race– Instrument the code to enable data race detection
— Source level instrument: compile flags: -g -xinstrument= datarace— Binary level instrument
— Use discovery tool to generate an instrumented version for the binary.— Shared libraries are automatically instrumented when they are opened
– Create experiments by collect command with “-r race” option – Analyze the experiments
— Use tha/analyze command (graphic mode)— Use er_print -races command (text mode)
• Usage Model for deadlocks– Similar as with detecting data races, but without the need to
instrument the codes.– Create experiments by collect command with “-r deadlock” option.
24
Thread Analyzer – Race View
25
Thread Analyzer for detecting deadlocks
26
Thread Analyzer – Dual Source View
27
Agenda
• Introduction• Solaris Studio IDE and Performance Tools
– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio
28
Discover Memory debugger, identify dynamic memory errors
• Complile with “-g”• Instrument the
binary with Discover• Run the
instrumented binary to collect the dynamic memory access data
• Open the code analyzer GUI to view results
29
UncoverFind major functional areas of code that are not being tested
• Complile with “-g”• Instrument the
binary with Uncover• Run instrumented
binary to collect code coverage data
• Run Uncover again on the .uc directory
• Open the code analyzer GUI to view results
30
DLight
• DLight is an interactive graphical observability tool based on DTrace
• DLight includes five profiling tools for C, C++, and Fortran programs:– Thread microstate– CPU usage– Memory usage– Thread usage– I/O usage
31
Code AnalyzerNew in Studio 12.3
• Static code checking as part of compilation– Compile with option
“-xanalyze=code”• Dynamic memory
access checking• Code coverage
analysis
Copyright © 2010, Oracle and/or its affiliates. All rights reserved.
Streamline the Application Development Process
– Oracle Solaris StudioWenlong Zhang