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

Характеристики МПС с общей памятью




 

Пусть в МПС поступает М потоков с интенсивностями l1,...,lM. Обслуживание заявок сводится к выполнению соответствующих программ, средние трудоемкости которых равны Q1,…,QM операций в расчете на один прогон программы. Примем, что обслуживание заявок выполняется на основе дисциплины FIFO. В таком случае можно считать, что система обслуживает однородный поток заявок, поступающих с интенсивностью

 

= i


Для обслуживания любой заявки из суммарного потока требуется в среднем процессорных операций .На каждый из процессоров поступает N-я доля заявок и, следовательно, отдельный процессор обслуживает поток с интенсивностью /N.

Среднее время простоя процессоров можно получить, приняв ti за время простоя i-того процессора, тогда среднее время простоя 1 процессора вычисляется по формуле:

 

T= i /N,

 

где N- количество процессоров.


РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

Таблица 3.1 Результаты работы многопроцессорных систем, обрабатывающих очередь из 100 заданий

Кол-во процессоров

Длина заявки 1-8

Длина заявки 3-6

 

Сумма длин заявок 487

Сумма длин заявок 874

  Время работы системы Среднее время простоя Среднее время выполнения 1 заявки Время работы системы Среднее время простоя Среднее время выполнения 1 заявки
2 278 6,0 2,8 249 2,0 2,5
5 113 7,3 1,1 103 3,2 1,0
10 59 5,6 0,6 54 3,3 0,4

График 3.1

 


Диаграмма 3.1

 

Таблица 3.2 Результаты работы многопроцессорных систем, обрабатывающих очередь из 1000 заданий

Кол-во процессоров

Длина заявки 1-8

Длина заявки 3-6

 

Сумма длин заявок 4456

Сумма длин заявок 8461

  Время работы системы Среднее время простоя Среднее время выполнения 1 заявки Время работы системы Среднее время простоя Среднее время выполнения 1 заявки
2 2736 6,2 2,7 2519 1,6 2,5
5 1098 5,5 1,1 1010 3,0 1,0
10 554 6,0 0,6 512 3,1 0,5

 


График 3.2

 

Диаграмма 3.2

 


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

Глобальные переменные

procc: array [1..10] of integer- массив процессоров системы

c: integer - переменная для подсчета количества простаивавших процессоров;

k: integer - переменная для подсчета общего времени простоя процессоров;

cz: integer - переменная для хранения текущего числа заданий(100 или 1000);

na: integer - переменная для хранения суммы длин заданий;

max: integer - переменная для хранения количества времени, которое проработает система после того, как ей будет передано последнее задание на обработку; Процедуры

Procedure mass (chzad: integer; proc: integer) - процедура, имитирующая работу многопроцессорной системы с общей памятью, выполняет обработку массива, состоящего из cz заданий, в системе с pr процессорами. В качестве параметров получает количество заданий chzad и количество процессоров proc в системе;

s:integer - переменная для подсчета времени, в течении которого будут выполняться chzad заданий;

f:Boolean - переменная для проверки передано ли очередное задание свободному процессору;

procedure vizov - процедура создает массив заданий длинной 1-8 и 3-6 и отправляет его на обработку 2-х, 5-ти и 10-ти процессорной системе при помощи вызова процедуры mass. Процедура вызывается в основной программе для 100 и 1000 заданий отдельно;

pr:integer - переменная для хранения количества процессоров системы;

мультипроцессорный память заявка архитектура


ЗАКЛЮЧЕНИЕ

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

Полученные данные показали прямую зависимость общей производительности системы от количества процессоров, т.е. с ростом числа процессоров в системе растет и общая производительность системы; эта зависимость хорошо видна на Графике 3.1. Как видно из Таблицы 3.1 для обработки одной и той же очереди заявок общей длинной 487 системе с 2-мя процессорами требуется почти в 2,5 раза больше времени, чем системе с 5-ю процессорами и в 4,7 раза больше, чем системе с 10-тью процессорами.

