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

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

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

Авторы: , ,

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

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

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

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

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

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


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

Анализ средств барьерной синхронизации | Статья в журнале...

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

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

Алгоритмы преобразования Фурье и их применение при анализе...

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

Были рассмотрены два алгоритма, реализующие преобразование Фурье — ДПФ и БПФ. Оба алгоритма могут применяться для анализа...

Исследование несинусоидальных периодических цепей...

Быстрое преобразование Фурье (БПФ, FFT) — алгоритм быстрого вычисления дискретного преобразования Фурье (ДПФ).

Алгоритмы преобразования Фурье и их применение при анализе... Математическая модель понижающего преобразователя...

Аппаратная реализация искусственных нейронных сетей.

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

ПИД-регулятор понижающего преобразователя напряжения

ПИД-регулятор понижающего преобразователя напряжения. Авторы: Межаков Олег Геннадьевич, Скляров Андрей Анатольевич.

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

Реализация алгоритмов дискретного преобразования Фурье на...

Быстрое преобразование Фурье (БПФ, FFT) — алгоритм быстрого вычисления дискретного преобразования Фурье (ДПФ).

Дискретное преобразование Фурье (ДПФ) (DiscreteFourierTransform, DFT) имеет вид: (2). ДПФ ставит в соответствие N отсчетам сигнала x...

Быстрый метод пространственно-векторной широтно-импульсной...

В работе представлен простой и быстрый метод, который делит пространственно-векторную диаграмму пятиуровневого инвертора в две стадии на несколько небольших шестиугольников, каждый шестиугольник — это пространственно-векторная диаграмма двухуровневого инвертора.

Сравнение алгоритмов фильтрации сырых данных для маркерной...

Поэтому существует проблема — необходимость адаптации существующих алгоритмов постобработки сырых данных от плат, совмещающих

Адаптация алгоритма для постобработки данных, полученных с датчиков, позволит подготовить данные для различных real-time system.

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

Анализ средств барьерной синхронизации | Статья в журнале...

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

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

Алгоритмы преобразования Фурье и их применение при анализе...

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

Были рассмотрены два алгоритма, реализующие преобразование Фурье — ДПФ и БПФ. Оба алгоритма могут применяться для анализа...

Исследование несинусоидальных периодических цепей...

Быстрое преобразование Фурье (БПФ, FFT) — алгоритм быстрого вычисления дискретного преобразования Фурье (ДПФ).

Алгоритмы преобразования Фурье и их применение при анализе... Математическая модель понижающего преобразователя...

Аппаратная реализация искусственных нейронных сетей.

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

ПИД-регулятор понижающего преобразователя напряжения

ПИД-регулятор понижающего преобразователя напряжения. Авторы: Межаков Олег Геннадьевич, Скляров Андрей Анатольевич.

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

Реализация алгоритмов дискретного преобразования Фурье на...

Быстрое преобразование Фурье (БПФ, FFT) — алгоритм быстрого вычисления дискретного преобразования Фурье (ДПФ).

Дискретное преобразование Фурье (ДПФ) (DiscreteFourierTransform, DFT) имеет вид: (2). ДПФ ставит в соответствие N отсчетам сигнала x...

Быстрый метод пространственно-векторной широтно-импульсной...

В работе представлен простой и быстрый метод, который делит пространственно-векторную диаграмму пятиуровневого инвертора в две стадии на несколько небольших шестиугольников, каждый шестиугольник — это пространственно-векторная диаграмма двухуровневого инвертора.

Сравнение алгоритмов фильтрации сырых данных для маркерной...

Поэтому существует проблема — необходимость адаптации существующих алгоритмов постобработки сырых данных от плат, совмещающих

Адаптация алгоритма для постобработки данных, полученных с датчиков, позволит подготовить данные для различных real-time system.

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