Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Описание машинной программы решения задачи




 

Т. к. решение поставленной в курсовой работе задаче осуществлялось с помощью языка имитационного моделирования GPSS. Для более наглядного представления решения задачи будет представлена блок-диаграмма языка GPSS (см. рисунок 7) и описан каждый из её блоков.

 

Рис. 7 - Блок-диаграмма GPSS

 


Первый блок в диаграмме называется «GENERATE A,B,C,D,E,F», он генерирует последовательность транзактов в заданный интервал времени в полях A и B. A=3 B=1. Блок «SEIZE» - занятие устройства, этот блок работает в паре с блоком «RELEASE» - освобождение устройства, соответственно первый производит занятие в модели под устройствами понимаются пункты и второй блок освобождает эти пункты, когда производится передача пакетов. «ENTER» - обеспечивает поступление транзакта в накопитель указанной емкости. Работает в паре с «LEAVE». Следующий блок «ADVANCE» производит обработку транзактов, в данном случае он производит передачу пакетов из пункта А в пункт В. Блок «TERMINATE» - производит уничтожение транзактов. Через блок TRANSFER осуществляется статистический выбор следования транзакта, согласно приоритетам ЭВМ. Сам листинг программы представлен в приложении 1.

Результаты моделирования и их анализ

 

Рассмотрим статистику после проведения моделирования и сделаем её анализ.

Выходная статистика:

 

START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY

0                        632                   21                 3                        0                        15744

LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY

   1       GENERATE        211                              0       0

   2       TRANSFER        211                              0       0

  BLK1 QUEUE               102                              9       0

   4       SEIZE                  93                                1       0

   5       DEPART              92                                0       0

   6       ADVANCE                       92                                0       0

   7           RELEASE           92                                0       0

   8       TERMINATE       92                                0       0

BLK TRANSFER          109                              0       0

BLK2 QUEUE                 65                                0       0

  11    SEIZE                    65                                0       0

  12    DEPART               65                                0       0

  13    ADVANCE           65                                1       0

  14    RELEASE             64                                0       0

  15    TERMINATE          64                                0       0

BLK3 QUEUE                 44                                0       0

  17    SEIZE         44                                0       0

  18       DEPART    44                                0       0

  19    ADVANCE 44                                0       0

  20    RELEASE  44                                0          0

  21    TERMINATE           44                                0       0

ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY

IBM1 93   0.974 6.62        1        191 0   0  0  9

IBM2 65   0.313 3.05        1        211 0   0  0  0

IBM3 44    0.338 4.86        1           0 0   0  0  0

MAX CONT. ENTRIES ENTRIES(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

BUFF1 11 10 102   7                     5.53  34.26 36.79 0

BUFF2 1 0   65   58    0.01   0.12 1.14 0

BUFF3 2 0   44   31    0.06   0.89 3.00 0

 

Из статистики видно моделирование произошло за 632 мс. Свободной памяти осталось 15744. В блоке GENERATE обрабатывалось 211 транзакта. Из них 102 обращались к ЭВМ1, 65 к ЭВМ2 и 44 к ЭВМ3. Коэффициенты загрузки ЭВМ по статистики равны к1=0.974, к2=0.313, к3=0.318.

 


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

 

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

Попробуем оптимизировать систему.

Продолжительность обработки заданий на разных ЭВМ характеризуется интервалом времени Т1=7±4 мин, Т2=3±1 мин, Т3=5±2 мин. Ставится задача определить приоритеты каждой ЭВМ так, чтобы процесс обработки транзактов был более равномерен.

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

(1)  т. к. загрузка всех ЭВМ должна быть одинаковой (равной), то найдем кол-во генерируемых заявок каждой ЭВМ:

Введем условные обозначения:

x1, x2, x3 - процент транзактов обрабатываемых ЭВМ1, -2, -3 соот-но, тогда:

/x1, 1/x2, 1/x3 - временная доля каждой ЭВМ в обработке транзактов.

y1, y2, y3 - количество транзактов необходимых для равномерной обработки каждой ЭВМ.

Т. к. всего было обработано 200 заявок, след-но можно посчитать y1, y2, y3:

y1=41,79 y2=98,5 y3=59,7, или приведя к целому (транзакт не может быть дробным):

y1=42, y2=98, y3=60

Теперь необходимо определить приоритеты, при которых возможно такое распределение:

P1=42/200=0.21 P2=98/200=0.49 P3=60/200=0.3;

В сумме P=P1+P2+P3=1, следовательно расчеты были проведены правильно. Составим программу в соответствии с расчетными приоритетами, и проанализируем статистику.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...