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

Положим, что из числа узлов расчетной сетки множеству принадлежит  узлов . Обозначим . Тогда идею рассматриваемого метода балансировки загрузки можно представить в следующем виде (рисунок 2.2):

  • среди всех узлов сетки выделяем узлов ;

  • разбиваем узлы на множеств , , где множество  содержит узлы , множество - узлы и т.д.;

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

Рисунок 2.2 - К балансировке загрузки методом равномерной декомпозиции расчетных узлов

Очевидно, что если величина не кратна количеству процессоров , то количество узлов во множествах , , , может отличаться (не более чем на единицу). Для простоты записи пренебрежем этим обстоятельством.

Назовем рассматриваемый метод балансировки методом равномерной декомпозиции расчетных узлов. Отметим, что в этом случае естественна централизованная генерация расчетной сетки (на host-процессоре).

Схему параллельных вычислений при балансировке загрузки методом равномерной декомпозиции расчетных узлов можно представить в следующем виде.

Шаг 1. Host-процессор выполняет следующие действия:

  • строит сетку ;

  • среди всех узлов сетки выделяет узлов ;

  • разбивает узлы на множеств узлов ;

  • посылает процессору координаты узлов множества .

Шаг 2. Процессор выполняет следующие действия:

  • принимает от host-процессора координаты узлов множества ;

  • вычисляет в каждом из этих узлов значение вектор-функции ;

  • передает host-процессору вычисленных векторов и заканчивает вычисления.

Шаг 3. Host-процессор выполняет следующие действия:

  • принимает от процессоров , вычисленные ими значения вектор-функции ;

  • на основе полученных значений вектор-функции вычисляет приближенное значение функционала .

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

, (2.4)

где - вычислительная загрузка процессора ,

- его коммуникационная загрузка.

Таким образом, время параллельного решения всей задачи оценивается величиной

. (2.5)

Заметим, что вычислительная загрузка процессора в данном случае не включает в себя определение принадлежности узлов сетки множеству - эта работа выполняется host-процессором.

Как и при использовании балансировки загрузки методом равномерной декомпозиции параллелепипеда П, в данном случае время решения задачи на одном процессоре определяется формулой (2.3).

    1. Экспериментальная часть

Рассмотрим двумерную задачу ( ). Параллелепипед в этом случае представляет собой прямоугольник . Положим, что , , так что область является единичным квадратом (рисунок 2.3).

Множество формируется с помощью одной ограничивающей функции , т.е. . Примем, что эта функция линейна и проходит через заданную преподавателем точку плоскости с координатами (рисунок 2.3). Таким образом, уравнение этой функции имеет вид , (при этом, очевидно, ).

Рисунок 2.3 - Расчетная область задачи

В качестве сетки используем равномерную детерминированную сетку с количеством узлов по осям , равным 256, т.е. сетку с количеством узлов .

Будем исходить из следующих значений параметров задачи и МВС:

  • ;

  • l=8;

  • ;

  • ;

  • ;

  • .

Отметим, что указанная зависимость соответствует коммуникационной сети с топологией типа «квадратная решетка».

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