Determining which randomizing module to use (HDAM and PHDAM only)

A randomizing module is required to store and access HDAM or PHDAM database records.

The randomizing module converts the key of a root segment to a relative block number and RAP number. These numbers are then used to store or access HDAM or PHDAM root segments. An HDAM database or a PHDAM partition uses only one randomizing module, but several databases and partitions can share the same module. Four randomizing modules are supplied with IMS™.

Normally, one of the four randomizing modules supplied with the system will work for your database.

Partition selection is completed prior to invoking the randomizing module on PHDAM databases. The randomizing module selects locations only within a partition.

Write your own randomizing module

If, given your root key distribution, none of these randomizing modules works well for you, write your own randomizing module. If you write your own randomizing module, one of your goals is to have it distribute root segments so that, when subsequently accessing them, only one read and one seek operation is required. When a root key is given to the randomizing module, if the relative block number the randomizer produces is the block actually containing the root, only one read and seek operation is required (access is fast). The randomizing module you write should allow you to vary the number of blocks and RAPs you specify, so blocks and RAPs can be used for tuning the system. The randomizing module should also distribute roots randomly, not randomize to bitmap locations, and keep packing density high.

Assess the effectiveness of the randomizing module

One way to determine the effectiveness of a given randomizing module for your database is to run the IMS High Performance Pointer Checker (HD Tuning Aid). This tool produces a report in the form of a map showing how root segments are stored in the database. It shows you root segment storage based on the number of blocks or CIs you specified for the root addressable area and the number of RAPs you specified for each block or CI. By running the HD Tuning Aid against the various randomizing modules, you can see which module gives you the best distribution of root keys in your database. In addition, by changing the number of RAPs and blocks or CIs you specify, you can see (given a specific randomizing module) which combination of RAPs and blocks or CIs produces the best root segment distribution.