Work-conserving Scheduler
   HOME

TheInfoList



OR:

In computing and communication systems, a work-conserving scheduler is a
scheduler A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible task (project management), tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order ...
that always tries to keep the scheduled resource(s) busy, if there are submitted jobs ready to be scheduled. In contrast, a non-work conserving scheduler is a scheduler that, in some cases, may leave the scheduled resource(s)
idle Idle generally refers to idleness, a lack of motion or energy. Idle or ''idling'', may also refer to: Technology * Idle (engine), engine running without load ** Idle speed * Idle (CPU), CPU non-utilisation or low-priority mode ** Synchronous ...
despite the presence of jobs ready to be scheduled. For example, when dealing with networking and packet scheduling, a work-conserving scheduler leaves the channel idle only when there are no packets to transmit, whereas a non-work conserving scheduler might leave the channel idle with packets still pending
transmission Transmission may refer to: Medicine, science and technology * Power transmission ** Electric power transmission ** Propulsion transmission, technology allowing controlled application of power *** Automatic transmission *** Manual transmission *** ...
. Similarly, when referring to CPU scheduling, i.e. threads or processes scheduled over one or more available
processors A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
or cores, a work-conserving scheduler ensures that processors/cores are not idle if there are processes/threads ready for
execution Capital punishment, also known as the death penalty, is the State (polity), state-sanctioned practice of deliberately killing a person as a punishment for an actual or supposed crime, usually following an authorized, rule-governed process to ...
. Non-work conserving schedulers are sometimes useful to enhance
predictability Predictability is the degree to which a correct prediction or forecast of a system's state can be made, either qualitatively or quantitatively. Predictability and causality Causal determinism has a strong relationship with predictability. Perf ...
and reduce termination jitter for the activities carried out by a computing and communication system. In
multi-processor Multiprocessing is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. There ar ...
systems they're useful to enhance performance in some scenarios.
J. C. Sáez, J. I. Gomez and M. Prieto, "Improving Priority Enforcement via Non-Work-Conserving Scheduling," Parallel Processing, 2008. ICPP '08. 37th International Conference on, Portland, OR, 2008, pp. 99-106. Sometimes, a non-work conserving scheduler may be useful to enhance stability of a system; For example, a process scheduler may choose to keep processes off of the run queue if there were concern that the sum of the working sets of all of the runnable processes would exceed available memory and lead to non-linear page thrashing overhead. Limiting the run queue in this manner might lead to under-utilization of available processors (and hence be non-work conserving) with the goal of avoiding situations where the system is unusable due to thrashing.


References

{{Reflist, 30em Job scheduling