Generate 3000

TERMINATE 1

START 1

END

4.5.2. МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ,

ЗАВИСИМЫХ ПО ДАННЫМ

Распараллеливание процессов в GPSS иммитируется созданием в блоке SPLIT копий текущего транзакта и последующим перемещением их по блокам модели. Транзакты-копии образуют вместе с транзактом-родителем одно семейство. В соответствии с логикой работы блока SPLIT транзакт-родитель после порождения транзактов-копий продвигается в блок, следующий за блоком SPLIT. Транзакты-копии предназначены для имитации параллельных зависимых (связанных по результатам завершения) процессов и перемещаются в блоки, имитирующие эти процессы и в программе определяемые меткой, записанной в поле В блока SPLIT. По завершении имитации зависимых процессов возможны два варианта продвижения транзактов семейства:

· накопление в блоке ASSEMBLE А транзактов одного семейства до количества, указанного в поле А этого блока, и слияние их в снова в один транзакт;

· накопление в блоке GATNER А транзактов одного семейства до количества, указанного в поле А этого блока, с последовательным продвижением всех накопленных транзактов в следующий блок по правилу FIFO.

Ниже приводится пример программы, имитирующей зависимые параллельные процессы, протекающие в устройствах U11,U12,U13, и последующее объединение их в устройстве U2:

*

GENERATE 20,5

SPLIT 3,МТ, 4,5; порождается 3 копии транзакта, поступающие в блок МТ.

*Порядковые номера копий хранятся в параметре 4, а число параметров у каждой

*копии равно 5.

*Исходный транзакт остается активным и передвигается в следующий блок модели:

QUEUE Q1

SEIZE U1

DEPART Q1

ADVANCE 15,10

RELEASE U1

TERMINATE

*

MT TRANSFER ALL, 10,21,4; копии-транзакты пытаются войти последовательно в *блоки с номерами 10,14,18; эти номера можно либо определить перечислением блоков *по исходному тексту программы-модели либо прочитать в.LST –файле (номера *представляются слева в строке каждого блока)

SEIZE U11

ADVANCE 10,6

RELEASE U11

TRANSFER, MK

*

SEIZE U12

ADVANCE 10,6

RELEASE U12

TRANSFER,MK

*

QUEUE Q2

SEIZE U13

DEPART Q2

ADVANCE 10,6

RELEASE U13

TRANSFER,MK

* Примечание: далее рассмотрены варианты моделей:

* Вариант 1 – слияние трех транзактов в блоке ASSEMBLE 3 в один с обслуживанием *этого транзакта в устройстве U2; в этом блоке накапливаются транзакты одного

*семейства, поэтому в нем одновременно могут задерживаться транзакты различных

*семейств, для которых еще не выполнены условия ассемблирования:

MK ASSEMBLE 3;

SEIZE U2

ADVANCE 15,5

RELEASE U2

TERMINATE

* Вариант 2 – накопление трех транзактов одного семейства в блоке GATHER 3

*с последующим обслуживанием их в устройстве U2 по правилу FIFO; очевидно, что

*в этом случае быстродействие устройства должно обеспечивать последовательное

* обслуживание всех трех транзактов-копий до появления следующей порции

*транзактов-копий:

MK GATHER 3

SEIZE U2

ADVANCE 15,3

RELEASE U2

TERMINATE

*Сегмент задания времени моделирования здесь не приводится.

4.5.3. МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ,

СВЯЗАННЫХ ПО УПРАВЛЕНИЮ

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

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

Другим типичным примером параллельных процессов, связанных по управлению, может быть система «пассажир – маршрутное такси». Два независимых потока – пассажиров и маршрутных такси – пересекаются на остановке для посадки (здесь рассматривается модель взаимодействия только на начальной остановке маршрута, то есть только модель посадки). Взаимодействие этих процессов в модели отображается с помощью логического переключателя tr, корорый включается только при наличии машины на остановке, то есть когда возможна посадка, и выключается при заполнении всех мест в салоне машины (taxi1).

