32
1

Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

  • Upload
    dongoc

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

1

Page 2: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

Copyright © 2010, Oracle and/or its affiliates. All rights reserved.

Streamline the Application Development Process

– Oracle Solaris StudioWenlong ZhangSenior Sales Consultant

Page 3: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

3

Agenda

• Introduction• Solaris Studio IDE and Performance Tools

– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio

Page 4: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

4

Oracle Solaris Studio

20+ year history of delivering the best integrated development platform for building scalable, secure and reliable enterprise and ISV applications

Page 5: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 6: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 7: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 8: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 9: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 10: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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, ...)

Page 11: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

11

About Oracle Solaris Studio

Page 12: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

12

Oracle Solaris Studio 12.3 Feature Highlights

Page 13: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

13

Agenda

• Introduction• Solaris Studio IDE and Performance Tools

– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio

Page 14: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

14

Full-featured Graphical IDEFull edit, compile and debug support, and a lot more...

Page 15: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

15

Agenda

• Introduction• Solaris Studio IDE and Performance Tools

– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio

Page 16: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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)

Page 17: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

17

Performance Analyzer (Function Tab)

Page 18: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

18

Performance Analyzer (Source Tab)

Page 19: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

19

Performance Analyzer (Disassembly Tab)

Page 20: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

20

Performance Analyzer (Timeline Tab)

Page 21: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

21

Agenda

• Introduction• Solaris Studio IDE and Performance Tools

– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio

Page 22: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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.

Page 23: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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.

Page 24: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

24

Thread Analyzer – Race View

Page 25: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

25

Thread Analyzer for detecting deadlocks

Page 26: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

26

Thread Analyzer – Dual Source View

Page 27: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

27

Agenda

• Introduction• Solaris Studio IDE and Performance Tools

– Build & Debug– Performance analyzer– Thread analyzer – Other tools in Solaris Studio

Page 28: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 29: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 30: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 31: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

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

Page 32: Streamline the Application Development Process … X86/X64 Forte Developer 6 May ... 10 RHEL3, SLES 8 Sun Studio 10 Jan ‘05 8, 9, 10 8 ... – Create experiments by collect command

Copyright © 2010, Oracle and/or its affiliates. All rights reserved.

Streamline the Application Development Process

– Oracle Solaris StudioWenlong Zhang