|
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... | |
Public Member Functions inherited from XC::LoadBalancer | |
| 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 | |
Protected Member Functions inherited from XC::LoadBalancer | |
| DomainPartitioner * | getDomainPartitioner (void) |
| Returns a pointer to the DomainPartitioner. More... | |
Protected Attributes inherited from XC::LoadBalancer | |
| 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.
1.8.12