struct
MultiplePhasesPredict an object's load as a sum over blocks of N future phases.
Expected to be most useful either when queried by an explicitly subphase-aware vector-optimizing load balancer, or when queried by a whole-phase scalar-optimizing load balancer with a Norm model composed on top of this.
Multiple phase blocked predictions will only be meaningfully different from single phase predictions when composed on top of a Predictor model that is not constant across future phases. I.e. LinearModel
rather than NaivePersistence
or PersistenceMedianLastN
.
Base classes
- class ComposedModel
- Utility class to support implementation of composable load modeling components.
Constructors, destructors, conversion operators
-
MultiplePhases(std::shared_ptr<balance::
LoadModel> base, int in_future_phase_block_size) explicit - Constructor.
Public functions
- auto getModeledLoad(ElementIDStruct object, PhaseOffset when) const -> LoadType override
- Provide an estimate of the given object's load during a specified interval.
Function documentation
vt:: vrt:: collection:: balance:: MultiplePhases:: MultiplePhases(std::shared_ptr<balance:: LoadModel> base,
int in_future_phase_block_size) explicit
Constructor.
Parameters | |
---|---|
base in | the base model |
in_future_phase_block_size in | how many phases to predict as each single queried phase |
LoadType vt:: vrt:: collection:: balance:: MultiplePhases:: getModeledLoad(ElementIDStruct object,
PhaseOffset when) const override
Provide an estimate of the given object's load during a specified interval.
Parameters | |
---|---|
object in | The object whose load is desired |
when in | The interval in which the estimated load is desired |
Returns | How much computation time the object is estimated to require |
The updateLoads
method must have been called before any call to this.