Скачиваний:
68
Добавлен:
04.04.2013
Размер:
117.25 Кб
Скачать

12.2 Почему необходимо планирование

В мультипрограммных вычислительных системах одновременно выполняется много процессов, которые могут генерировать запросы на обращения к дискам. Поскольку эти процессы чаще всего делают запросы гораздо быстрее, чем их обслуживают дисковые устройства с перемещающимися головками, то для каждого устройства формируется очередь запросов. В некоторых вычислительных системах эти запросы обслуживаются в порядке поступления, т. е. по принципу «первый пришедший обслуживается первым» (FIFO — first-in-first-out). Принцип FIFO является справедливым методом предоставления услуг, однако при повышении частоты запросов (т. е. нагрузки) он может приводить к очень большим задержкам.

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

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

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

Рис. 12.3 Случайная картина поисков цилиндров при обслуживании запросов по принципу FIFO. Номера указывают порядок, в котором поступали запросы.

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

12.3 Целевые характеристики принципов планирования

Можно выделить следующие критерии принципов планирования на категории существуют и некоторые другие критерии:

  • пропускная способность,

  • среднее время ответа,

  • разброс, или дисперсия времен ответа (т.е. предсказуемость).

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

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

Одним из важных количественных показателей для оценки этого явления может служить разброс, или дисперсия времен ответа. Дисперсия — это мера того, насколько далеко значения индивидуальных элементов могут отклоняться от среднего значения для этих элементов. В связи с этим мы используем дисперсию как показатель предсказуемости — чем меньше дисперсия, тем больше предсказуемость. Нам необходима такая стратегия планирования, которая бы минимизировала дисперсию. В противном случае может оказаться так, что время обслуживания определенных запросов просто нельзя будет предсказать. А это недопустимо, например, для системы резервирования авиационных билетов, где быстрый ответ может содействовать продаже билета или гарантировать, что пассажир успеет на нужный самолет. Если бы стратегия планирования была направлена только на достижение максимальной пропускной способности без одновременной минимизации дисперсии, она могла бы обрабатывать только удобные для обслуживания запросы, а какие-то полностью игнорировать. Разработчик должен учитывать, что подобная ситуация возможна.

Соседние файлы в папке Лекции 9-12rar