Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

слайды_gpss

.pdf
Скачиваний:
14
Добавлен:
10.02.2015
Размер:
431.71 Кб
Скачать

Блоки работы с памятями

ENTER A [,B]- активный транзакт либо занимает определенное число

элементов памяти, либо встает в очередь к данной памяти

Особенности выполнения.

1.Операнд A должен указывать на заранее определенную оператором STORAGE память. 2.При попытке транзакта войти в блок ENTER всегда проверяется, существует ли необходимое число свободных элементов данной памяти. Для определения необходимого числа свободных элементов памяти используется операнд B.

3.Если необходимое число свободных элементов есть, она занимается. Число свободных элементов памяти уменьшается на заданное число.

4.Транзакт, занявший память, пытается перейти к следующему блоку.

5.Элементы памяти остаются занятыми до тех пор, пока занимающий их транзакт не войдет в соответствующий блок LEAVE.

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

Примеры.

ENTER RAM

Транзакт пытается занять один элемент памяти с именем RAM

ENTER RAM, P$V_RAM

Транзакт пытается занять память с именем RAM. Необходимое число элементов памяти содержится в параметре транзакта с именем V_RAM.

LEAVE A [,B]- активный транзакт освобождает требуемое число

элементов памяти. Особенности выполнения.

1.Операнд A должен указывать на заранее определенную оператором STORAGE память. 2.Для определения числа освобождаемых элементов памяти используется операнд B. Число свободных элементов памяти увеличивается на заданное число.

3.Транзакт, освободивший элементы памяти, пытается перейти к следующему по номеру блоку.

4.После освобождения памяти определяются транзакты, потребность в памяти которых может быть удовлетворена, и.транзакты входят в блок ENTER.

Примеры.

LEAVE RAM

Транзакт освобождает один элемент памяти с именем RAM LEAVE RAM, P$V_RAM

Транзакт освобождает элементы памяти с именем RAM. Освобождаемое число элементов памяти содержится в параметре транзакта с именем V_RAM.

Пример модели мультипрограммной обработки.

На вход системы поступает пуассоновский поток заданий Распределение интервалов времени между заданиями по экспоненциальному закону с параметром 50

Параметры задания: требуемый размер оперативной

памяти, необходимое количество квантов процессорного времени (определяются соответствующими функциями распределения).

Параметры системы: размер доступной оперативной памяти, количество процессоров, размер кванта.

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

Исследовать зависимость среднего времени выполнения заданий от числа процессоров и размера оперативной памяти.

ИМИТАЦИОННАЯ МОДЕЛЬ НА ЯЗЫКЕ GPSS

INITIAL X$QRAM_MAX,5

INITIAL X$CPU_MAX,2

 

INITIAL

X$KVANT,10

RAM

STORAGE

 

1024

RAM_TASK

FUNCTION

RN1,C4

0,10/0.5,50/0.8,100/1,201

 

 

KVANT_TASK

FUNCTION

P$RAM_TASK,C2

10,5/200,30

 

 

 

TIME

TABLE

M1,100,1000,30

 

GENERATE

(EXPONENTIAL(2,0,50))

 

ASSIGN RAM_TASK,FN$RAM_TASK

 

ASSIGN KVANT_TASK,(INT(FN$KVANT_TASK))

 

TEST LE

Q$RAM,X$QRAM_MAX,NO_SERVICE

 

QUEUE

RAM

 

ENTER RAM,P$RAM_TASK

 

DEPART

RAM

M_CICL

SELECT MIN CPU,1,X$CPU_MAX,,FR

 

QUEUE

P$CPU

 

SEIZE P$CPU

 

DEPART

P$CPU

 

ADVANCE

 

X$KVANT

 

RELEASE

P$CPU

 

LOOP KVANT_TASK,M_CICL

 

LEAVE RAM,P$RAM_TASK

 

TABULATE

TIME

 

SAVEVALUE

TASK_SERVICE+,1

 

TERMINATE

 

NO_SERVICE

SAVEVALUE

