Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KS_LK_AllInOne.docx
Скачиваний:
175
Добавлен:
23.11.2019
Размер:
28.78 Mб
Скачать

3.8. Характеристики дисциплин обслуживания со смешанными приоритетами

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

Рис. 3.20. Время ожидания в системах с двумя классами приоритетов

Дисциплины обслуживания с не­сколькими классами приоритетов. Пусть в систему поступает М типов заявок. Если заявки обслуживать без приоритетов (дисциплина FIFO), то для заявок типа 1, ..., M1 среднее время ожидания может ока­заться недопустимо большим (рис. 3.20, а). Если перейти к дисциплине с относительными приоритетами (кри­вая ОП), то для заявок типа 1, ..., M1 положение исправляется, но вре­мена ожидания заявок с низкими приоритетами превышают предельно допустимые значения. Если заявкам типа 1, ..., М1 присвоить относи­тельные приоритеты 1, .. ., M1 а за­явки типа М1+1, ..., М обслужи­вать без приоритетов, то среднее время ожидания соответствует кривой СП (рис. 3.20, а) и, возможно, удовлетворяет заданным ограничениям.

Случаи использования других смешанных дисциплин обслужива­ния иллюстрируются рис. 3.20, б и 3.21.

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

Рассмотрим смешанную дисциплину обслуживания с тремя клас­сами заявок, когда заявкам типа 1, ..., М1 присвоены абсолютные приоритеты, заявкам М1+1, ..., М1+M2— относительные приори­теты, а заявки М1+M2+1, ..., М обслуживаются на основе бесприоритетной дисциплины, т. е. в порядке поступления (рис. 3.21). Таким образом, в j-м классе находится Мj типов заявок, причем M1+M2+M3=M, где М—общее число типов заявок в системе. Будем иметь в виду, что все заявки первого класса обладают абсо­лютным приоритетом по отношению к заявкам второго и третьего классов и все заявки второго класса — относительным приоритетом по отношению к заявкам третьего класса. Определим средние време­на ожидания заявок различных типов.

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

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

где ko — среднее время ожидания заявок с относительными приори­тетами без учета прерываний со стороны заявок первого класса; kп — среднее время ожидания, вызванное прерыванием рассматри­ваемой заявки k заявками типа 1, ..., M1 относящимися к перво­му классу.

По аналогии с выводом выражения (3.18) легко показать, что

где k — среднее время обслуживания заявки типа k = M1+l, …,М; , — загрузка со стороны заявок первого класса. Для заявок второго класса величина ko будет определяться, как и в случае дисциплины с относительными приоритетами, выра­жением (3.16):

После несложных преобразований это же выражение может быть использовано и для заявок третьего класса. В связи с этим заметим, что в знаменателе величина Rk-1 означает загрузку со стороны всех заявок более высокого относительного приоритета, чем рассматри­ваемая, величина Rk—загрузку со стороны заявок более высокого приоритета, включая рассматриваемую заявку типа k. Поскольку заявки третьего класса рассматриваются как заявки с самым низким относительным приоритетом, т. е. заявки типов 1, 2, ..., М1+M2 обла­дают более высоким приоритетом, то загрузка со стороны этих заявок

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

Таким образом, для заявок третьего класса

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

(3.19)

Из рассмотренной дисциплины обслуживания со смешанными приоритетами и тремя классами заявок легко могут быть получены как частные случаи простейшие дисциплины: с абсолютными прио­ритетами (M2=М3=0); с относительными приоритетами (М1=М3=0); бесприоритетная (М1=М2=0), смешанные с двумя классами заявок [с абсолютными и относительными приоритетами (M3=0); ,с абсолют­ными приоритетами и без приоритетов (М2=0); с относительными приоритетами и без приоритетов (М1=0)].

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

Рис. 3.22. Зависимость времени ожидания k от быстродействия В процессора для дисциплины со смешанными приоритетами

