Class AbstractLoadBalancer
java.lang.Object
edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.loaddistribution.balancers.AbstractLoadBalancer
- All Implemented Interfaces:
ILoadBalancer
- Direct Known Subclasses:
IdleToThresholdBalancer,OneToIdleBalancer,ToThresholdBalancer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doubleMinimum time that needs to pass between two load balancing attemptsprotected Hashtable<IResourceInstance,Double> protected booleanDetermines the order how movable processes are returned.protected booleanDetermines the order how movable processes are returned.protected MultipleQueuesStrategyHolder of the runqueues that need to be balanced. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractLoadBalancer(double balancing_interval, boolean prio_increasing, boolean queue_ascending) Creates a new instance of a load balancer. -
Method Summary
Modifier and TypeMethodDescriptionprotected intload(IResourceInstance instance) voidsetQueueHolder(MultipleQueuesStrategy queue_holder) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.loaddistribution.ILoadBalancer
activelyBalance, onFork, onSleep, onTerminate, onWake
-
Field Details
-
balancing_interval
protected double balancing_intervalMinimum time that needs to pass between two load balancing attempts -
queue_holder
Holder of the runqueues that need to be balanced. -
prio_increasing
protected boolean prio_increasingDetermines the order how movable processes are returned. If true, the priority of the processes is increasing, otherwise decreasing. -
queue_ascending
protected boolean queue_ascendingDetermines the order how movable processes are returned. If true, the first processes are returned in the same order of the queue, otherwise they are returned in reverse order. -
last_balanced
-
-
Constructor Details
-
AbstractLoadBalancer
protected AbstractLoadBalancer(double balancing_interval, boolean prio_increasing, boolean queue_ascending) Creates a new instance of a load balancer.- Parameters:
balancing_interval- Minimum time that needs to pass between two executions of the load balancer.prio_increasing- Determines the order how movable processes are returned. If true, the priority of the processes is increasing, otherwise decreasing.queue_ascending- Determines the order how movable processes are returned. If true, the first processes are returned in the same order of the queue, otherwise they are returned in reverse order.
-
-
Method Details
-
load
-
setQueueHolder
-