Как видно из таблиц 3.1 и 3.2 на производительность многопроцессорной системы с общей памятью влияет и диапазон длин заявок очереди. Для обработки очереди длинной 487, состоящей из 100 заявок, длина которых изменяется от 1 до 8, потребовалось почти столько же времени, сколько и для обработки такой же очереди общей длинной 874(что почти в 2 раза больше предыдущей), заявки которой имеют длину 3-6. Это обусловлено тем, при обработке первой очереди встречаются как очень короткие (длинной 1-4), так и длинные заявки, на обработку которых требуется больше времени. В связи с этим растет и среднее время простоя процессоров, т.к. некоторые процессоры могли выполнить короткие заявки и завершить работу, в то время как остальные продолжали выполнять длинные заявки. При обработке очереди длинной 3-6 разница в длине заявки составляет 1-2, т.е. процессоры выполняют заявки практически одновременно, таким образом, сокращается время простоя процессоров.

Среднее время выполнения одной заявки так же находится в прямой зависимости от числа процессоров системы. Затраты времени на выполнение одной заявки значительно сокращаются с ростом количества процессоров, как видно из Таблиц 3.1 и 3.2 среднее время, необходимое на выполнение одной заявки системе с двумя процессорами, составило 2,6. Системе с пятью процессорами потребовалось примерно 1,1 системного времени, что в 2,4 раза больше, чем первой. Десятипроцессорная система выполняла дону заявку за 0,5, т.е. в 2 раза быстрее, чем предыдущая система.

Таким образом, можно сделать вывод, что производительность многопроцессорной системы зависит, прежде всего, от количества процессоров в системе, а так же от диапазона длин заявок очереди. Полученные результаты показали, что наибольшей производительности система достигает при наличии 10 процессоров и наименьшем диапазоне длин заявок очереди (в данном случае 3-6).

 


Список литературы

 

1. В.И. Лойко; Вычислительные системы и сети”; г. Краснодар, изд. КГАУ, 2000 г.

.   В.Л. Бройдо; Вычислительные системы, сети и телекоммуникации”; Санкт-Петербург, 2002 г.

 


Приложение

Листинг программы

Program df;

uses crt;: array [1..10] of integer;:array[1..1000] of integer;,k,cz,na,max:integer;mass(chzad:integer; proc:integer);

var,s,i:integer;:boolean;

j:=0;:=0;:=1;:=1;i<=chzad do

f:=false;

beginj:=1 to proc do

beginprocc[j]=0 then:=true;[j]:=zad[i];(i);(procc[j]);;;(s);;f=true;;:=0;j:=1 to proc domax<procc[j] then max:=procc[j];

end;:=0;:=0;j:=1 to proc do

beginprocc[j]<max then

begin:=k+(max-procc[j]);

inc(c);;;:=s+max;c<> 0 then('TimeV=',s);('Prostoi ',k/c:3:3);(' Time1= ',s/chzad:3:3);('TimeV=',s);('Prostoi ',k,'');(' Time1= ',s/chzad:3:3);

end;;

procedure vizov;pr,i:integer;:=0;i:=1 to cz do[i]:=random(8)+1;:=na+zad[i];;('*******',cz,'ZADANII****'); writeln;('....Dlinna zayavki 1-8...'); writeln('== Dlinna ocheredi ',na,'====='); writeln;:=2;(pr, ' PROCC -> ');(cz,pr);:=5;(pr, ' PROCC -> ');(cz,pr);:=10;(pr, ' PROCC -> ');(cz,pr);i:=1 to cz do[i]:=3+random(3);:=na+zad[i];

end;

writeln;('Dlinna zayavki 3-6'); writeln('= Dlinna ocheredi ',na,'='); writeln;:=2;(pr, ' PROCC -> ');(cz,pr);:=5;(pr, ' PROCC -> ');(cz,pr);:=10;(pr, ' PROCC -> ');(cz,pr); writeln

readln;;;;:=100;;;:=1000;;

end.

Поделиться:





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



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