Least slack time (LST) scheduling is an
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
for
dynamic priority scheduling
Dynamic priority scheduling is a type of scheduling algorithm in which the priorities are calculated during the execution of the system. The goal of dynamic priority scheduling is to adapt to dynamically changing progress and to form an optimal co ...
. It assigns priorities to processes based on their ''slack time''. Slack time is the amount of time left after a job if the job was started now. This algorithm is also known as least laxity first. Its most common use is in
embedded systems
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
, especially those with multiple processors. It imposes the simple constraint that each process on each available processor possesses the same run time, and that individual processes do not
have an affinity to a certain processor. This is what lends it a suitability to embedded systems.
Slack time
This scheduling algorithm first selects those processes that have the smallest "slack time". Slack time is defined as the temporal difference between the deadline, the ready time and the run time.
More formally, the ''slack time''
for a process is defined as:
where
is the process deadline,
is the real time since the cycle start, and
is the remaining computation time.
Applications
In realtime scheduling algorithms for periodic jobs, an acceptance test is needed before accepting a sporadic job with a hard deadline. One of the simplest acceptance tests for a sporadic job is calculating the amount of slack time between the release time and deadline of the job.
Suitability
LST scheduling is most useful in systems comprising mainly aperiodic tasks, because no prior assumptions are made on the events' rate of occurrence. The main weakness of LST is that it does not look ahead, and works only on the current system state. Thus, during a brief overload of system resources, LST can be suboptimal. It will also be suboptimal when used with uninterruptible processes. However, like
earliest deadline first, and unlike
rate monotonic scheduling, this algorithm can be used for processor utilization up to 100%.
See also
*
Earliest deadline first scheduling
Earliest deadline first (EDF) or least time to go is a dynamic priority scheduling algorithm used in real-time operating systems to place processes in a priority queue. Whenever a scheduling event occurs (task finishes, new task released, etc.) ...
- a different algorithm for dynamic priority scheduling, which guarantees optimal throughput.
{{DEFAULTSORT:Least Slack Time Scheduling
Processor scheduling algorithms