Научная статья на тему 'Параллельная реализация алгоритмов вейвлет-анализа на многопроцессорных кластерах'

Параллельная реализация алгоритмов вейвлет-анализа на многопроцессорных кластерах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
120
27
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Беспалов Д. А.

Рассматриваются проблемы разработки комплексов алгоритмов цифровой обработки сигналов методами вейвлет-анализа. Выделяются особенности реализации быстрых алгоритмов представления сигналов в базисе вейвлет-функций. Предлагаются пути параллельной реализации разрабатываемых алгоритмов. Рассматривается архитектура многопроцессорной системы параллельной вейвлет-обработки данных. Приводятся результаты проведенных экспериментов. Ил. 3. Табл. 1. Библиогр. 10 назв.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Беспалов Д. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The problems of development of the complexes of digital signal processing algorithms by methods of wavelet analysis are considered. The features of realization of fast algorithms of wavelet basis signal representation are singled out. A solution of parallel realization of the developed algorithms is proposed. Multiprocessor architecture of parallel wavelet signal processing is considered. The experimental results are described and compared. 3 Figures. 1 Table. 10 References.

Текст научной работы на тему «Параллельная реализация алгоритмов вейвлет-анализа на многопроцессорных кластерах»

АВТОМАТИКА, УПРАВЛЕНИЕ И ТЕХНИЧЕСКАЯ КИБЕРНЕТИКА

УДК 681.324

ПАРАЛЛЕЛЬНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМОВ ВЕЙВЛЕТ-АНАЛИЗА НА МНОГОПРОЦЕССОРНЫХ КЛАСТЕРАХ

© 2007 г. Д.А. Беспалов

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

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

Подробный анализ основных алгоритмов вейвлет-анализа позволил сделать вывод о возможности и целесообразности параллельной реализации алгоритмов вейвлет-разложения и восстановления сигналов по полной или частной лифтинговой схеме [3] (разложения/восстановления каскадами фильтров) с использованием двух- или четырехпроцессорной схемы.

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

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

Представим представление некоторого сигнала f () в базисе вейвлет-функций как

Wf (я, x) = 1 ]/^^^dt,

где ^(я, х) - базисная вейвлет-функция, зависящая от двух переменных: масштабного я и пространственного х сдвигов; Ш/(я, х) - так называемые вейвлет-

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

Множество пространственных сдвигов базисного вейвлета формируют некоторое функциональное пространство Vя, в котором представляется обрабатываемый сигнал / (). При изменении значения масштабного сдвига я формируется переход к представлению сигнала на более или менее детальном масштабе [4]. Система функций {(я, х)| х)е Ь (Я); я, х е z}

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

/()= Е с(я,хх),

где с (я, х) соответственно коэффициенты ряда.

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

Двоичные вейвлет-коэффициенты ё ^ [п] в данном

случае вычисляются на целочисленной решетке как результат дискретной свертки анализируемого сигнала базисной вейвлет-функцией

[п] = Ш/(я,п) = (/(),V я (t-п)) .

Тогда, воспользовавшись утверждением Малла [5], можно привести формулы свертки, которые, повторяясь, дают каскад фильтров при вычислении прямого

а,+1[п] = [п], ^+1[п] = [п]

и обратного

as [п] = 2 (as+1к s [п] + ds+1 & s [п])

дискретного вейвлет-преобразования (рис. 1).

Такую запись при переходе в дискретную область будем трактовать в виде последовательности средних значений отсчетов сигнала, образующих сжатую, более грубую версию сигнала а^, а также вейвлет-коэффициентов детализации di, несущих информацию о «тонкой» структуре сигнала [6].

