The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Во FreeBSD появился 'упреждающий' дисковый планировщик"
Отправлено zuborg, 21-Янв-09 20:38 
Премного благодарю за обьяснение, сударь (или мсье?)
Позвольте обратить Ваше внимание на следующий момент:
В любой момент времени для даной очереди запросов к даному устройству есть только один активный запрос (который сейчас отрабатывает механика устройства).
Все остальные запросы ждут своей очереди в очереди устройства (хардварной очереди самого устройства если это например scsi-винт или рейд или софтовой очереди драйвера устройства, например ata() для каждого канала держит свою очередь)

Задержка отправки запроса на устройство приводит к тому, что его в очереди самого устройства не будет вообще эти 2-5ms.

А теперь рассмотрим последовательное выполнение запросов из очереди в порядке возрастания offset каждого bio
пусть в очереди лежат запросы ... , A < B, ...

пришел запрос Y , такой что A < Y < B - мы отложили этот запрос Y в надежде что появится другой перед ним, не шлем его драйверу устройства

но допустим что нагрузка есть, очередь устройства не пуста, драйвер шлет запросы из нее по одному, и вот он выполнил последний запрос A у которого offset меньше чем у запроса Y

что теперь ?
теперь драйвер пошлет устройству запрос B у которого offset больше A
даже если теперь положить Y в очередь - ему придется ждать полного цикла пока очередь опять дойдет к нему.

Даже если после выполнения A появится запрос X, который имеет offset A < X < Y < B - его уже бесполезно слать вместе с Y устройству в его очередь, поскольку устройство уже занято B

Согласен, что если X появится до выполнения A, то его можно успеть положить с Y вместе в очередь и оптимальный порядок нарушен не будет, но это произошло бы и в том случае если бы мы вообще не вводили никаких задержек.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру