|
OOFEM 3.0
|
#include <loadbalancer.h>
Public Types | |
| enum | LoadBalancerDecisionType { LBD_CONTINUE , LBD_RECOVER } |
Public Member Functions | |
| LoadBalancerMonitor (EngngModel *em) | |
| virtual | ~LoadBalancerMonitor () |
| virtual void | initializeFrom (InputRecord &ir) |
| Initializes receiver according to object description stored in input record. | |
Load evaluation and imbalance detection methods | |
| virtual LoadBalancerDecisionType | decide (TimeStep *)=0 |
| Returns flag indicating whether rebalancing is necessary; should update node weights as well. | |
| const FloatArray & | giveProcessorWeights () |
| Returns processor weights; the larger weight means more powerful node, sum of weights should equal to one. | |
| virtual const char * | giveClassName () const =0 |
| Returns class name of the receiver. | |
Protected Attributes | |
| EngngModel * | emodel |
| FloatArray | nodeWeights |
| bool | staticNodeWeightFlag |
Abstract base class representing general load balancer monitor. The task of the monitor is to detect the imbalance and to make the decision, whether to redistribute the work or to continue with existing partitioning. It provides partition weights, reflecting their relative computational performance. These weights should be continuously updated to reflect changing work load during solution process.
Definition at line 68 of file loadbalancer.h.
| Enumerator | |
|---|---|
| LBD_CONTINUE | |
| LBD_RECOVER | |
Definition at line 75 of file loadbalancer.h.
|
inline |
Definition at line 77 of file loadbalancer.h.
References emodel.
Referenced by oofem::WallClockLoadBalancerMonitor::WallClockLoadBalancerMonitor().
|
inlinevirtual |
Definition at line 78 of file loadbalancer.h.
|
pure virtual |
Returns flag indicating whether rebalancing is necessary; should update node weights as well.
Implemented in oofem::WallClockLoadBalancerMonitor.
|
pure virtual |
Returns class name of the receiver.
Implemented in oofem::WallClockLoadBalancerMonitor.
|
inline |
Returns processor weights; the larger weight means more powerful node, sum of weights should equal to one.
Definition at line 88 of file loadbalancer.h.
References nodeWeights.
Referenced by oofem::ParmetisLoadBalancer::calculateLoadTransfer().
|
virtual |
Initializes receiver according to object description stored in input record.
Reimplemented in oofem::WallClockLoadBalancerMonitor.
Definition at line 548 of file loadbalancer.C.
References _IFT_LoadBalancerMonitor_initialnodeweights, _IFT_LoadBalancerMonitor_nodeWeightMode, emodel, IR_GIVE_OPTIONAL_FIELD, nodeWeights, OOFEM_ERROR, and staticNodeWeightFlag.
|
protected |
Definition at line 71 of file loadbalancer.h.
Referenced by oofem::WallClockLoadBalancerMonitor::decide(), initializeFrom(), and LoadBalancerMonitor().
|
protected |
Definition at line 72 of file loadbalancer.h.
Referenced by oofem::WallClockLoadBalancerMonitor::decide(), giveProcessorWeights(), and initializeFrom().
|
protected |
Definition at line 73 of file loadbalancer.h.
Referenced by oofem::WallClockLoadBalancerMonitor::decide(), and initializeFrom().