changa  3.5
 All Classes Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
Public Member Functions | List of all members
MultistepNodeLB_notopo Class Reference

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>

Inheritance diagram for MultistepNodeLB_notopo:
Orb3dCommon

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

- Protected Member Functions inherited from Orb3dCommon
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...
 
- Protected Attributes inherited from Orb3dCommon
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
 

Detailed Description

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.


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