Модель работы трехфазной одноканальной СМО
Опишем программу моделирования в символах блок-диаграмм программ GPSS. Блок-диаграмма моделирующего алгоритма представлена на рис. 5. Следует отметить, что задержка после занятия блоков ввода, обработки и вывода для каждого задания одна и та же. Она определяется длиной запроса и скоростью обработки. Скорость во всех трех устройствах одинаковая. Формулы для получения заданной длины задания… Читать ещё >
Модель работы трехфазной одноканальной СМО (реферат, курсовая, диплом, контрольная)
Аннотация
В пояснительной записке раскрываются этапы построения модели вычислительного центра: постановка задачи, составление моделирующей программы на языке GPSS, обоснование выбора метода моделирования. Далее производится анализ полученных данных и делается вывод согласно поставленной задаче. В конце пояснительной записки предлагаются улучшения системы, производится моделирование процесса работы вычислительного центра с новыми параметрами, при которых работа центра становится устойчивой и безотказной при конечных емкостях буферов.
В задании к курсовому проектированию предлагается исследовать трехфазную одноканальную систему из трех устройств, имеющих на своих входах буферы. Задача курсового проектирования — исследование данной системы и определение значений отдельных параметров — размеров буферных устройств, обеспечивающих ее нормальное функционирование в рамках заданных ограничений.
Примеров задач подобного вида встречается довольно много в области проектирования вычислительной техники. Как правило, при построении этих систем становится необходимым знать, будут ли они справляться с заданными потоками задач, каким требованиям они должны отвечать. В данной курсовой работе целью моделирования системы является определение оптимальных размеров буферных устройств при заданном времени обработки заданий и заданной интенсивности их поступления.
Вычислительный центр в работе исследуется с помощью метода имитационного моделирования. Обоснование выбора дается в подразделе «Выбор метода моделирования». Существует несколько программных средств, предназначенных для проведения имитационного моделирования. Например, MatLab и GPSS. Эти средства идеально подходят для решения поставленной задачи. Также смоделировать данную систему можно на языках программирования, не ориентированных на построение моделей систем — на процедурно-ориентированных языках. При их использовании станет необходимым описание элементов модели, являющихся базовыми в языках моделирования — устройств, очередей, транзактов и т. д.
1 Построение концептуальной модели
1.1 Построение структурной схемы СМО
Задания через вычислительный центр проходят в три этапа: ввод, обработка и вывод (рис. 1). На каждом этапе оно сначала буферизуется, затем обрабатывается. Из рисунка видно, что система одноканальная и трехфазная.
1.2 Построение временной диаграммы
На рис. 2 представлены шесть осей: трех устройств и трех буферных устройств. Все задания, приходящие на вычислительный центр, поступают в буфер, либо сразу на устройство ввода, если оно свободно. Невыполненных заданий в данной системе быть не может, так как в модели используются накопители неограниченной емкости. Следует обратить внимание на то, что одно задание, проходя через устройства ввода, обработки и вывода, будет находиться в них одно и то же время, зависящее от длины задания. Так, например, на ввод задания № 1 уйдет 396 секунд, столько же на обработку и на вывод. Всего задание № 1 в системе будет пребывать секунд, поскольку все устройства в момент начала моделирования свободны.
На временной диаграмме показаны пять заданий, характеристики которых представлены в таблице 1.
Таблица 1 Характеристики заданий, представленных на временной диаграмме
Номер задания | Момент генерации задания, с | Длина задания, байт | Время обработки задания, с | |
2. Формализация модели
2.1 Построение Q-схемы
Q-схема состоит из источника заявок («И»), трех устройств: «К1» (устройство ввода), «К2» (устройство обработки) и «К3» (устройство вывода), а также трех накопителей: «Н1» (накопитель перед входом), «Н2» (накопитель перед обработкой) и «Н3» (накопитель перед выходом), соединенных последовательно (рис. 3). Так как емкости всех накопителей не ограничены, отказов быть не может, следовательно имеем лишь один выход — с устройства вывода.
2.2 Выбор метода моделирования
вычислительный центр моделирующий программа
Прохождение заданий через вычислительный центр — процесс стохастический, динамический и непрерывный, в котором можно выделить такие сущности, как устройство, накопитель и заявка. Это говорит о том, что данную систему следует отнести к классу систем массового обслуживания. Выбирая метод моделирования, необходимо учесть как требования к результатам — точность, достоверность, так и затраты на его проведение. Остановимся на математических методах ввиду того, что: во-первых, их построение требует минимума временных и материальных затрат по сравнению с натурными, во-вторых, математическое моделирование из всех мысленных видов моделирования обеспечивает наибольшую точность и обоснованность результата. Для исследования системы можно построить как аналитическую модель, так и имитационную. При наличии мощных средств имитационного моделирования возможно построение модели системы практически любой сложности, что не всегда справедливо для аналитических методов. К тому же при небольшом усложнении структуры системы аналитическая модель резко усложняется. Поскольку для решения поставленной задачи будет вполне достаточным исследование имитационной модели, выберем ее как основную.
3. Определение переменных и уравнений математической модели
Определим переменные и уравнения математической модели:
— средний интервал времени между генерацией заданий;
— средняя длина заданий;
, — среднее время ввода, обработки и вывода заданий;
— скорости обработки задания;
— интенсивность генерации заданий;
— интенсивности обслуживания заданий в устройствах;
— коэффициент загрузки системы.
Известно, что:
;
заданий;
.
Исходя из этого, рассчитаем вычисляемые величины:
; | (1) | |
; | (2) | |
. | (3) | |
Перед нами одноканальная система массового обслуживания с ожиданием. Интенсивность поступления заданий в систему также равна, интенсивность обслуживания .
Обозначим через вероятность пребывания системе заданий. Известно, что одноканальная система массового обслуживания с ожиданием описывается следующей системой дифференциальных уравнений:
(4) | ||
Будем рассматривать установившийся процесс. Тогда производные равны нулю. Получим:
(5) | ||
(6) | ||
Отсюда
(7) | ||
(8) | ||
Сумма вероятностей всех состояний равна 1:
(9) | ||
Также
(10) | ||
Так как
(11) | ||
(12) | ||
Очевидно, что если вероятность пребывания в системе любого определенного числа заявок равна нулю, то количество заявок в системе не ограничено. Следовательно, в буферах вычислительного центра может оказаться сколь угодно много заявок.
4. Построение моделирующего алгоритма
Построение моделирующего можно разбить на два этапа: построение обобщенного моделирующего алгоритма и построение детального моделирующего алгоритма. Детальный моделирующий алгоритм разрабатывается для его реализации на языках программирования, не предназначенных для моделирования. В таких языках, как GPSS, предоставляются специальные средства для описания и расчета большинства исследуемых и промежуточных величин. Как правило, при написании программы для языка моделирования, достаточно разработки обобщенной схемы моделирующего алгоритма и построения блок-диаграммы программы. Обобщенный моделирующий алгоритм представлен на рис. 4. При его построении использован «принцип Дt»: состояние системы производится каждые Дt единиц времени. При моделировании на языке GPSS квант времени — 1 единица модельного времени. В модели исследуемой системы Дt = 1 секунда.
Окончание процесса моделирования происходит тогда, когда заканчивается системное время моделирования (30 часов). Эта проверка показана на схеме алгоритма в блоке 2. В блоках 3 — 8 происходит перемещение заданий между элементами системы. На каждом этапе производится множество сравнений времени наступления очередного события и текущего системного времени, а также реализуется логика работы базовых элементов систем массового обслуживания и осуществляется сбор статистических данных.
Опишем программу моделирования в символах блок-диаграмм программ GPSS. Блок-диаграмма моделирующего алгоритма представлена на рис. 5. Следует отметить, что задержка после занятия блоков ввода, обработки и вывода для каждого задания одна и та же. Она определяется длиной запроса и скоростью обработки. Скорость во всех трех устройствах одинаковая. Формулы для получения заданной длины задания и соответствующей задержки в устройствах показаны в виде комментариев. При получении случайного значения длины задания (выражение «Length») используется встроенная функция RN1, которая возвращает случайную величину, распределенную равномерно в интервале 0 — 999. Для расчета времени обслуживания задания на каждом из устройств используется выражение «Delay».
5. Описание программы решения задачи
Программу решения задачи (см. приложение I) можно разделить на две части, описывающие два параллельных процесса: отсчет заданного времени моделирования и собственно прохождение заявок через вычислительный центр. Отсчет в GPSS заданного времени моделирования реализуется элементарно. Рассмотрим подробнее часть программы, моделирующую процесс прохождения заданий вычислительного центра.
Непосредственно после генерации транзактов, их первому параметру присваивается случайное значение (блок ASSIGN), равномерно распределенное в диапазоне целых чисел [300; 700]. Таким образом моделируется длина задания. Теперь один транзакт будет задерживаться при вводе, обработке и выводе одно и то же время DELAY, записываемое первым параметром транзакта.
Дальнейший процесс разбивается на три фазы: ввод (INPUT), обработку (PROCESSING) и вывод (OUTPUT). Каждая фаза состоит из следующих блоков: постановка в очередь (QUEUE), занятие устройства (SEIZE), освобождение очереди (DEPART), задержка (ADVANCE) и освобождение устройства (RELEASE).
6. Результаты моделирования и их анализ
Из всех данных, сгенерированных GPSS (см. приложение II), нас интересуют статистические данные об устройствах и очередях. Согласно поставленной задаче, необходимо определить, будет ли вычислительный центр справляться с заданным потоком заданий и, если да, какой объем входных буферов для этого необходим. Для того, чтобы определить, способна ли система с ограниченными буферами обслуживать заданный поток заявок, достаточно выяснить, будет ли постоянно расти максимальное количество заявок в любом из буферов при увеличении времени моделирования. Определить это можно несколькими способами.
Первый, статистический, подразумевает проведение N количества испытаний с фиксацией на каждом из них максимального количества заявок в буферах. Если это значение стремится к постоянному значению, значит система устойчивая при объеме буфера, немного большего полученного значения.
Второй способ позволяет качественно определить, проведя один эксперимент, будет ли количество заявок в очереди расти до бесконечности, либо оно ограничено определенной константой вне зависимости от времени моделирования. Достаточно сравнить среднее время, через которое генерируются заявки со средним временем нахождения их в буферах. Очевидно, что если заявки генерируются чаще, чем покидают буфер, то система не устойчивая при ограниченном объеме буферов. И наоборот, если заявки могут покидать очередь заметно чаще, чем генерироваться, перед нами устойчивая система с ограниченными буферами. В последнем случае объем буферов определяется как заведомо больший максимального количества заявок в них.
Обращаясь к отчету, сгенерированному GPSS, и зная среднюю частоту генерации заявок, имеем следующие данные:
— среднее время, через которое генерируются заявки — 300 секунд;
— среднее время пребывания заявок в буфере ввода — 617.676 секунд;
— среднее время пребывания заявок в буфере обработки — 111.930 секунд;
— среднее время пребывания заявок в буфере вывода — 114.143 секунд;
— максимально количество заявок в буфере ввода — 6;
— максимально количество заявок в буфере обработки — 2;
— максимально количество заявок в буфере вывода — 2.
На основании приведенных данных можно сделать вывод, что при данном потоке заявок и данной пропускной способности вычислительного центра нельзя ограничивать буфер ввода никаким конечным значением. В противном случае неизбежны отказы при непрерывной генерации заявок.
7. Описание возможных улучшений системы
Для того, чтобы вычислительный центр справлялся с заданным потоком заявок, необходимо либо увеличить скорость ввода, обработки и вывода заданий, либо увеличить число этих устройств, получив многоканальную систему. Увеличить пропускную способность системы достаточно до момента, когда среднее время пребывания заявок во всех очередях будет меньше среднего времени, через которое генерируются заявки. В этом случае можно задать такие конечные значения объемов буферов, при которых исключаются отказы.
Проведем ряд экспериментов с моделью системы, изменяя скорость обработки заданий и наблюдая за средним временем пребывания задания в очереди перед каждым из устройств. Результаты экспериментов представлены в таблице 2.
Таблица 2 Зависимость среднего времени пребывания заданий в буферах от скорости их обработки
№ | Скорость обработки заданий, байт/мин | Среднее время пребывания заданий в буфере ввода, с | Среднее время пребывания заданий в буфере обработки, с | Среднее время пребывания заданий в буфере вывода, с | |
533 352.261 | 121.025 | 120.999 | |||
6478.145 | 118.954 | 119.235 | |||
709.100 | 108.458 | 111.258 | |||
340.947 | 99.556 | 104.690 | |||
221.317 | 92.385 | 99.401 | |||
154.159 | 86.025 | 94.708 | |||
117.009 | 80.390 | 90.446 | |||
Среднее время пребывания заданий в буфере ввода лишь тогда меньше 300 секунд, когда скорость обработки заданий больше или равно 103 байт/мин.
8. Окончательный вариант модели с результатами
Произведем описанные в предыдущем подразделе улучшения вычислительного центра. В ходе последовательного увеличения скорости обработки заданий и анализа получаемых результатов приходим к выводу, что для устойчивой работы вычислительного центра достаточно увеличить пропускную способность каждого из устройств на 3 байта в минуту (до 103 байт/мин). Промоделировав полученную систему 1000 раз, получаем следующие средние значения (см. также приложение IV):
— среднее время, через которое генерируются заявки — 300 секунд;
— среднее время пребывания заявок в буфере ввода — 221.317 секунд;
— среднее время пребывания заявок в буфере обработки — 92.385 секунд;
— среднее время пребывания заявок в буфере вывода — 99.401 секунд;
— максимально количество заявок в буфере ввода — 9;
— максимально количество заявок в буфере обработки — 2;
— максимально количество заявок в буфере вывода — 2.
Из результатов видно, что в данной системе можно использовать буферы конечного объема. Причем буфер ввода можно ограничить значением, не меньшим 9, а буферы обработки и вывода — не меньшим 2. Для более устойчивой работы вычислительного центра желателен запас в емкости буферов в 1 — 2 заявки.
Зная максимальную длину заявок (700 байт), требуемые емкости буферов можно выразить в байтах — соответственно 7000, 1400 и 1400 байт для буферов ввода, обработки и вывода.
Заключение
При исследовании первоначальной модели системы для данной постановки задачи достаточно качественного определения устойчивости системы: низкая пропускная способность очевидна — среднее время пребывания заданий в буфере ввода в два раза больше времени, через которое они генерируются. После внесенных в систему изменений, направленных на улучшение ее эффективности, потребовалось точное определение емкостей буферов, достаточных для безотказной работы вычислительного центра. В целях получения достоверных результатов, моделирование улучшенной системы было проведено 1000 раз. В процессе проведения экспериментов емкости буферов были определены: буфер ввода — 7000, буфер обработки и вывода — по 1400 байт.
Моделирование первоначальной системы GPSS производит за доли секунды, а выполнение программы, моделирующей улучшенную систему 1000 раз, производится за 13 секунд. При этом объем кода, моделирующего систему, составил всего 24 строки. Все это раскрывает большие возможности GPSS как системы построения имитационных моделей. Единственным и несущественным упрощением является искусственная дискретизация модельного времени.
1. Советов Б. Я., Яковлев С. А. Моделирование систем. — М.: Высш. шк., 1995.
2. Вентцель Е. С. Исследование операций. — М.: Радио и связь, 1972.