Modifier and Type | Method and Description |
---|---|
IResourceInstance |
ExactSchedulingFactory.createResourceInstance(int index,
de.uka.ipd.sdq.scheduler.IActiveResource containing_resource) |
Modifier and Type | Method and Description |
---|---|
List<IResourceInstance> |
SimActiveResource.getInstanceList() |
Modifier and Type | Method and Description |
---|---|
boolean |
SimActiveResource.isIdle(IResourceInstance instance) |
Modifier and Type | Method and Description |
---|---|
void |
SchedulingEvent.eventRoutine(IResourceInstance instance) |
void |
SchedulingInterruptEvent.eventRoutine(IResourceInstance instance) |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
IInstanceSelector.selectInstanceFor(IActiveProcess process,
IResourceInstance current)
Selects a resource instance for an executable process.
|
Modifier and Type | Method and Description |
---|---|
void |
ILoadBalancer.activelyBalance(IResourceInstance instance)
Balances the load.
|
boolean |
IResourceInstanceConstraint.check(IResourceInstance instance)
Checks whether the condition is fulfilled for the given instance.
|
void |
ILoadBalancer.onFork(IResourceInstance current) |
void |
ILoadBalancer.onSleep(IResourceInstance lastInstance) |
void |
ILoadBalancer.onTerminate(IResourceInstance lastInstance) |
void |
ILoadBalancer.onWake(IResourceInstance current) |
IActiveProcess |
IProcessSelector.select(IRunQueue run_queue,
IResourceInstance instance)
Selects a process from the given runqueue that best suits the execution
on the specified instance.
|
IResourceInstance |
IInstanceSelector.selectInstanceFor(IActiveProcess process,
IResourceInstance current)
Selects a resource instance for an executable process.
|
Modifier and Type | Method and Description |
---|---|
void |
IdleToThresholdBalancer.activelyBalance(IResourceInstance instance) |
void |
OneToIdleBalancer.activelyBalance(IResourceInstance instance) |
void |
OriginalAbstractLoadBalancer.activelyBalance(IResourceInstance instance) |
void |
ToThresholdBalancer.activelyBalance(IResourceInstance instance) |
void |
IdleToThresholdBalancer.onFork(IResourceInstance current) |
void |
OneToIdleBalancer.onFork(IResourceInstance instance) |
void |
ToThresholdBalancer.onFork(IResourceInstance instance) |
void |
IdleToThresholdBalancer.onSleep(IResourceInstance lastInstance) |
void |
OneToIdleBalancer.onSleep(IResourceInstance instance) |
void |
ToThresholdBalancer.onSleep(IResourceInstance instance) |
void |
IdleToThresholdBalancer.onTerminate(IResourceInstance lastInstance) |
void |
OneToIdleBalancer.onTerminate(IResourceInstance instance) |
void |
ToThresholdBalancer.onTerminate(IResourceInstance instance) |
void |
IdleToThresholdBalancer.onWake(IResourceInstance current) |
void |
OneToIdleBalancer.onWake(IResourceInstance instance) |
void |
ToThresholdBalancer.onWake(IResourceInstance instance) |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
SingleResourceInstanceConstraint.getResourceInstance() |
Modifier and Type | Method and Description |
---|---|
Collection<IResourceInstance> |
MultipleResourceInstancesConstraint.getInstances() |
Modifier and Type | Method and Description |
---|---|
boolean |
MultipleResourceInstancesConstraint.check(IResourceInstance instance) |
boolean |
SingleResourceInstanceConstraint.check(IResourceInstance instance) |
Constructor and Description |
---|
SingleResourceInstanceConstraint(IResourceInstance instance) |
Constructor and Description |
---|
MultipleResourceInstancesConstraint(Collection<IResourceInstance> instance_list) |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
IdleSelector.selectInstanceFor(IActiveProcess process,
IResourceInstance current) |
IResourceInstance |
RoundRobinSelector.selectInstanceFor(IActiveProcess process,
IResourceInstance running_on) |
Modifier and Type | Method and Description |
---|---|
List<IResourceInstance> |
IdleSelector.getIdleInstances() |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
IdleSelector.selectInstanceFor(IActiveProcess process,
IResourceInstance current) |
IResourceInstance |
RoundRobinSelector.selectInstanceFor(IActiveProcess process,
IResourceInstance running_on) |
Modifier and Type | Method and Description |
---|---|
IActiveProcess |
NextRunnableProcessSelector.select(IRunQueue runQueue,
IResourceInstance instance) |
IActiveProcess |
PreferIdealAndLastProcessSelector.select(IRunQueue runQueue,
IResourceInstance instance) |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
IActiveProcess.getIdealInstance() |
IResourceInstance |
IActiveProcess.getLastInstance() |
Modifier and Type | Method and Description |
---|---|
boolean |
IActiveProcess.checkAffinity(IResourceInstance instance)
Checks if the given instance is in the set of affinity instances of the
process.
|
boolean |
IActiveProcess.isIdealInstance(IResourceInstance instance)
Checks if the given instance is the ideal instance of the process.
|
boolean |
IActiveProcess.isLastInstance(IResourceInstance instance) |
boolean |
IActiveProcess.isMovable(IResourceInstance targetInstance) |
void |
IActiveProcess.setIdealInstance(IResourceInstance instance)
Sets the ideal instance of the process.
|
void |
IActiveProcess.setLastInstance(IResourceInstance instance)
Sets the instance the process is or just was running on.
|
void |
IActiveProcess.wasMovedTo(IResourceInstance dest) |
Modifier and Type | Method and Description |
---|---|
void |
IActiveProcess.removeNonAffineInstances(List<IResourceInstance> instance_list)
Removes all instances the process is not allowed to run on from the given
list.
|
void |
IActiveProcess.setAffineInstances(List<IResourceInstance> instance_list)
Sets the affine instances for the process.
|
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
ActiveProcess.getIdealInstance() |
IResourceInstance |
ActiveProcess.getLastInstance() |
Modifier and Type | Method and Description |
---|---|
boolean |
ActiveProcess.checkAffinity(IResourceInstance instance) |
boolean |
ActiveProcess.isIdealInstance(IResourceInstance instance) |
boolean |
ActiveProcess.isLastInstance(IResourceInstance instance) |
boolean |
ActiveProcess.isMovable(IResourceInstance targetInstance) |
void |
ActiveProcess.setIdealInstance(IResourceInstance instance) |
void |
ActiveProcess.setLastInstance(IResourceInstance instance) |
void |
ActiveProcess.wasMovedTo(IResourceInstance dest) |
Modifier and Type | Method and Description |
---|---|
void |
ActiveProcess.removeNonAffineInstances(List<IResourceInstance> instances) |
void |
ActiveProcess.setAffineInstances(List<IResourceInstance> instanceList) |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
IQueueingStrategy.runningOn(IActiveProcess process) |
IResourceInstance |
IRunQueue.runningOn(IActiveProcess process) |
Modifier and Type | Method and Description |
---|---|
void |
IQueueingStrategy.activelyBalance(IResourceInstance instance)
Depending on the underlying implementation the load is balanced between
the resource instances.
|
void |
IQueueingStrategy.addProcess(IActiveProcess process,
IResourceInstance current,
boolean inFront)
Adds a process to the queue(s).
|
void |
IQueueingStrategy.forkProcess(IActiveProcess process,
IResourceInstance current,
boolean b) |
void |
IQueueingStrategy.fromWaitingToReady(IActiveProcess process,
IResourceInstance current,
boolean in_front_after_waiting) |
IProcessQueue |
IProcessQueue.getBestRunnableQueue(IResourceInstance instance) |
IProcessQueue |
IRunQueue.getBestRunnableQueue(IResourceInstance instance) |
IActiveProcess |
IQueueingStrategy.getNextProcessFor(IResourceInstance instance)
Returns the next executable process for the given instance.
|
IActiveProcess |
IProcessQueue.getNextRunnableProcess(IResourceInstance instance) |
IActiveProcess |
IRunQueue.getNextRunnableProcess(IResourceInstance instance)
Returns the next process runnable on the given instance.
|
List<IActiveProcess> |
IQueueingStrategy.getStarvingProcesses(IResourceInstance instance,
double starvationLimit) |
List<IActiveProcess> |
IRunQueue.identifyMovableProcesses(IResourceInstance targetInstance,
boolean prio_increasing,
boolean queue_ascending,
int processes_needed)
Composes a list of processes movable to the specified target.
|
void |
IProcessQueue.identifyMovableProcesses(IResourceInstance target_instance,
boolean prio_increasing,
boolean queue_ascending,
int processes_needed,
List<IActiveProcess> process_list) |
boolean |
IQueueingStrategy.isIdle(IResourceInstance instance)
True, if the given resource has no running or pending jobs, otherwise false.
|
boolean |
IRunQueue.isIdle(IResourceInstance instance)
True, if there is no process running on the given resource.
|
void |
IQueueingStrategy.onSleep(IResourceInstance lastInstance) |
void |
IQueueingStrategy.registerProcess(IActiveProcess p,
IResourceInstance instance) |
void |
IQueueingStrategy.setRunningOn(IActiveProcess process,
IResourceInstance instance)
Sets the process as executing on the given instance.
|
void |
IRunQueue.setRunningOn(IActiveProcess process,
IResourceInstance instance)
Sets the given process as running on the specified instance.
|
Modifier and Type | Method and Description |
---|---|
IProcessQueue |
PriorityArray.getBestRunnableQueue(IResourceInstance instance)
Returns the queue with the highest priority of which at least one process
can be executed on instance.
|
IProcessQueue |
ProcessQueueImpl.getBestRunnableQueue(IResourceInstance instance) |
IActiveProcess |
PriorityArray.getNextRunnableProcess(IResourceInstance instance)
Returns the process with the highest priority runnable on the given instance.
|
IActiveProcess |
ProcessQueueImpl.getNextRunnableProcess(IResourceInstance instance) |
void |
PriorityArray.identifyMovableProcesses(IResourceInstance target_instance,
boolean prio_increasing,
boolean queue_ascending,
int processes_needed,
List<IActiveProcess> process_list)
Adds processes that do not violate the affinity constraint to the list
in the specified direction.
|
void |
ProcessQueueImpl.identifyMovableProcesses(IResourceInstance targetInstance,
boolean prio_increasing,
boolean queue_ascending,
int processes_needed,
List<IActiveProcess> process_list) |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
AbstractRunQueue.runningOn(IActiveProcess process) |
Modifier and Type | Method and Description |
---|---|
IProcessQueue |
ActiveExpiredRunQueue.getBestRunnableQueue(IResourceInstance instance) |
IProcessQueue |
SingleRunQueue.getBestRunnableQueue(IResourceInstance instance) |
abstract IActiveProcess |
AbstractRunQueue.getNextRunnableProcess(IResourceInstance instance) |
IActiveProcess |
ActiveExpiredRunQueue.getNextRunnableProcess(IResourceInstance instance) |
IActiveProcess |
SingleRunQueue.getNextRunnableProcess(IResourceInstance instance) |
List<IActiveProcess> |
ActiveExpiredRunQueue.identifyMovableProcesses(IResourceInstance targetInstance,
boolean prio_increasing,
boolean queue_ascending,
int processes_needed) |
List<IActiveProcess> |
SingleRunQueue.identifyMovableProcesses(IResourceInstance targetInstance,
boolean prio_increasing,
boolean queue_ascending,
int processes_needed) |
boolean |
AbstractRunQueue.isIdle(IResourceInstance instance) |
void |
AbstractRunQueue.setRunningOn(IActiveProcess process,
IResourceInstance instance) |
Modifier and Type | Method and Description |
---|---|
IResourceInstance |
MultipleQueuesStrategy.runningOn(IActiveProcess process) |
IResourceInstance |
SingleQueueStrategy.runningOn(IActiveProcess process) |
Modifier and Type | Method and Description |
---|---|
List<IResourceInstance> |
MultipleQueuesStrategy.getIdleInstances()
Returns all queues without jobs.
|
Collection<IResourceInstance> |
MultipleQueuesStrategy.getResourceInstances() |
Modifier and Type | Method and Description |
---|---|
void |
MultipleQueuesStrategy.activelyBalance(IResourceInstance instance) |
void |
SingleQueueStrategy.activelyBalance(IResourceInstance instance) |
void |
MultipleQueuesStrategy.addProcess(IActiveProcess process,
IResourceInstance current,
boolean inFront)
Adds a process to the runqueue.
|
void |
SingleQueueStrategy.addProcess(IActiveProcess process,
IResourceInstance current,
boolean inFront) |
void |
MultipleQueuesStrategy.forkProcess(IActiveProcess process,
IResourceInstance current,
boolean inFront) |
void |
SingleQueueStrategy.forkProcess(IActiveProcess process,
IResourceInstance current,
boolean inFront) |
void |
MultipleQueuesStrategy.fromWaitingToReady(IActiveProcess process,
IResourceInstance current,
boolean in_front_after_waiting) |
void |
SingleQueueStrategy.fromWaitingToReady(IActiveProcess process,
IResourceInstance current,
boolean in_front_after_waiting) |
IActiveProcess |
MultipleQueuesStrategy.getNextProcessFor(IResourceInstance instance)
Returns the next runnable process for the resource instance.
|
IActiveProcess |
SingleQueueStrategy.getNextProcessFor(IResourceInstance instance) |
IRunQueue |
MultipleQueuesStrategy.getRunQueueFor(IResourceInstance instance)
Returns the RunQueue for a resource instance.
|
List<IActiveProcess> |
MultipleQueuesStrategy.getStarvingProcesses(IResourceInstance instance,
double starvationLimit) |
List<IActiveProcess> |
SingleQueueStrategy.getStarvingProcesses(IResourceInstance instance,
double starvationLimit) |
boolean |
MultipleQueuesStrategy.isIdle(IResourceInstance instance) |
boolean |
SingleQueueStrategy.isIdle(IResourceInstance instance) |
void |
MultipleQueuesStrategy.move(IActiveProcess process,
IResourceInstance src,
IResourceInstance dest)
Moves the given process from the runqueue of the src instance to the
runqueue of the dest instance.
|
void |
MultipleQueuesStrategy.onSleep(IResourceInstance lastInstance) |
void |
SingleQueueStrategy.onSleep(IResourceInstance lastInstance) |
void |
MultipleQueuesStrategy.registerProcess(IActiveProcess process,
IResourceInstance current) |
void |
SingleQueueStrategy.registerProcess(IActiveProcess process,
IResourceInstance current) |
void |
MultipleQueuesStrategy.setRunningOn(IActiveProcess process,
IResourceInstance instance) |
void |
SingleQueueStrategy.setRunningOn(IActiveProcess process,
IResourceInstance instance) |
Constructor and Description |
---|
MultipleQueuesStrategy(Collection<IResourceInstance> allInstances,
IRunQueue prototypeRunQueue,
IInstanceSelector initialInstanceSelector,
ILoadBalancer loadBalancer,
boolean in_front_when_balancing) |
Modifier and Type | Class and Description |
---|---|
class |
SimResourceInstance |
Modifier and Type | Method and Description |
---|---|
void |
IScheduler.forkNewProcess(IActiveProcess process,
IResourceInstance current)
Registers a new process and adds it to the scheduler's runqueue(s).
|
void |
IScheduler.fromWaitingToReady(WaitingProcess waiting_process,
Deque<de.uka.ipd.sdq.scheduler.processes.IWaitingProcess> waiting_queue,
IResourceInstance current)
Notifies the scheduler, that a process finished its waiting period and
becomes ready for execution.
|
boolean |
IScheduler.isIdle(IResourceInstance instance)
True, if the given resource has no running or pending jobs, otherwise false.
|
void |
IScheduler.registerProcess(IActiveProcess p,
IResourceInstance instance) |
void |
IScheduler.schedule(IResourceInstance instance)
Executes the next processes on the given resource instances.
|
void |
IScheduler.scheduleNextEvent(IResourceInstance instance)
Schedules the next event for the specified resource instance.
|
void |
IScheduler.terminateProcess(IActiveProcess lookUp,
IResourceInstance current) |
Modifier and Type | Method and Description |
---|---|
void |
AbstractScheduler.forkNewProcess(IActiveProcess process,
IResourceInstance current) |
void |
AbstractScheduler.fromWaitingToReady(WaitingProcess waiting_process,
Deque<de.uka.ipd.sdq.scheduler.processes.IWaitingProcess> waitingQueue,
IResourceInstance current) |
boolean |
PreemptiveScheduler.isIdle(IResourceInstance instance) |
void |
AbstractScheduler.registerProcess(IActiveProcess p,
IResourceInstance instance) |
void |
PreemptiveScheduler.schedule(IResourceInstance instance) |
void |
PreemptiveScheduler.scheduleNextEvent(IResourceInstance instance) |
void |
AbstractScheduler.terminateProcess(IActiveProcess process,
IResourceInstance current) |
void |
PreemptiveScheduler.terminateProcess(IActiveProcess process,
IResourceInstance current) |