Разработка алгоритма быстрого преобразования Фурье на базе модели акторов | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Авторы: , ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №24 (366) июнь 2021 г.

Дата публикации: 12.06.2021

Статья просмотрена: 85 раз

Библиографическое описание:

Гребень, Н. В. Разработка алгоритма быстрого преобразования Фурье на базе модели акторов / Н. В. Гребень, А. А. Елькина, И. А. Пашкин. — Текст : непосредственный // Молодой ученый. — 2021. — № 24 (366). — С. 16-18. — URL: https://moluch.ru/archive/366/82383/ (дата обращения: 16.11.2024).



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

Ключевые слова : модель акторов, параллельное программирование, быстрое преобразование Фурье.

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

Цель данной работы состоит в разработке параллельного алгоритма быстрого преобразования Фурье, путем создания подходящей топологии системы акторов и распределения вычислительных компонентов по её узлам, а также сравнительный анализ относительно последовательного аналога.

На первом этапе алгоритма происходит инициализация системы акторов — получение значений вектора коэффициентов многочлена, создание актора с поведением fft , который ответственен за вычисление быстрого преобразования Фурье, проинициализированный размером вектора, первообразными корнями из единицы, и адресом идентификатора актора, куда будет отправлен результат преобразования [2]. Затем происходит пересылка сообщения в созданный актор, инициирующая начало вычислений. Следующим этапом происходит развертывание классического алгоритма быстрого преобразования Фурье в виде двоичного дерева. Корень дерева отвечает за все компоненты коэффициентов полинома, где для всех остальных вершин, кроме листьев, каждому левому потомку соответствуют элементы, стоящие на четных местах предка, а каждому правому — на нечетных (Рис. 1). Задача для акторов поведения fft заключается в управлении и передачи необходимых параметров для инициализаций акторов с поведением merge , выполняющих пересчет DFT и слияние результатов преобразования, а также определение листовых элементов — моментов окончания создания новых акторов типа fft [3]. Для их выявления каждому актору, помимо первообразных корней и PID порождающего процесса [4], необходимо пересылать переменную, накапливающую сумму степеней двойки для правых потомков на каждой глубине дерева (Рис. 1).

Определение положения листовых элементов в векторе коэффициентов многочлена

Рис. 1. Определение положения листовых элементов в векторе коэффициентов многочлена

Процессы типа merge выполняют несколько функций: они ожидают прихода двух последовательностей, производят их слияние, создают новый актор и передают ему данные для перерасчета DFT над вектором коэффициентов. При ожидании двух последовательностей, акторы реализуют простейшего рода барьерную синхронизацию [5] . Топология получившейся системы представлена на Рисунке 2.

Система акторов, реализующая преобразование Фурье

Рис. 2. Система акторов, реализующая преобразование Фурье

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

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

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

Рис. 3. Зависимость ускорения алгоритма от степени многочлена

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

Литература:

  1. Федотов И. Е. Модели параллельного программирования. — М.: СОЛОНПРЕСС, 2012. 384 с.
  2. Быстрое преобразование Фурье. URL: https://emaxx.ru/algo/fft_multiply (дата обращения: 03.03.2021)
  3. Agha G. A. Actors: A Model of Concurrent Computation in Distributed Systems. — Cambridge, Massachusetts: MIT Press, 1986. — 190p.
  4. Clinger W. D. Foundations of Actor Semantics. — Doctoral Dissertation. — MIT Artificial Intelligence Laboratory, 1981. — 177p.
  5. Andrews, Gregory R. Foundations of multithreaded, parallel, and distributed programming. — Reading, Mass.: Addison-Wesley, 2000. — 664p.
Основные термины (генерируются автоматически): быстрое преобразование, DFT, PID, барьерная синхронизация, модель акторов, параллельный алгоритм.


Похожие статьи

Построение локально оптимальных систем с использованием проекционного метода

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

Сравнительный анализ численного решения задач оптимального управления

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

Математическое моделирование задачи синтеза интегрированной системы безопасности с применением экспертных оценок

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

Реализация численного алгоритма метода вариаций в пространстве управлений

В статье разработан алгоритм и реализована программа решения задачи оптимального управления на основе метода вариаций. Реализованный алгоритм был апробирован на тестовых примерах.

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

В статье рассматривается метод синтеза регулятора для заданного объекта управления, и его моделирование с помощью встроенных приложений в MATLAB.

Разработка математической модели многомерного нестационарного объекта управления

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

Элементарные математические функции

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

Статистическое моделирование на ЭВМ непрерывных случайных величин средствами языка программирования R

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

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

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

Статистическое моделирование на ЭВМ дискретных случайных величин средствами языка программирования R

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

Похожие статьи

Построение локально оптимальных систем с использованием проекционного метода

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

Сравнительный анализ численного решения задач оптимального управления

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

Математическое моделирование задачи синтеза интегрированной системы безопасности с применением экспертных оценок

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

Реализация численного алгоритма метода вариаций в пространстве управлений

В статье разработан алгоритм и реализована программа решения задачи оптимального управления на основе метода вариаций. Реализованный алгоритм был апробирован на тестовых примерах.

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

В статье рассматривается метод синтеза регулятора для заданного объекта управления, и его моделирование с помощью встроенных приложений в MATLAB.

Разработка математической модели многомерного нестационарного объекта управления

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

Элементарные математические функции

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

Статистическое моделирование на ЭВМ непрерывных случайных величин средствами языка программирования R

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

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

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

Статистическое моделирование на ЭВМ дискретных случайных величин средствами языка программирования R

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

Задать вопрос