Взаимодействие параллельных алгоритмов

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

Рубрика Математика
Вид статья
Язык русский
Дата добавления 30.07.2017
Размер файла 226,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Взаимодействие параллельных алгоритмов

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

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

Взаимодействие параллельных алгоритмов является одним из самых сложных процессов при описании параллельного функционирования технических объектов. Часто за параллельный алгоритм принимается такой, «который может быть реализован по частям на множестве различных вычислительных устройств с последующим объединением полученных результатов и получением корректного результата» [1-5,10,11]. В этом случае распараллеливается вычислительный процесс. В данной работе задача ставится таким образом, чтобы было сразу видно, когда и в какой момент времени выполняются различные части общего алгоритма, как они взаимодействуют между собой.

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

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

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

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

Представление последовательностного алгоритма в виде двудольного графа путём его доопределения. Рассмотрим произвольную ГСА (рис. 1).

Здесь: - вершины, определяющие выполнение отдель-ных операций, будем называть функциональными блоками;

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

Работа с алгоритмами, заданными в виде (рис. 2), осложняется следующими недостатками:

- переход от выполнения одной операции к выполнению другой в некоторых случаях ничем не обозначен, например, вершины А0 - А1, здесь подразумевается, что после выполнения операции А0 следует переход к выполнению операции А1, хотя такой переход ничем не фиксируется;

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

Рассмотрим связанную пару из функционального - Д (рис. 2а) и предикативного - Л (рис. 2б) блоков:

Д - блок имеет один выход и может иметь несколько входов;

Рис. 1. Граф-схема алгоритма А

Л - блок имеет один вход и может иметь несколько выходов

алгоритм дуальный граф матричный

Связанную пару (рис. 2в) будем называть функционально-предикатным модулем - М (рис. 2г).

Для построения алгоритма в модульном виде проведём ряд предварительных операций. Зафиксируем окончание выполнения каждого функционального блока соответствующим предикативным блоком.

Рис. 2. Блоки алгоритмов: а) функциональный; б) предикативный; в) связанная пара; г) функционально-предикатный модуль

Если переход от выполнения одной операции к выполнению другой ведётся напрямую, иначе говоря, если между функциональными блоками отсутствует предикативный блок, то, введя предикативную вершину бi0, можно представить модуль как на рис 3а. А если после функционального блока существует один или несколько предикативных блоков, но отсутствует фиксация окончания работы функционального блока, то необходимо ввести дополнительно предикативную вершину бi0. Объединим все предикативные вершины в один многозначный предикативный блок и получим модуль как на рис. 3б.

Рис. 3. Предикативный блок: а) представление модуля; б) получение модуля

Используя вышеприведённые принципы, «доопределим» функциональные блоки алгоритма, представленного на рис. 1. В результате получим алгоритм (рис. 4а), дуальный граф которого представлен на рисунке 4б, а на рисунке 4в показано выполнение на оси времени t.

Рис. 4. Нормализованный алгоритм A: а) графическое представление; б) дуальный граф; в) выполнение во времени

Здесь:

А0, А1,…, Ак - операторы действия алгоритма А;

tA0, tA1,…, tAк - время начала оператора действия алгоритма А;

tA01, tA12,…, tA4к - время функционирования оператора действия алгоритма А, причём tA01 = tA1 - tA0, tA12 = tA2 - tA1 и т.д.

Отметим также, что матрично-предикатное представление возможно двумя способами: функционально-предикативным и модульным [6-9].

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

Рис. 5. Алгоритм B: а) графическое представление; б) дуальный граф; в) выполнение во времени

Матрично-предикатное представление алгоритма В можно представить, как и в предыдущем случае, двумя способами: функционально-предикативным и модульным. Возможные различные варианты параллельного взаимодействия, представлены на рисунке 6. Наиболее простым с алгоритмической точки зрения является параллельное взаимодействие двух равнозначных алгоритмов А и В. Стоит также заметить, что при параллельном взаимодействии алгоритмов важно определить какой алгоритм является основным, а какой - вспомогательным. Кроме того необходимо чётко указать точки начала и окончания параллельного взаимодействия алгоритмов.

