glava2 (1033925), страница 3

Файл №1033925 glava2 (Лобусов Е.С. Теоретические основы параллельных вычислений) 3 страницаglava2 (1033925) страница 32017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Работа алгоритма основана на построении множества K вершин, кратчайшие расстояния до которых от источника известны. На каждом шаге к множеству K добавляется та из оставшихся вершин, расстояние до которой от источника меньше расстояний до всех других оставшихся вершин. Так как веса являются неотрицательными, то можно быть уверенным, что путь из источника в любую вершину проходит только через вершины, принадлежащие K. Поэтому достаточно найти для каждой вершины ai кратчайшее расстояние до неё от источника вдоль пути, проходящего только через вершины из K. Изложим алгоритм формально.

Кратчайший путь из одного источника (алгоритм Дейкстры) [2].

Вход: Ориентированный граф G = (A, R), источник a0A и функция l, отображающая множество AA в множество неотрицательных вещественных чисел. Полагаем l(ai, aj) = +, если ребро (ai, aj), aiaj не принадлежит графу, и l(a, a) = 0.

Выход: Для каждого aA наименьшая сумма меток на ребрах из G, взятая по всем путям, идущим из a0 в a.

Метод: Строим такое множество KA, что кратчайший путь из источника в каждый узел aK целиком лежит в K. Массив D[a] содержит стоимость текущего кратчайшего пути из a0 в a, который проходит только через узлы из K. Описание алгоритма приведено на рис.2.8.

Алгоритм Дейкстры

begin

  1. K  {a0};

  2. D[a0]  0;

  3. for aA - {a0} do D[a]  l(a0, a);

  4. while KA do

begin

  1. выбрать узел bA - K, для которого D[b] принимает наименьшее значение;

  2. добавить b к K;

  3. for aA - K do

  4. D[a]  min(D[a], D[b] + l(b, a));

end

end

Рис.2.8

Рассмотрим граф, изображенный на рис.2.9. Вначале K = {a0}, D[a0] = 0, а D[ai] = 2, +, +, 10 для i = 1, 2, 3, 4 соответственно. При первой итерации цикла в строках 4-8 берем b = a1, поскольку D[a1] = 2 – наименьшее значение для D. Затем вычисляем D[a2] = min(+, 2 + 3) = 5 и D[a4] = min(10, 2 + 7) = 9. Последовательность значений для D и другие вычисления алгоритма приведены на рис.2.10.


Матрица минимальных путей для рис.2.9

начальная

k = 0

k = 1

k = 2

k = 3

k = 4

Вычисления алгоритма на графе с рис.2.9

Итерация

K

b

D[b]

D[a1]

D[a2]

D[a3]

D[a4]

Начальное значение

{a0}

2

+

+

10

1

{a0, a1}

a1

2

2

5

+

9

2

{a0, a1, a2}

a2

5

2

5

9

9

3

{a0, a1, a2, a3}

a3

9

2

5

9

9

4

все узлы

a4

9

2

5

9

9

Рис.2.10

Алгоритм позволяет также найти остовную конструкцию, по которой определяются составляющие дуги кратчайшего пути от a0 к a. На рис.2.9 данная основная конструкция (дерево) выделена жирным.

2.2. Представление алгоритмов обработки

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

Введем отношение :

вычислительные затраты

коммуникационные затраты

(1)

для каждой компоненты, выполняемой параллельно. Это отношение определяет какое количество затрат (издержек), связанных с организацией обмена данными, приходится на (полезные) вычисления.

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

Отсюда и возникает потребность в нахождении некоторого компромисса между двумя видами затрат и выбора определенной величины отношения (1).

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

Наиболее подходящей математической моделью для данной ситуации оказывается графовая модель – ориентированный ациклический взвешенный граф. Использование данной модели определяет естественную последовательность действий обработки: пока не получены все данные для вершины, то нет дальнейшего продвижения процесса обработки (перехода к следующим вершинам). (Такого естественного порядка исполнения не возникает при наличии циклов в графе. Поэтому если в исходной графовой модели проявляются циклы, то их следует устранять, видоизменяя исходный алгоритм обработки.) Вершины этого графа представляют собой отдельные компоненты, а дуги - информационные связи между ними. Веса вершины определяют сложность соответствующей компоненты, оцениваемой количеством операций в ней, а дуги - объем передаваемой по этой дуге информации в битах.

Теперь вполне реально для алгоритма или некоторой его части обоснованно определить характер отношения (1), как отношение сложности c к объему обмениваемой информации e

.

П
усть pпр - производительность процессора [кол.опер./сек], а vкан - скорость передачи данных по каналу [бит/сек].Тогда отношение

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

Естественно предположить, что введенная характеристика-отношение компоненты не должна быть меньше подобной характеристики-отношения процессора с каналом.

Отсюда и вытекает уже введенное выше отношение (1), но уже в конкретном представлении

, (2)

где wl [сек] – вычислительная загрузка, а cl [сек] – коммуникационная загрузка алгоритма (компоненты), применительно к конкретному процессору.

Допустимо заменить неравенство (2) и равенством

, (3)

где  – некоторый скаляр, выбираемый разработчиком.

Тем самым, для алгоритма обработки имеем

GA = <C, E >,

где С – множество вершин (компонент), представляемых либо в виде вектора, элементы которого вычислительные сложности компонент, оцениваемые количеством операций , либо в виде диагональной матрицы сложности , n – число компонент; ci – вычислительная сложность компоненты, E - отношение на

множестве С, задаваемое в виде взвешенной квадратной матрицы смежности , элементы eii = 0, а остальные элементы определяют вес – объем передаваемой информации от i-ой к j-ой вершинам.

На рис.2.11а и 2.11б приведен некоторый граф алгоритма обработки, представленный в параллельно-ярусной форме.

Ширина алгоритма, равная 3 , определяет максимально возможное число процессоров вычислительной системы для последующего распараллеливания алгоритма. Ясно, что при числе процессоров ВС большем ширины алгоритма будут возникать существенные простои, то есть введение

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

Окончательно, граф алгоритма обработки задается взвешенным графом GA , представленным в параллельно-ярусной форме (рис.2.11в),

GA = <C, E, H >.



2.2.1. Представление численных процедур интегрирования

Анализ описания динамических процессов и систем управления с сосредоточенными параметрами показывает, что чаще всего оно задается совокупностью обыкновенных алгебраических и дифференциальных уравнений (ОАДУ) вида

, (4)

где x = [x1, x2, ..., xn] T - вектор состояния, v = [v1, v2, ..., vm] T - вектор промежуточных переменных, u = [u1, u2, ..., ur]T - вектор управления.

Введением дополнительного скалярного уравнения

явный фактор времени t = xn+ 1 вводится в число переменных состояния.

Тем самым, имеем такую общую форму записи ОАДУ

(4)

Характеристики

Тип файла
Документ
Размер
1,62 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее