Разработка модели вычислительной системы
Задание
В ВЦ через каждые 2+1 мин
могут приходить пользователи. Доступ пользователей к ЭВМ осуществляется через 1
из 2 терминалов, которые обслуживают пользователей в течении 6+3, 4+1
мин. соответственно. Если все терминалы заняты, пользователю отказывают в
обслуживании. Далее программы поступают в очередь, откуда выбираются для
обработки на ЭВМ-1. Если же ЭВМ-1 занята, то программа обрабатывается на ЭВМ-2.
Время выполнения задания на ЭВМ - 1 распределено по нормальному закону с
параметрами m=2 мин, δ=2, на ЭВМ-2 - экспоненциальный закон с параметрами m=1 мин.
Смоделировать процесс обработки на
ВЦ 100 заданий. Определить количество обработанных на ЭВМ программ, обслуженных
вторым терминалом.
Варьируя параметрами системы,
определить её оптимальную структуру, обеспечивающую минимальное время простоя
оборудования.
Содержание
Введение
. Формализация
концептуальной модели
.1 Построение формальной
схемы функционирования системы
.2 Определение закона
функционирования системы
. Алгоритмизация модели
и её машинная реализация
.1 Выбор технических и
программных средств моделирования
.2 Составление алгоритма
моделирующей программы
.3 Описание моделирующей
программы для детерминированного варианта модели
.4 Верификация
(тестирование) программы
.5 Описание моделирующей
программы для стохастической модели
. Получение и
интерпретация результатов моделирования
.1 Планирование
машинного эксперимента
.2 Проведение прогонов
модели
.3 Анализ результатов
моделирования
Заключение
Список используемой
литературы
Приложение 1
Приложение 2
Приложение 3
Приложение 4
Введение
Современные системы характеризуются
большой сложностью и нелинейностью, в связи с чем, многие характеристики могут
быть получены, зачастую, только моделированием. С другой стороны,
вычислительные системы являются мощным исследовательским инструментом и, в свою
очередь, его объектом. Это усложняет моделирование, так как с одной стороны
требуются знания методом моделирования, а с другой - хорошее знание процессов,
происходящих в самих вычислительных системах. Исследуемые процессы носят чаще
всего недетерминистский характер, что, в свою очередь, определяет моделирование
случайных явлений и их статистический анализ и отображение.
Курсовое проектирование проводится с
целью получения практических навыков моделирования сложных вычислительных
систем и сетей.
1. Формализация концептуальной
модели
.1 Построение формальной схемы
функционирования системы
Моделируемая система представляет
собой систему массового обслуживания с непрерывно - стохастическим законом
функционирования.
Следовательно, в качестве аппарата
формализации процессов функционирования рассматриваемой системы будем
использовать типовую Q - схему /1/. Построим структурную схему системы, используя
стандартные обозначения элементов Q - схемы (рис.1). В данной схеме использованы обозначения: И -
источник заявок (пользователь), К1 - терминал 1, К2 - терминал 2, К3 - ЭВМ1, К4
- ЭВМ2, N - очередь пользователей к терминалам.
За единицу модельного времени (емв)
примем 1 минуту. Общее время моделирования при 100 заданий неизвестно.
.2 Определение закона
функционирования системы
Работу системы отразим временными
диаграммами (рис.2). С помощью временных диаграмм рассчитаем ожидаемое значение
выходной характеристики - время обработанных 100 заданий.
Через определенное время в ВЦ
приходят пользователи. Их обслуживают два терминала в течении 6+3, 4+1
мин. Если терминалы заняты, пользователю отказывают в обслуживании. Далее
заявки буферизуются и поступают либо на ЭВМ 1, либо на ЭВМ2, где обрабатываются
и далее уходят из системы. На начальном этапе построения модели будем
рассматривать детерминированный вариант модели. Для этого при создании
детерминированной модели заданной вычислительной системы заменим стохастические
потоки их математическими ожиданиями: время приходом пользователей - 2 минуты;
время обслуживания 1 терминала - 6 мин; время обслуживания 2 терминала - 4 мин.
Время обработки программы на ЭВМ1 -
2 мин; время обработки программы на ЭВМ2 - 1 мин.
-х двух пользователей обслуживают 1
и 2 терминалы, 3 пользователю отказывают в обслуживании.
терминал обслуживает 6 минут, 2
терминал на 2 минуте захватывает и обслуживает 4 минуты. 4 пользователя
обслуживает 1 терминал до 12 минуты, 5 пользователя 2 терминал также до 12
минуты и т д.
Итак, каждый 3-ий пользователь
уходит не обслуженным. Обработанные на терминалах заявки поступают для
дальнейшей обработки на соответствующую ЭВМ. На ЭВМ1 программы обрабатываются в
течении 2 мин, поступая с 1 терминала. До поступления программы 4 пользователя
образуется простой размерностью 4 минуты. На ЭВМ2 программы обрабатываются в
течении 1 мин, поступая со 2 терминала. До поступления программы 5 пользователя
образуется простой размерностью также 4 минуты. За 30 минут работы системы на
ЭВМ1 обработаны 4 программы начиная с 6 минуты, простой 4 минуты. На ЭВМ2 также
4 программы начиная с 6 минуты, простой 5 минут. Таким образом, 100 программ
будет обработано за: (100*30)/8 = 437,5 емв.
==
Рис.1
Рис.2
2. Алгоритмизация модели и её
машинная реализация
.1 Выбор технических и программных
средств моделирования
В качестве технических средств для
выполнения курсовой работы по моделированию можно использовать ПЭВМ IBM РС/ТА, принтер, в качестве программное средство -комплексная моделирующая программаа для дискретного и непрерывного
компьютерного моделирования (GPSS World Student).
.2 Составление алгоритма
моделирующей программы
2.3 Описание моделирующей программы
для детерминированного варианта модели
Данная моделирующая программа
составлена на языке GPSS.Здесь были использованы такие операторы как: TRANSFER ALL, ADVANCE, ASSIGN, DEPART и др.
Рассмотрим их подробнее.- это блок, через который транзакты входят в модель. Не
существует ограничений на число различных блоков GENERATE в одной модели.
Интервал времени между
последовательными появлениями транзактов блока GENERATE называют интервалом
поступления. Когда транзакт входит в модель через блок GENERATE,
интерпретатор планирует время поступления следующего транзакта путем розыгрыша
случайного числа в соответствии с распределением интервалов поступления и с
последующим добавлением разыгранного значения к текущему значению таймера. При
достижении этого значения времени следующий транзакт вводится в модель через
блок GENERATE.позволяет транзакту, в зависимости от условий, заданных в
операндах блока, занять устройство.
Блок SEIZE имеет только одно поле
(А), которое задает номер или имя устройства. При входе транзакта в блок SEIZE всегда проверяется занято
устройство или нет. Если оно свободно, то оно занимается. Устройство свободно
до тех пор, пока занимающий его транзакт не войдет в соответствующий блок RELEASE. Блок RELEASE предназначен для
освобождения устройства тем транзактом, которым оно было занято.
Блок ADVANCE моделирует задержку вошедшего в него транзакта в течении
определенного времени.
Блок ASSIGN является основным
средством для задания значений параметров транзактов, он заменяет, увеличивает
или уменьшает текущее значение параметра сообщения на заданное значение.
Блок TRANSFER позволяет направить сообщение к
любому блоку модели. Он работает в режиме безусловного перехода в данном
случае. (ALL).
Блок TERMINATE осуществляет вывод транзактов из системы (подсистемы).
Блоки QUEUE и DEPART описывают объекты типа
«очередь». Статистика об очередях собирается в моменты входа
сообщения(транзакта) в блок QUEUE (вход в очередь) или в блок DEPART (выход из очереди).
Данные блоки являются информационно- статистическими и не влияют на внутренние
операции процесса моделирования.
Блок SAVEVALUE сохраняет системные
числовые атрибуты по времени моделирования и очередей.
Листинг программы для
детерминированной модели представлен в Приложении 1.
.4 Верификация (тестирование)
программы
В результате реализации программы и
выдачи отчета результаты работы программы совпали с итогами рассчитанными в
пункте -Определение закона функционирования системы. Отчет представлен в
Приложении 2.
.5 Описание моделирующей программы
для стохастической модели
Видоизменим программу путем
преобразования из детерминированной модели в стохастическую. Для этого
детерминированные параметры заменим стохастическими потоками, формирующимися по
указанным в задании законам. А именно интервал прихода пользователей 2+1
мин. Обработка на ЭВМ1 2 мин. На ЭВМ2 1 мин. Листинг моделирующей программы со
стохастическими законами описан в Приложении 3.
3. Получение и интерпретация
результатов моделирования
.1 Планирование машинного
эксперимента
Условимся считать некоторую систему
оптимальной, если она в процессе работы удовлетворяет следующим условия:
не имеет простоя оборудования;
не имеет очередей заданий;
не имеет очередей заявок.
.2 Проведение прогонов модели
Результаты прогонов модели
представлены в таблице 1.
Усредненные результаты прогонов
будут следующими : количество заданий, поступивших на ЭВМ - 169; количество
обработанных заданий - 121; количество необработанных заданий - 2.
Таблица 1
количество заданий, поступивших на все ЭВМ
|
количество обработанных заданий
|
количество необработанных заданий
|
153
|
110
|
2
|
156
|
111
|
1
|
171
|
123
|
2
|
159
|
112
|
1
|
206
|
147
|
2
|
3.3 Анализ результатов моделирования
вычислительный программа
моделирующий алгоритм gpss
Значения выходных характеристик,
полученные при прогонах модели с различными случайными воздействиями, будут
отличны друг от друга. Усредненное по многим прогонам модели значение выходной
характеристики незначительно отличается от соответствующей детерминированной
величины, что подтверждает правильность работы модели. Для повышения количества
обработанных заданий рекомендуется приблизить значения входных характеристик к
указанным в пункте 3.1.
Заключение
В процессе подготовки курсовой
работы была рассчитана и построена формальная схема функционирования системы.
Переход моделирующей программы из детерминированной в стохастическую, тем самым
усложнив условия. Затем мы провели прогон модели, в результате которой
определили усредненные результаты количества поступивших заданий, количество
обработанных и необработанных заданий на ЭВМ.
Среди достоинства GPSS было выявленно, что основные
блоки, команды и стандартные числовые атрибуты языка GPSS можно представить как
процедуры и функции языка C++ или Object Pascal, также GPSS может быть
адекватно представлен как последовательность соответствующих вызовов процедур
языка программирования.
Как и у любого другого языка
программирования, у GPSS имеются недостатки , например, достаточно сложно представить непосредственно процессы
обработки данных на уровне алгоритмов.
Список литературы
1. Альянах И.Н.
Моделирование вычислительных систем.- Л.: Машиностроение. Ленинградское
отделение, 1982.- 222 с.
. Библиографическое
описание документа: Общие требования и правила составления: ГОСТ 7.32-81. -.М.:
Изд.стандартов,1984.
. Бухараев Р.Г., Захаров
В.М. Управление генератором случайных кодов.- Казань: Изд. КГУ, 1978.- 160 с.
. Единая система
программной документации. - М., 1985.
. Живетина Т.М., Маврина
Л.Н., Песошин В.А. Моделирование вычислительных систем: Лабораторный
практикум.- Казань: Изд. КГТУ, 1995.-70 с.
. Колесников Г.С.,
Прохоров А.Г. Имитационное моделирование систем.- М.: МИРЭ и А, 1990.- 96 с.
. Общие указания по
методике проведения курсового проектирования в высших технических учебных
заведениях.- В кн.: Высш.шк.-М.: 1978.-С.181-187.
. Советов Б.Я., Яковлев
С.Я. Моделирование систем: Курсовое проектирование: Учеб. пособие для вузов по
спец. АСУ.- М: Высш.шк., 1988.-135 с.
Приложение 1
10 GENERATE 3
TRANSFER
ALL,COMP1,COMP3,5
COMP1 SEIZE 1
ADVANCE 5
RELEASE 1
ASSIGN 1,11
TRANSFER ,OR1
COMP2 SEIZE 2
ADVANCE 7
RELEASE 2
ASSIGN 1,21
TRANSFER ,OR1
COMP3 TERMINATE
OR1 QUEUE 1
TRANSFER ALL,EVM1,EVM2,5
EVM1 SEIZE 4
DEPART 1
ADVANCE 8
RELEASE 4
TRANSFER ,METKA1
EVM2 SEIZE 5
DEPART 1
ADVANCE 1
RELEASE 5
METKA1 SAVEVALUE 1+,P1
TERMINATE 1
START 100
Приложение 2
Wednesday,
January 16, 2013 23:11:11
START TIME END
TIME BLOCKS FACILITIES STORAGES
0.000
410.000 26 4 0
COMP1 3.000
COMP2 8.000
COMP3 13.000
EVM1 16.000
EVM2 21.000
METKA1 25.000
OR1 14.000 LOC BLOCK TYPE ENTRY
COUNT CURRENT COUNT RETRY
1
GENERATE 136 0 0
2
TRANSFER 136 0 0 3
SEIZE 68 0 0
4
ADVANCE 68 1 0
5
RELEASE 67 0 0
6
ASSIGN 67 0 0
7
TRANSFER 67 0 0 8
SEIZE 34 0 0
9
ADVANCE 34 0 0
10
RELEASE 34 0 0
11
ASSIGN 34 0 0
12
TRANSFER 34 0 0 13 TERMINATE
34 0 0 14 QUEUE 101
0 0
15
TRANSFER 101 0 0 16
SEIZE 34 0 0
17
DEPART 34 0 0
18
ADVANCE 34 1 0
19
RELEASE 33 0 0
20
TRANSFER 33 0 0 21
SEIZE 67 0 0
22
DEPART 67 0 0
23
ADVANCE 67 0 0
24
RELEASE 67 0 0
25 SAVEVALUE 100 0 0
26
TERMINATE 100 0 0 ENTRIES UTIL. AVE. TIME
AVAIL. OWNER PEND INTER RETRY DELAY
68 0.829
5.000 1 135 0 0 0 0
34 0.580
7.000 1 0 0 0 0 0
34 0.659
7.941 1 133 0 0 0 0
67 0.163
1.000 1 0 0 0 0 0 MAX CONT. ENTRY ENTRY(0)
AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 0 101
101 0.000 0.000 0.000 0 RETRY VALUE
0
1440.000 XN PRI M1 ASSEM CURRENT
NEXT PARAMETER VALUE
135 0 405.000
135 4 5XN PRI BDT ASSEM CURRENT NEXT PARAMETER
VALUE
137 0 411.000
137 0 1
133 0 412.000 133 18 19 1 11.000
Приложение 3
10 GENERATE 3,2
TRANSFER
ALL,COMP1,COMP3,5
COMP1 SEIZE 1
ADVANCE 5,2
RELEASE 1
ASSIGN 1,11
TRANSFER ,OR1
COMP2 SEIZE 2
ADVANCE 7,4
RELEASE 2
ASSIGN 1,21
TRANSFER ,OR1
COMP3 TERMINATE
OR1 QUEUE 1
TRANSFER ALL,EVM1,EVM2,5
EVM1 SEIZE 4
DEPART 1
ADVANCE 8,4
RELEASE 4
TRANSFER ,METKA1
EVM2 SEIZE 5
DEPART 1
ADVANCE 1
RELEASE 5
METKA1 SAVEVALUE 1+,P1
TERMINATE 1
START 100
Приложение 4
Wednesday,
January 16, 2013 23:14:14
START TIME END
TIME BLOCKS FACILITIES STORAGES
0.000
423.153 26 4 0
NAME VALUE
COMP1 3.000
COMP2 8.000
EVM1 16.000
EVM2 21.000
METKA1
25.000
OR1 14.000 LOC BLOCK
TYPE ENTRY COUNT CURRENT COUNT RETRY
1
GENERATE 139 0 0
2
TRANSFER 139 0 0 3
SEIZE 62 0 0
4
ADVANCE 62 0
0
5
RELEASE 62 0
0
6
ASSIGN 62 0
0
7
TRANSFER 62 0
0 8 SEIZE 40 0 0
9
ADVANCE 40 1 0
10
RELEASE 39 0 0
11
ASSIGN 39 0 0
12
TRANSFER 39 0 0 13 TERMINATE
37 0 0 14 QUEUE
101 0 0
15
TRANSFER 101 0 0 16
SEIZE 39 0 0
17
DEPART 39 0 0
18
ADVANCE 39 0 0
19
RELEASE 39 0 0
20
TRANSFER 39 0 0 21
SEIZE 62 0 0
22
DEPART 62 0 0
23
ADVANCE 62 1 0
24 RELEASE 61
0 0 25 SAVEVALUE 100 0 0
26
TERMINATE 100 0 0
ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
62 0.738
5.038 1 0 0 0 0 0
40 0.622
6.580 1 137 0 0 0 0
39 0.747
8.103 1 0 0 0 0 0
62 0.145
0.991 1 138 0 0 0 0 MAX CONT. ENTRY ENTRY(0)
AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 0 101
98 0.002 0.010 0.331 0 RETRY VALUE
0
1490.000 XN PRI BDT ASSEM CURRENT
NEXT PARAMETER VALUE
138 0 423.739
138 23 24 1 11.000
140 0 425.188 140 0 1
137 0 426.212 137 9 10