This course presents OpenVMS performance under three subsystems: memory management, I/O, and CPU.
Prerequisites
System Management I or equivalent experience and fundamental understanding of programming concepts (compiling, linking, and executing programs) – see OpenVMS Programming Concepts.
Course Objectives
Upon completion of the course, students should be able to:
- Isolate performance bottlenecks to one of the three subsystems
- Identify the effects of SYSGEN parameters on each of the subsystems, when to change these parameters, and when other management modifications or the purchase of new hardware will be required
- Keep the system running and tune the system
- Understand and use AUTOGEN effectively
Course Audience
Course Outline
- Performance issues
- Performance bottlenecks
- OpenVMS performance metrics
- OpenVMS performance tools
- Layout of virtual address space (VAX, Alpha, IA64)
- Address space
- OpenVMS memory management
- P0 space contents
- P1 space layout
- System space layout (Alpha, IA64)
- System space
- S0/S1 space
- Monitoring pool
- Nonpaged pool reclamation
- Pool zones
- Lock manager use of pool zones
- Paging compared to swapping
- Address translation
- Page faults
- Locating pages in virtual memory
- Producing an image file
- Image activation and paging
- Free page list
- Valid pages and the working set list
- Free list fault rate
- Modified list fault rate
- Secondary hard faults
- Sample display from $ MONITOR PAGE
- Interpreting the $ MONITOR PAGE display
- Interpreting paging metrics
- $ SHOW MEMORY (Alpha, IA64)
- $ MONITOR PAGE
- Working set list
- Working set size vs. working set list size
- Parameters affecting the working set list size
- Automatic Working Set Adjustment (AWSA)
- Working set performance considerations
- AWSA performance considerations
- AWSA parameters
- Locality
- Locality issues
- Effects of poor locality
- Effect of improving locality
- Shared image costs and benefits
- Image activation and paging
- Linking shareable images
- Alpha & IA64 resident images
- Shared address data
- Modified page list
- Modified page list parameters and metrics
- Modified page list performance considerations
- MPL performance and analysis
- Modified page writer parameter relationships
- The Swapper and memory reclamation
- Free page list parameter relationships
- General I/O flow
- Geometry of disks
- Time-based components of a disk transfer
- Optimization of disk operations
- Virtual I/O cache
- Extended File Cache (XFC)
- XFC SYSGEN parameters
- Permanent vs. dynamic XFC cache size
- Monitoring the XFC
- $ SHOW MEMORY/CACHE
- Monitoring volume activity
- Monitoring file activity
- Cache control
- Resetting cache counters
- Determining I/O rates
- Dump of header for X.DAT
- Effect of making file contiguous
- Effect of making both files contiguous
- Using multiple spindles
- Controller optimizations
- Locating bottlenecks
- Other optimizations through layered products
- RAID
- Files-11 terminology
- Directory concepts
- File open operation
- Contiguity and the file system
- Window turns
- Preventing fragmentation
- Split transfers
- Window turns vs. split transfers
- Accessing sequential files
- Accessing files randomly
- File system caches
- $ MONITOR FILE
- Shared and private caches
- Checking for shrunken caches
- RMS file concepts
- Summary of RMS file organizations
- File structures
- Indexed file organization for a file with no alternate keys
- RMS interfaces for affecting file structure
- Bucket splits
- Indexed file growth
- Factors affecting bucket splits
- Duplicate keys for data records
- Compression
- File definition language
- Techniques for creating data files using an FDL file
- Creating a data file from an FDL file
- Optimizing RMS indexed files
- Examining file structures
- Example using RMS utilities to tune an indexed file structure
- Example testing random access of indexed files
- Buffers and buckets
- Design considerations
- Multiblock count example
- Read ahead/write behind
- Deferred write
- Setting up multiple buffers
- Determining the number of local buffers
- Global buffers
- $ MONITOR RMS
- $ MONITOR RMS example
- CISC vs. RISC vs. EPIC architectures
- Understanding CPU performance
- Alignment considerations example
- Data alignment issues
- Nonaligned data example
- Nonaligned and compiler aligned data sample runs
- Aligned data example
- Badly aligned example
- Well aligned example
- C code with bad alignment
- C small data accesses issues
- C code with good alignment
- Debugger issues
- Using the BREAK/UNALIGNED Debugger Option
- CPU performance and symmetric multiprocessing
- Cell-based systems performance options
- Galaxy shared-everything model
- CPU migration options
- Sample CPU migration using DCL
- CPU and interrupt controls using DCL
- OpenVMS access modes
- Interrupt stack/state time
- $ MONITOR TIMER
- Sample $ MONITOR TIMER
- Impact of high timer service rate
- MP synchronization time
- Dedicated CPU Lock Manager
- Dedicated CPU Lock Manager interaction
- Dedicated CPU Lock Manager examples
- Impact of the Dedicated CPU Lock Manager
- Dedicated CPU Lock Manager litmus test
- Idle time
- Examining time spent in access modes
- Compatibility mode time
- Analyzing time spent in modes
- Quantum and CPU time
- Priorities
- Waiting states
- States of concern
- Class scheduler
- Class scheduler example
- Locking concepts
- Other characteristics of locks
- Application design and locking performance
- Locking considerations
- Record options in RAB for locking shared files
- Sample $ MONITOR LOCK/local buffers
- $ MONITOR LOCK display (global buffers)
- Interpreting the MONITOR LOCK display
- Lock manager parameters
- Global buffers
- Global buffer read-mode bucket locking
- RMS contention policies
- Setting RMS contention policies
- No query locking
- Distributed locking concepts
- LOCKDIRWT and PE1
- PE1 processing
- $ MONITOR RLOCK
- Sample $ MONITOR RLOCK
- Lock tree inbound example
- Higher activity example
- Higher LOCKDIRWT example
- Performance issues with distributed locking
- Distributed locking example
- MSCP server
- Interpreting $ MONITOR MSCP
Instructors in this course
38 years of OpenVMS support and teaching experience. Application support, Fortran programming, demo-center, consultancy, pre-sales. HP Certified OpenVMS Systems Engineer with extensive systems management and migration experience.
Languages: English, Dutch
HP Certified OpenVMS Systems Engineer with 36 years of OpenVMS support and teaching experience; has lectured in UCD to degree level in computer science and computer networking.
Languages: English
20 years of VMS support and teaching experience.
Languages: English