Имитационное моделирование системы распределенного банка данных

Автор работы: Пользователь скрыл имя, 26 Декабря 2011 в 16:29, курсовая работа

Описание

Прозрачность для пользователя ценна по трем причинам. Во-первых, опасно полагаться на непрозрачное моделирование типа «черный ящик», внутренние механизмы функционирования которого скрыты от пользователя. Мало того, что в этом случае нельзя быть уверенным, подходит ли оно для какого-либо конкретного случая, но и невозможно гарантировать, что оно работает, как задумано. Во-вторых, удачные имитационные модели являются очень ценными и пригодны в течение длительного периода времени.

Содержание

Введение 6
Глава 1. 12
1.1 Техническое задание. 12
1.2 Анализ технического задания. 13
1.3. Формализация концептуальной модели… ………………………………14
1.4. Формализация Q-схемы. 15
1.5. Вывод. 16
Глава 2. 17
2.1. Блок-схема. 17
2.2. Эксперименты 18
2.3. Спецификация блоков моделирования. 27
1.5. Вывод. 29
Глава 3. 30
3.1. Анализ результатову модели. 30
3.2. Заключение 32
Литература. 33

Работа состоит из  1 файл

Курсовая работа.doc

— 140.50 Кб (Скачать документ)

   403    0        4023.125    403     14     15

   404    0        4026.717    404      0      1

   400    0        4029.845    400      7      8 
 
 

 

Эксперимент 3

Листинг 
 

CPU_1 storage 2 ;объем накопителя 1 

CPU_2 storage 2 ;объем накопителя 2 

            GENERATE 10,3 ;время поступления запроса в систему

      ADVANCE  2  ;предварительная обработка запроса

      TRANSFER  0.5,BLK1,BLK2 ;вероятностный переход 

BLK1 QUEUE o4 ;очередь

      ENTER CPU_1  ;устройство обработки 1

      DEPART o4 ;вывод из очереди

      ADVANCE 18,2 ;задержка обработки

      LEAVE CPU_1 ;закрытие устройства

      SAVEVALUE bl1+,1 ;счетчик количества транзактов в 1 ЭВМ

      TERMINATE 1  

BLK2 SEIZE 1 

      ADVANCE 3 ;задержка передачи по каналу связи

      RELEASE 1

      ADVANCE 2 

      QUEUE  o42 

      ENTER CPU_2 ;устройство обработки 2

      DEPART o42

      ADVANCE 18,2 ;задержка обработки

      LEAVE CPU_2 ;закрытие устройства 2

      SEIZE 2

      ADVANCE 3

      RELEASE 2

      SAVEVALUE bl2+,1 

      TERMINATE 1

      start  400 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Отчет 3 
 
 

              GPSS World Simulation Report - Untitled Model 1.5.1 
 

                   Friday, June 13, 2008 12:00:43   

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           4069.841    24        2          2 
 

              NAME                       VALUE 

          BL1                         10005.000

          BL2                         10004.000

          BLK1                            4.000

          BLK2                           11.000

          CPU_1                       10000.000

          CPU_2                       10001.000

          O4                          10003.000

          O42                         10002.000 
 

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE           402             0       0

                    2    ADVANCE            402             0       0

                    3    TRANSFER           402             0       0

BLK1                4    QUEUE              209             0       0

                    5    ENTER              209             0       0

                    6    DEPART             209             0       0

                    7    ADVANCE            209             0       0

                    8    LEAVE              209             0       0

                    9    SAVEVALUE          209             0       0

                   10    TERMINATE          209             0       0

BLK2               11    SEIZE              193             0       0

                   12    ADVANCE            193             0       0

                   13    RELEASE            193             0       0

                   14    ADVANCE            193             1       0

                   15    QUEUE              192             0       0

                   16    ENTER              192             0       0

                   17    DEPART             192             0       0

                   18    ADVANCE            192             1       0

                   19    LEAVE              191             0       0

                   20    SEIZE              191             0       0

                   21    ADVANCE            191             0       0

                   22    RELEASE            191             0       0

                   23    SAVEVALUE          191             0       0

                   24    TERMINATE          191             0       0 
 

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1                  193    0.142       3.000  1        0    0    0     0      0

2                  191    0.141       3.000  1        0    0    0     0      0 
 

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

O42                 1    0    192    180     0.003      0.070      1.115   0

O4                  1    0    209    193     0.008      0.151      1.974   0 
 

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

CPU_1               2    2   0     2      209   1    0.928  0.464    0    0

CPU_2               2    1   0     2      192   1    0.846  0.423    0    0 
 

SAVEVALUE               RETRY       VALUE

BL2                      0        191.000                           

BL1                      0        209.000                             
 

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

   402    0        4070.059    402     14     15

   403    0        4070.904    403      0      1

   401    0        4075.848    401     18     19

 

2.3  Спецификация  блоков модели 

