Peano
Loading...
Searching...
No Matches
toolbox::loadbalancing Namespace Reference

The namespace hosts some generic utilities, it hosts a statistics class (Statistics) and the Blacklist, and it finally hosts a few core load balancing classes. More...

Namespaces

namespace  metrics
 
namespace  strategies
 

Data Structures

class  AbstractLoadBalancing
 
class  Blacklist
 Blacklisting. More...
 
class  Configuration
 Abstract interface to tweak the behaviour of the recursive subdivision. More...
 
class  CostMetrics
 Abstract cost metric. More...
 
class  DefaultConfiguration
 
class  Statistics
 Statistics helper routine for load balancing. More...
 

Enumerations

enum class  State {
  Undefined , InterRankDistribution , IntraRankDistribution , InterRankBalancing ,
  IntraRankBalancing , WaitForRoundRobinToken , Stagnation , SwitchedOff
}
 State descriptor of load balancing. More...
 

Functions

void dumpStatistics ()
 Dump the stats of the lb to the terminal (info device).
 
int getWeightOfHeaviestLocalSpacetree ()
 This is a helper routine which is used by ExaHyPE's default main for for example.
 

Detailed Description

The namespace hosts some generic utilities, it hosts a statistics class (Statistics) and the Blacklist, and it finally hosts a few core load balancing classes.

They are rather primitive. You can construct more sophisticated load balancing schemes from there by combining simple schemes via a Cascade, e.g.

Enumeration Type Documentation

◆ State

enum class toolbox::loadbalancing::State
strong

State descriptor of load balancing.

Any load balancing will run through different states, aka "what will I try to achieve next". Not every load balancing strategy runs through the states in the same order or passes through all states, but these states are kind of a superset of different phases.

We have to define them here to give the configuration objects the opportunity to make state-dependent decisions if and how to refine.

Enumerator
Undefined 
InterRankDistribution 

Code has not yet spread out over all ranks but would like to do so now.

IntraRankDistribution 

Code has spread over all ranks, but it has not spread over all cores yet, i.e.

there's around one tree per rank and that's it w.r.t. the global decomposition.

InterRankBalancing 

We have completed the first two phases and try to balance between the ranks now to meet the load balancing quality.

IntraRankBalancing 

The code is satisfied with the load balancing quality between the ranks and now spawns more partitions per rank to increase the per-rank concurrency.

WaitForRoundRobinToken 

You usually don't get this state when we query the configuration, i.e.

if the lb on a rank is in this state, then it will not ask the configuration.

Stagnation 

You usually don't get this state when we query the configuration, i.e.

if the lb on a rank is in this state, then it will not ask the configuration.

SwitchedOff 

You usually don't get this state when we query the configuration, i.e.

if the lb on a rank is in this state, then it will not ask the configuration.

Definition at line 22 of file State.h.

Function Documentation

◆ dumpStatistics()

◆ getWeightOfHeaviestLocalSpacetree()