Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

I-02

.pdf
Скачиваний:
9
Добавлен:
18.03.2015
Размер:
469.89 Кб
Скачать

Страница 1 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

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

Дисциплины планирования – требования, показатели, классификация

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

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

выполнение процесса завершилось;

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

Страница 2 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

выполнение прервано системой.

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

Для оценки эффективности функционирования данной системы массового обслуживания могут быть применены количественные показатели. Обозначим через t – процессорное время, необходимое процессу для выполнения (будем его называть длительностью процесса). Обозначим через T – общее время пребывания процесса в системе. Эту величину – интервал между моментом ввода процесса в систему и моментом получения результатов – также называют иногда временем реакции процесса. Наряду с временем реакции могут быть полезны также и другие показатели.

Потерянное время

M = T - t;

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

Отношение реактивности

R = t / T;

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

Штрафное отношение

P = T / t;

Страница 3 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

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

Средние значения величин T, M, R и P могут служить количественными показателями эффективности. Реальные системы, как правило, ориентированы на конкретные характеристики процессов, в частности, на определенные диапазоны значений t, поэтому указанные показатели удобно рассматривать как функции длительности процесcа: T(t), M(t), R(t), P(t).

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

дисциплина должна быть справедливой – она не должна давать преимуществ одним процессам за счет других и ни в коем случае не должна допускать бесконечного откладывания процессов;

дисциплина должна обеспечивать максимальную пропускную способность системы – выполнение максимального количества единиц работы (процессов) в единицу времени;

дисциплина должна обеспечивать приемлемое время реакции для интерактивных пользователей;

дисциплина должна обеспечивать гарантированное время реакции для процессов реального времени;

дисциплина должна быть предсказуемой – дисперсия времен выполнения процессов, обладающих одинаковыми характеристиками, должна быть минимальной;

дисциплина должна учитывать внешние приоритеты, присваиваемые процессам пользователями и/или администратором системы;

накладные расходы по реализации дисциплины (затраты процессорного времени и других ресурсов) должны быть минимизированы;

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

Страница 4 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

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

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

С точки зрения реализации дисциплины планирования подразделяются, прежде всего, на дисциплины вытесняющие (preemptive) и невытесняющие (nonpreemptive), иначе – кооперативные (cooperative). Для первых возможно прерывание активного процесса и лишение его ресурса ЦП по инициативе планировщика, для вторых – нет. Дисциплины с вытеснением выполняют более частые переключения процессов, следовательно, имеют большие накладные расходы. Но в большинстве случаев только дисциплины с вытеснением могут обеспечить требуемые показатели справедливости обслуживания.

Страница 5 из 26 ПЛАНИРОВАНИЕ ПРОЦЕССОВ

Другие размерности классификации дисциплин связаны со способами определения и реализации приоритетов процессов. Различают приоритеты:

внешние или внутренние – первые назначаются администратором системы или пользователем, вторые определяются самой системой по характеристикам процесса;

статические или динамические – первые определяются при поступлении процесса в систему и не изменяются впоследствии, вторые перевычисляются планировщиком периодически или/и при событиях, влияющих на планирование процессов;

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

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

Страница 6 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

Пусть процесс использовал S единиц времени ЦП до перехода в ожидание ввода-вывода. Тогда прогноз на следующий интервал времени ЦП, который понадобится процессу, может быть сделан так:

E' = W1 * E + W2 * S,

где E – прогноз, сделанный на предыдущем интервале для текущего интервала, W1 и W2 – весовые коэффициенты, подбираемые так, что

W1 + W2 = 1.

При изменении соотношения весовых коэффициентов в сторону увеличения W2 прогноз становится более реактивным (более чувствительным к изменению поведения процесса), в обратную сторону – более инерционным.

Базовые дисциплины планирования

Ниже приводятся описания некоторых базовых дисциплин планирования. Эти дисциплины достаточно просты в реализации и хорошо исследованы методами как аналитического, так и имитационного моделирования. Мы называем их базовыми, поскольку в реальных системах они служат основой для построения более сложных и гибких модификаций и комбинаций, для которых аналитические модели построить, как правило, невозможно.

FCFS (first come – first serve; первым пришел – первым обслуживается) – простейшая дисциплина, работа которой понятна из ее названия. Это дисциплина без вытеснения, то есть процесс, выбранный для выполнения на ЦП, не прерывается, пока не завершится (или не перейдет в состояние ожидания по собственной инициативе). Как дисциплина без вытеснения FCFS обеспечивает минимум накладных расходов. Среднее потерянное время при применении этой дисциплины не зависит от длительности процесса, но штрафное отношение при равном потерянном времени будет большим для коротких процессов. Поэтому дисциплина FCFS считается лучшей для длинных процессов. Существенным достоинством этой дисциплины наряду с ее простотой является то обстоятельство, что FCFS гарантирует отсутствие