TASK_NO_SERVICE+,1

 

TERMINATE

 

GENERATE

50000

 

 

TERMINATE 1 START 1

CLEAR

INITIAL X$QRAM_MAX,5 INITIAL X$CPU_MAX,4 INITIAL X$KVANT,10

RAM STORAGE 1024 RAM_TASK FUNCTION RN1,C4 0,10/0.5,50/0.8,100/1,201

KVANT_TASK FUNCTION P$RAM_TASK,C2 10,5/200,30

TIME TABLE M1,100,1000,30 START 1

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

Исследовать

время выполнения проекта в зависимости от числа проектировщиков

коэффициент использования коллектива проектировщиков

максимальное число проектировщиков, используемых одновременно

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

Число проектировщиков: 5,6,7,8,9,10,11,12

Сетевой график выполнения проекта

 

2

 

 

Задача 5

5

 

 

 

 

 

 

 

 

 

1 чел.

 

 

 

 

 

 

 

 

 

 

 

 

25±7 дн.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача 8

 

 

 

 

 

 

4чел.

 

 

Задача 3

 

 

 

 

 

 

 

 

10±3 дн.

Задача 1

 

2 чел.

 

 

 

 

 

 

 

 

3 чел.

 

22±5 дн.

 

 

 

 

20±9 дн.

 

 

 

 

 

 

1

 

 

4

 

Задача 7

 

7

 

 

 

4 чел.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15±5 дн.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача 2

 

Задача 4

 

 

 

 

 

 

 

 

4 чел.

 

3 чел.

 

 

 

 

 

Задача 9

 

 

14±6 дн.

 

10±3 дн.

 

 

 

 

 

2 чел.

 

 

 

 

 

 

 

 

 

 

8±3 дн.

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

Задача 6

 

6

 

 

 

 

5 чел.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18±4 дн.

 

 

 

 

 

ИМИТАЦИОННАЯ МОДЕЛЬ НА ЯЗЫКЕ GPSS

men

storage

12

 

T_project

TABLE

MP$TIME,0,20,20 ;Регистрация времени

 

GENERATE

,,,1 ;начало выполнения проекта

 

MARK

 

time

node1

SPLIT

 

1,task1

 

TRANSFER

,task2

node2

SPLIT

 

1,task3

 

TRANSFER

,task5

node3

SPLIT

 

1,task4

 

TRANSFER

,task6

node4

ASSEMBLE

2

SPLIT

1,task7

 

 

 

TRANSFER

,node6

node5

TRANSFER

,task8

node6

ASSEMBLE

2

 

TRANSFER

,task9

node7

ASSEMBLE

3

*

 

 

 

 

TABULATE

T_project

 

TRANSFER

,task10

*

 

 

 

task1

ENTER

 

men,3

 

ADVANCE

20,9

 

LEAVE

 

men,3

 

TRANSFER

,node2

task2

ENTER

 

men,4

 

ADVANCE

14,6

 

LEAVE

 

men,4

 

TRANSFER

,node3

task3

ENTER

 

men,2

 

ADVANCE

22,5

 

LEAVE

 

men,2

 

TRANSFER

,node4

task4

ENTER

 

men,3

 

ADVANCE

10,3

 

LEAVE

 

men,3

 

TRANSFER

,node4

task5

ENTER

 

men,1

 

ADVANCE

25,7

 

LEAVE

 

men,1

 

TRANSFER

,node5

task6

ENTER

 

men,5

 

ADVANCE

18,4

 

LEAVE

 

men,5

 

TRANSFER

,node6

task7

ENTER

 

men,4

 

ADVANCE

15,5

 

LEAVE

 

men,4

 

TRANSFER

,node7

task8

ENTER

 

men,4

 

ADVANCE

10,3

 

LEAVE

 

men,4

 

TRANSFER

,node7

task9

ENTER

 

men,2

 

ADVANCE

8,3

 

LEAVE

 

men,2

 

TRANSFER

,node7

task10

TERMINATE

1

 

START 1