* Программа моделирования “Маршрутное такси”

taxi equ 1

pass equ 2

posadka equ 1

exp equ 1

tr equ 1

taxi1 equ 1

taxi1 storage 15

*

exp function rn$1,c14

0.,0./.1,.104/.3,.555/.5,.69/.6,.915

.7,1.2/.8,1.6/.85,1.95/.9,2.3/.95,3.

.98,3.9/.99,4.6/.995,5.3/.999,7.

*

Simulate

*

* процесс движения a/машин по маршруту:

*

gener,,,7; на маршрут выходит 7 а/машин

ost queue taxi; очередь машин на остановке

seize posadka; на посадку выходит только одна a/м

depart taxi

logic_s tr; установка индикатора готовности a/м к посадке

gate_lr tr; посадка закончена? Если нет, то ждать

release posadka; да, посадка закончена

advance 70,30; движение по маршруту в течение времени, *имеющего равновероятное распределение на интервале 40..100 мин

transfer,ost; возврат в начало маршрута

*

* процесс движения пассажиров:

*

gener 2,fn$exp; появление пассажиров через случайные *интервалы времени, распределенные по закону Пуассона

*с интенсивностью 0.5 пассажиров в минуту

queue pass; очередь пассажиров

gate_ls tr; возможна ли посадка? (индикатор tr установлен?)

enter taxi1; да, и пассажир занимает место в машине

depart pass

gate_sf taxi1,drop; все ли места заняты? (sf-storage full)

logic_r tr; да, и индикатор сбрасывается

leave taxi,15; сброс занятых мест storage

drop term

*

gener 1200; задание времени моделирования 20 часов

term 1

start 1

end

*Примечание. В тексте модели выделены блоки, обеспечивающие взаимодействие двух процессов через логический переключатель.

РАЗДЕЛ V. ЗАДАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ

5.1. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 1

Тема: обработка заявок объектами типа устройство (FACILITY) в системе без потерь (с неограниченной очередью) по дисциплинам:

а) без приоритета – по правилу FIFO;

б) с относительным приоритетом - без прерывания;

в) с абсолютным приоритетом, с прерыванием – по правилу LIFO.

1. Построить имитационную модель однопроцессорной системы обработки двух потоков задач. Длины очередей не ограничены. Потоки задач – пуассоновские, времена решения задач в процессоре распределены по экспоненциальному закону. Для обоих потоков задать одинаковые интенсивности ввода и одинаковые интенсивности обслуживания задач в процессоре, обеспечивающие загрузку процессора не менее 90%.

Провести исследования на модели:

1.1. Определить длительность переходных процессов ТМпп в модели как минимальное время моделирования ТМmin=ТМпп, обеспечивающее завершение переходного процесса. Будем считать,что переходной процесс завершен, если оценки характеристик моделируемой системы статистически независимы от длительности процесса моделирования. Для определения длительности переходных процессов провести на модели серию экспериментов и построить зависимости характеристик системы (средней длины очереди, среднего времени ожидания заявок в очередях и обслуживания в процессоре) от времени моделирования в диапазоне ТМ = 500 – 5000.

Определить, какая из характеристик моделируемой системы наиболее чувствительна к переходному процессу.

Все дальнейшие исследования на модели проводить при ТМ>=ТМпп.

1.2. Определить и сравнить максимальную и среднюю длину очереди, загрузку процессора в целом и отдельно для первого и второго потока задач:

а) при отсутствии приоритетов в решении задач;

б) при условии,что приоритет задач первого потока выше приоритета задач второго потока;

в) при условии, что приоритет задач первого потока выше приоритета задач второго потока, но интенсивность задач первого потока в два (три, четыре…) раза меньше интенсивности задач второго потока. Найти, при каких соотношениях интенсивностей входных потоков влияние приоритета на характеристики процесса обслуживания компенсируется.

