streamline the application development process … x86/x64 forte developer 6 may ... 10 rhel3, sles...

Post on 27-Mar-2018

213 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related