
- •Карпенко а.П., Федорук е.В. Учебное пособие
- •Содержание
- •Метод балансировки загрузки
- •Иерархический графовый алгоритм балансировки загрузки
- •Спектральный алгоритм бисекции графа
- •Экспериментальная часть
- •Порядок выполнения работы
- •Контрольные вопросы
- •Содержание отчета о работе
- •Лабораторная работа №2. Аналитическое исследование эффективности статической балансировки загрузки мвс
- •Цель работы
- •Теоретическая часть
- •Постановка задачи
- •Статическая балансировка загрузки методом равномерной декомпозиции параллелепипеда п
- •Статическая балансировка загрузки методом равномерной декомпозиции расчетных узлов
- •Экспериментальная часть
- •Статическая балансировка загрузки методом равномерной декомпозиции параллелепипеда п
- •Статическая балансировка загрузки методом равномерной декомпозиции расчетных узлов
- •Порядок выполнения работы
- •Контрольные вопросы
- •Содержание отчета о работе
- •Лабораторная работа №3. Исследование эффективности статической балансировки загрузки мвс с помощью имитационного моделирования
- •Цель работы
- •Теоретическая часть
- •Постановка задачи
- •Экспериментальная часть
- •Порядок выполнения работы
- •Экспериментальная часть
- •Порядок выполнения работы
- •Экспериментальная часть
- •Порядок выполнения работы
- •Экспериментальная часть
- •Порядок выполнения работы
- •Теоретическая часть
- •Постановка задачи
- •Экспериментальная часть
- •Порядок выполнения работы
- •Контрольные вопросы
- •Содержание отчета о работе
- •Список использованных источников
- •Приложение а. Статическая балансировка загрузки. Gpss-программа
- •Приложение б. Динамическая равномерная балансировка загрузки. Gpss-программа
- •Приложение в. Динамическая экспоненциальная балансировка загрузки. Gpss-программ
Экспериментальная часть
Экспериментальная часть работы состоит в следующем:
для заданного преподавателем графа построить матрицу смежности
, диагональную матрицу
и матрицу Лапласа ;
вычислить собственные значения и собственные векторы построенной матрицы Лапласа;
на основе этих результатов выполнить бисекцию графа .
Порядок выполнения работы
а) Исходя из графа-шаблона, который приведен на рисунке 1.2, изобразить на рисунке заданный преподавателем граф .
Рисунок 1.2 - Граф-шаблон
б) Для полученного графа построить матрицу смежности , диагональную матрицу и матрицу Лапласа .
в) Используя одну из библиотечных программ вычисления собственных значений и собственных векторов матрицы, вычислить собственные значения и собственные векторы построенной матрицы Лапласа. Если указанная программа вычисляет не нормализованные собственные векторы матрицы, выполнить их нормализацию.
г) Найти среднее значение компонентов вектора .
д) По правилу, приведенному в утверждении 1.1, выполнить бисекцию графа .
Контрольные вопросы
а) Каким требованиям должен удовлетворять граф для того, чтобы его бисекцию можно было выполнить спектральным алгоритмом бисекции графа?
б) Что такое матрица Лапласа графа?
в) Перечислите основные этапы спектрального алгоритма бисекции графа.
г) Покажите правильность бисекции графа, полученной в результате выполнения работы. Если полученная бисекция не является оптимальной по одному или обоим критериям оптимальности (1.5), (1.6), объяснить этот результат.
Содержание отчета о работе
Отчет о работе должен содержать следующее.
а) Постановка задачи балансировки загрузки.
б) Постановка задачи бисекции графа.
в) Схема спектрального алгоритма бисекции графа.
г) Рисунок с изображением графа .
д) Матрица смежности , диагональная матрица и матрица Лапласа для графа .
е) Программа для вычисления собственных значений и собственных векторов матрицы Лапласа .
ж) Вычисленные с помощью указанной программы собственные значения и собственные векторы матрицы L.
з) Среднее значение компонентов вектора .
и) Результат бисекции графа .
Лабораторная работа №2. Аналитическое исследование эффективности статической балансировки загрузки мвс
Цель работы
Целью работы является изучение двух следующих методов статической балансировки загрузки многопроцессорной вычислительной системы (МВС), как приближенного способа решения задачи оптимального отображения вычислительных процессов на архитектуру многопроцессорной ЭВМ:
балансировка загрузки на основе геометрической схемы декомпозиции области решения;
балансировка загрузки на основе равномерной декомпозиции узлов расчетной сетки [1, 3].
Теоретическая часть
Постановка задачи
Пусть
- n-мерный вектор параметров
задачи. Положим, что
,
где
- n-мерное арифметическое
пространство. Параллелепипедом допустимых
значений вектора параметров назовем
не пустой параллелепипед
,
где
- заданные константы. На вектор X
дополнительно наложено некоторое
количество функциональных ограничений,
формирующих множество
,
где
- непрерывные ограничивающие функции.
На множестве
тем или иным способом (аналитически
или алгоритмически) определена
вектор-функция
со значениями в пространстве
,
где
- размерность вектор-функции. Ставится
задача поиска значения некоторого
функционала
.
Положим, что приближенное решение поставленной задачи может быть найдено по следующей схеме.
Шаг 1. Покрываем
параллелепипед П некоторой сеткой
(равномерной или неравномерной,
детерминированной или случайной) с
узлами
.
Шаг 2. В
тех узлах сетки
,
которые принадлежат множеству
,
вычисляем значения вектор функции
.
Шаг 3. На основе вычисленных значений вектор функции находим приближенное значение функционала .
В виде рассмотренной схемы можно представить, например, решение задачи вычисления многомерного определенного интеграла от функции в области .
Суммарное количество
арифметических операций, необходимых
для однократного определения
принадлежности вектора X
множеству
(т.е. суммарную вычислительную сложность
ограничений
и ограничивающих функций
),
обозначим
.
Вообще говоря, величина
зависит от вектора X.
Мы, однако, пренебрежем этой зависимостью,
и будем полагать, что имеет место
равенство
.
Заметим, что до начала вычислений
величина
,
как правило, неизвестна. Однако в процессе
первого же определения принадлежности
некоторого узла сетки
множеству
,
эту величину можно легко определить
(с учетом предположения о независимости
этой величины от вектора X).
Поэтому будем полагать величину
известной.
Неизвестную
вычислительную сложность вектор-функции
обозначим
.
Подчеркнем зависимость величины
от вектора X. Величина
удовлетворяет, во-первых, очевидному
ограничению
.
Во-вторых, положим, что известно
ограничение сверху на эту величину
,
имеющее смысл ограничения на максимально
допустимое время вычисления значения
.
Вычислительную сложность
назовем вычислительной сложностью узла
,
.
Вычислительную
сложность генерации сетки
положим равной
,
а вычислительную сложность конечномерной
аппроксимации функционала
- равной
,
где
(дзета) - общее количество узлов сетки
,
принадлежащих множеству
.
Положим, что при данных
величины
- известные константы.
В качестве
вычислительной системы рассмотрим
однородную МВС с распределенной
памятью, состоящую из процессоров
и host-процессора,
имеющих следующие параметры:
– время выполнения одной арифметической операции с плавающей запятой;
- диаметр коммуникационной сети;
l – длина вещественного числа в байтах;
– латентность коммуникационной сети;
– время передачи байта данных между двумя соседними процессорами системы без учета времени .
В качестве меры эффективности параллельных вычислений используем ускорение
,
где
- время последовательного решения задачи
на одном процессоре системы,
- время параллельного
решения той же задачи на N
процессорах,
- номер метода
балансировки.
Будем рассматривать также в качестве меры эффективности параллельных вычислений асимптотическое ускорение
,
где
- время параллельного решения задачи
на N процессорах без
учета коммуникационных расходов (когда
).