2. Построить имитационную модель узла (процессора) вычислительной сети. На вход процессора поступают два потока задач, образующие две очереди: Q1 – фоновые задачи, занимающие процессор, если он свободен; Q2 – диалоговые задачи (от пользователей) или задачи управления, требующие оперативного решения и поэтому прерывающие решение фоновой задачи. Прерванная задача возвращается в очередь Q1 для дообслуживания. Потоки задач – пуассоновские, времена решения задач в процессоре распределены по экспоненциальному закону. Длины очередей не ограничены. Для обоих потоков задать одинаковые интенсивности ввода и одинаковые интенсивности обслуживания задач в процессоре, обеспечивающие загрузку процессора не менее 90%.

Провести исследования модели:

2.1. Определить и сравнить максимальную и среднюю длину очереди, время ожидания в очереди, загрузку процессора в целом и отдельно загрузку процессора задачами первого и второго потока.

2.2. Уменьшая интенсивность задач потока Q2 в два (три, четыре…) раза, определить, при каких соотношениях интенсивностей входных потоков влияние приоритета на характеристики процесса обслуживания компенсируется.

5.2. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 2

Тема: обработка заявок объектами типа устройство (FACILITY) в системе с потерями (с ограниченной очередью).

1. Построить имитационную модель однопроцессорной системы обработки одного потока задач. Длина очереди R ограничена и не может быть больше Qd. Поток задач пуассоновский, время решения задачи в процессоре распределено по экспоненциальному закону. Интенсивность ввода L и интенсивность обслуживания задач в процессоре M задать такими, которые приводили бы к перегрузке процессора (коэффициент загрузки Z = L / М более 100%). Задача, поступающая в систему при максимальном заполнении ограниченной очереди, покидает систему без обслуживания в процессоре.

2. Провести исследования на модели:

2.1. Определить длительность перехрдных процессов ТМпп в модели и сравнить с результатами оценки ТМпп, полученными в п. 1.1. лабораторной работы №1.

2.2. Найти зависимость характеристик моделируемой однопроцессорной системы от заданного ограничения длины очереди Qd.

3. Построить модель

Потоки 1 и 2- Пуассоновские с интенсивностью L1=0.5 1/мин и L2=0.2 1/мин соответственно. Распределение времени решения задач в процессоре- равновероятное с интервалами Тр1=0.5 – 4.5 мин и Тр2=2 – 6 мин соответственно. Если длина очереди диалоговых задач больше Qd (например, больше 5), то очередная диалоговая задача поступает на решение в другой процессор сети, но на поиск свободного процессора и передачу ему задачи требуется дополнительное время 20 – 50 секунд с равновероятным распределением.

Провести следующие исследования:

5.3.ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 3

Тема: применение объекта типа STORAGE:

а) в качестве памяти;

б) в качестве многоканального устройства обработки.

1. Построить модель работы ЭВМ, содержащей вычислитель (В), устройство ввода/вывода и буферный накопитель (БН), в который при вводе данных (исходная информация) поступает пакет емкостью Vi, а при выводе данных (результат обработки данных в процессоре) – пакет емкостью Vo. Величины Vi и Vo –случайные, законы распределения этих величин задаются самостоятельно. Время обращения к БН пропорционально емкости пакета. Инициатива обращения к накопителю для ввода и вывода данных – за процессором (вариант 1) или ввод данных – по сигналу извне, а вывод – по инициативе процессора (вариант2).

2. Провести следующие исследования на модели:

2.1. Определить длительность переходных процессов ТМпп в модели, построив зависимость от времени моделирования ТМ =500 – 20000 средней загрузки БН и процессора, средних длин очереди к БН.

2. По результатам моделирования построить график зависимости пропускной способности ЭВМ от емкости БН. Оценку пропускной способности ЭВМ на модели определять как количество задач, решенных за единицу времени при максимальной загрузке вычислителя (до 95% – 98%).

