glava3 4 (Лобусов Е.С. Теоретические основы параллельных вычислений)

2017-12-22СтудИзба

Описание файла

Файл "glava3+4" внутри архива находится в следующих папках: Лобусов Е.С. Теоретические основы параллельных вычислений, Теоретические основы. Документ из архива "Лобусов Е.С. Теоретические основы параллельных вычислений", который расположен в категории "". Всё это находится в предмете "параллельное программирование" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "параллельное программирование" в общих файлах.

Онлайн просмотр документа "glava3 4"

Текст из документа "glava3 4"

3. Методы отображения алгоритмов обработки.

Основной проблемой в области параллельных вычислений является распределение компонент алгоритма обработки по процессорам многопроцессорных ВС.

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

Пусть описание алгоритма обработки задаётся графом GA , а описание ВС - графом GC. Тогда в теории назначений под отображением понимается распределение вершин графа GA по вершинам графа GC, а в теории расписаний - дополнительно учитывается ещё и время начала выполнения распределённой вершины GA.

Существует обширная литература как по методам теории назначения, так и расписания. С целью выяснения особенностей обоих методов рассмотрим подход, изложенный в [4]. В нём первый этап решения соответствует нахождению распределения отдельных операций (вершин графа GA) по процессорам (вершинам графа GC) с учётом межпроцессорных обменов, а второй этап - составлению временного расписания включения отдельных компонент алгоритма обработки при уже известном их распределении.

3.1. Статические методы.

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

3.1.1. Распределение компонент алгоритма обработки.

Зададим распределение компонент алгоритма обработки по процессорам матрицей размера mn (m - число процессоров, n - число компонент), элементы которой sji = 1,если i-ая компонента (вершина) принадлежит j-ому процессору (подграфу алгоритма обработки, выполняемому на этом процессоре) и sji = 0 в противном случае.

Для оценки поярусной параллельности распределения вводится матрица Q = [qij] размера hm, где h-число ярусов алгоритма обработки

Q = HDcST , (8)

Элементы этой матрицы qij определяют суммарный вес (вычислительную сложность) вершин , принадлежащих j-му подграфу и i-му ярусу в графе алгоритма GA.

Для оценки величины суммарного объема информации , которым обмениваются отдельные подграфы вводится матрица F = [fij] размерностью mm

F = SEST , (9)

(диагональные элементы fij определяют величину суммарного объема информации при обмене между компонентами (вершинами) внутри каждого подграфа).

Отметим также , что соотношение (9) определяет направленный обмен , то есть от i к j.

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


(10)

Допустим, что алгоритм обработки представлен на рис.3.1 и там же дано распределение его по подграфам (вершинам сети процессоров). Тогда матрицы S, H , E , Q , F , имеют следующий вид

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

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

(11)

Первое слагаемое

,

составленное из максимальных ярусных значений, отражает оценку времени, затрачиваемого только на выполнение вычислений, второе слагаемое – время на выполнение межпроцессорных обменов информацией

(здесь берутся значения из соотношения (10)). Множитель характеризует результирующее время выполнения всего алгоритма обработки (cо-суммарная вычислительная сложность всего алгоритма) на самом быстром процессоре сети. Он обеспечивает не только нормирование функционала, но и придает функционалу смысл относительно уменьшения времени на обработку. Параметр  (эпсилон) учитывает степень влияния информационных обменов .

Отметим, что уже сама форма функционала при  = 1 предполагает, что процессор непосредственно выполняет обмены, то есть в модели процессора предполагается отсутствие совмещения вычислений и обмена!

Выбранный функционал качества (11) допускает постановку задачи оптимального распараллеливания алгоритма обработки. При известных графах алгоритма GA = <C, E> и вычислительной сети GC = <P, T> найти матрицу S распределения задач алгоритма на m подграфов такую, чтобы обеспечить минимум функционала J.

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

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

Сформулированная задача нахождения оптимального распределения относится к задачам нелинейного программирования с ограничениями.

Найти:

(12)

где элементы функционала J задаются матрицами Q, T, , P, при ограничениях:

(12)

Данная постановка относится к задачам NP-сложности. Поэтому для нее малопригодны точные (переборные) методы .