Для создания   транзактов,  входящих  в  модель,  служит  блок

       GENERATE (генерировать), имеющий следующий формат: 

                    имя    GENERATE    A,B,C,D,E

В поле A задается среднее значение интервала времени между

моментами поступления  в модель двух последовательных транзактов. Если

этот интервал постоянен,  то поле B не используется. Если же интервал поступления является случайной величиной,  то в поле B указывается модификатор среднего значения, который может быть задан в виде

модификатора-интервала  или модификатора-функции.

Модификатор-интервал используется,  когда интервал поступления

транзактов является случайной величиной с равномерным  законом распределения вероятностей. В этом случае в поле B может быть задан любой СЧА,  кроме ссылки на функцию,  а диапазон изменения интервала

поступления имеет  границы A-B, A+B. 

     ADVANCE A,B – блок задерживает продвижение транзакта на заданный интервал времени.

     Его операнды:

     А – средний интервал времени.

     В – половина временного интервала или модификатор-функция. 

Блок TRANSFER (передать) служит для передачи входящих  в него

транзактов в  блоки, отличные от следующего. Блок имеет  девять режимов работы,  из которых  рассмотрим здесь лишь  три  наиболее  часто

используемых. В  этих трех режимах блок имеет следующий  формат:

                      имя    TRANSFER    A,B,C

Смысл операндов  в полях A, B и C зависит от режима работы блока.

В режиме безусловной  передачи поля A и C пусты,  а в поле  B

указывается имя  блока,  к которому безусловным  образом направляется

транзакт, вошедший в блок TRANSFER. 

Объекты типа очередь создаются  в  модели  путем использования

блоков  - регистраторов  очередей:  QUEUE (стать в очередь) и DEPART

(уйти из очереди), имеющих следующий формат:

      

                        имя   0QUEUE     A,B

                        имя   DEPART    A,B

В поле A указывается номер или имя очереди, а в поле B – число

единиц,  на которое  текущая длина очереди увеличивается  при  входе

транзакта  в  блок QUEUE или уменьшается при входе  транзакта в блок

DEPART.  Обычно  поле B пусто, и в этом случае  его значение по умолчанию  принимается равным 1. 

 Для занятия и освобождения каналов обслуживания МКУ  используется пара блоков ENTER (войти) и LEAVE (покинуть),  имеющих следующий формат:

                         имя    ENTER    A,B 

                         имя    LEAVE    A,B

  В поле A указывается номер или имя МКУ, в поле B  число каналов МКУ,  занимаемых при входе в блок ENTER или освобождаемых  при входе в блок LEAVE. Обычно поле B пусто, и в этом случае по умолчанию занимается или освобождается один канал.

  При входе  транзакта в блок ENTER текущее содержимое  МКУ увеличивается на число  единиц,  указанное в поле B .    Если свободная емкость МКУ меньше значения поля B, то транзакт не может войти в блок ENTER и остается в предыдущем блоке, образуя очередь в списке текущих событий.

  При входе  транзакта в блок LEAVE текущее содержимое МКУ уменьшается на число единиц, указанное в поле B. Не обязательно освобождается такое же число каналов МКУ,  какое занималось при входе данного транзакта в блок ENTER, однако текущее содержимое МКУ не должно становиться отрицательным. 

Для изменения  сохраняемых  величин  в  процессе моделирования

служит блок SAVEVALUE (сохранить величину),  имеющий следующий формат:

                       имя    SAVEVALUE    A,B

В поле A указывается номер или имя сохраняемой величины, в которую

записывается  значение операнда B. Если в поле A после имени (номера)    сохраняемой величины стоит знак + или -,  то значение операнда B    добавляется или вычитается из текущего содержимого сохраняемой

величины. 

 

    2.4 Вывод

В результате работы со второй главой мной были рассмотрены  и изучены следующие вопросы

  • Построение блок-схемы на которой непосредственно видно как работает модель, какие в ней участвуют блоки и как наш транзакт их проходит
  • В этой главе была построена модель.
  • Так же во второй главе мы провели 3 эксперимента работы модели, на которых мы отчетливо видим, какого объема должны быть накопители перед ЭВМ для того чтобы перед ними не было очереди.
  • И были более подробно рассмотрены используемые в модели блоки. 
    3.1 Анализ результатов моделирования
 

     

Из отчета по первому эксперименту мы видим что  в очереди перед первым ЭВМ  у нас находиться 7 транзактов, а  перед вторым 4, соответственно объем  накопителей по единице не является оптимальным. Проводим 2 эксперимент, увеличивая емкость второго накопителя до двух.

Из отчета второго  эксперимента мы видим что перед  вторым ЭВМ у нас нет очереди, а перед первым ЭВМ в очереди  находиться 7 транзактов соответственно емкость первого накопителя не оптимальна. Проведем третий эксперимент увеличив емкость первого накопителя до двух.

Информация о работе Имитационное моделирование системы распределенного банка данных