Дисциплины обслужива­ния, задаваемые матрицами приоритетов. В общем слу­чае в ЦУС может использо­ваться смешанная дисциплина обслуживания произвольного вида, когда один и тот же по­ток заявок обладает абсолют­ным приоритетом по отноше­нию к одной группе потоков заявок, относительным при­оритетом по отношению к другим потокам и не имеет приоритета по отношению к третьей группе потоков. Для формального описания такой дисциплины введем по­нятие матрицы приорите­тов, отражающей вид и степень приоритетности между пото­ками заявок. Матрица приоритетов Q=[qij] имеет размерность МхМ, где М — число потоков заявок, поступающих в си­стему. Элемент qij матрицы приоритетов может принимать зна­чение 0,1 или 2. Элемент qij=0, если заявки потока с номером i не обладают никаким приоритетом по отношению к заявкам потока j, элемент qij=1, если заявки потока i имеют более высокий относи­тельный приоритет по отношению к заявкам потока j, элемент qij=2, если заявки потока i имеют более высокий абсолютный приоритет по отношению к заявкам потока j, т. е. прерывают обслуживание заявок потока j.

Равенство нулю элемента qij матрицы приоритетов еще не означает, что заявки потоков i и j обслуживаются в порядке поступления, т. е. в соответствии с бесприоритетной дисциплиной.

Возможно, что заявки потока j обладают приоритетом по отношению к заявкам потока i и, следовательно, заявки потока i не имеют приоритета по отношению к заявкам потока j, что и отражено в матрице приоритетов значением qij=0. Но если заявки потока i обладают относительным или абсолютным приоритетом по отношению к заявкам потока j, то очевидно, что заявки потока j не могут иметь приоритета по отношению к заявкам потока i, т. е. если qij, равен 1 или 2, то всегда qji,=0. Кроме того, следует иметь в виду, что между заявками одного и того же потока не могут быть установлены никакие приоритеты и, следовательно, всегда qii =0 (i = l, ..., М).

Таким образом, матрица приоритетов считается корректной, если она удовлетворяет следующим требованиям: 1) элементами матрицы являются только 0, 1 и 2; 2) элементы главной диагонали равны 0, т. е. qii = 0 (i = l, …, М); 3) если элемент qij равен 1 или 2, то элемент qji равен 0 (i,j=l, ..., М).

В качестве примера рассмотрим матрицу приоритетов для сме­шанной дисциплины обслуживания, описанной в примере 3.5. Мат­рица приоритетов размерности 6x6 имеет следующий вид:

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

Так, например, бесприоритетной дисциплине обслуживания заявок будет соответствовать нулевая матрица, у которой все элементы равны 0, дисциплине с относительными и абсолютными приорите­тами — диагональная матрица, у которой элементы, расположенные выше главной диагонали, равны соответственно 1 и 2, т. е. для i<j qij = 1 в случае относительных приоритетов и qij=2 в случае абсолютных приоритетов и для ij qij = 0 (i,j=l, ..., М).

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

Матрица приоритетов для дисциплины обслуживания с абсолют­ными приоритетами, назначенными в соответствии с правилом «потоку с большим номером более высокий приоритет», в случае четырех потоков заявок (М=4) имеет вид

Время ожидания заявок потока k определяется выражением

где — множество всех потоков заявок в системе; k(1) — подмно­жество потоков заявок, имеющих более высокий абсолютный приоритет, чем заявки потока k; k(2) – подмножество потоков заявок, по отно­шению к которым заявки потока k не обладают более высоким абсо­лютным приоритетом; k(3)—подмножество потоков заявок, имеющих более высокий относительный ,или абсолютный приоритет по отно­шению к заявкам потока k; k(4) — подмножество заявок, по отно­шению к которым заявки потока k не обладают более высоким относительным или абсолютным приоритетом.

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

