Multistep load balancer where no processor topology information is used. This first performs orb partition at the node level and assigns the partitioned TreePieces to the PEs belonging to the node. Finally after this assignment, a refinement is done. More...
#include <MultistepNodeLB_notopo.h>
Public Member Functions | |
MultistepNodeLB_notopo (const CkLBOptions &) | |
MultistepNodeLB_notopo (CkMigrateMessage *m) | |
void | work (BaseLB::LDStats *stats) |
Implement load balancing: store loads and decide whether to do ORB3D load balancing. | |
void | balanceTPs (BaseLB::LDStats *stats) |
void | balanceTPsNode (BaseLB::LDStats *stats) |
Refinement strategy to distribute TreePieces evenly among nodes. If heavily loaded nodes are detect, this moves TreePieces off of heavily loaded nodes to underloaded nodes. Note that this does not take into account communication costs. | |
void | work2 (BaseLB::LDStats *stats, int count) |
ORB3D load balance across nodes (as opposed to processors). | |
void | greedy (BaseLB::LDStats *stats, int count) |
void | pup (PUP::er &p) |
Additional Inherited Members | |
![]() | |
void | orbPePartition (vector< Event > *events, vector< OrbObject > &tp, int node, BaseLB::LDStats *stats) |
void | orbPartition (vector< Event > *events, OrientedBox< float > &box, int nprocs, vector< OrbObject > &tp, BaseLB::LDStats *stats, bool node_partition=false) |
Recursively partition treepieces among processors by bisecting the load in orthogonal directions. More... | |
void | orbPrepare (vector< Event > *tpEvents, OrientedBox< float > &box, int numobjs, BaseLB::LDStats *stats, bool node_partition=false) |
Prepare structures for the ORB partition. More... | |
void | refine (BaseLB::LDStats *stats, int numobjs) |
int | partitionRatioLoad (vector< Event > &events, float ratio, float bglp, float bgrp) |
Given a vector of Events, find a split that partitions them into two partitions with a given ratio of loads. More... | |
![]() | |
decltype(BaseLB::LDStats::to_proc)* | mapping |
decltype(BaseLB::LDStats::from_proc)* | from |
CkVec< float > | procload |
double | maxPieceProc |
int | nextProc |
index of first processor of the group we are considering | |
Multistep load balancer where no processor topology information is used. This first performs orb partition at the node level and assigns the partitioned TreePieces to the PEs belonging to the node. Finally after this assignment, a refinement is done.