ЗНАЕТЕ ЛИ ВЫ?

Параметры производительности диска



Скорость вращения диска постоянна. Чтобы выполнить чтение или запись, головка

должна находиться над искомой дорожкой и над началом искомого сектора на этой

дорожке. Выбор дорожки включает в себя перемещение головки (если они подвижны) или

электронные выбор нужной головки (если неподвижны).

В системе с подвижными головками на позиционирование головки над дорожкой

затрачивается время, называемое временем поиска. Затем контроллер диска ожидает

момент, когда начало нужного сектора достигнет головки – это время называется

временем задержки из-за вращения (или время ожидания вращения). Сумма времени

поиска (если он выполняется) и времени ожидания вращения называется временем

доступа.

Когда головка оказывается в нужной позиции, выполняется чтение или запись при

движении сектора под головкой. Таким образом, время операции ввода вывода состоит из

времени ожидания устройства, времени доступа и времени передачи данных.

Время доступа при считывании некоторого блока данных (например, файла) сильно

зависит от его расположения на диске. Если данные размещены компактно, в

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

случае, когда данные случайным образом распределены по разным секторам диска. Таким

образом, порядок чтения секторов оказывает сильное влияние на производительность

ввода-вывода.

Стратегии дискового планирования

Для повышения производительности необходимо уменьшить время, затрачиваемое

на поиск дорожки. В многозадачной системе имеется очередь запросов ввода-вывода от

различных процессов, которые используют один и тот же диск. Допустим система

поддерживает отдельную очередь запросов для каждого устройства.

Если выбирать запросы случайным образом, то искомые дорожки будут

располагаться в произвольном порядке, что приводит к низкой производительности.

Простейшей формой планирования является «первым вошел – первым

вышел»(FIFO), запросы обрабатываются в порядке их поступления. Преимущество

стратегии – в ее беспристрастности. Пусть в очереди находятся запросы к дорожкам: 55,

58, 39, 18, 90, 160, 150, 38, 184, а изначально головка находится на дорожке 100.

Рассмотрим график зависимости времени поиска от последовательности

считывание дорожек.

Такая стратегия может давать неплохие результаты только при малом кол-ве

процессов и запросах к близким группам секторов. При других условиях

производительность сравнима со случайным выбором запроса.

Приоритеты

При этом методе не оптимизируется использование диска, но принимаются в расчет

другие критерии производительности ОС. Коротким заданиям и интерактивным

процессам, как правило, присваивается более высокий приоритет. При данном методе в

первую очередь выбираются запросы тех процессов, приоритет которых выше. Это

позволяет быстро выполнить много коротких заданий и уменьшить время отклика

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

Последним вошел – первым вышел

В данном случае выбираются запросы, поступившие последними. Здесь

используется принцип локализации ( с большей вероятностью недавние запросы будут

запрашивать сектора, близкие к запрошенным ранее). При большой нагрузке на диск

велика вероятность голодания некоторых процессов.

Рассмотри более интеллектуальные стратегии дискового планирования.

SSTF (shortest service time first) – стратегия выбора наименьшего времени

Обслуживания

При такой стратегии из очереди выбирается тот запрос, который требует

наименьшего перемещения головки из ткущей позиции, так минимизируется время

поиска. Однако это не дает гарантии, что среднее время поиска будет минимальным (рис)

SCAN

Эта стратегия позволяет избежать голодания, т.е. такой ситуации, при которой

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

операций ввода-вывода будут постоянно выбираться другие, более новые запросы.

В данном случае перемещение головки может происходить только в одном

направлении, выполняя те запросы, которые соответствуют этому направлению. После

достижения последней дорожки направление меняется на противоположное.

C-SCAN

В этом случае сканирование происходит только в одном направлении. После

достижения последней дорожки головка возвращается на противоположный конец диска,

и сканирование начинается снова. (рис)

 

35. Дисковый кэш. Алгоритмы замещения.

Дисковый кэш

Мы уже знакомы с понятием кэш-памяти – это память находящаяся между

регистрами процесса и основной памятью по производительности, она уменьшает среднее

время доступа к памяти благодаря принципу локализации.

Такой же принцип может применяться к дисковой памяти. Кэш диска – это буфер в

основной памяти, который может содержать несколько секторов диска. При запросе

некоторого сектора, он сначала ищется в КЭШе, и если находится там, то немедленно

возвращается. В противном случае происходит операция ввода-вывода, и сектор

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

снова потребоваться в ближайшем будущем.

При разработке дискового КЭШа возникают следующие вопросы:

1. Если необходимый сектор найден в КЭШе, он может копироваться в область

памяти процесса. Или возможна передача процессу указателя на сектор в

КЭШе, но при этом требуется обеспечение совместного использования КЭШа

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

2. Вопрос стратегии замещения. Если весь кэш заполнен, и необходимо

считывание нового блока с диска, какой блок из КЭШа выбрать для замещения?

Алгоритмы замещения

Наиболее подходящим и распространенным оказался алгоритм замены блока, к

которому дольше всего не было обращений. В этом случае кэш организован в виде

стека. На вершине стека – блок, к которому было последнее обращение. При запросе

блока, он перемещается наверх (используется не прямое перемещение памяти, а стек

указателей). При необходимости замещения, удаляется самый нижний блок стека.

Алгоритм замены блоков, обращение к которым происходи наименее часто.

Каждому блоку в КЭШе назначается счетчик. Изначально ему присваивается значение 1. С

каждым обращением счетчик увеличивается на 1. При замещении выбирается блок с

наименьшим счетчиком. Недостаток – удаление из КЭШа блоков, которые используются

относительно редко, но промежуток между обращениями к ним небольшой вследствие

локализации.

Замещение, основанное на частоте обращений. Блоки организованы в виде стека.

Часть блоков верхней части стека – новый раздел. При успешном обращении к КЭШу

нужный блок перемещается наверх. Если блок уже находился в новом разделе, его счетчик

не меняется, иначе счетчик увеличивается на 1. Счетчики блоков, к которым происходят

частые обращения за короткий промежуток времени, останутся неизменными. Если

запрошен блок, которого нет в КЭШе, для замены выбирается блок с наименьшим

счетчиком

 

 





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.216.79.60 (0.01 с.)