Графическое представление матрицы приоритетов. При запол­нении матрицы приоритетов удобно использовать условную графиче­скую схему, наглядно отражающую взаимосвязь потоков заявок, вид и степень приоритетности. Множество потоков заявок, имеющих одинаковый приоритет по отношению к другим множествам или отдельным потокам заявок, будем изображать в виде прямоуголь­ника, внутри которого указаны номера потоков заявок, входящих в данное множество. Каждое такое множество может содержать внутри себя другие (более мелкие) множества потоков заявок, объе­диненных одним видом приоритетности по отношению к другим потокам из рассматриваемого множества. Вид приоритетности будем изображать следующим образом: если некоторые потоки не имеют относительно друг друга приоритетов, т. е. обслуживаются в порядке поступления, то они объединяются в одно множество и на графи­ческой схеме номера этих потоков записываются в порядке возрас­тания, отделяются запятой друг от друга и объединяются в одно множество с помощью прямоугольника. Схема, показанная на рис. 3.23, а, означает, что потоки с номерами 1, 2, 3, 4, 5, 6 обслужи­ваются без приоритетов, т. е. в порядке поступления. Если некоторое Множество потоков заявок имеет относительный приоритет по отношению к другому множеству, то этот факт отражается на схеме пунктирной стрелкой, направлен­ной из первого множества во вто­рое. Например, схема рис. 3.23, б означает, что заявки потоков с но­мерами 1, 4, 6, обслуживаемые в порядке поступления, имеют отно­сительный приоритет по отноше­нию к заявкам потоков с номе­рами 2, 3, 5, между которыми не установлены никакие приори­теты. Если между двумя множе­ствами потоков установлен абсо­лютный приоритет, то на схеме это отмечается сплошной стрелкой (рис. 3.23, в).

В общем случае могут использо­ваться все три простейшие дисцип­лины обслуживания заявок. Схема рис. 3.23, г означает, что имеется три множества потоков заявок, внутри которых заявки обслужи­ваются в соответствии с бесприоритетной дисциплиной обслуживания. Такими множествами являются: а) 1 и 4; б) 2 и 6; в) 3 и 5. Заявки первого множества, включающего в себя потоки с номерами 1 и 4, имеют абсолютные приоритеты по отношению к заявкам второго и третьего множества, а заявки второго множества (потоки 2 и 6) имеют относительный приоритет по отношению к заявкам третьего множества (потоки 3 и 5).

Рис. 3.23. Графические схемы распре­деления приоритетов

Возможны и более сложные варианты взаимосвязи потоков заявок в системе. Например, схема рис 3.23, д устанавливает наличие абсолютного приоритета между двумя множествами потоков заявок: множеством потоков заявок 1, 4, 2, 6 и множеством потоков 3 и 5. В свою очередь, внутри каждого из этих множеств потоки разби­ваются на два подмножества, между которыми установлены отно­сительные приоритеты. Из этой схемы видно, что заявки потока 4 не имеют приоритетов по отношению к заявкам потока 1, имеют относительный приоритет по отношению к заявкам потоков 2 и 6 и абсолютный приоритет по отношению к заявкам потоков 3 и 5. Аналогично, заявки потока 3 имеют относительный приоритет по отношению к заявкам потока 5 и их обслуживание может быть прервано заявками других потоков 1, 4, 2 и 6.

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

В соответствии со схемой рис. 3.23, д заявки потока 1 имеют абсо­лютный приоритет по отношению к заявкам потоков 5 и 5, что отме­чается в матрице приоритетов занесением цифры 2 в клетки, располо­женные на пересечении первой строки с третьим и пятым столбцами. Аналогично, наличие относительного приоритета по отношению к заявкам потоков 2 и 6 отмечается занесением цифры 1. Цифра 0 на пересечении первой строки с четвертым столбцом означает, что заявки потока 1 не имеют приоритетов по отношению к заявкам потока 4. После заполнения строки нулями заполняется весь столбец с номером 1, который соответствует номеру рассматриваемого потока. В результате матрица приоритетов примет вид, показанный на рис. 3.24, б. Из дальнейшего рассмотрения поток 1 исключается. Следующий поток, имеющий наивысший приоритет среди оставшихся потоков, — поток 4, для которого аналогично заполняются строка и столбец матрицы приоритетов. Матрица приоритетов примет вид, приведенный на рис. 3.24, в, и этот поток также исключается из дальнейшего рассмотрения. Поступая аналогичным образом для оставшихся потоков, получим такую последовательность заполнения матрицы приоритетов: 1) заполняются строка и столбец с номером 2 (рис. 3.24, г); 2) заполняются строка и столбец с номером 6 (рис. 3.24, д); 3) заполняются строка и столбец с номером 3 (рис. 3.24, в). В конечном результате получена матрица приоритетов, отражающая взаимосвязь потоков заявок в системе и однозначно соответствующая исходной схеме рис. 3.23, д

Рис. 3.24. Пример заполнения матрицы приоритетов

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

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