m1
.pdf
Рисунок 6. Показательное (экспоненциальное) распределение.
Рисунок 7. Нормальное распределение.
Рисунок 8. Линейное распределение.
11
Рисунок 9. Распределение Вейбулла.
Рассмотрим пример моделирования случайных моментов времени поступления тре- бований в СМО и длительности обслуживания каждого требования, представленных на ри- сунке 4. Пусть обе случайные величины имеют одинаковый закон распределения – показа- тельный. Будем генерировать эти случайные величины согласно выражению для показатель- ного закона:
t i = − λ1 ln(ri ), τi = − μ1 ln(ri ).
Здесь λ − интенсивность входного потока требований, задается в интервале (0,1], μ −
интенсивность обслуживания требований, задается в интервале (0,1], ri − случайная величи-
на, распределенная по равномерному закону распределения.
4.4Стратегии планирования
Под стратегией планирования понимают решение задачи подбора такого множества требований, при обслуживании которых будет возникать по возможности как можно меньше конфликтов из-за имеющегося в СМО множества ресурсов. Очевидно, что на распределение ресурсов, необходимых для обслуживания имеющихся требований, которые должны выпол- няться параллельно. Другими словами, может возникнуть такая ситуация, при которой не- возможно эффективное распределение ресурсов − некоторые обслуживающие приборы (ап- параты) будут неизбежно простаивать. Время, выделяемое на обслуживание i -го требования, не может распределяться параллельно между имеющимися требованиями, т.к. всем ожи- дающим в очереди требованиям необходимо получить доступ к устройству с последователь- ным обслуживанием требований. Таким образом, имеющиеся требования вынуждены очень длительное время ожидать в очереди из-за недоступности обслуживающего прибора.
12
При рассмотрении стратегий планирования, как правило, речь идет о краткосрочном (динамическом) планировании, т.е. о диспетчеризации − текущего наиболее эффективного распределения ресурсов, возникающего практически при каждом событии. Актуальность решения данной задачи намного выше, чем задача стратегического планирования. Планиро- вание осуществляется гораздо реже, чем задача текущего распределения имеющихся ресур- сов, необходимых для обслуживания требований.
Стратегия планирования определяет, какие требования планируется обслужить, преж- де всего, для достижения некоторой цели. Известно большое количество различных страте- гий выбора требования из ВПТ, которому необходимо предоставить обслуживающий при- бор. Среди имеющихся стратегий, прежде всего, можно назвать следующие:
1.Сохранять порядок обслуживания поступающих требований.
2.Предпочтение отдается требованиям, обслуживание которых менее длительное по времени.
3.По возможности время обслуживания требований свести к одинаковому. Известно большое количество правил (стратегий или дисциплин диспетчеризации
очереди), в соответствии с которыми формируется очередь входящих требований на обслу- живание. Различают два основных класса дисциплин очереди − бесприоритетные и приори- тетные. При реализации приоритетных дисциплин обслуживания отдельным требованиям предоставляется преимущество при обслуживании.
Бесприоритетные делятся на два класса: линейные и циклические. Линейные бывают двух видов: выборка на обслуживание производится в порядке очереди (FIFO, First In First Out) и выборка на обслуживание производится в случайном порядке (random). Циклические бывают одноприоритетными и многоприоритетными.
Приоритет, который присваивается некоторому требованию, может являться посто- янной величиной, а может изменяться в процессе обслуживания. Приоритетные также делят- ся на два класса: с фиксированным и с динамическим приоритетами. Группа с фиксирован- ным приоритетом обслуживания состоит из: стратегий с относительным приоритетом, с аб- солютным приоритетом и с адаптивным обслуживанием. Системы с динамическим приори- тетом делятся на: системы с приоритетом по времени ожидания в очереди и системы с при- оритетом по времени обслуживания.
В стратегиях с абсолютным приоритетом вновь прибывшее в СМО требование с более высоким приоритетом вытесняет с обслуживания требование с меньшим приоритетом, в стратегиях с относительным − не вытесняет, но имеет приоритет перед требованиями, стоя- щими в очереди на обслуживание.
Рассмотрим некоторые основные стратегии обслуживания.
13
Модификацией дисциплины FIFO является дисциплина FCFS (First Come First Served), согласно которой требования обслуживаются в порядке очереди, т.е. в порядке их поступления, но те требования, которые были отброшены по каким-либо причинам (напри- мер, заблокированные при выполнении критических участков в ОС или операций вво- да/вывода), ставятся в очередь перед требованиями, которые еще не обслуживались. Други- ми словами организуются две очереди: одна организуется из потока новых требований, вто-
рая − из выполнявшихся ранее, но отброшенных по каким-либо причинам. Данная стратегия является более гибкой, чем стратегия FIFO, и позволяет по возможности заканчивать вычис- ления в порядке их появления. С технической точки зрения, стратегиям FIFO и FCFS прису-
щи простота реализации и малые расходы системных ресурсов на формирование очереди требований. Однако эти стратегии приводят к тому, что при увеличении нагрузки на СМО растет среднее время обслуживания, причем короткие задания, т.е. требующие небольших затрат времени на обслуживание, вынуждены ожидать столько же, сколько и трудоемкие.
Дисциплина обслуживания SJN (Shortest Job Next) требует, чтобы для каждого тре- бования была известна оценка в потребностях времени, необходимого для обслуживания. Это правило привело к тому, что в реальных СМО пользователи таких систем были вынуж- дены сообщать диспетчеру обслуживания характеристики требований − потребности в раз- личных ресурсах СМО. Некоторые пользователи злоупотребляли возможностью указать за- ведомо меньшее время обслуживания (например, «да мне просто спросить», «да мне всего пару листочков напечатать» и т.п.) с целью получить результаты раньше других. В таких системах диспетчер обслуживания сравнивает заказанное время и время выполнения и в слу- чае превышения указанной оценки в данном ресурсе ставит данное требование не в начало, а в конец очереди. Как вариант в современном мире, основанном на рыночной экономике, в случае превышения заказанного времени обслуживания оплата обслуживания осуществляет- ся уже по другим расценкам (например, используются методы «по печени», «по почкам» и
т.д.).
Дисциплина обслуживания SJN предполагает, что имеется только одна очередь требо- ваний на выполнение. Требования, которым было отказано в обслуживании, попадают в ко- нец очереди вместе с вновь поступающими. Это приводит к тому, что требования, которым требуется очень мало времени для обслуживания, вынуждены ожидать освобождения об- служивающего аппарата наравне с длительными по времени.
Для устранения данного недостатка была предложена дисциплина обслуживания SRT (Shortest Remaining Time), когда требования обслуживаются в порядке увеличения времени, необходимого для обслуживания требования.
Все описанные дисциплины обслуживания используются для систем с так называемой
14
пакетной обработкой, когда время реакции системы не является приоритетной характеристи- кой (например, печать большого документа − пользователь формирует задание на печать и только спустя несколько минут получает результат). Для интерактивных систем (систем ре- ального времени) желательно прежде всего обеспечить приемлемое время реакции системы и равенство в обслуживании, если она является многоканальной (например, почтовый агент или клиент FTP, работающие в фоновом режиме, т.е. без непосредственного участия пользо- вателя, гарантированно должны получать необходимую долю процессорного времени). Для
решения подобных проблем используется карусельная дисциплина обслуживания RR (Round Robin) и приоритетные стратегии обслуживания.
Дисциплина RR предполагает, что каждое требование делится на некоторые элемен- тарные части, для обработки которых требуется некоторое элементарное время (квант вре- мени, time slice). После окончания каждого кванта времени требование снимается с выпол- нения и на выполнение ставится следующее требование. Очевидно, что для эффективной ра- боты СМО необходимо выбрать закон, согласно которому кванты времени выделяются тре- бованиям. Величина кванта времени выбирается как компромисс между приемлемым време-
нем реакции системы на входящие требования пользователей и накладными расходами на смену контекста требований. Если величина кванта времени будет достаточно большой, то реакция СМО станет несвоевременной. Если величина кванта времени будет недостаточно большой, то относительная доля накладных расходов на переключения между требованиями станет существенной, что ухудшит производительность СМО.
В своей простейшей реализации дисциплина карусельной диспетчеризации предпола- гает, что все требования имею одинаковый приоритет. Если необходимо ввести механизм приоритетного обслуживания, то организуется несколько очередей. В первую очередь об- служиваться будут требования, которые стоят в самой привилегированной очереди. В слу- чае, если эта очередь пуста, то диспетчер обслуживания начинает просматривать остальные очереди.
При обслуживании требований в системах реального времени может возникнуть си- туация, когда одно или несколько требований не могут быть обслужены в течение длитель- ного промежутка времени из-за относительно большой интенсивности входящего потока требований. Потери, связанные с необслуживанием к указанному сроку таких требований, могут оказаться больше, чем потери от отказов в обслуживании требований с более высоким приоритетом (принцип «ложка хороша к обеду»). При этом оказывается целесообразным временно изменить приоритет требований, для которых истекает время обслуживания. Вве- дение механизмов динамического изменения приоритетов позволяет реализовать более бы- струю реакцию СМО на короткие требования, что важно при организации интерактивной
15
работы, но при этом гарантировать выполнение любых требований. Второй вариант данной группы стратегий связан с временным увеличением приоритета забытых требований, что ус- коряет время обслуживания данного требования. В сильно загруженных СМО такой подход позволяет требованиям с низким значением приоритета обслуживаться хотя бы в краткие ин- тервалы времени. В противном случае они вообще никогда не были бы обслужены.
Различные модификации данного подхода изменения приоритета требований исполь- зуются во всех современных ОС.
5 Задание
Разработать программу имитационного моделирования СМО на основе следующих входных данных:
СМО с количеством каналов n = 2 ÷ 4 .
λ − интенсивность входного потока требований, задается в интервале (0,1]. μ − интенсивность обслуживания требований, задается в интервале (0,1]. Lоч − длина очереди, задается в интервале [0,50].
N − количество требований поступивших в СМО, задается значение порядка 104 .
Закон поступления заявок определяется по последней цифре зачетки, закон обслужи- вания требований − по предпоследней.
Язык программирования выбирается студентом самостоятельно на основе собствен- ных предпочтений.
Оси координат для графиков должны быть подписаны. Результатами моделирования являются:
Графики поступления и обслуживания требований, аналогичные представленным на рисунке 4.
График заполнения очереди, аналогичный представленному на рисунке 4.
Графики зависимостей N, Nобсл , Nотбр от времени.
16
Составители: Андрей Николаевич Земцов
Основы построения сетей. Методические указания к лабораторной работе № 1 по кур- су «Моделирование систем».
Редактор Е.И. Кагальницкая.
Темплан 2007 г., поз. №
Подписано в печать . Формат 60x84 1/16.
Бумага газетная. Печать офсетная. Усл. печ. л. 1.63. Уч. – изд. л. 1.70. Тираж . Заказ . Бесплатно.
Волгоградский государственный технический университет. 400131 Волгоград, пр. Ленина, 28.
РПК «Политехник» Волгоградского государственного технического университета. 400131 Волгоград, ул. Советская, 35.
17