Рис. 6. Параллельное выполнение алгоритмов А и В во времени; а) начала выполнения алгоритмов А и В совпадают; б) окончания выполнения алгоритмов А и В совпадают; в) начало и окончание выполнения алгоритмов А и В совпадают; г) начало и окончание выполнения алгоритма В находится в зоне выполнения алгоритма А, а выполнение операций алгоритма В (кроме начала и конца) происходит от момента начала операции А2 до момента окончания операции А4 алгоритма А

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

Литература

1. Альфред В., Хопкрофт Д, Ульман Д. Структуры данных и алгоритмы. М.: Издательский дом «Вильяме», 2000. 384 с.

2. Астанин С.В., Драгныш Н.В., Жуковская Н.К. Вложенные метаграфы как модели сложных объектов // Инженерный вестник Дона, 2012, №4. URL: ivdon.ru/magazine/archive/n4p2y2012/1434.

3. Макконелл Дж. Основы современных алгоритмов. М: Техносфера, 2004. 368 с.

4. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов. М.: Мир, 1981. 368 с.

5. Воеводин В.В., Воеводин В. Вл. Параллельные вычисления. СПб.:БХВ-Петербург, 2002. 608 с.

6. Поляков В.С., Поляков С.В., Федченков П.В. Построение формального описания технологического процесса в матрично-предикатной форме // Известия ВолгГТУ. Серия «Прогрессивные технологии в машиностроении». Вып. 9: межвуз. сб. науч. ст. Волгоград: ВолгГТУ, 2013. №7 (110). C. 105-108.

7. Поляков В.С., Поляков С.В. Запись алгоритма матрицей инцидентора // Инновации на основе информационных и коммуникационных технологий. Инфо 2014: матер. XI междунар. научн.-практ. Конф. (г. Сочи, 1-10 окт. 2014) /Национальный исследовательский ун-т «Высшая школа экономики» [и др.]. М., 2014. С. 149-152.

8. Поляков В.С., Поляков С.В. Использование нагруженных матриц инцидентора (операторов) для моделирования сложных систем // Контроль. Диагностика. 2013. №3. C. 57-62.

9. Поляков В.С., Поляков С.В., Нефедьев А.И. Математическая модель подвески подвижной части электроизмерительного прибора. // Инженерный вестник Дона. 2013. №3. URL: ivdon.ru/magazine/archive/n3y2013/1788.

10. Voevodin V.V. Information structure of sequential programs // Russ. J. of Num. An. and Math. Modelling. 1995. V.10. №3. pp. 279-286.

11. Voevodin V.V. Mathematical foundations of parallel computing. World Scientific Publishing Co., Series in computer science. 1992. V.33. 343 p.

Размещено на Allbest.ru

...