Страница 7 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

бесконечного откладывания процессов: любой поступивший в систему процесс будет в конце концов выполнен независимо от степени загрузки системы.

На рисунке показан пример планирования по дисциплине FCFS для трех процессов – A, B и C. На временной диаграмме каждый прямоугольник представляет интервал времени, в течение которого процесс находится в системе. Над верхним левым углом такого прямоугольника указан идентификатор процесса, а в скобках – его длительность. Незатемненные участки соответствуют активному состоянию процесса, затемненные – состоянию ожидания. Процесс A поступает в момент времени 0 и требует для выполнения 6 единиц процессорного времени. ЦП в этот момент свободен, и процесс A сразу же активизируется. В момент времени 2 поступает процесс B, требующий 11 единиц. Поскольку ЦП занят процессом A, процесс B ожидает в очереди готовых процессов до момента 6, когда процесс A закончится и освободит ЦП. Только после этого процесс B начинает выполняться. Пока процесс B выполняется, поступают еще два процесса: C – в момент времени 8 и D – в момент 10, которые ждут завершения процесса B. Когда процесс B завершится, ЦП будет отдан процессу C, поступившему раньше, а процесс D остается в ожидании. В линейке, расположенной под временной шкалой, указаны идентификаторы процессов, активных в данный момент времени. Читатель может сам определить показатели эффективности планирования – для каждого процесса и усредненные. Следует, однако, предупредить, что к усредненным показателям надо относиться с осторожностью, так как достоверными могут считаться только результаты, полученные на статистически значимой выборке.

Страница 8 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

RR (round robin – карусель) – простейшая дисциплина с вытеснением. Процесс получает в свое распоряжение ЦП на некоторый квант времени Q (в простейшем случае размер кванта фиксирован). Если за время Q процесс не завершился, он вытесняется из ЦП и направляется в конец очереди готовых процессов, где ждет выделения ему следующего кванта, и т.д. Показатели эффективности RR существенно зависят от выбора величины кванта Q. RR обеспечивает наилучшие показатели, если длительность большинства процессов приближается к размеру кванта, но не превосходит его. Тогда большинство процессов укладываются в один квант и не становятся в очередь повторно. При величине кванта, стремящейся к бесконечности, RR вырождается в FCFS. При Q, стремящемся к 0, накладные расходы на переключение процессов возрастают настолько, что поглощают весь ресурс ЦП. RR обеспечивает наилучшие показатели справедливости: штрафное отношение P на большом участке длительностей процессов t остается практически постоянным. Только на участке t<Q штрафное отношение начинает изменяться и при уменьшении t от Q до 0 возрастает экспоненциально. Потерянное же время M существенно растет с увеличением длительности процесса.

На рисунке показаны примеры планирования по дисциплине RR с разными величинами кванта Q=1 (рисунок а) и Q=4 (рисунок б). Рассмотрим подробнее

Страница 9 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

работу на начальном временном участке рисунка 2.3.а. Процесс A поступает в момент времени 0 и получает квант времени ЦП. К моменту окончания кванта в очереди уже есть процесс B. Процесс A отправляется в очередь, а следующий квант получает процесс B. В момент времени 2 процесс B направляется в очередь, а из очереди выбирается процесс A. В этот же момент поступает новый процесс C. Этот процесс ставится в конец очереди, а первым в очереди стоит процесс A, поэтому следующий квант отдается процессу A и т.д. Предоставляем читателю самостоятельно закончить рассмотрение этого примера, а также примера, показанного на рисунке 2.3.б.

SJN (shortest job next – самая короткая работа – следующая)

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

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

Страница 10 из 26

ПЛАНИРОВАНИЕ ПРОЦЕССОВ

Пример планирования по этой дисциплине показан на рисунке Поступивший в момент времени 0 процесс A захватывает ЦП. Процесс B, поступивший в момент 1, вынужден ждать освобождения ЦП процессом A, хотя процесс B и более короткий. К моменту 6 (освобождения ЦП) из двух имеющихся в очереди процессов (B и C) выбирается более короткий процесс B. Процесс C получает ЦП только в момент времени 9, когда заканчивается процесс B. Когда в момент времени 16 процесс C освобождает ЦП, из двух имеющихся в очереди процессов выбирается более короткий процесс E, хотя он поступил позже, чем процесс D.

PSJN (preemptive SJN – SJN с вытеснением) – текущий активный процесс прерывается, если его оставшееся время выполнения больше, чем у новоприбывшего процесса. Дисциплина обеспечивает еще большее предпочтение коротким процессам перед длинными. В частности, в ней устраняется то возрастание штрафного отношения для самых коротких процессов, которое имеет место в SJN.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]