R = max {r1 , ... , rl}.

Тогда

т. к. возможно и такое распределение выполняемых работ во времени, задаваемое набором ф1 , ... , фm, (т. е. допустимое расписание), когда на каком-то отрезке времени выполняются все работы, составляющие ПМВНР с числом R работ.

Например, для графа на рис. 7.1 мы нашли ПМВНР {3,5,6,7}, включающее четыре работы. Тогда существует допустимое расписание, например, ф1 = 2, ф2 = 3, ф3 = 5, ф4 = 4, ф5 = 8, ф6 = 8, ф7 = 6, ф8 = 9 такое, при котором максимальное значение плотности загрузки F равно четырём (рис. 7.15).


Рис. 7.15. Максимальное значение плотности загрузки

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

Лемма. Минимальное число n процессоров одинаковой специализации и производительности (т. е. в однородной ВС), способных выполнить данный алгоритм за время T Tкр, не превышает R = max {r1 , ... , rl }, где ri, i = 1 , ... , l, — число работ, входящих в i-е ПМВНР, которое составлено по взвешенному графу G, соответствующему этому алгоритму.

Определение 8. Функцию

назовём загрузкой отрезка [и1, и2] [0,T] для заданного допустимого расписания ф1, ... ,фm.

Функция Ф определяет объём работ (суммарное время их выполнения) на фиксированном отрезке их выполнения при заданном допустимом расписании.

Так, для отрезка времени [0, 4] [0, 10] на рис. 7.13а Ф = 10; для отрезка времени [1, 3] на ррис. 7.13б Ф= 4; для отрезка времени [2, 5] на рис. 7.15 Ф = 10 и т. д.

Определение 9. Функцию

назовём минимальной загрузкой отрезка [и1, и2] [0, T].

Функция определяет минимально возможный объём работ, который при данном T и при различных допустимых значениях (расписаниях) ф1 , ... , фm должен быть выполнен на отрезке времени [и1, и2] [0, T]. Это означает, что как бы мы не планировали вычислительный процесс, который должен быть закончен к моменту времени T, т. е. какой бы набор значений ф1 , ... , фm мы не выбрали, объём работ, выполняемых на отрезке времени [и1, и2], не может быть меньше значения (T) = (и1, и2).

НЕ нашли? Не то? Что вы ищете?

Теорема 1. Для того чтобы T было наименьшим временем выполнения данного алгоритма однородной вычислительной системой, состоящей из n процессоров, либо чтобы n процессоров было достаточно для выполнения данного алгоритма за время T, необходимо, чтобы для данного отрезка времени [и1, и2] [0, T] выполнялось соотношение

(7.1)

Доказательство. Нетрудно видеть, что если при данном наборе ф1 , ... , фm — сроках окончания выполнения работ, в том числе и при таком наборе, при котором обеспечивается минимальное или заданное T = max {ф1 , ... , фm}, для реализации алгоритма достаточно n процессоров, то

Отсюда, для любого отрезка времени [и1, и2] [0, T]

что и требовалось доказать.

Необходимость, но не достаточность условия (7.1) покажем на примере. Пусть алгоритму соответствует граф G на рис. 7.16а. Пусть T=3, и одна из возможных диаграмм выполнения алгоритма — на рис. 7.16б.


Рис. 7.16. Пример: минимальная плотность загрузки не соответствует действительной: а — информационный граф, б — временная диаграмма загрузки

Оценим на основе (7.1) число n процессоров, достаточное для выполнения алгоритма в указанное время. Из (7.1) имеем общее соотношение

(7.2)

Для получения полной оценки надо перебрать все отрезки [и1, и2] [0, T] т. е.

(7.3)

Проанализируем все возможные отрезки [и1, и2] [0, 3] : (3)(0, 1) = (3)(1, 2) (3)(2, 3) = 0, (3)(0, 2) = (3)(1, 3) = 3, (3)(0, 3) = 6. Находим минимальное n = 2, удовлетворяющие (7.3). Однако из рисунка видно, что не существует плана выполнения работ на двух процессорах за время T=3. Минимально достаточное число процессоров здесь n = 3.

Функция (T)(и1, и2) минимальной загрузки отрезка времени является одним из основных средств оценки предпринимаемых действий при решении задач распараллеливания. Поэтому ниже будет дан алгоритм нахождения её значения.

Предварительно определим функцию

Тогда значение о(ф1j - и1) характеризует условный объём части работы j на отрезке времени [и1, и2] при условии ф1j - tj и1 и при максимальном смещении времени выполнения работы j влево (рис. 7.17а).

Значение о (и2 - ф2j(T) + tj) характеризует аналогичный объём работы j при максимальном смещении времени выполнения работы j вправо. Это соответствует, например, ситуации, изображённой на рис. 7.17б.


Рис. 7.17. Нахождение минимальной плотности загрузки отрезка: все различные случаи соотношения времени выполнения работ и сроков

Если для работы j оба указанных выше значения функции о отличны от нуля, но не превышают значение tj и и2 - и1, то максимально разгрузить отрезок [и1, и2] от работы j можно смещением времени его выполнения в сторону, обеспечивающую меньшее из двух указанных выше значений о (рис. 7.17в).

Существуют два случая, когда работа j не может быть хотя бы частично смещена с отрезка [и1, и2] :

а) и1 ф1j - tj < ф2j (T) и2, в этом случае очевидно, что tj и2 - и1 (рис. 7.17г), и объём работы j, выполняемой на отрезке, совпадает с объёмом tj всей этой работы;

б) ф1j и2 Л ф2j(T) - tj и1, в этом случае очевидно, что tj и2 - и1 (рис. 7.17д), и объём части работы j, выполняемой на отрезке [и1, и2] совпадает со значением и2 - и1.

Приведённый ниже алгоритм объединяет все возможные указанные выше случаи.

Алгоритм 4 нахождения значения функции (T)(и1, и2).

1. Предполагаем, что для каждой работы j = 1, ... , m, известны значения tj, ф1j, ф2j(T). Полагаем равным нулю значение переменной .

2. Организуем последовательный анализ работ j = 1, ... , m.

3. Для каждой работы j полагаем

:= + min {о (ф1j - и1), о(и2 - ф2j(T) + tj), tj, и2 - и1}.

После перебора всех работ = (T)(и1, и2).

Конец алгоритма.

Выше было получено соотношение (7.2) , которое можно использовать для нижней оценки количества n процессоров, необходимых для выполнения данного алгоритма за время, не превышающее T.

Приведём аналогичное соотношение для нижней оценки минимального времени Т.

Теорема 2. Пусть заданный алгоритм выполняется на ВС, состоящей из n процессоров, и T* — текущее значение оценки снизу времени выполнения алгоритма. Пусть на отрезке времени [и1, и2] [0, T*] выполняется соотношение

(T*)(и1,и2) - n(и2 - и1) = d > 0.

Тогда минимальное время T выполнения алгоритма удовлетворяет соотношению

(7.4)

Теоремы 1 и 2 на основе анализа такой локальной характеристики параллельного алгоритма, как значение функции минимальной загрузки отрезка, предлагают способы оценки снизу ресурсов, необходимых для реализации каждого заданного алгоритма:

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6