|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.jppf.server.scheduler.bundle.autotuned.AbstractAutoTuneProfile
org.jppf.server.scheduler.bundle.autotuned.AnnealingTuneProfile
public class AnnealingTuneProfile
This class implements the basis of a profile based on simulated annealing strategy. The possible move from the best known solution get smaller each time it make a move. This strategy let the algorithm explore the universe of bundle size with an almost known end. Check method getDecreaseRatio about the maximum number of changes.
| Field Summary | |
|---|---|
protected float |
decreaseRatio
This parameter defines how fast does it will stop generating random numbers. |
protected double |
maxDeviation
The percentage of deviation of the current mean to the mean when the system was considered stable. |
protected int |
maxGuessToStable
The maximum number of guesses of number generated that were already tested for the algorithm to consider the current best solution stable. |
protected long |
minSamplesToAnalyse
The minimum number of samples that must be collected before an analysis is triggered. |
protected long |
minSamplesToCheckConvergence
The minimum number of samples to be collected before checking if the performance profile has changed. |
protected float |
sizeRatioDeviation
This parameter defines the multiplicity used to define the range available to random generator, as the maximum. |
| Constructor Summary | |
|---|---|
AnnealingTuneProfile()
Initialize this profile with default values. |
|
AnnealingTuneProfile(String profileName)
Initialize this profile with values read from the configuration file. |
|
AnnealingTuneProfile(TypedProperties config)
Initialize this profile with values read from the configuration file. |
|
| Method Summary | |
|---|---|
LoadBalancingProfile |
copy()
Make a copy of this profile. |
int |
createDiff(int bestSize,
int collectedSamples,
Random rnd)
Generate a difference to be applied to the best known bundle size. |
protected double |
expDist(long max,
long x)
This method implements the always decreasing policy of the algorithm. |
float |
getDecreaseRatio()
Get the decrease rate for this profile. |
static AnnealingTuneProfile |
getDefaultProfile()
Get the default profile with default parameter values. |
double |
getMaxDeviation()
Get the percentage of deviation of the current mean to the mean when the system was considered stable. |
int |
getMaxGuessToStable()
Get the maximum number of guesses of number generated that were already tested for the algorithm to consider the current best solution stable. |
long |
getMinSamplesToAnalyse()
Get the minimum number of samples that must be collected before an analysis is triggered. |
long |
getMinSamplesToCheckConvergence()
Get the the minimum number of samples to be collected before checking if the performance profile has changed. |
float |
getSizeRatioDeviation()
Get the multiplicity used to define the range available to random generator, as the maximum. |
void |
setDecreaseRatio(float decreaseRatio)
Set the decrease rate for this profile. |
void |
setMaxDeviation(double maxDeviation)
Set the percentage of deviation of the current mean to the mean when the system was considered stable. |
void |
setMaxGuessToStable(int maxGuessToStable)
Set the maximum number of guesses of number generated that were already tested for the algorithm to consider the current best solution stable. |
void |
setMinSamplesToAnalyse(long minSamplesToAnalyse)
Set the minimum number of samples that must be collected before an analysis is triggered. |
void |
setMinSamplesToCheckConvergence(long minSamplesToCheckConvergence)
Set the the minimum number of samples to be collected before checking if the performance profile has changed. |
void |
setSizeRatioDeviation(float sizeRatioDeviation)
Set the multiplicity used to define the range available to random generator, as the maximum. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected long minSamplesToAnalyse
protected long minSamplesToCheckConvergence
protected double maxDeviation
protected int maxGuessToStable
protected float sizeRatioDeviation
protected float decreaseRatio
| Constructor Detail |
|---|
public AnnealingTuneProfile()
public AnnealingTuneProfile(String profileName)
profileName - name of the profile in the configuration file.public AnnealingTuneProfile(TypedProperties config)
config - contains a mapping of the profile parameters to their value.| Method Detail |
|---|
public float getSizeRatioDeviation()
public void setSizeRatioDeviation(float sizeRatioDeviation)
sizeRatioDeviation - the multiplicity as a float value.public float getDecreaseRatio()
public void setDecreaseRatio(float decreaseRatio)
decreaseRatio - the decrease rate as a float value.
public int createDiff(int bestSize,
int collectedSamples,
Random rnd)
bestSize - the known best size of bundle.collectedSamples - the number of samples that were already collected.rnd - a pseudo-random number generator.
protected double expDist(long max,
long x)
max - the maximum value this algorithm will generate.x - a randomly generated bundle size increment.
public long getMinSamplesToAnalyse()
public void setMinSamplesToAnalyse(long minSamplesToAnalyse)
minSamplesToAnalyse - the number of samples as a long value.public long getMinSamplesToCheckConvergence()
public void setMinSamplesToCheckConvergence(long minSamplesToCheckConvergence)
minSamplesToCheckConvergence - the number of samples as a long value.public double getMaxDeviation()
public void setMaxDeviation(double maxDeviation)
maxDeviation - the percentage of deviation as a double value.public int getMaxGuessToStable()
public void setMaxGuessToStable(int maxGuessToStable)
maxGuessToStable - the number of guesses as an int value.public LoadBalancingProfile copy()
AutoTuneProfile instance.LoadBalancingProfile.copy()public static AnnealingTuneProfile getDefaultProfile()
AnnealingTuneProfile singleton instance.
|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||