Harmonogram terminów

Scheduler termin ( „harmonogram na dojrzałości” w języku francuskim) jest scheduler z I / O dla jądra systemu Linux napisane przez Jensa Axboe .

Przegląd

Celem harmonogramu terminów jest próba zagwarantowania czasu odpowiedzi na żądanie. Osiąga się to poprzez nałożenie terminu na każdą operację we / wy, aby uniknąć niedoboru zasobów. Oprócz kolejek żądań zarządza dwiema kolejkami terminów FIFO (jedna do odczytu, druga do zapisu). Daty ukończenia są sortowane według terminu, podczas gdy kolejki żądań są sortowane według numeru sektora na dysku.

Przed przetworzeniem żądania program planujący decyduje, której kolejki użyć. Kolejki odczytu mają wyższy priorytet, ponieważ procesy częściej czekają na operacje odczytu. Następnie program planujący sprawdza, czy pierwsze żądanie w wierszu harmonogramu wygasło iw razie potrzeby przetwarza je. W przeciwnym razie program planujący przetwarza grupę żądań z wybranej listy. W obu przypadkach planista przetwarza również grupę żądań zgodnie z wybraną z listy. Dzięki temu możliwe jest zapewnienie najlepszych czasów odpowiedzi na żądania, przy jednoczesnym grupowaniu ich według sektorów dysków, do których mają dotrzeć.

Domyślnie termin ostateczny żądań odczytu wynosi 500  milisekund , a żądania zapisu - 5  sekund .

Dokumentacja jądra zaleca użycie tego harmonogramu dla systemów baz danych , szczególnie w przypadku wysokowydajnych systemów dyskowych lub dysków obsługujących technologię TCQ .

Oprawa

Z każdą kolejką we / wy jest powiązany zestaw ustawień planowania. Te ustawienia sterują działaniem programu planującego we / wy. Te ustawienia można znaleźć w: zakładając, że sysfs jest zamontowany . /sys/block/périphérique/queue/iosched/sys

Inne programy planujące I / O

Źródła

Uwagi

  1. Jens Axboe, Dostrajanie harmonogramu terminów wejścia / wyjścia, 11 listopada 2002
  2. „  Linux IO Scheduler  ” (dostęp 10 sierpnia 2007 )