OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Abstract base class representing general load balancer monitor. More...
#include <loadbalancer.h>
Public Types | |
enum | LoadBalancerDecisionType { LBD_CONTINUE, LBD_RECOVER } |
Public Member Functions | |
LoadBalancerMonitor (EngngModel *em) | |
virtual | ~LoadBalancerMonitor () |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
virtual const char * | giveClassName () const =0 |
Returns class name of the receiver. More... | |
Load evaluation and imbalance detection methods | |
virtual LoadBalancerDecisionType | decide (TimeStep *)=0 |
Returns flag indicating whether rebalancing is necessary; should update node weights as well. More... | |
const FloatArray & | giveProcessorWeights () |
Returns processor weights; the larger weight means more powerful node, sum of weights should equal to one. More... | |
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.
|
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.
Referenced by oofem::EngngModel::balanceLoad().
|
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.
Referenced by oofem::ParmetisLoadBalancer::calculateLoadTransfer().
|
virtual |
Initializes receiver according to object description stored in input record.
Reimplemented in oofem::WallClockLoadBalancerMonitor.
Definition at line 536 of file loadbalancer.C.
References _IFT_LoadBalancerMonitor_initialnodeweights, _IFT_LoadBalancerMonitor_nodeWeightMode, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, and OOFEM_ERROR.
Referenced by oofem::WallClockLoadBalancerMonitor::initializeFrom(), and oofem::EngngModel::updateAttributes().
|
protected |
Definition at line 71 of file loadbalancer.h.
Referenced by oofem::WallClockLoadBalancerMonitor::decide().
|
protected |
Definition at line 72 of file loadbalancer.h.
Referenced by oofem::WallClockLoadBalancerMonitor::decide().
|
protected |
Definition at line 73 of file loadbalancer.h.
Referenced by oofem::WallClockLoadBalancerMonitor::decide().