Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

Занятие №4

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

1. ЦЕЛЬ ЗАНЯТИЯ: практическое закрепление знаний о распределении загрузки между процессорами многопроцессорной системы.

2. ОСНОВНЫЕ СВЕДЕНИЯ.

Рассматриваемый в данном разделе метод распределения известен под названием "алгоритм Хорошевского". Он основывается также на поярусном распределении и может быть применен в случае, когда количество процессоров меньше ширины яруса.

Пусть в f-м ярусе bf>n, где bf - количество работ; n - когда количество процессоров, причем производительности процессоров характеризуются S = {S1, S2, …, Sn} и процессоры, как и в предыдущем разделе, упорядочены по производительности. Кроме того, известны матрицы

где lfim - время реализации i-й работы на m-м процессоре. Элемент, каждой строки матрицы (времена реализации одной и той же i-й работы на каждом из m данных процессоров) расположены в соответствии с упоря­доченностью процессоров по производительности.

Минимально-возможное время реализации всех работ данного f-го яруса с помощью заданной вычислительной системы определяется с помощью выражения:

Это время является нижней теоретической оценкой в случае работы систе­мы на f-м ярусе без простоев процессоров.

Сущность данного метода распределения состоит в том, что путем перебора на каждый из процессоров распределяется такая группа работ из яруса, время обслуживания которой имеет минимальное отклонение от wf. Тогда и общее время обслуживания одного яруса всеми процессорами вычи­слительной системы имеет минимальное отклонение от wf. Практически по­лучить время обслуживания всех работ в ярусе, равное wf, при исполь­зовании рассматриваемого метода возможно только в случае, когда ЯПФ, по крайней мере, равномерна, а количество работ в ярусе кратно количе­ству процессоров. В произвольном же случае время обслуживания всех работ будет превышать wf.

Введем следующие обозначения:

Qfm - нераспределенные работы к моменту распределения на m-й процессор;

Pfт - распределенные работы к моменту распределения на (m+1) процессор;

Процесс начинается с определения wf. Далее производится распреде­ление на самый малопроизводительный n-й процессор. Методом перебо­ра выбираются две группы работ, суммарное время реализации одной из которых на n-м процессоре наиболее близко подходит к wf снизу (dm), а другой - сверху (dm). Если оказалось, что dm существует, то оцени­вается, какое из отклонений dm или dm наиболее близко находится к wf. На процессор распределяется та группа работ, суммарное время реализации которых имеет наименьшее отклонение от wf*.

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

Если при распределении на m-й процессор (m = n, …, 1) оказалось, что не существует dm, то необходимо вычислить новое значе­ние wf без учета т-го процессора. При слабом влиянии на производительность системы остается соотношение dm> wf *, и тогда можно иск­лючить из рассмотрения m-й процессор, как затормаживающий работу системы и для дальнейшего рассмотрения принять wf = wf*. Если же оказывается, что dm< wf*, то на m-й процессор необходимо распределить ту работу, для которой lfim = dm.

Время обслуживания работ f-го яруса оценивается (dm) max. Если оказывается, что количество работ в ярусе меньше, чем количество процессоров, то распределение осуществляется на основе методики, при­веденной в предыдущем разделе.

Пример распределения загрузки.

В качестве примера распределим загрузку для реализации алгоритма, заданного ЯПФ (рис. 4.1.). Алгоритм будет реализовываться на вычислительной системе состоящей из двух параллельно работающие процессоров, относительная производительность которых, по сравнению с эталонной, производительность которого принята за единицу, приведена в табл. 4.1.

Таблица 4.1.

N процессора

П1

П2

Sm

1

0,6

f=1

11

10

/16, 86/

21

/15/

25

31

/20/

33, 33

41

18

/30/

51

/12/

20

f=2

12

/9/

15

22

5

/8, 33/

32

14

/23, 33/

42

/3/

5

52

/9/

15

62

/11/

18, 33

f=3

13

/8/

13, 33

23

/11/

18, 33

33

6

/10/

43

7

/11, 66/

рис.4.1.

Рассчитаем длины работ с учетом их реализации на процессоре m-го типа по формуле:

где lfiэ – время реализации работы на процессоре, производительность которого принята за эталонную Sэ = 1. Составим матрицу обслуживания работ на процессорах, входящих в систему, и формируем на основе ее табл. 4.1. для всех ярусов.

По полученной матрице рассчитаем wf*, f = 1, 2, 3:

w1 = 46.88, w2 = 31.94, w3 = 20.

Распределение работ начинаем с процессора, имеющего наименьшую производительность (Пр.2). Находим:

а) f = 1;

d2[11, 41] = 46.66; t2 = 46.88 - 46.66 = 0.22;

d2[11, 31] = 49.98; t2 = 49.99 - 46.88 = 3.11;

t2 < t2, следовательно, P2{11, 41}. Оставшиеся работы распределяем на Пр.1, и тогда время обслуживания этих работ составит

d1 [21, 31, 51] = 47;

Таким образом, время обслуживания первого яруса при подученном, распри делении составляет

T1реш = 47.

б) f = 2;

d2[22, 32] = 31.66; t2 = 31.94 – 31.66 = 0.28;

d2[52, 62] = 33.33; t2 = 33.33 – 31.94 = 1.39;

t2 < t2, следовательно, P2{22, 32}. Оставшиеся работы распределяем на Пр.1. и тогда время обслуживания этих работ составит

d1[12, 42, 52, 62] = 32.

Таким образом, время обслуживания второго яруса при полученном распределении составляет

T2реш = 32;

в) f = 3;

d2[23] = 18.33; t2 = 20 – 18.33 = 1.67;

d2[33, 43] = 21.66; t2 = 21.66 – 20 = 1.66;

t2 < t2, следовательно, P2{33, 43}. Оставшиеся работы распределяем на Пр.1, и тогда время обслуживания этих работ составит

d1[13, 23] = 19.

Таким образом, время обслуживания третьего яруса при полученном распре явлении составляет

T3реш = 21.66;

Работы, распределенные по процессорам, отмечены в табл.4.1. в соответствующем столбце знаками //.

В результате получаем:

в) время решения задачи в системе:

;

б) суммарные простои процессоров:

;

в) коэффициент простоя процессоров:

;

г) повышение производительности системы по сравнении со случаем использования одного процессора:

3. ВАРИАНТЫ ЗАДАНИЯ.

По заданной преподавателем первой букве выбрать матрицу графа прог­раммы по табл. 1.3 - 1.7. По заданной цифре из табл. 1.6 выбрать значения трудоемкости работ при обслуживании их процессором с относи­тельной производительностью Sэ = 1. По заданной второй букве выбрать относительные производительности процессоров по таблице 3.2.

Необходимо выполнить:

  1. преобразовать граф в ярусно-параллельную форму

  2. построить по графу ЯПФ G сеть G`;

  3. распределить работы по процессорам в каждом ярусе;

  4. вычислить основные характеристики распределения.

4. ФОРМА ОТЧЕТА.

Отчет должен включать:

- вариант задания;

- чертеж полученной ЯПФ;

- чертеж сети G`;

- таблицу распределения работ;

- расчет характеристик распределения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]