|
OOFEM 3.0
|
#include <wallclockloadbalancermonitor.h>
Public Member Functions | |
| WallClockLoadBalancerMonitor (EngngModel *em) | |
| LoadBalancerDecisionType | decide (TimeStep *) override |
| Returns flag indicating whether rebalancing is necessary; should update node weights as well. | |
| void | initializeFrom (InputRecord &ir) override |
| Initializes receiver according to object description stored in input record. | |
| const char * | giveClassName () const override |
| Returns class name of the receiver. | |
| Public Member Functions inherited from oofem::LoadBalancerMonitor | |
| LoadBalancerMonitor (EngngModel *em) | |
| virtual | ~LoadBalancerMonitor () |
| const FloatArray & | giveProcessorWeights () |
| Returns processor weights; the larger weight means more powerful node, sum of weights should equal to one. | |
Protected Attributes | |
| double | relWallClockImbalanceTreshold |
| Declares min abs imbalance to perform relative imbalance check. | |
| double | absWallClockImbalanceTreshold |
| double | minAbsWallClockImbalanceTreshold |
| int | lbstep |
| The rebalancing done every lbstep. | |
| std ::list< Range > | perturbedSteps |
| List of steps with perturbed balancing. | |
| double | perturbFactor |
| Perturbing factor. | |
| IntArray | recoveredSteps |
| list of step at which to performed lb recovery. | |
| FloatArray | processingWeights |
| processing weights for lb recovery. | |
| Protected Attributes inherited from oofem::LoadBalancerMonitor | |
| EngngModel * | emodel |
| FloatArray | nodeWeights |
| bool | staticNodeWeightFlag |
Additional Inherited Members | |
| Public Types inherited from oofem::LoadBalancerMonitor | |
| enum | LoadBalancerDecisionType { LBD_CONTINUE , LBD_RECOVER } |
Implementation of simple wall-clock based monitor. It detect imbalance based on wall clock difference required for solution step on particular nodes. When difference in wall clock solution times is greater than a threshold value, the load migration is performed.
Definition at line 69 of file wallclockloadbalancermonitor.h.
|
inline |
Definition at line 87 of file wallclockloadbalancermonitor.h.
References absWallClockImbalanceTreshold, lbstep, oofem::LoadBalancerMonitor::LoadBalancerMonitor(), minAbsWallClockImbalanceTreshold, and relWallClockImbalanceTreshold.
|
overridevirtual |
Returns flag indicating whether rebalancing is necessary; should update node weights as well.
Implements oofem::LoadBalancerMonitor.
Definition at line 50 of file wallclockloadbalancermonitor.C.
References oofem::Element_remote, oofem::LoadBalancerMonitor::emodel, oofem::Domain::giveElement(), oofem::TimeStep::giveNumber(), oofem::Domain::giveNumberOfElements(), oofem::Element::giveParallelMode(), oofem::LoadBalancerMonitor::LBD_CONTINUE, oofem::LoadBalancerMonitor::LBD_RECOVER, oofem::max(), oofem::min(), oofem::LoadBalancerMonitor::nodeWeights, OOFEM_ERROR, OOFEM_LOG_RELEVANT, perturbedSteps, perturbFactor, oofem::Element::predictRelativeComputationalCost(), processingWeights, recoveredSteps, and oofem::LoadBalancerMonitor::staticNodeWeightFlag.
|
inlineoverridevirtual |
Returns class name of the receiver.
Implements oofem::LoadBalancerMonitor.
Definition at line 99 of file wallclockloadbalancermonitor.h.
|
overridevirtual |
Initializes receiver according to object description stored in input record.
Reimplemented from oofem::LoadBalancerMonitor.
Definition at line 227 of file wallclockloadbalancermonitor.C.
References _IFT_WallClockLoadBalancerMonitor_abswct, _IFT_WallClockLoadBalancerMonitor_lbstep, _IFT_WallClockLoadBalancerMonitor_minwct, _IFT_WallClockLoadBalancerMonitor_perturbedsteps, _IFT_WallClockLoadBalancerMonitor_perturbfactor, _IFT_WallClockLoadBalancerMonitor_processingweights, _IFT_WallClockLoadBalancerMonitor_recoveredsteps, _IFT_WallClockLoadBalancerMonitor_relwct, absWallClockImbalanceTreshold, IR_GIVE_OPTIONAL_FIELD, lbstep, minAbsWallClockImbalanceTreshold, OOFEM_ERROR, perturbedSteps, perturbFactor, processingWeights, recoveredSteps, and relWallClockImbalanceTreshold.
|
protected |
Definition at line 73 of file wallclockloadbalancermonitor.h.
Referenced by initializeFrom(), and WallClockLoadBalancerMonitor().
|
protected |
The rebalancing done every lbstep.
Definition at line 75 of file wallclockloadbalancermonitor.h.
Referenced by initializeFrom(), and WallClockLoadBalancerMonitor().
|
protected |
Definition at line 73 of file wallclockloadbalancermonitor.h.
Referenced by initializeFrom(), and WallClockLoadBalancerMonitor().
|
protected |
List of steps with perturbed balancing.
Definition at line 78 of file wallclockloadbalancermonitor.h.
Referenced by decide(), and initializeFrom().
|
protected |
Perturbing factor.
Definition at line 80 of file wallclockloadbalancermonitor.h.
Referenced by decide(), and initializeFrom().
|
protected |
processing weights for lb recovery.
Definition at line 84 of file wallclockloadbalancermonitor.h.
Referenced by decide(), and initializeFrom().
|
protected |
list of step at which to performed lb recovery.
Definition at line 82 of file wallclockloadbalancermonitor.h.
Referenced by decide(), and initializeFrom().
|
protected |
Declares min abs imbalance to perform relative imbalance check.
Definition at line 73 of file wallclockloadbalancermonitor.h.
Referenced by initializeFrom(), and WallClockLoadBalancerMonitor().