Robj Utility - Collected Slides |
Slide 1
1 Title Robj Utility - Title R.K.Owen,Ph.D. Sterling Software/NASA Ames Research Center
rk@owen.sj.ca.us
Slide 2
1.1 Abstract Robj Utility - Abstract
Monitoring Object Library Usage and Changes
The NASA Ames Numerical Aerodynamic Simulation program / Aeronautics Consolidated Supercomputing Facility (NAS/ACSF) supercomputing center services over 1600 users, and has numerous analysts with root access. Several tools have been developed to monitor object library usage and changes. Some of the tools do ``non-invasive'' monitoring and other tools implement run-time logging even for object-only libraries. The run-time logging identifies who, when, and what is being used. The benefits are that real usage can be measured, unused libraries can be discontinued, training and optimization efforts can be focused at those numerical methods that are actually used. An overview of the tools will be given and the results will be discussed.
Slide 3
1.2 Days of Whine & Neuroses Robj Utility - Days of Whine & Neuroses
- 2 C90s
- 1600 users
- 50 analysts with root access
- Numerous Mathematical Libraries
- IMSL
- NAG
- CRAYFISHPAK
- BCSLIB / BCSEXT
- LIBSCI / libm
- SLATEC
- LAPACK
- Numerous Other Libraries
Slide 4
1.3 Inodes & File Systems Robj Utility - Inodes & File Systems
Slide 5
2 Non-Invasive Tools Robj Utility - Non-invasive Monitoring Tools
- libmon - monitor library changes
- libuse - monitor (static) library accesses
- libq - parse log files
- libdate - libq compatible time stamp
Slide 6
2.1 libmon Robj Utility - Monitoring - libmon
- Monitor changes to libraries in several directories
- Invoked from cron once / hour
- Compare mtimes
- Example: libm.log
Mon_Mar_06_1995_07:00 Wed_Feb_08_1995_09:39 LOG_CREATED Tue_Aug_22_1995_17:00 Tue_Aug_22_1995_16:04 LIB_MODIFIED
Slide 7
2.2 libuse Robj Utility - Usage Tracking - libuse
- Track usage of libraries in several, but fewer directories
- Invoked from cron every 10 minutes
- Check atimes
- Example: libnag.log
Mon_Mar_06_1995_17:00 LOG_CREATED Tue_Mar_21_1995_16:30 Tue_Mar_21_1995_16:40 . . . Fri_May_26_1995_16:00 Mon_Jun_05_1995_11:30 LIB_MODIFIED Tue_Jun_06_1995_09:40 Tue_Jun_06_1995_13:10 . . .
Slide 8
2.3 libq Robj Utility - Log Files Galore - libq
- libmon -
- ~100 files
- ~2 lines / file
- libuse -
- ~50 files
- ~300 lines / file - range 10 - 5000 lines
- grep-like tool
- Select lines according to date & time range
Slide 9
2.4 libdate Robj Utility - Front-End Scripts - libdate
- Same peculiar date & time format
- Helps create log files for scripts
- Compatible with libq
- setuid program for safe logging
- Example Script: slatec.doc
#!/bin/csh -f # front-end for slatec.doc - log time and user name if ( -e /usr/local/bin/libdate ) then libdate -f /usr/spool/logs/slatec.log `logname` endif /usr/local/bin/Slatec.Doc exit
Slide 10
3 Daily Usage Robj Utility - Daily Usage
Slide 11
3.1 Monthly Usage Robj Utility - Monthly Usage
Slide 12
4 Run-Time Logging Robj Utility - Run-Time Logging
- Log actual usage
- User
- Library
- Routine
- Number of calls
- Total CPU time
- Information at execution time, not load time
Slide 13
4.1 Cray Relocatable Object Robj Utility - Cray Relocatable Object
Slide 14
4.2 Cray BLD library Robj Utility - Cray BLD Library
Slide 15
5 Object Modification Robj Utility - Object Modification - robj Easier to modify objects or libraries Parse relocatable objects & bld libraries Modify selected entry names
- MYSUBR -> MySuBr
Modify selected external references Output front-end assembly code Verify or reformat entry lists Easier to modify objects or libraries
Slide 16
5.1 Modifying Libraries Robj Utility - Modifying Cray Libraries
Slide 17
5.2 Front-End Code Robj Utility - Front-End Code
- User visible entry name
- Call "diddled" library routine (same stack)
- Save return value
- Call logging routine
- Pass routine name
- Restore saved return value
- Return to user program
Slide 18
5.3 Logging Robj Utility - Logging
- Log to file or to daemon
- Fail gracefully - if so inclined
- Date & time, routine name, username
- Example: libimsl20.log
Wed_May_17_1995_08:49 L2TCG filei Wed_May_17_1995_08:49 LFSCG filei Fri_Jun_02_1995_16:54 QDAGS mrgoers Wed_Jun_07_1995_17:26 QDAGS mrgoers Wed_Jun_14_1995_15:57 LSGRR ilu Thu_Jun_15_1995_08:40 LSGRR ilu Thu_Jun_15_1995_08:47 LSGRR ilu
Slide 19
6 On-Line Documentation - alldoc Robj Utility - On-Line Documentation - alldoc
- Keyword search
- Refine further searches
- Documents come from source comment fields
- f77head - selects comments from poorly structured sources
- Can execute other commandline document facilities
- Outputs brief description or full document
Slide 20
7 Conclusion Robj Utility - Conclusion
- Several UNIX tools -
- Monitor libraries
- Track usage of libraries
- Modify libraries
- On-line documentation
- Run-time usage of library routines
- In use for 3 years
- Further improvements