AccueilđŸ‡«đŸ‡·Chercher

Deadline scheduler

Le Deadline scheduler (« ordonnanceur sur échéance » en français) est un ordonnanceur d'E/S pour le noyau Linux écrit par Jens Axboe.

Vue d'ensemble

Le but du Deadline scheduler est de tenter de garantir un temps de rĂ©ponse Ă  une requĂȘte[1]. Cela est rĂ©alisĂ© en imposant une Ă©chĂ©ance Ă  chaque opĂ©ration d'E/S afin d'Ă©viter une pĂ©nurie de ressources. Il gĂšre deux files FIFO d'Ă©chĂ©ances en plus des files de requĂȘtes (une de lecture, une d'Ă©criture). Les files d'Ă©chĂ©ances sont triĂ©es par date d'expiration des Ă©chĂ©ances, tandis que les files de requĂȘtes sont triĂ©es par numĂ©ro de secteur sur le disque de stockage.

Avant de traiter une requĂȘte, l'ordonnanceur dĂ©cide quelle file utiliser. Les files de lecture ont une plus forte prioritĂ©, car les processus sont le plus souvent en attente sur des opĂ©rations de lecture. Ensuite, l'ordonnanceur vĂ©rifie si la premiĂšre requĂȘte dans la file d'Ă©chĂ©ances a expirĂ©, et la traite le cas Ă©chĂ©ant. Sinon, l'ordonnanceur traite un groupe de requĂȘtes de la liste choisie. Dans les deux cas, l'ordonnanceur traite Ă©galement un groupe de requĂȘtes suivant celle choisie dans la liste. Ceci permet d'assurer au mieux les temps de rĂ©ponse aux requĂȘtes, tout en groupant ces derniĂšres suivant les secteurs des disques Ă  atteindre.

Par dĂ©faut, les requĂȘtes de lecture ont une Ă©chĂ©ance de 500 millisecondes, et les requĂȘtes d'Ă©critures ont secondes.

La documentation du noyau conseille l'utilisation de cet ordonnanceur pour les systÚmes de base de données, spécialement dans les cas de systÚmes à disques de hautes performances ou d'utilisation de disques supportant la technologie TCQ[2].

RĂ©glage

Chaque file d'E/S possÚde un ensemble de réglages d'ordonnancement qui lui est associée. Ces réglages contrÎlent le comportement de l'ordonnanceur d'E/S. Ces réglages sont accessibles dans : /sys/block/périphérique/queue/iosched en supposant que sysfs est monté sur /sys.

Autres ordonnanceurs d'E/S

Sources

Notes

  1. Jens Axboe, Deadline IO scheduler tunables, Nov 11, 2002
  2. « Linux IO Scheduler » (consulté le )
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.