Mod06 new development tools

325 views

Published on

Application Migration to HP NonStop H- und J-Series Operating Systems

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
325
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Workstation Tools 5 –
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • Mod06 new development tools

    1. 1. New Development ToolsNew Development ToolsModule 6
    2. 2. PC-Hosted Development ToolsPC-Hosted Development Tools5 – 2Tools TNS/R TNS/EC/C++ compiler(Guardian, OSS)c89.exe –Wtarget=tns/r c89.exe –Wtarget=tns/epTAL compiler(Guardian)ptal.exe eptal.exeCOBOL compiler(Guardian, OSS)nmcobol.exe ecobol.exeNon-PIC linker nld.exe not-supportedPIC linker ld.exe eldObject File Utility noft.exe enoft.exeEnterprise Toolkit (ETK) R2.x, R3.0* or later R3.0* or laterTandem Dev Suite (TDS) Available not-supportedVisual Inspect (GUIDebugger)R2.x, R3.0* or later R3.0* or later* Supports both TNS/R as well as TNS/E platform.
    3. 3. Code CoverageCode Coverage◦ Available with COBOL, pTAL, and C/C++compilers on Integrity NonStop servers◦ Creates instrumented object files containingextra code◦ Records which functions and blocks areexecuted◦ Records how many times each is executed◦ The code coverage report is a set of HTMLfiles viewable with any standard HTMLbrowser6 - New Development Tools 3
    4. 4. Profile Guided Optimization (PGO)Profile Guided Optimization (PGO)◦ pTAL and C/C++ compilers only Incorporate profiling information from programexecution into optimization Level 2 optimization only6 - New Development Tools 4
    5. 5. ApplicabilityApplicability◦ Can be used with: OSS processes Guardian processes Active and passive process pairs Mixed language processes Processes with embedded NonStop SQL/MP orNonStop SQL/MX6 - New Development Tools 5
    6. 6. UseUse◦ No source code changes are needed toinstrument an application.◦ Changes are in the commands used tocompile and link the application Separate compiler directives for Code Coverageand for Profile Guided Optimization◦ You may instrument only a subset of yourapplication specify the compiler options for only that subset ofyour source files.6 - New Development Tools 6
    7. 7. Code Coverage Process FlowCode Coverage Process Flow6 - New Development Tools 7WorkstationSource Compiler Executionprofmrg DPI**InstrumentedObjectRawdataRawdataExecutioncodecovSPI*HTML*Static Profiling Information **Dynamic Profiling Informationcopycopy
    8. 8. Installing the Code Cover UtilityInstalling the Code Cover Utility◦ Program codecov runs on a Windowsworkstation◦ codecov: Copy $SYSTEM.ZCODECOV.T0746SET toworkstation Change the name to setup.exe Run setup.exe Creates Program FilesHewlett-PackardCodeCoveragecodecov.exe◦ AddProgram FilesHewlett-PackardCodeCoverage to PATH6 - New Development Tools 8
    9. 9. Building an ApplicationBuilding an Applicationfor Code Coveragefor Code Coverage◦ Compiler option: Guardian: CODECOV OSS: –Wcodecov Windows: c89, ecobol: –Wcodecov eptal: –codecov◦ Creates or updates the Static ProfilingInformation (SPI) file: Guardian: PGOSPI, code 180 OSS/Windows: pgopti.spi◦ If link editing manually: Use –l pgo to reference the pgodll library6 - New Development Tools 9
    10. 10. Running the ApplicationRunning the Application◦ Execute as normal◦ Process creates a new raw data file for eachexecution: Guardian: ZZPFxxxx, code 180, in current defaultsubvolume OSS: ZZPFxxxx.dyn in current working directory◦ Creates ZZPELOG if any errors duringexecution6 - New Development Tools 10
    11. 11. Code Coverage Sample 1 (1 of 8)Code Coverage Sample 1 (1 of 8) 101> ccomp/in mainc/mainco;codecov,optimize 1 102> ccomp/in callc/callco;codecov,optimize 1 103> eld -o calcator mainco callco $system.system.ccplmain -l crtl -lcre -l pgo 104> run calcator YOU HAVE JUST STARTED THE PROCESS. ENTER FIRST NUMBER [or 0 to stop]: 12 ENTER THE SECOND NUMBER: 34 THE NUMBERS ENTERED WERE: 12 & 34 THE TOTAL IS: 46 ENTER FIRST NUMBER [or 0 to stop]: 0 105> fileinfo $FC1.TGCPU CODE EOF LAST MODIFIED OWNER RWEP PExt SExt PGOSPI 180 405 07AUG2008 13:50 34,26 OOOO 14 42 PGOSPL 180 0 07AUG2008 13:50 34,26 OOOO 14 42 ZZPF2B81 180 840 07AUG2008 13:55 34,26 OOOO 14 426 - New Development Tools 11Any optimization levelAdded DDLCreated filesExecute all the code
    12. 12. Code Coverage Sample 1 (2 of 8)Code Coverage Sample 1 (2 of 8) 106> profmrg profmrg - T0747H01 Copyright 2006 Hewlett-Packard Company. ruby.$system.system.profmrg: looking at dynamic file: RUBY.$FC1.TGCPU.ZZPF2B81 107> fileinfo pgodpi $FC1.TGCPU CODE EOF LAST MODIFIED OWNER RWEP PExt SExt PGODPI 80 1340 07AUG2008 14:01 34,26 OOOO 14 426 - New Development Tools 12Dynamic Profiling file
    13. 13. Code Coverage Sample 1 (3 of 8)Code Coverage Sample 1 (3 of 8) On the Workstation: C:CodeProfilingUtilities>dir pgo* 08/07/2008 04:54 PM 1,340 pgodpi 08/07/2008 04:54 PM 405 pgospi 2 File(s) 1,745 bytes 0 Dir(s) 43,714,383,872 bytes free C:CodeProfilingUtilities>codecov -spi pgospi -dpi pgodpi -host204.160.41.45 -login edu.terryg -maddr terry.gunter@hp.com -prjSampleRun codecov - T0746H01 Copyright 2006 Hewlett-Packard Company. Password for edu.terryg on 204.160.41.45: 33% .. 67% .. 100% C:CodeProfilingUtilities>dir c* 08/07/2008 05:04 PM <DIR> CodeCoverage 08/07/2008 05:12 PM 355 CODE_COVERAGE.HTML6 - New Development Tools 13Files copied from NonStop
    14. 14. Code Coverage Sample 1 (4 of 8)Code Coverage Sample 1 (4 of 8)6 - New Development Tools 14
    15. 15. Code Coverage Sample 1 (5 of 8)Code Coverage Sample 1 (5 of 8)6 - New Development Tools 15
    16. 16. Code Coverage Sample 1 (6 of 8)Code Coverage Sample 1 (6 of 8)6 - New Development Tools 16
    17. 17. Code Coverage Sample 1 (7 of 8)Code Coverage Sample 1 (7 of 8)6 - New Development Tools 17
    18. 18. Code Coverage Sample 1 (8 of 8)Code Coverage Sample 1 (8 of 8)6 - New Development Tools 18
    19. 19. Code Coverage Sample 2 (1 of 5)Code Coverage Sample 2 (1 of 5) 135> run calcator 135.. YOU HAVE JUST STARTED THE PROCESS. ENTER FIRST NUMBER [or 0 to stop]: 0 136>6 - New Development Tools 19Execute part of the code
    20. 20. Code Coverage Sample 2 (2 of 5)Code Coverage Sample 2 (2 of 5)6 - New Development Tools 20
    21. 21. Code Coverage Sample 2 (3 of 5)Code Coverage Sample 2 (3 of 5)6 - New Development Tools 21Block not executed
    22. 22. Code Coverage Sample 2 (4 of 5)Code Coverage Sample 2 (4 of 5)6 - New Development Tools 22Function not executed
    23. 23. Code Coverage Sample 2 (5 of 5)Code Coverage Sample 2 (5 of 5)6 - New Development Tools 23Counts option
    24. 24. Profile Guided Optimization Process FlowProfile Guided Optimization Process Flow6 - New Development Tools 24Source Compiler Executionprofmrg DPI*InstrumentedObjectRawdataRawdataExecution*Dynamic Profiling InformationCompiler OptimizedObjectprofgen optionprofuse option
    25. 25. Building an Application for PGOBuilding an Application for PGO◦ Available only for epTAL, C/C++◦ Compiler option: Guardian: PROFGEN OSS: –Wprofgen Windows: c89, ecobol: –Wprofgen eptal: –profgen Must use level 2 optimization◦ If link editing manually: Use –l pgo to reference the pgodll library6 - New Development Tools 25
    26. 26. Using PGOUsing PGO◦ Compiler option: Guardian: PROFUSE OSS: –Wprofuse Windows: c89, ecobol: –Wprofuse eptal: –profuse profuse option may specify the name of the DPI file if notdefault name or location6 - New Development Tools 26
    27. 27. PGO Sample Run (1 of 2)PGO Sample Run (1 of 2) 62> ccomp/in mainc/mainco;profgen,optimize 2 63> ccomp/in callc/callco;profgen,optimize 2 64> eld -o calcatr1 mainco callco $system.system.ccplmain-l crtl -l cre -l pgo 65> fileinfo calc* $FC1.TGCPU CODE EOF LAST MODIFIED OWNER RWEP PExt SExt CALCATR1 800 21416 07AUG2008 13:10 34,26 OOOO 28 518 66> run calcatr1 PID: 1,1063 RUBY.$FC1.TGCPU.CALCATR1 STOPPED: 1,1063 CPU time: 0:00:00.003 67> fileinfo zz* $FC1.TGCPU CODE EOF LAST MODIFIED OWNER RWEP PExt SExt ZZPFN0L6 180 720 07AUG2008 13:13 34,26 OOOO 14 426 - New Development Tools 27
    28. 28. PGO Sample Run (2 of 2)PGO Sample Run (2 of 2) 68> profmrg profmrg - T0747H01 ruby.$system.system.profmrg: looking at dynamic file: RUBY.$FC1.TGCPU.ZZPFN0L6 69> fileinfo p* CODE EOF LAST MODIFIED OWNER RWEP PExt SExt PGODPI 180 1220 07AUG2008 13:16 34,26 OOOO 14 42 70> ccomp/in mainc/mainco;profuse,optimize 2 71> ccomp/in callc/calcco;profuse,optimize 2 72> eld -o calcatr2 mainco callco $system.system.ccplmain-l crtl -l cre 73> run calcatr2 PID: 1,1049 RUBY.$FC1.TGCPU.CALCATR2 STOPPED: 1,1049 CPU time: 0:00:00.002 74> fileinfo calc* CODE EOF LAST MODIFIED OWNER RWEP PExt SExt CALCATR1 800 21416 07AUG2008 13:10 34,26 OOOO 28 518 CALCATR2 800 20896 07AUG2008 13:20 34,26 OOOO 28 5186 - New Development Tools 28
    29. 29. Questions ?Questions ?29
    30. 30. 6 - New Development Tools 30

    ×