xc
|
A ShedHeaviest is an object used to balance a PartitionedDomain. More...
#include <ShedHeaviest.h>
Public Member Functions | |
ShedHeaviest () | |
Default constructor. | |
ShedHeaviest (double factorGreater, int numReleases, bool disallowDissconnectedGraph) | |
Constructor. More... | |
virtual int | balance (Graph &theWeightedGraph) |
The heaviest loaded partition, max , is first determined by iterating through the Graph theWeightedGraph looking at the vertex weights. More... | |
![]() | |
LoadBalancer (void) | |
Default constructor. | |
LoadBalancer (double factGreater, int releases, bool disallowDisconnected=true) | |
Constructor. More... | |
virtual void | setLinks (DomainPartitioner &thePartitioner) |
Sets the pointer to the DomainPartitioner object associated with the LoadBalancer to point to thePartitioner . More... | |
Additional Inherited Members | |
![]() | |
DomainPartitioner * | getDomainPartitioner (void) |
Returns a pointer to the DomainPartitioner. More... | |
![]() | |
int | numReleases |
double | factorGreater |
number of releases. | |
bool | disallowDisconnectedGraphs |
A ShedHeaviest is an object used to balance a PartitionedDomain.
It does this by shedding the boundary vertices on the heaviest loaded partition (subdomain).
XC::ShedHeaviest::ShedHeaviest | ( | double | fG, |
int | rels, | ||
bool | disallowDisconnected | ||
) |
Constructor.
Sets the parameters used in the balance() method.
fG | factor greater. |
rels | number of releases. |
|
virtual |
The heaviest loaded partition, max
, is first determined by iterating through the Graph theWeightedGraph
looking at the vertex weights.
Then {releaseBoundary(max, theWieightedGraph, true, factorGreater)} is invoked on the DomainPartitioner numRelease
times. Returns \(0\) if successfull, otherwise a negative number and a warning message are returned if either no link has been set to the DomainPartitioner or {releaseBoundary()} returns a negative number.
Implements XC::LoadBalancer.