Опережающее планирование является алгоритм для планирования жесткого диска вход / выход ( планирования ввода / вывода ). Он направлен на повышение эффективности использования диска за счет «прогнозирования» будущих операций синхронного чтения.
Планирование ввода / вывода
«Обманчивое бездействие» - это ситуация, когда кажется, что процесс завершил чтение с диска, когда он фактически обрабатывает данные при подготовке к следующей операции чтения. Это приведет к тому, что обычный планировщик ввода-вывода, сохраняющий работу, переключится на обслуживание ввода-вывода из несвязанного процесса. Эта ситуация отрицательно сказывается на пропускной способности синхронного чтения, так как превращается в рабочую нагрузку поиска. [1] Упреждающее планирование преодолевает обманчивое бездействие, делая паузу на короткое время (несколько миллисекунд) после операции чтения в ожидании других ближайших запросов чтения. [2]
Упреждающее планирование позволяет значительно улучшить использование диска для некоторых рабочих нагрузок. [3] В некоторых ситуациях веб-сервер Apache может увеличить пропускную способность до 71% за счет использования упреждающего планирования. [4]
Linux упреждающий планировщик может привести к снижению производительности на дисках с помощью Tagged Command Queuing (TCQ), высокие диски производительности и аппаратные RAID массивы. [5] Упреждающий планировщик (AS) был планировщиком ядра Linux по умолчанию между 2.6.0 и 2.6.18, к тому времени он был заменен планировщиком CFQ .
Начиная с версии ядра 2.6.33, планировщик Anticipatory был удален из ядра Linux. [6] Причина в том, что, несмотря на то, что планировщик полезен, эффекты планировщика могут быть достигнуты за счет настроенного использования других планировщиков (в основном CFQ, который также можно настроить на режим ожидания с помощью настраиваемого slice_idle ). [7] Поскольку упреждающий планировщик добавил накладные расходы на обслуживание, но не улучшил покрытие рабочей нагрузки ядра Linux, его сочли избыточным.
Смотрите также
Рекомендации
- ^ Айер, Ситарам. «Влияние обманного бездействия на планировщики дисков» . Проверено 20 апреля 2010 . Цитировать журнал требует
|journal=
( помощь ) - ^ Мортон, Эндрю (2003-01-23). «2.5.59-мм5» . linux-kernel, linux-mm (список рассылки). Архивировано 15 июня 2007 года . Проверено 23 мая 2007 .
- ^ Мортон, Эндрю (20 февраля 2003 г.). «Тестирование планировщика ввода-вывода» . linux-kernel (список рассылки). Архивировано 2 июня 2007 года . Проверено 23 мая 2007 .
- ^ Айер, Ситарам; Друщель, Питер (2001-06-06). «Предварительное планирование: структура дискового планирования для преодоления ложного простоя при синхронном вводе-выводе» . 18-й симпозиум ACM по принципам операционных систем . Проверено 20 апреля 2010 .
- ^ Пиггин, Ник (13 сентября 2003). "as-iosched.txt" . Документация ядра Linux . Проверено 20 апреля 2010 .
- ^ «Linux 2 6 33 - новички в ядре Linux» .
- ^ «Документация ядра CFQ» .