Работает ли ionice с планировщиком сроков?


13

Мои системы Debian Wheezy используют deadlineпланировщик. Я привык использовать ioniceперепланирование приоритета ввода / вывода для работ с большим количеством дисков в загруженное время, и, по-видимому, это помогает (но у меня нет никаких веских доказательств).

Страница ioniceруководства , документация по ядру и этот документ OpenSUSE предполагают, что только cfqпланировщик принимает во внимание ioniceвмешательства. Они прямо не заявляют, что другие планировщики игнорируют это, но упоминают только одно cfq.

В частности deadline, работают ли другие планировщики ionice?

Ответы:


12

ioniceявляется механизмом для определения приоритетов. Но deadlineигнорирует приоритеты и вместо этого просто накладывает время истечения на каждую операцию ввода-вывода, а затем гарантирует, что операция завершится успешно, прежде чем истечет время истечения.

Более подробная информация здесь: планировщик ввода-вывода Deadline

Основная цель планировщика Deadline - гарантировать время начала обслуживания для запроса. Это достигается путем установления крайнего срока для всех операций ввода-вывода, чтобы предотвратить голодание запросов. Он также поддерживает две крайние сроки в дополнение к отсортированным очередям (как чтение, так и запись). Очереди крайнего срока в основном сортируются по крайнему сроку (времени истечения), в то время как отсортированные очереди сортируются по номеру сектора.

Перед обслуживанием следующего запроса планировщик крайнего срока решает, какую очередь использовать. Очереди чтения имеют более высокий приоритет, поскольку процессы обычно блокируют операции чтения. Затем планировщик крайнего срока проверяет, истек ли первый запрос в очереди крайнего срока. В противном случае планировщик обслуживает пакет запросов из отсортированной очереди. В обоих случаях планировщик также обслуживает пакет запросов после выбранного запроса в отсортированной очереди.

По умолчанию запросы на чтение имеют срок действия 500 мс, запросы на запись истекают через 5 секунд.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.