Подобные документы

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

    реферат [220,4 K], добавлен 22.11.2010

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

    курсовая работа [631,4 K], добавлен 27.04.2011

  • Архитектура 32-х разрядных систем. Алгоритмы выполнения арифметических операций над сверхбольшими натуральными числами, представленными в виде списков. Инициализация системы. Сложение. Вычитание. Умножение.

    доклад [56,2 K], добавлен 20.03.2007

  • Алгоритма решения диофантовых уравнений. Системный анализ свойств пифагоровых троек. Разработка способов и алгоритмов вычисления пифагоровых троек вида х2=у2+z2. Графические модели, отображающие каждый член пифагоровой тройки в виде составных квадратов.

    статья [793,0 K], добавлен 31.12.2015

  • Операции на графах позволяют образовывать новые графы из нескольких более простых. Операции на графах без параллельных ребер. Объединение графов. Свойства операции объединения т, которые следуют из определения операции и свойств операций на множествах.

    реферат [106,0 K], добавлен 27.11.2008

  • Типы бинарных отношений. Изображение графов в виде схемы. Цикл в графе, совпадение его начальной и конечной вершины. Понятие достижимости в теории графов, их математические свойства. Частично упорядоченное множество как один из типов бинарного отношения.

    контрольная работа [116,5 K], добавлен 04.09.2010

  • Вид графов, используемых в теории электрических цепей, химии, вычислительной технике и в информатике. Основные свойства деревьев. Неориентированный граф. Алгоритм построения минимального каркаса. Обоснование алгоритма. Граф с нагруженными ребрами.

    реферат [131,8 K], добавлен 11.11.2008

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

    курсовая работа [162,4 K], добавлен 25.05.2010

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

    курсовая работа [664,6 K], добавлен 24.12.2013

  • Понятие и содержание теории графов. Правила построения сетевых графиков и требования к ним. Сетевое планирование в условиях неопределенности. Теория принятия решений, используемые алгоритмы и основные принципы. Пример применения алгоритма Дейкстры.

    курсовая работа [1,0 M], добавлен 26.09.2013

  • Простейшая разностная схема для задачи Дирихле: построение, аппроксимация и устойчивость. Описания метода установления. Анализ алгоритмов, реализующих метод установления: решение в виде конечного ряда Фурье, схема установления и переменных направлений.

    курсовая работа [323,4 K], добавлен 25.11.2011

  • Разработка алгоритма расчёта параметров термопроцесса на встречных курсах с заданным режимом термообработки. Форсированная термообработка с платообразным нагревом и произвольным монотонным режимом охлаждения. Отжиг проволок в муфельном термоаппарате.

    курсовая работа [104,7 K], добавлен 23.08.2009

  • Переключательные функции одного аргумента. Переключательные функции двух аргументов. Представление переключательной функции в виде многочленов. Совершенная дизъюнктивная нормальная форма переключательной функции. Функция в виде полинома Жегалкина.

    реферат [45,6 K], добавлен 27.11.2008

  • Изучение конкретного раздела дискретной математики. Решение 5-ти задач по изученной теме с методическим описанием. Методика составления и реализация в виде программы алгоритма по изученной теме. Порядок разработки программного интерфейса и руководства.

    курсовая работа [110,2 K], добавлен 27.04.2011

  • Определение операций сложения, вычитания и умножения для дуальных чисел. Определение модуля и сопряжённого числа. Деление на дуальное число. Определение делителя нуля. Запись дуального числа в форме, близкой к тригонометрической форме комплексного числа.

    курсовая работа [507,8 K], добавлен 10.04.2011

  • Алгебра логики, булева алгебра. Алгебра Жегалкина, педикаты и логические операции над ними. Термины и понятия формальных теорий, теорема о дедукции, автоматическое доказательство теорем. Элементы теории алгоритмов, алгоритмически неразрешимые задачи.

    курс лекций [652,4 K], добавлен 29.11.2009

  • Основные определения математической логики, булевы и эквивалентные функции. Общие понятия булевой алгебры. Алгебра Жегалкина: высказывания и предикаты. Определение формальной теории. Элементы теории алгоритмов, рекурсивные функции, машина Тьюринга.

    курс лекций [651,0 K], добавлен 08.08.2011

  • Минимальное остовное дерево связного взвешенного графа и его нахождение с помощью алгоритмов. Описание алгоритма Краскала, возможность строить дерево одновременно для нескольких компонент связности. Пример работы алгоритма Краскала, код программы.

    курсовая работа [192,5 K], добавлен 27.03.2011

  • Основные понятия теории графов. Маршруты и связность. Задача о кёнигсбергских мостах. Эйлеровы графы. Оценка числа эйлеровых графов. Алгоритм построения эйлеровой цепи в данном эйлеровом графе. Практическое применение теории графов в науке.

    курсовая работа [1006,8 K], добавлен 23.12.2007

  • Общие характеристики алгоритмов стандартов шифрования РФ и США. Особенности архитектурных принципов. Сравнение раундов шифрования. Эквивалентность прямого и обратного преобразований. Выработка ключевых элементов. Характеристики стойкости алгоритмов.

    курсовая работа [311,4 K], добавлен 25.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.