3. Построить имитационную модель работы класса ПЭВМ, имеющего 50 рабочих мест, и в резерве может находится до 10 ПЭВМ. Каждая ПЭВМ работает до отказа (наработка на отказ 120– 180 часов). Отказавшая ПЭВМ поступает в ремонт (число ремонтных бригад равно 5), время ремонта от 2 до 10 часов. Законы распределения наработки на отказ и времени ремонта – равновероятные.

Рассмотреть два варианта модели:

3.1. В течение рабочего времени работают все ремонтные бригады (например, круглосуточно).

3.2. Класс ПЭВМ работает круглосуточно, рабочее время ремонтных бригад – с 8 до 18 часов, а в остальное время работает одна бригада – дежурная.

Для каждого из вариантов моделей:

§ определить длительность переходных процессов и найти ТМпп, обеспечивающее стационарный режим работы модели.

§ определить зависимость длительности переходного процесса в модели от количества ПЭВМ в системе (число ПЭВМ менять в диапазоне 20 – 80).

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

5.4. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 4

Тема: изучение режимов работы блока TRANSFER.

Разработать модель, имитирующую работу многопроцессорной ВС, состоящей из К процессоров обработки данных (CPU1, CPU2, CPU3..). Заявки на решение задач поступают в систему по Пуассоновскому закону с интенсивностью 0.5 заявки в мин. Время решения задачи в CPU – случайная величина, имеющая экспоненциальное распределение с интенсивностью 0.7 заявок в мин (все CPU считать одинаковыми).

Рассмотреть два варианта модели:

Вариант 1. Поток заявок образует одну общую очередь, из которой заявки выбирают по правилу FIFO для решения в первом свободном процессоре.

Вариант 2. Из общего потока заявки распределяются между процессорами равновероятно, образуя соответствующие очереди, из которых выборка для обслуживания в соответствующем процессоре происходит по правилу FIFO.

Для каждого из вариантов выполнить следующее.

1. Определить минимальное время моделирования, обеспечивающее завершение переходного процесса.

2. Для стационарного режима работы модели найти при заданных исходных данных основные характеристики ВС: средние и максимальные длины очередей, загрузку всех CPU.

3. Найти зависимость производительности ВС (предельное количество задач, решаемых системой за единицу времени) от числа процессоров.

4. Сравнить полученные результаты для 1 и 2 вариантов.

ЛИТЕРАТУРА

1. С.И. Шелобаев. Математические методы и модели в экономике, финансах, бизнесе. М.:Юнити. 2000.

2. А.П.Свиридов, И.А.Шалобина.Сетевые модели динамики знаний. Уч. пособие по курсу “Педагогические и психологические основы организации учебного процесса в высшей школе ”. М.: МЭИ, 1992.

3. В.П.Климанов. Методика разработки аналитических моделей для анализа ЛВС, используемых в управлении технологическими процессами.Уч. пособие по курсу “Методы анализа ВС”М.:МЭИ.1995.

4. Система моделирования GPSS/PC на ПЭВМ, вып.69.Методические материалы и документация по пакетам прикладных программ. Под ред. Орлова В.А. М.:МЭИ, 1990.

5. Локальные вычислительные сети: Справочник.В 3-х кн. Кн.3: Организация функционирования, эффективность, оптимизация /C.В.Назаров и др. Под ред. С.В.Назарова.-М.: Финансы и статистика, 1995.

6. Черненький Л.Р. Имитационное моделирование. Разработка САПР, в 10 кн., кн.9, М.: 1990.

7. В.В.Емельянов, С.И.Ясиновский. Введение в интеллектуальное имитационное моделирование сложных дискретных систем и процессов. Язык РДО.-М.:АНВИК, 1998.

8. А,А,Марков. Моделирование информационно-вычислительных процессов. Учебное пос.-М.:Изд-во МГТУ им.Н,Э,Баумана, 1999.

9. А,Н,Дорошенко, В,Н,Федоров. Моделирование дискретных систем. Учебн. пос.-М.: Изд-во МЭИ, 2001.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ ……

