Rules, accelerators, and calculation

To understand how the pre-fetching Rules Engine works, it is important to have a basic understanding of what the accelerators do and why they make rules faster. What the accelerators do is to check if the target cell of an accelerated rule needs to be calculated. Usually a target cell is not required to be calculated if the source cells are empty. The key issue is that the accelerated Rules Engine, without accelerators, must check if cells are empty. Since, in general, cubes tend to be empty, this can take a long time in production environments.

When the OLAP cube is loaded, the server checks the accelerators and marks, with an accelerator flag, the target cells of the accelerator that have non-empty source cells. This operation is repeated each time the cube is loaded,. Every time a value is written into a cell, the server checks if the cell is the source of an accelerator. If it is, then the target cells are marked with accelerator flags. When the rules are calculated, only the flagged cells are calculated. This reduces the time spent in checking if the source cells are empty.

Enabling acceleration means that the responsibility for identifying the base level cells of a calculation is with the writer of the rules and accelerator. If the accelerators are set incompletely or incorrectly, this can lead to incorrect calculations by the server, with some values not being considered during calculation.