Лабораторная работа по GPSS моделирование одноканальных систем массового обслуживания

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

Лабораторное задание: В систему обработки данных приходят заявки трех типов:
·             Информационные сообщения;
·             Аварийные сообщения;

·             Отчеты.
Разработать модель и проанализировать загрузку обрабатывающего устройства исходя из заданных законов распределения поступающих заявок, времени задержки в канале Т(кан) и распределения времен их обработки Т(эвм). Оценить изменение времени обработки заявки (в %) при изменении задержки в канале и изменении времени обработки заявки.


Задание:
Время поступления заявок:
·        Информационные сообщения приходят согласно нормального закона распределения с М=23 и D=9.
·        Аварийные сообщения распределены по закону Пуассона с L=6;
·        Отчеты приходят каждые 14 минут;
Время обработки заявок:
·        Для аварийных заявок время обработки 21 минут;
·        Для информационных заявок время распределено по равномерному закону 9 плюс-минус 7 минут;
·        Для отчетов время обработки распределено по нормальному закону с М=28 и D=8.
Время задержки в канале 7 минут и может быть уменьшено на 40%. Быстродействие ЭВМ может быть увеличено на 65%.

Ход работы
Листинг программы:

generate (normal(1,23,9));
queue ocher1;           - постановка транзакта в очередь
seize kanal;            - захват устройства
depart ocher1;          - удаление транзакта из очереди
advance 7;              - задержка транзактов
release kanal;                - освобождение устройства
queue ocher2;            - постановка транзакта в очередь
seize cpu;       - захват устройства
depart ocher2;          - удаление транзакта из очереди
advance 9,7;
release cpu;     - освобождение устройства
terminate

generate (POISSON (1,6));          
queue ocher1;           - постановка транзакта в очередь
seize kanal;     - захват устройства
depart ocher1;          - удаление транзакта из очереди
advance 7;       - задержка транзактов
release kanal;    - освобождение устройства
queue ocher2;           - постановка транзакта в очередь
seize cpu;        - захват устройства
depart ocher2;          - удаление транзакта из очереди
advance 21;       - задержка транзактов
release cpu;      - освобождение устройства
terminate

generate 14;
queue ocher1;           - постановка транзакта в очередь
seize kanal;     - захват устройства
depart ocher1;          - удаление транзакта из очереди
advance 7;       - задержка транзактов
release kanal;   - освобождение устройства
queue ocher2;           - постановка транзакта в очередь
seize cpu;        - захват устройства
depart ocher2;          - удаление транзакта из очереди
advance (NORMAL (1,28,8));      - задержка транзактов

release cpu;      - освобождение устройства

terminate;        - уничтожение транзактов
generate 480;
terminate 1;
Программа построена таким образом, что параллельно генерируются три типа транзактов, каждый из которых проходит две очереди и два устройства: канал и ЭВМ. Для каждого типа транзактов отдельно задано время генерации и время обработки их на ЭВМ соответственно условию. В результате выполнения программы в GPSS получается следующий отчёт:
Без модификации:
                             GPSS World Simulation Report - Untitled Model 1.6.1

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES
                0.000            480.000    38        2          0


              NAME                       VALUE 
          CPU                         10003.000
          KANAL                       10001.000
          OCHER1                      10000.000
          OCHER2                      10002.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY
                    1    GENERATE            22             0       0
                    2    QUEUE               22            12       0
                    3    SEIZE               10             0       0
                    4    DEPART              10             0       0
                    5    ADVANCE             10             0       0
                    6    RELEASE             10             0       0
                    7    QUEUE               10             8       0
                    8    SEIZE                2             0       0
                    9    DEPART               2             0       0
                   10    ADVANCE              2             0       0
                   11    RELEASE              2             0       0
                   12    TERMINATE            2             0       0
                   13    GENERATE            75             0       0
                   14    QUEUE               75            35       0
                   15    SEIZE               40             0       0
                   16    DEPART              40             0       0
                   17    ADVANCE             40             1       0
                   18    RELEASE             39             0       0
                   19    QUEUE               39            25       0
                   20    SEIZE               14             0       0
                   21    DEPART              14             0       0
                   22    ADVANCE             14             1       0
                   23    RELEASE             13             0       0
                   24    TERMINATE           13             0       0
                   25    GENERATE            34             0       0
                   26    QUEUE               34            16       0
                   27    SEIZE               18             0       0
                   28    DEPART              18             0       0
                   29    ADVANCE             18             0       0
                   30    RELEASE             18             0       0
                   31    QUEUE               18            12       0
                   32    SEIZE                6             0       0
                   33    DEPART               6             0       0
                   34    ADVANCE              6             0       0
                   35    RELEASE              6             0       0
                   36    TERMINATE            6             0       0
                   37    GENERATE             1             0       0
                   38    TERMINATE            1             0       0


FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
 KANAL               68    0.985       6.956  1       70    0    0     0     63
 CPU                 22    0.977      21.318  1       24    0    0     0     45


QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY
 OCHER1             64   63    131      2    30.116    110.347    112.058   0
 OCHER2             46   45     67      1    21.585    154.641    156.984   0

При работе системы было сгенерировано 131 транзактов. Из них ЭВМ обработала 22 транзактов. Большое количество транзактов осталось в очереди на обработку ЭВМ  очередь1 = 63, очередь2 = 45 .
Среднее время прохождения сообщения по каналу – 6,956  секунд, обработки    ЭВМ – 21.318 секунд. При этом загрузка канала составила 98.5%, а загрузка ЭВМ – 97.7%.

С модификацией времени задержки в канале и производительности:

                   Thursday, April 11, 2013 08:30:10 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES
                0.000            480.000    38        2          0


              NAME                       VALUE 
          CPU                         10003.000
          KANAL                       10001.000
          OCHER1                      10000.000
          OCHER2                      10002.000


 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY
                    1    GENERATE            20             0       0
                    2    QUEUE               20             0       0
                    3    SEIZE               20             0       0
                    4    DEPART              20             0       0
                    5    ADVANCE             20             0       0
                    6    RELEASE             20             0       0
                    7    QUEUE               20             0       0
                    8    SEIZE               20             0       0
                    9    DEPART              20             0       0
                   10    ADVANCE             20             0       0
                   11    RELEASE             20             0       0
                   12    TERMINATE           20             0       0
                   13    GENERATE            79             0       0
                   14    QUEUE               79             0       0
                   15    SEIZE               79             0       0
                   16    DEPART              79             0       0
                   17    ADVANCE             79             0       0
                   18    RELEASE             79             0       0
                   19    QUEUE               79             0       0
                   20    SEIZE               79             0       0
                   21    DEPART              79             0       0
                   22    ADVANCE             79             1       0
                   23    RELEASE             78             0       0
                   24    TERMINATE           78             0       0
                   25    GENERATE            34             0       0
                   26    QUEUE               34             0       0
                   27    SEIZE               34             0       0
                   28    DEPART              34             0       0
                   29    ADVANCE             34             1       0
                   30    RELEASE             33             0       0
                   31    QUEUE               33             0       0
                   32    SEIZE               33             0       0
                   33    DEPART              33             0       0
                   34    ADVANCE             33             0       0
                   35    RELEASE             33             0       0
                   36    TERMINATE           33             0       0
                   37    GENERATE             1             0       0
                   38    TERMINATE            1             0       0


FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
 KANAL              133    0.829       2.992  1      133    0    0     0      0
 CPU                132    0.823       2.992  1      135    0    0     0      0


QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY
 OCHER1              3    0    133     50     0.436      1.575      2.524   0
 OCHER2              1    0    132    132     0.000      0.000      0.000   0

После уменьшении времени задержки в канале на 40% и увеличения быстродействия ЭВМ на 50% сгенерировано 133 транзакта. Среднее время прохождения сообщения по каналу уменьшилось с 6.956   до 2.992 секунд. Загрузка канала изменилась с 98.5%. % до 82.9%, а загрузка ЭВМ с 97.7% до 82.3 .
Производительность ЭВМ изменилась c 22 до 132.

Вывод: В ходе выполнения данной лабораторной работы мы научились моделировать одноканальные системы массового обслуживания и модифицировать вычислительные системы (ВС) для определения оптимальной конфигурации.
В ходе выполнения работы, и изучения типов модификаций, был выбран наиболее целесообразный способ модификации: модификация времени задержки в канале на 40% и увеличения быстродействия ЭВМ на 50%.

Комментариев нет:

Отправить комментарий