РАЗДЕЛ I. GPSS – ЯЗЫК И СИСТЕМА МОДЕЛИРОВАНИЯ.

СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ GPSS…………………………….

РАЗДЕЛ II. ОБЪЕКТЫ СИСТЕМЫ МОДЕЛИРОВАНИЯ……………………

2.1. ТРАНЗАКТЫ – ДИНАМИЧЕСКИЕ ОБЪЕКТЫ МОДЕЛИ…………………..

2.1.1. СОЗДАНИЕ И УДАЛЕНИЕ ТРАНЗАКТОВ……………………………………

2.1.2. CПИСКИ ТРАНЗАКТОВ…………………………………………………………

2.1.3. АЛГОРИТМ ПЕРЕМЕЩЕНИЯ ТРАНЗАКТОВ –

АЛГОРИТМ МОДЕЛИРОВАНИЯ В СИСТЕМЕ GPSS……………………..

2.2. УСТРОЙСТВА…………………………………………………………………….

2.3. ПАМЯТЬ……………………………………………………………………………

2.4. ОЧЕРЕДИ………………………………………………………………………….

2.5. ЛОГИЧЕСКИЕ КЛЮЧИ……………………………………………………….

2.6. ЯЧЕЙКИ………………………………………………………………………….

2.6. ТАБЛИЦЫ…………………………………………………………………………..

2.8. ФУНКЦИИ И ПЕРЕМЕННЫЕ……………………………………………………

РАЗДЕЛ III. СРЕДСТВА ЯЗЫКА, ИМИТИРУЮЩИЕ СТАТИЧЕСКИЕ И

ДИНАМИЧЕСКИЕ СВОЙСТВА ТРАНЗАКТОВ ПРИ МОДЕЛИРОВАНИИ

ДИСКРЕТНЫХ ПРОЦЕССОВ …………………………….

3.1. БЛОКИ, ВЛИЯЮЩИЕ НА ЗНАЧЕНИЯ ПАРАМЕТРОВ ТРАНЗАКТОВ……..

3.2. БЛОКИ, ОПРЕДЕЛЯЮЩИЕ НАПРАВЛЕНИЕ ПЕРЕМЕЩЕНИЯ

ТРАНЗАКТОВ ПО МОДЕЛИ ………………………………………………………

3.3. БЛОКИ, ОБЕЧПЕЧИВАЮЩИЕ КОПИРОВАНИЕ И СИНХРОНИЗАЦИЮ

ПЕРЕМЕЩЕНИЯ ТРАНЗАКТОВ ПО МОДЕЛИ ………………………………..

РАЗДЕЛ IV. ОСОБЕННОСТИ ПОСТРОЕНИЯ МОДЕЛЕЙ ДИСКРЕТНЫХ

ПРОЦЕССОВ НА ЯЗЫКЕ GPSS

4.1. ИМЕНА В GPSS-ПРОГРАММЕ

4.2. СЛУЧАЙНЫЕ ВЕЛИЧИНЫ В GPSS

4.3. ИМИТАЦИЯ ДИСКРЕТНОГО ПРОЦЕССА В GPSS

4.4. МОДЕЛИРОВАНИЕ ПРОЦЕССОВ, СВЯЗАННЫХ ПО

УСТРОЙСТВУ ОБСЛУЖИВАНИЯ

4.5. МОДЕЛИРОВАНИЕ И СИНХРОНИЗАЦИЯ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ

4.5.1. МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ НЕЗАВИСИМЫХ ПРОЦЕССОВ

4.5.2. МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ, ЗАВИСИМЫХ

ПО ДАННЫМ

4.5.3. МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ, СВЯЗАННЫХ

ПО УПРАВЛЕНИЮ

РАЗДЕЛ V. ЗАДАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ

6.1. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 1

6.2. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 2

6.3. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 3

6.4. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 4

ЛИТЕРАТУРА


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: