InfoRefiner Mapping Routines: A Look Under the Hood

Document ID : KB000055677
Last Modified Date : 14/02/2018
Show Technical Document Details

InfoRefiner offers a high performance data migration and data propagation tool from what appears to be a series of entirely interpretive batch utility jobs. However, a look "under the hood" reveals an ingeniously disguised component of non-interpretive Assembler code known as, the Mapping Routine.

The general architecture of InfoRefiner consists of a Data Dictionary for defining the migration metadata, an associated collection of PDS libraries used to store executable components of the migration, and a series of batch services used to execute the migration. One of the PDS libraries (the MAPLIB) is used to store Mapping Routine load modules. There is one Mapping Routine associated with each InfoRefiner migration Model. Upon successful editing and codification of the Dictionary-defined migration, the Validation utility codes, compiles, links and discreetly stores the Mapping Routine in the MAPLIB dataset. Batch services dynamically allocate the MAPLIB and load the appropriate Mapping Routines based on the Models selected for processing.

Figure 1

The Mapping Routine performs the field level initialization, translation and move operations on the various data areas used throughout the processing of a migration. Most of the data translations between source and target format and the juggling of data between intermediate data areas used in the course of the data migration, is performed by the Mapping Routine. Control is passed to the Mapping Routine whenever field level initialization, translation or move operations are required.

A substantial reduction in CPU time is achieved by using previously compiled code for these operations versus the interpretive approach. The chart below depicts a comparison between the CPU times of the batch Replicate service with and without Mapping Routines. As you might expect the CPU savings is proportionate to the number of fields in the mapping.

Figure 2

Mapping Scenarios

Scenario #1
1 Model
2 IMS Segment sources
24 fields mapped
1 source mapping condition
1 format condition
1 date translation

Scenario #2
1 Model
3 IMS segment sources
47 fields mapped
No source mapping conditions
No format conditions
No translations

Scenario #3
1 Model
3 IMS segment sources
120 fields mapped
1 source mapping condition
1 format condition
1 date translation

Scenario #4
1 Model
3 IMS segment sources
120 fields mapped
No source mapping conditions
No format conditions
No translations

Scenario #5
Scenarios #3 and #4 Models combined.

Note: this data was gathered from InfoRefiner v2.2 benchmarks after Mapping Routines were introduced and is only appropriate for a relative comparison and not actual CPU timings.

 

The use of Mapping Routines has been shown to reduce CPU time as much as 30% over interpretive method. The savings occurs because of the elimination of the runtime evaluation process for each field initialization, translation, and move operation. With the Mapping Routine, all such evaluation is done once, during Validation, and the Batch service simply executes the field initialization., translation and move instructions.

With Mapping Routines "under the hood", InfoRefiner can combine the ease of use of an interpretive utility with the performance of tailored Assembler code to offer a flexible, high-performance data movement system.