CFQ

CFQ

Completely Fair Queuing (CFQ) is an I/O scheduler for the Linux kernel which was written in 2003 by Jens Axboe.

Contents

Description

CFQ places synchronous requests submitted by processes into a number of per-process queues and then allocates timeslices for each of the queues to access the disk. The length of the time slice and the number of requests a queue is allowed to submit depends on the IO priority of the given process. Asynchronous requests for all processes are batched together in fewer queues, one per priority. While CFQ does not do explicit anticipatory IO scheduling, it achieves the same effect of having good aggregate throughput for the system as a whole, by allowing a process queue to idle at the end of synchronous IO thereby "anticipating" further close IO from that process. It can be considered a natural extension of granting IO time slices to a process.

History

Prior to the integration

In February 2003 Andrea Arcangeli put forward his idea for a Stochastic Fair Queueing I/O scheduler to Jens Axboe who then implemented it. Jens Axboe made improvements to his first implementation, calling the new version the Completely Fair Queueing scheduler, and produced a patch to apply it to the 2.5.60 development series kernel.

Kernel 2.6.6 (10 May 2004)

The CFQ I/O scheduler was first integrated into the mainline kernel as an optional I/O scheduler. It is possible to change the scheduler at boot time with the 'elevator' parameter to kernel.

Kernel 2.6.9 (19 October 2004)

Red Hat Enterprise Linux 4 used this I/O scheduler as the default even though it used a kernel based on a 2.6.9.[1]

Kernel 2.6.10 (24 December 2004)

The second release of the CFQ scheduler dubbed CFQv2 is included in the 2.6.10, improvements include better responsiveness and the elimination of some starvation issues which were present in the earlier version. The scheduler now is also switchable at run time by modifying the /sys/block/<block_device>/queue/scheduler variable in the sysfs filesystem.

Kernel 2.6.13 (27 June 2005)

CFQ scheduler moved to a new time sliced design dubbed CFQv3. Among other things, it implements ioprio_get(2) and ioprio_set(2) which allows user to set per-process I/O priorities, usually using ionice(1) command (although using nice(1) also modifies I/O priorities somewhat)

Kernel 2.6.18 (20 September 2006)

CFQ became the default scheduler, replacing the anticipatory scheduler.

Other I/O schedulers

References

Sources



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • CFQ — Completely Fair Queuing Le Completely Fair Queuing (File d attente complètement équitable en anglais), ou CFQ, est un ordonnanceur de tâches d E/S pour le noyau Linux et écrit par Jens Axboe. CFQ fonctionne en plaçant les requêtes synchrones… …   Wikipédia en Français

  • CFQ — Cai filia Quintus, Cai filius Quirina …   Abbreviations in Latin Inscriptions

  • CFQ — abbr. Cash For Questions …   Dictionary of abbreviations

  • Yap Soon-Yeong — Master Yap Soon Yeong, or Sifu, is a healer and meditation teacher based in Penang, Malaysia. He is the founder of a system of qigong and meditation called Chaoyi Fanhuan Qigong, or CFQ for short. His remarkable healing record is chronicled in… …   Wikipedia

  • Complete Fair Queuing — Completely Fair Queuing Le Completely Fair Queuing (File d attente complètement équitable en anglais), ou CFQ, est un ordonnanceur de tâches d E/S pour le noyau Linux et écrit par Jens Axboe. CFQ fonctionne en plaçant les requêtes synchrones… …   Wikipédia en Français

  • Completely Fair Queuing — Le Completely Fair Queuing (File d attente complètement équitable en anglais), ou CFQ, est un ordonnanceur de tâches d E/S pour le noyau Linux et écrit par Jens Axboe. CFQ fonctionne en plaçant les requêtes synchrones soumises par les processus… …   Wikipédia en Français

  • SAF Tehnika — Infobox Company company name = SAF Tehnika AS company company type = [http://en.wikipedia.org/wiki/Joint Stock Company JSC] , Public OMX foundation = 1999 location = flagicon|Latvia Riga, Latvia industry = Wireless equipment manufacturer products …   Wikipedia

  • Plaque d'immatriculation belge — Plaques d immatriculation belge Les plaques d immatriculation en Belgique sont assignées à une personne physique ou à une personne morale (entreprise). Sommaire 1 Description …   Wikipédia en Français

  • Operating system-level virtualization — is a server virtualization method where the kernel of an operating system allows for multiple isolated user space instances, instead of just one. Such instances (often called containers, VEs, VPSs or jails) may look and feel like a real server,… …   Wikipedia

  • Cinefantastique — Cover of the Winter 1977 issue (Vol. 6 No. 3) of Cinefantastique Editor Frederick S. Clarke Categories Film Frequency Quarterly …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”