Преобразование в таком случае основывается на быстром алгоритме (рис. 2) и выполняется при помощи так называемого банка квадратурно-зеркальных фильтров [3] с коэффициентами (к, &) для декомпозиции (разложения) и ((, &) - для реконструкции

(восстановления). Основу преобразования в данном случае составляют операции дискретной свертки уп = £ккхп_к и операции с симметричными потока-

к

ми данных для анализируемого сигнала / (/), представленного в виде последовательности отсчетов

х = {х } п=~

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

В ходе проведенного анализа алгоритмов вейвлет-обработки сигналов был сделан вывод о возможности

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

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

Другим путем параллельного выполнения алгоритмов вейвлет-анализа как уже говорилось выше является использование естественного параллелизма аппаратных средств с точки зрения реализации операций быстрого вейвлет-преобразования на основе сверток. С вычислительной точки зрения операция свертки содержит в себе циклически повторяющиеся операции умножения/накопления в сочетании с чтением данных и записью результатов, то есть работой с оперативной памятью. Кроме того, для выполнения этой процедуры в реальном времени, необходимо продолжать поступление сигнала на вход вычислительной системы во время выполнения основных операций преобразования. Для решения подобных задач идеально подходит процессор семейства 8НЛЯС ЛБ8Р-21ххх.

Рис. 1. Пирамидальный алгоритм вейвлет-декомпозиции Малла

Входной сигнал

LOD

Hl D

т2

LO_D

\сА(1) ^

HID

■|7>А(2)

I сР(2)

Рис. 2. Лифтинговая схема разложения сигнала каскадами фильтров

Их уникальная SIMD-архитектура ориентирована на выполнение операций с параллельным потоками данных и выполнение циклических сверток [7]. Состав данных аппаратных средств ПЦОС позволил реализовать быструю схему вычислений, основанную на операции свертки, то есть на комплексах циклически повторяющихся операций умножения/накопления в сочетании с чтением данных и записью результатов по параллельным каналам.

Данная совокупность операций идеально подходит для аппаратной реализации алгоритмов вейвлет-анализа, тем более что выполнение каждой операции умножения с накоплением производится за один такт. Благодаря внутреннему счетчику цикла и стеку цикла процессор выполняет программу цикла с нулевыми потерями. Не требуется команд перехода для организации циклов или декремента и проверки счетчика. А наличие независимых шин памяти программ и памяти данных позволяет ядру процессора одновременно обращаться к командам и данным в общих блоках памяти. Коэффициенты фильтров декомпозиции/реконструкции в таком случае могут храниться в том же самом блоке памяти, который содержит команды, в то время как выборки данных хранятся в другом блоке. Такая организация позволяет достичь минимальных затрат на вычисление одной точки результирующего сигнала.

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

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

Для практической реализации и проведения экспериментов был использован многопроцессорный кластер ADP160QPCI v 1.1, выполненный на основе четырех процессоров SHARC ADSP-21160 фирмы Analog Devices. Структурная схема проекта представлена на рис 3. В ходе экспериментов синтезирован ряд конфигураций, реализующих разные варианты выполнения алгоритмов вейвлет-анализа: двухпроцессорный вариант, реализующий макрораспределение операций по ветвям полного или частичного дерева алгоритма Малла, четырехпроцессорный вариант, реализующий микрораспределение вычислений лифтинговой схемы

------------------------------

Структурная схема внешнего ПО

Visual DSP v 2.0

и

Загрузчик

не:

ОС

I

Драйвер платы ЦОС

7

й

е р

рет

Контроллер шины РС1

I

HOST-ПЛИС

г

— ^

* л

I

=>

Внутренняя память

Интерфейсная часть процессорного кластера

V

Cd1

Ввод данных

Вейвлет-декомпозиция

Са

N

Г"*-• Определение порога фильтрации

СаN 1 Thr1 ... Г 1 ThrN

Фильтрация

Сжатие данных

СаN

Ж

СаN

Ввод данных

<=

Вейвлет-реконструкция

Хранение

Z3E

Восстановление данных

Thr1

ThrN

Структурная схема внутреннего ПО

Ж

ПЦОС ПЦОС ПЦОС ПЦОС

ADSP- ADSP- ADSP- ADSP-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

21160М 21160М 21160М 21160М

Ж

ж

ж

Межпроцессорный обмен по полному графу Процессорный кластер Рис. 3. Структурная схема проекта

Таблица 1

Сводная таблица результатов экспериментов

Длины сигналов Эффективность параллелизма, % Коэффициент сжатия Ксж Отношение сигнал/шум (SNR), дБ

2-процессорная конфигурация 4-процессорная конфигурация

1024 2048 4096 1024 2048 4096 Количество нулевых значений, % Ксж

Сигнал 1 50,5 50,2 50,1 25,4 25,2 25,1 90 10 17,8

Сигнал 2 93 9,5 14,7

Сигнал 3 89 9,1 15,9

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

Разработанный комплекс программного обеспечения включает в себя следующие элементы: модуль вейвлет-декомпозиции сигналов на базе быстрых параллельных алгоритмов вейвлет-преобразования; модуль генерации оптимального порога, минимизирующего риск и потери качества данных; фильтрация детализирующих компонент вейвлет-разложения сигнала по жесткой блочной пороговой схеме, синтезируемой по результатам работы алгоритма кратномас-штабной сегментации [4]; сжатие полученных коэффициентов разложения [6] со сверхкомпрессией без потерь [8].

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

Средние значения вычислительных преимуществ (затрат на выполнение полного алгоритма) составили 50,1 - 50,5 % для двухпроцессорного варианта и 25,1 -25,4 % - для четырехпроцессорной схемы, где за 100 % было принято значение временных затрат при реализации на базе одного процессора. Все полученные значения представлены в табл. 1.

Практическая реализация быстрых параллельных алгоритмов вейвлет-анализа проводилась с использованием программного пакета DEASY TOOLS, предназначенного для разработки, отладки и выполнения программ цифровой обработки сигналов на процессорных модулях фирмы InSys Corporation, построенных с использованием процессоров ADSP-2116x фирмы Analog Devices, а также с использованием программного комплекса Visual DSP++™ 3.0 - системы разработки программного обеспечения для приложений ЦОС [9]. Все оптимизируемые алгоритмы до аппаратной реализации были тестированы в составе программного комплекса цифровой обработки сигналов методами вейвлет-анализа, разработанного для

ПЭВМ при помощи программного пакета VisualStudio.NET 2003 [10].

Таким образом, в результате проведенной работы была доказана целесообразность разработки и существенное повышение производительности параллельной реализации быстрых алгоритмов вейвлет-анализа, получены подтвержденные серией экспериментов теоретические результаты, показывающие высокую эффективность реализации комплекса алгоритмов на базе многопроцессорных кластеров ADSP-2116x фирмы Analog Devices.

Литература

1. Добеши И. Десять лекций по вейвлетам. - М.: РХД, 2001.

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

3. Воробьев В., Грибунин В. Теория и практика вейвлет-преобразования. - НИН В.Г. ВУС, 1999.

4. Беспалов Д.А., ГузикВ.Ф. Кратномасштабная сегментация сигналов на основе Вейвлет-преобразования // Информационные технологии, системный анализ и управление: III Всероссийская научная конференция молодых ученых, аспирантов и студентов.- Таганрог: Изд-во ТРТУ.

5. Новиков Л.В. Основы вейвлет-анализа сигналов. - С.-Пб.: ИАиП РАН, 1999.

6. Беспалов Д.А., Золотовский В.Е., Головченко Т.А. Кодирование сейсмоданных в ортогональных базисах Хаара // Информационные технологии, системный анализ и управление: III Всероссийская научная конференция молодых ученых, аспирантов и студентов. - Таганрог: Изд-во ТРТУ, 2005. - С. 6 - 8.

7. ADSP 2106x SHARC User's manual. - Analog Devices Inc., 1996.

8. Беспалов Д.А. Ляпунцова Е.В., Золотовский В.Е., Голов-

ченко Т.А. Быстрые методы сжатия и распаковки в системах картографирования // Известия ТРТУ. Материалы L научно-технической конференции профессорско-преподавательского состава, аспирантов и сотрудников ТРТУ. - Таганрог: Изд-во ТРТУ, 2004. № 8(43). С. 62 - 63 (Спец. выпуск).

9. Engineer To Engineer Note EE-148 Introduction to SHARC® Multiprocessor Systems Using VisualDSP++™ Contributed by Maikel Kokaly-Bannourah April 01, 2003.

10. Камерон Хьюз, Трейси Хьюз. Параллельное и распределенное программирование и использованием С++. -М; СПб; Киев, 2004.

Таганрогский государственный радиотехнический университет 11 сентября 2006 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.