Для нахождения решения существует ряд подходов. Опишем один из методов, используемый в [4] и называемый аналоговым методом Монте-Карло. Целесообразно применять его при больших размерностях графа алгоритма обработки GA и вычислительной сети GC .

Аналоговое решение оптимизационной задачи строится следующим образом. Вершины графа GA будем моделировать частицами, совершающими вязкое движение в потенциальном силовом поле. В качестве потенциала взаимодействия частиц выберем функционал времени счета J(S) (11). Тогда координаты частиц меняются со временем согласно уравнению

(13)

Под действием поля частицы - вершины графа, имеющие координаты, задаваемые матрицей S , то есть , если sij = 1, то это определяет некоторую вершину графа GA в m-мерном пространстве координатой (i, j) , где i - номер оси (строки) j - положение на оси (строке), будут стремиться расположиться по подграфам так, чтобы доставить минимум функционалу J. Однако расчет координат по детерминистическому уравнению (13) может привести к попаданию частиц в один из локальных минимумов, из которого они не в состоянии выбраться. Поэтому в систему вводятся дополнительные стохастические силы, приводящие к тепловым флуктуациям частиц, которые помогают им выбраться из локальных минимумов. Тогда процесс поиска оптимального расположения частиц в подграфах будем моделировать процессом случайного блуждания в потенциальном силовом поле J(S) . Пусть вероятность P(S, t) обнаружить частицу в момент t в точке с координатами S подчиняется уравнению Фоккера-Планка [5]

(14)

Стационарное распределение вероятностей для уравнения (14) запишется следующим образом:

(15)

где z - нормирующий коэффициент, обеспечивающий .

Максимум вероятности (15) соответствует такому расположению частиц по подграфам, которое доставляет минимум функционалу J. Соотношение Эйнштейна D =  связывает подвижность  и коэффициент диффузии D, характеризующий тепловые флуктуации. Распределение (15) является распределением Больцмана с температурой .

Тепловые флуктуации ведут к перебросам частиц между минимумами потенциала J(S). Если два минимума разделены потенциальным барьером J, то среднее время перехода между ними оценивается как   ехр(J/). Характерное время установления равновесного распределения вероятностей при температуре  тем больше, чем выше потенциальные барьеры и чем ниже температура .

Если в область абсолютного минимума попадают локальные минимумы, отделенные от него потенциальным барьером J  , то при наличии флуктуаций динамическая система не может отличить их от абсолютного минимума. Чтобы избежать этого используют имитацию "отжига" системы, постепенно понижая температуру  и устремляя её к нулю. Чтобы длительность отжига , гарантирующего правильное отыскание глобального минимума J, не была экспоненциально велика , его нужно начинать с температуры   Jmax .

Описание метода Монте-Карло.

Стационарное решение (15) моделируется методом Монте-Карло. Общая схема метода такова:

Алгоритм Монте-Карло:

  1. Полагаем начальную температуру равной 0.

  2. Выбираем равновероятно начальное расположение вершин Sо и вычисляем его эффективность J0 = J(S0).

  3. На каждой итерации t случайным образом перебираем все частицы-вершины. Для каждой из вершин случайно выбираем новый подграф и определяем приращение функционала J при переносе в него данной вершины. Если J < 0, то вершина переносится в новый подграф, иначе она переносится в него с вероятностью ехр(-J / t).

  4. Понижаем температуру по закону t = 0 / t .

  5. Если зафиксирован выход на стационарное значение функционала J, то конец алгоритма, иначе переходим на 3.

В [4] также было проведено исследование свойств алгоритма, которое показало его хорошие свойства по сходимости, точности и времени работы по нахождению глобального минимума при правильной настройке его параметров.

3.1.1.1 Распределение алгоритмов обработки, основанных на методах численного интегрирования.

Для данного алгоритма обработки уже известно графовое представление, имеющее вид на рис.2.13. Его параллельно-ярусная форма составляет вектор 1 n с компонентами, равными 1, то есть

H = [ 1, 1, ... ,1 ].

Поэтому такая матрица Н никак не влияет на последующее рассмотрение, то есть её можно не учитывать.

Хотя все полученные выше формулы и функционал (12) адаптируются и на этот случай, но ввиду распространенности алгоритмов обработки данного вида введем ряд изменений.

Определим вычислительную загрузку j-го процессора wlj(S) в размерности времени

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