Stagger your EOIs¶
This page explains how to configure staggered EOI processing in systemParams.yaml to spread write-down load across processes on the same node.
Staggered EOIs allow you to spread your EOI processing for RDB, IDB and HDB over a period of time on the same node to reduce the impact of this process on system resources. The RDB, IDB or HDB process receives the EOIz signal at the usual time, but defers the heavy processing to a later time based on its sequence number within its service class, an inflation factor and the average time that past deferred EOIs have taken.
You configure your EOI staggering in systemParams.yaml by means of the following attributes.
Note
Staggering is different from the eoiOffset system parameter. eoiOffset delays the EOI signal from SM by a fixed amount of time after the interval boundary and applies to all processes that receive the signal. Staggering doesn't change when SM sends the signal. Instead, it delays each process's write-down after receiving the signal. For more information, see System parameters systemParams.yaml..
HDB attributes¶
| Attribute | Description | Default |
|---|---|---|
hdbEoxzDur* |
Initial HDB EOXz activity duration in seconds | 10 |
hdbEoxzFactor |
Inflation factor for HDB EOXz activity duration | 1.5 |
hdbEoxzGrps |
Number of groups for scattering HDB EOXz activity | 3 |
hdbEoxzWindow |
Number of samples in HDB EOXz context window | 6 |
hdbEoxzMin |
Minimum staggering interval in seconds | 30 |
IDB attributes¶
| Attribute | Description | Default |
|---|---|---|
idbEoxzDur* |
Initial IDB EOXz activity duration in seconds | 10 |
idbEoxzFactor |
Inflation factor for IDB EOXz activity duration | 4 |
idbEoxzGrps |
Number of groups for scattering IDB EOXz activity | 3 |
idbEoxzWindow |
Number of samples in IDB EOXz context window | 6 |
idbEoxzMin |
Minimum staggering interval in seconds | 30 |
RDB attributes¶
| Attribute | Description | Default |
|---|---|---|
rdbEoxzDur* |
Initial RDB EOXz activity duration in seconds | 10 |
rdbEoxzFactor |
Inflation factor for RDB EOXz activity duration | 2 |
rdbEoxzGrps |
Number of groups for scattering RDB EOXz activity | 3 |
rdbEoxzWindow |
Number of samples in RDB EOXz context window | 6 |
rdbEoxzMin |
Minimum staggering interval in seconds | 30 |
* System restart required if changed.
RDB staggering example
Given the following RDB attribute values:
- Window (
rdbEoxzWindow) = 6 samples - Initial pause (
rdbEoxzDur) = 10 seconds - Inflation factor (
rdbEoxzFactor) = 1.5 - Minimum duration (
rdbEoxzMin) = 30 seconds - Groups (
rdbEoxzGrps) = 3
The very first deferred EOIz takes place 10 seconds (rdbEoxzDur) after the initial EOI signal, since there are no samples yet to average. Once a number of EOIs have passed, the process holds the past six (rdbEoxzWindow) deferred EOI durations.
The deferred processing is split into three (rdbEoxzGrps) waves:
- The first wave launches almost immediately after the EOIz signal.
- The second wave launches after 1.5 (
rdbEoxzFactor) times the average of the last six EOIz durations, subject to the minimum duration value (30 seconds). - The third and final wave launches after three times (2 x 1.5) the average of the last six deferred EOIz durations, subject to the minimum duration value (30 seconds).