Loading [MathJax]/extensions/tex2jax.js
MAIA bb96820c
Multiphysics at AIA
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Dynamic Load Balancing (DLB)

dynamicLoadBalancing

MBool Application::g_dynamicLoadBalancing
default = 0

Trigger the use of the dynamic load balancing.
possible values are:

  • 0 : deactivated
  • 1 : activated

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, TRIGGER

loadBalancingInterval

MInt CartesianGrid::m_loadBalancingInterval
default = 0 (disabled)

Time step interval in which dynamic load balancing is performed.
possible values are:

  • any positive integer

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

balance

MBool Controller::m_balance
default = (loadBalancingInterval > 0)

Enables dynamic load balancing. Is activated automatically when a positive load balancing interval is specified.

  • 0: disabled
  • 1: enabled

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

balanceAfterAdaptation

MFloat GridController::m_balanceAfterAdaptation
default = m_adaptation

Performance a balance after the balanceOffset of timeSteps after each adaptation. Meaning that after each adaptation after loadBalancingTimerStartOffset, the time are resetted and then after the loadBalancingOffset after the adaptation a balance is performed!

  • true/false

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, TRIGGER, GLOBAL

balanceAfterAdaptation

MInt MAIAGridController::m_balanceAdaptationInterval
default = 1

Interval after how many adaptations a balance is triggered, default is 1 meaning after every Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, TRIGGER, GLOBAL

loadBalancingMode

MInt Controller::m_loadBalancingMode
default = 0

Dynamic load balancing mode.

  • 0: continuous, i.e. periodically, using fixed weights specified in the solver
  • 1: finite number of DLB steps possible, e.g. for static workload distributions; estimation of computational weights based on runtime measurements

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

loadBalancingTimerMode

MInt Controller::m_loadBalancingTimerMode
default = 0

Load balancing timer mode for runtime measurements.
Measure compute/idle times based on:

  • 0: wall time using MPI_Wtime()
  • 1: process cpu time using clock_gettime(...)

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

loadBalancingStartTimeStep

MInt CartesianGrid::m_loadBalancingStartTimeStep
default = 0

Start time step for dynamic load balancing.
possible values are:

  • any integer >=0

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

loadBalancingStopTimeStep

MInt CartesianGrid::m_loadBalancingStopTimeStep
default = -1

Stop time step for dynamic load balancing.
possible values are:

  • any positive integer
  • -1 : no stop time step

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

loadBalancingTimerStartOffset

MInt CartesianGrid::m_loadBalancingTimerStartOffset
default = 20% of load balancing interval

Number of time steps after each DLB step which are not considered for determining the performance.
possible values are:

  • any integer >=0 and <=m_loadBalancingInterval

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

forceLoadBalancing

MBool CartesianGrid::m_forceLoadBalancing
default = false

Force dynamic load balancing for testing (e.g. even if the partitioning did not change)
possible values are:

  • 0 : deactivated
  • 1 : activated

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

testDynamicLoadBalancing

MBool CartesianGrid::m_testDynamicLoadBalancing
default = false

Testcase switch for dynamic load balancing.
possible values are:

  • 0 : deactivated
  • 1 : activated

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

testUpdatePartitionCells

MBool GridController::m_testUpdatePartitionCells
default = false

Testcase switch for updating partition cells before dynamic load balancing.
Keywords: PARALLEL, PARTITION, DYNAMIC, LOAD, BALANCING, GLOBAL, TESTING

testUpdatePartitionCellsOffspringThreshold

MInt GridController::m_testUpdatePartitionCellsOffspringThreshold
default = 10

Offspring threshold for testing the update partition cells before dynamic load balancing.
Keywords: PARALLEL, PARTITION, DYNAMIC, LOAD, BALANCING, GLOBAL, TESTING

testUpdatePartitionCellsWorkloadThreshold

MFloat GridController::m_testUpdatePartitionCellsWorkloadThreshold
default = 100.0

Workload threshold for testing the update partition cells before dynamic load balancing.
Keywords: PARALLEL, PARTITION, DYNAMIC, LOAD, BALANCING, GLOBAL, TESTING

debugBalance

MBool CartesianGrid::m_debugBalance
default = false

Enable additional debug output for dynamic load balancing.
possible values are:

  • 0 : deactivated
  • 1 : activated

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

outputDlbTimings

MBool CartesianGrid::m_outputDlbTimings
default = false

Switch to output dynamic load balancing timings.
possible values are:

  • 0 : deactivated
  • 1 : activated

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

dlbPartitionMethod

MInt CartesianGrid::m_dlbPartitionMethod
default = DLB_PARTITION_DEFAULT

Dynamic load balancing partition method.
possible values are:

  • DLB_PARTITION_DEFAULT : default method (combination of weighting and offset shifting methods)
  • DLB_PARTITION_WEIGHT: weighting method
  • DLB_PARTITION_SHIFT_OFFSETS: offset shifting method
  • DLB_PARTITION_TEST: method for testing DLB reinitialization

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, GLOBAL

dlbUpdatePartitionCells

MBool GridController::m_dlbUpdatePartitionCells
default = false

Switch for updating/refiltering of partition cells before dynamic load balancing.
Keywords: PARALLEL, PARTITION, DYNAMIC, LOAD, BALANCING, GLOBAL

dlbImbalanceThreshold

MFloat GridController::m_dlbImbalanceThreshold
default = 0.05

Imbalance percentage threshold value for triggering dynamic load balancing.
The imbalance percentage is defined as: I_% = (t_max - t_avg)/t_max * N/(N-1), with t_max and t_avg the maximum and the average run time among all N domains. It quantifies the 'badness' of the imbalance and gives the "percentage of resources available for parallelism that is wastet" (Reference: DeRose 2007, Detecting Application Load Imbalance on High End Massively Parallel Systems)
possible values are:

  • any positive value <1.0

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, TRIGGER, GLOBAL

maxPerformanceVarThreshold

MFloat GridController::m_maxPerformanceVarThreshold
default = 0.15

Performance variation threshold to skip a DLB step if the performance on a domain deviates over time and the timings cannot be reliably used for the estimation of computation weights etc.
possible values are:

  • any positive value

Keywords: PARALLEL, DYNAMIC, LOAD, BALANCING, TRIGGER, GLOBAL