Loading an SCA library is a time-consuming operation. Here are
suggestions for reducing LOAD time:
o Virtual I/O Cache facility
SCA uses a large number of I/Os during LOAD. Disk caching can
greatly reduce the number of I/Os, and improve performance.
Your system manager can enable disk caching by setting the
VBN_CACHE_S SYSGEN parameter. Use SHOW MEMORY/CACHE to see
whether disk caching is enabled.
o Batch loads
Loading more than one module at a time is more efficient than
loading modules separately. For example, use LOAD *.ANA.
o Multiple libraries
With large software systems, it is a good idea to use more
than one SCA library and load them all simultaneously. This
can decrease the elapsed LOAD time considerably, especially
if the libraries are on separate disks. Using more than one
CPU also helps, but not as dramatically, because SCA loading
is mainly I/O intensive. For more information about how to use
multiple libraries, see the help subtopics under Libraries.
o Choice of Disk
SCA uses a large number of I/Os during LOAD. Loading an SCA
library on a slow, heavily used, or badly fragmented disk
causes the load to be less efficient.
o File Fragmentation and File Preallocation
If your SCA library is larger than 20K blocks, you should
consider preallocating the library when you create it.
SCA extends the library file by 1000 blocks at a time, so for
large libraries it extends the library many times, and this
may cause your SCA library to be badly fragmented.
Preallocate an SCA library with CREATE LIBRARY/SIZE=xxx, where
xxx is the size of the library in disk blocks. Use the size of
the SCA$EVENT.DAT file in your current SCA library directory as
the value to the /SIZE qualifier.
You can tell how badly your SCA libraries are fragmented by
using the following command:
$ DUMP/HEADER/BLOCK=COUNT=0 -
_$ DISK:[sca_library_directory]SCA$EVENT.DAT
The interesting portion of the output is the Map area. Each
retrieval pointer represents a contiguous section on the disk.
Because SCA extends SCA libraries 1000 blocks at a time, having
a lot of retrieval pointers smaller than this is a strong
indication that some defragmentation is needed.
o Using less disk space
Use LOAD/DELETE to delete .ANA files after they are successfully
loaded. This doesn't reduce LOAD time, but uses less disk space.