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
Modifier and TypeFieldDescriptionprotected double
Minimum time that needs to pass between two load balancing attemptsprotected Hashtable<IResourceInstance,
Double> protected boolean
Determines the order how movable processes are returned.protected boolean
Determines the order how movable processes are returned.protected MultipleQueuesStrategy
Holder of the runqueues that need to be balanced. -
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractLoadBalancer
(double balancing_interval, boolean prio_increasing, boolean queue_ascending) Creates a new instance of a load balancer. -
Method Summary
Modifier and TypeMethodDescriptionprotected int
load
(IResourceInstance instance) void
setQueueHolder
(MultipleQueuesStrategy queue_holder) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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
-