|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.jppf.server.scheduler.bundle.AbstractBundler
org.jppf.server.scheduler.bundle.proportional.AbstractProportionalBundler
public abstract class AbstractProportionalBundler
This bundler implementation computes bundle sizes propertional to the mean execution
time for each node to the power of n, where n is an integer value specified in the configuration file as "proportionality factor".
The scope of this bundler is all nodes, which means that it computes the size for all nodes,
unless an override is specified by the nodes.
The mean execution time is computed as a moving average over a number of tasks, specified in the bundling
algorithm profile configuration as "performanceCacheSize"
This algorithm is well suited for relatively small networks (a few dozen nodes at most). It generates an overhead
everytime the performance data for a node is updated. In the case of a small network, this overhead is not
large enough to impact the overall performance significantly.
| Field Summary | |
|---|---|
protected int |
bundleSize
The current bundle size. |
protected BundleDataHolder |
dataHolder
Bounded memory of the past performance updates. |
| Fields inherited from class org.jppf.server.scheduler.bundle.AbstractBundler |
|---|
bundlerNumber, profile, timestamp |
| Constructor Summary | |
|---|---|
AbstractProportionalBundler(LoadBalancingProfile profile)
Creates a new instance with the initial size of bundle as the start size. |
|
| Method Summary | |
|---|---|
void |
dispose()
Release the resources used by this bundler. |
void |
feedback(int size,
double time)
This method delegates the bundle size calculation to the singleton instance of SimpleBundler. |
int |
getBundleSize()
Get the current size of bundle. |
BundleDataHolder |
getDataHolder()
Get the bounded memory of the past performance updates. |
double |
normalize(double x)
|
void |
setBundleSize(int size)
Set the current size of bundle. |
void |
setup()
Perform context-independant initializations. |
| Methods inherited from class org.jppf.server.scheduler.bundle.AbstractBundler |
|---|
getBundlerNumber, getProfile, getTimestamp, maxSize |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.jppf.server.scheduler.bundle.Bundler |
|---|
copy |
| Field Detail |
|---|
protected BundleDataHolder dataHolder
protected int bundleSize
| Constructor Detail |
|---|
public AbstractProportionalBundler(LoadBalancingProfile profile)
profile - the parameters of the load-balancing algorithm,| Method Detail |
|---|
public int getBundleSize()
Bundler.getBundleSize()public void setBundleSize(int size)
size - the bundle size as an int value.Bundler.getBundleSize()
public void feedback(int size,
double time)
SimpleBundler.
feedback in interface Bundlerfeedback in class AbstractBundlersize - the number of tasks executed.time - the time in milliseconds it took to execute the tasks.AbstractBundler.feedback(int, double)public void setup()
setup in interface Bundlersetup in class AbstractBundlerAbstractBundler.setup()public void dispose()
dispose in interface Bundlerdispose in class AbstractBundlerAbstractBundler.dispose()public BundleDataHolder getDataHolder()
public double normalize(double x)
x - .
|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||