Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все вместе.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.43 Mб
Скачать

Приложение а. Статическая балансировка загрузки. Gpss-программа

* * * * * * * * * * * * * * * * * * * *

* N*z (1024=64*16) *

* Единица модельного времени mkc *

* Вычислительная сложность 1e7 *

* Время обработки 0 - 1e5 mks *

* * * * * * * * * * * * * * * * * * * *

* "Параллельная" модель *

* * * * * * * * * * * * * * * * * * * *

1 fnproc_par function rn2,c2; время обработки в "параллельной" модели

2 0,0/1,100001

3 fnproc_posl function rn3,c2; время обработки в "последов-ой" модели

4 0,0/1,100001

5 us variable p4/p3; расчет коэффициента ускорения

6 tabl_s table v$us,42,0.25,60

7 proc_par storage 64; число процессоров в "параллельной" модели N=64

8 proc_posl storage 1; число процессоров в "последовательной" модели N=1

9 generate 1e8,100; транзакт-задача (1024 узла)

10 split 63; N=63+1 - количество групп

11 assign 1,16;z=16 - количество узлов в группе

12 queue qhost1_par; очередь на host-процессоре

13 seize host

14 depart qhost1_par

15 advance 5,3; обработка на host-процессоре

16 release host

17 queue qproc_par

18 enter proc_par; обработка процессором

19 depart qproc_par

20 proc2 advance fn$fnproc_par; цикл для обработки группы

21 loop 1,proc2; число итераций определено в 1-ом параметре транзакта

22 leave proc_par

23 queue qhost2_par; заключительная обработка на host-процессоре

24 seize host

25 depart qhost2_par

26 advance 5,3

27 release host

28 assemble 64; объединение транзактов, относящихся к одной задаче

29 assign 3,m1; фиксация времени прохождения транзакта по модели

* * * * * * * * * * * * * * * * * * * *

* "Последовательная" модель *

* * * * * * * * * * * * * * * * * * * *

31 mark 2

32 split 1023;1024 узла (одна задача)

33 queue qhost1_posl

34 seize host

35 depart qhost1_posl

36 advance 5,3

37 release host

38 queue qproc_posl

39 enter proc_posl; обработка процессором

40 depart qproc_posl

41 advance fn$fnproc_posl

42 leave proc_posl

43 queue qhost2

44 seize host

45 depart qhost2

46 advance 5,3

47 release host

48 assemble 1024

49 assign 4,mp2; фиксация времени прохождения транзакта по модели

50 tabulate tabl_s; расчет коэффициента ускорения

51 terminate 1

Приложение б. Динамическая равномерная балансировка загрузки. Gpss-программа

* * * * * * * * * * * * * * * * * * * *

* Z=K*z (1024=256*4) *

* Единица модельного времени mkc *

* Вычислительная сложность 1e7 *

* Время обработки 0 - 1e5mks *

* Число процессоров N=64 *

* ** * * * * * * * * * * * * * * * * * *

* "Параллельная" модель *

* * * * * * * * * * * * * * * * * * * *

1 fnproc_par function rn2,c2; время обработки в "параллельной" модели

2 0,0/1,100001

3 fnproc_posl function rn3,c2; время обработки в "последов-ой" модели

4 0,0/1,100001

5 us variable p4/p3; расчет коэффициента ускорения

6 tabl_s table v$us,42,0.25,60

7 proc_par storage 64;число процессоров в "параллельной" модели N=64

8 proc_posl storage 1; число процессоров в "последовательной" модели N=1

9 generate 1e8,100; транзакт-задача (1024 узла)

10 split 255; К=255+1 - количество групп

11 assign 1,4; z=4 - количество узлов в группе

12 queue qhost1_par;очередь на host-процессоре

13 seize host

14 depart qhost1_par

15 advance 5,3; обработка на host-процессоре

16 release host

17 queue qproc_par

18 enter proc_par; обработка процессором

19 depart qproc_par

20 proc2 advance fn$fnproc_par; цикл для обработки группы

21 loop 1,proc2; число итераций определено в 1-ом параметре транзакта

22 leave proc_par

23 queue qhost2_par; заключительная обработка на host-процессоре

24 seize host

25 depart qhost2_par

26 advance 5,3

27 release host

28 assemble 256; объединение транзактов, относящихся к одной задаче

29 assign 3,m1; фиксация времени прохождения транзакта по модели

* * * * * * * * * * * * * * * * * * * *

* "последовательная" модель *

* * * * * * * * * * * * * * * * * * * *

31 mark 2

32 split 1023; 1024 узла (одна задача)

33 queue qhost1_posl

34 seize host

35 depart qhost1_posl

36 advance 5,3

37 release host

38 queue qproc_posl

39 enter proc_posl; обработка процессором

40 depart qproc_posl

41 advance fn$fnproc_posl

42 leave proc_posl

43 queue qhost2

44 seize host

45 depart qhost2

46 advance 5,3

47 release host

48 assemble 1024

49 assign 4,mp2 фиксация времени прохождения транзакта по модели

50 tabulate tabl_s; расчет коэффициента ускорения

51 terminate 1