|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecthu.mta.sztaki.lpds.cloud.simulator.iaas.resourcemodel.ResourceSpreader
hu.mta.sztaki.lpds.cloud.simulator.iaas.resourcemodel.MaxMinFairSpreader
public abstract class MaxMinFairSpreader
This class is part of the unified resource consumption model of DISSECT-CF. This class provides the implementation of the core scheduling logic in the simulator. The logic is based on the max-min fairness algorithm.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.resourcemodel.ResourceSpreader |
---|
ResourceSpreader.FreqSyncer |
Field Summary | |
---|---|
private double |
currentUnProcessed
Determines the amount of processing that still remains unspent in this spreader. |
private int |
unassignedNum
The number of resource consumptions for which this spreader still did not assign temporal resource utilization limits - see: p(c,s,t) in the paper titled "DISSECT-CF: a simulator to foster energy-aware scheduling in infrastructure clouds" . |
private int |
upLen
Offers a temporary storage for the size of the current resource consumption list. |
Fields inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.resourcemodel.ResourceSpreader |
---|
hashCounter, lastNotifTime, negligableProcessing, perTickProcessingPower, toBeAdded, toBeRemoved, underProcessing, underProcessingLen |
Constructor Summary | |
---|---|
MaxMinFairSpreader(double perSecondProcessing)
Constructs a generic Max Min fairness based resource spreader. |
Method Summary | |
---|---|
private void |
assignProcessingPower()
Manages the gradual increase of the processing limits for each resource consumption related to this spreader. |
private boolean |
initializeFreqUpdate()
At the beginning of a freq update cycle, every influence group member is initialised with this function. |
protected long |
singleGroupwiseFreqUpdater()
This function is the entrance to the lowest level scheduling in DISSECT-CF. |
protected abstract void |
updateConsumptionLimit(ResourceConsumption con,
double limit)
Supposed to update the consumer/provider specific consumption details. |
Methods inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.resourcemodel.ResourceSpreader |
---|
cancelConsumption, getCounterPart, getCurrentPowerBehavior, getHashandIncCounter, getPerTickProcessingPower, getSamePart, getSyncer, getTotalProcessed, hashCode, isAcceptableConsumption, isConsumer, processSingleConsumption, registerConsumption, removeTheseConsumptions, setCurrentPowerBehavior, setPerTickProcessingPower, subscribePowerBehaviorChangeEvents, toString, unsubscribePowerBehaviorChangeEvents |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private double currentUnProcessed
private int unassignedNum
private int upLen
Constructor Detail |
---|
public MaxMinFairSpreader(double perSecondProcessing)
perSecondProcessing
- determines the amount of resources this resource spreader
could handle in a single tickMethod Detail |
---|
private boolean initializeFreqUpdate()
private void assignProcessingPower()
protected long singleGroupwiseFreqUpdater()
singleGroupwiseFreqUpdater
in class ResourceSpreader
protected abstract void updateConsumptionLimit(ResourceConsumption con, double limit)
con
- the resource consumption object to be updated with the limit
valuelimit
- the limit value to be propagated to the resource consumption
object's relevant (i.e. provider/consumer specific) field
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |