OS Background
CFS is an implementation of a well-studied, classic scheduling algorithm called weighted fair queuing.
Originally invented for packet networks, fair queuing had been previously applied to CPU scheduling under the name stride scheduling. However, CFS uses different terminology than normally applied to fair queuing. "Service error" (the amount in which a process's obtained CPU share differs from its expected CPU share) is called "wait_runtime" in Linux's implementation, and the term "queue virtual time" (QVT) was given the name "fair_clock".
The fair queuing CFS scheduler has a scheduling complexity of O(log N), where N is the number of tasks in the runqueue. Choosing a task can be done in constant time, but reinserting a task after it has run requires O(log N) operations, because the runqueue is implemented as a red-black tree.
CFS is the first implementation of a fair queuing process scheduler widely used in a general-purpose operating system.
Read more about this topic: Completely Fair Scheduler
Famous quotes containing the word background:
“I had many problems in my conduct of the office being contrasted with President Kennedys conduct in the office, with my manner of dealing with things and his manner, with my accent and his accent, with my background and his background. He was a great public hero, and anything I did that someone didnt approve of, they would always feel that President Kennedy wouldnt have done that.”
—Lyndon Baines Johnson (19081973)