Skip to content

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:

  1. The first wave launches almost immediately after the EOIz signal.
  2. 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).
  3. 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).

Next steps