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

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

УДК 681.324

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

и обратного

as [п] = 2

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

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

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

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

к

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

х = {х } п=~

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

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

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

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

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

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

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

LOD

Hl D

т2

LO_D

\сА(1) ^

HID

I сР

Рис. 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-

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 г.