АВТОМАТИКА, УПРАВЛЕНИЕ И ТЕХНИЧЕСКАЯ КИБЕРНЕТИКА
УДК 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-
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 г.