Peano
Loading...
Searching...
No Matches
toolbox::loadbalancing::strategies::NoLoadBalancing Class Reference

No load balancing. More...

#include <NoLoadBalancing.h>

Inheritance diagram for toolbox::loadbalancing::strategies::NoLoadBalancing:
Collaboration diagram for toolbox::loadbalancing::strategies::NoLoadBalancing:

Public Member Functions

 NoLoadBalancing ()
 Delegate to other constructor with nullptr arguments, as configuration does not matter anyway.
 
 NoLoadBalancing (Configuration *configuration, CostMetrics *costMetrics)
 Only there to be compatible with other classes.
 
virtual ~NoLoadBalancing ()=default
 
virtual void finishStep () override
 Finish a mesh sweep.
 
virtual void enable (bool value) override
 You cannot enable the no load balancing.
 
- Public Member Functions inherited from toolbox::loadbalancing::AbstractLoadBalancing
 AbstractLoadBalancing (Configuration *configuration, CostMetrics *costMetrics)
 Constructor.
 
virtual ~AbstractLoadBalancing ()
 Destructor.
 
virtual std::string toString () const
 Generic string serialisation.
 
virtual bool hasSplitRecently () const
 
bool isEnabled (bool globally) const
 Clarifies whether load balancing is, in principle, enabled.
 
virtual int getGlobalNumberOfTrees () const
 Delegate to stats.
 
virtual bool hasStagnated () const
 A load balancing can either be stagnating or be switched off for this predicate to hold.
 
virtual void finishSimulation ()
 
void setConfigurationAndMetricsNullWithoutDelete ()
 This is only used when you concatenate balancing rules and you want to disable any deletion.
 

Additional Inherited Members

- Static Public Attributes inherited from toolbox::loadbalancing::AbstractLoadBalancing
static constexpr int NoHeaviestTreeAvailable = -1
 Is used by tree identification and either indicates that there are no trees at all or means that the heaviest tree is on the blacklist.
 
- Protected Member Functions inherited from toolbox::loadbalancing::AbstractLoadBalancing
bool fitsIntoMemory (State state) const
 Ensure enough memory is left-over.
 
bool isInterRankBalancingBad () const
 Is the balancing between the ranks ok.
 
bool isIntraRankBalancingBad () const
 Is the balancing on the rank ok.
 
bool areRanksUnemployed () const
 
double getWeightOfHeaviestLocalSpacetree () const
 
int getIdOfHeaviestLocalSpacetree () const
 Determines the maximum spacetree size a tree should have in the optimal case.
 
int getIdOfHeaviestLocalSpacetree (double tolerance) const
 Similar to getIdOfHeaviestLocalSpacetree() but you might get one of the trees back that is close to the heaviest one up to tolerance.
 
- Protected Attributes inherited from toolbox::loadbalancing::AbstractLoadBalancing
Blacklist _blacklist
 
Statistics _statistics
 
Configuration_configuration
 
CostMetrics_costMetrics
 
State _state
 Ensure that you invoke.
 
- Static Protected Attributes inherited from toolbox::loadbalancing::AbstractLoadBalancing
static tarch::logging::Log _log
 

Detailed Description

No load balancing.

A dummy that you can use if you wanna have a class around with a proper load balancing signature.

Definition at line 26 of file NoLoadBalancing.h.

Constructor & Destructor Documentation

◆ NoLoadBalancing() [1/2]

toolbox::loadbalancing::strategies::NoLoadBalancing::NoLoadBalancing ( )

Delegate to other constructor with nullptr arguments, as configuration does not matter anyway.

Definition at line 10 of file NoLoadBalancing.cpp.

◆ NoLoadBalancing() [2/2]

toolbox::loadbalancing::strategies::NoLoadBalancing::NoLoadBalancing ( Configuration * configuration,
CostMetrics * costMetrics )

Only there to be compatible with other classes.

The important detail here is that the load balancing is switched off right from the start.

Definition at line 14 of file NoLoadBalancing.cpp.

References toolbox::loadbalancing::AbstractLoadBalancing::_state, toolbox::loadbalancing::AbstractLoadBalancing::_statistics, toolbox::loadbalancing::Statistics::notifyOfStateChange(), and toolbox::loadbalancing::SwitchedOff.

Here is the call graph for this function:

◆ ~NoLoadBalancing()

virtual toolbox::loadbalancing::strategies::NoLoadBalancing::~NoLoadBalancing ( )
virtualdefault

Member Function Documentation

◆ enable()

void toolbox::loadbalancing::strategies::NoLoadBalancing::enable ( bool value)
overridevirtual

You cannot enable the no load balancing.

This routine therefore sets value to false and calls the superclass.

Reimplemented from toolbox::loadbalancing::AbstractLoadBalancing.

Definition at line 36 of file NoLoadBalancing.cpp.

References toolbox::loadbalancing::AbstractLoadBalancing::enable().

Here is the call graph for this function:

◆ finishStep()

void toolbox::loadbalancing::strategies::NoLoadBalancing::finishStep ( )
overridevirtual

Finish a mesh sweep.

This

Implements toolbox::loadbalancing::AbstractLoadBalancing.

Definition at line 23 of file NoLoadBalancing.cpp.

References toolbox::loadbalancing::dumpStatistics().

Here is the call graph for this function:

The documentation for this class was generated from the following files: