StrictFCFSScheduler
A strict First-Come-First-Served Scheduler.
Starts all tasks whose resources are currently idle, in order of arrival in the queue.
Considers resources of earlier tasks as busy even if they are not. This means that idle resources may be blocked by tasks earlier in the queue that cannot start yet.
Ignores creation time. Only cares about order in the queue.
- Value Params
- initialTasks
Initial TaskInstances in the queue, if any.
Value members
Inherited methods
Adds a TaskInstance to be scheduled.
Adds a TaskInstance to be scheduled.
- Definition Classes
- Inherited from
- QueueScheduler
Adds an Task described by an (ID,time) pair to the list of completed IDs
Adds an Task described by an (ID,time) pair to the list of completed IDs
- Value Params
- id
The ID to be added
- time
The time at which the task completed
- Returns
A LookaheadStructure with this (ID,time) pair added to the list of completed tasks
- Inherited from
- Scheduler
Finds the Tasks that can be started now.
Finds the Tasks that can be started now.
Goes through the priority list of tasks and returns those whose resources are idle (even after any queued higher priority task).
- Value Params
- idleResources
The map of idle TaskResources.
- result
The accumulated TaskInstances so far (for tail recursion).
- tasks
The set of TaskInstances that need to start.
- Returns
The sequence of TaskInstances to start now.
- Inherited from
- StrictScheduler
Retrieves an iterable collection of queued TaskInstances.
Retrieves an iterable collection of queued TaskInstances.
- Definition Classes
- Inherited from
- QueueScheduler
Checks if a named TaskResource is idle.
Checks if a named TaskResource is idle.
- Value Params
- r
The name of the TaskResource.
- resourceMap
The map of available TaskResources.
- Returns
true if the resource is idle, false otherwise.
- Inherited from
- Scheduler
Checks if all Tasks have been scheduled.
Checks if all Tasks have been scheduled.
- Definition Classes
- Inherited from
- QueueScheduler
Removes the lookahead structure associated with the given actor.
Removes the lookahead structure associated with the given actor.
- Value Params
- actor
The actor corresponding to the lookahead structure.
- Inherited from
- Scheduler
Removes all TaskInstances belonging to an (presumably aborted) simulation.
Removes all TaskInstances belonging to an (presumably aborted) simulation.
- Definition Classes
- Inherited from
- QueueScheduler
Removes a TaskInstance that no longer needs scheduling.
Removes a TaskInstance that no longer needs scheduling.
- Definition Classes
- Inherited from
- QueueScheduler
Sets the lookahead structure for the specified actor.
Sets the lookahead structure for the specified actor.
- Value Params
- actor
The actor that created this lookahead structure.
- obj
The lookahead structure.
- Inherited from
- Scheduler
Inherited fields
A queue of tasks that need to be run.
A queue of tasks that need to be run.
- Inherited from
- QueueScheduler