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

2013

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА Управление, вычислительная техника и информатика

№ 2

ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ

УДК 681.32

О.В. Климова

МЕТОДОЛОГИЯ ДЕКОМПОЗИЦИИ ДАННЫХ И ЕДИНОЕ ОПИСАНИЕ ПОСЛЕДОВАТЕЛЬНЫХ И ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ ВЫЧИСЛЕНИЯ ОПЕРАЦИЙ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ1

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

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

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

1 Настоящая работа выполнена при частичной поддержке РФФИ (грант № 11-01-12126) и программы Президиума РАН № 18 «Алгоритмы и математическое обеспечение для вычислительных систем сверхвысокой производительности» при поддержке УрО РАН (проект 12-П-1-1028).

структур последовательных алгоритмов к конкретным условиям их параллельной обработки. Поэтому результаты, полученные на этом пути, не могут быть рассмотрены в качестве основы для реализации совместных исследований алгоритмов и архитектур. В то же время во многих современных работах [4, 5] подчеркивается важность и актуальность таких исследований, а также приводятся результаты, обеспечивающие их реализацию на основе найденных приемов описания разнообразия параллельных алгоритмов. Эти приемы, позволяющие изучать внутреннюю структуру алгоритмов, всё же оставляют указанные исследования на том же алгоритмическом уровне абстракции. Для того чтобы перейти от алгоритма к модели организации параллельных вычислений, необходимо поднять процесс исследования структур алгоритмов на более высокий уровень абстракции. Однако, известных результатов, относящихся к области разработки моделей организации параллельных вычислений, чрезвычайно недостаточно. Очевидно, что такие модели не могут быть универсальными, они должны разрабатываться для выделенного класса операций. Для создания модели необходимо установить общий закон, позволяющий выявлять внутренний параллелизм последовательных алгоритмов и представлять их в виде композиционных форм. Компонентами этих форм должны стать независимые вычислительные процессы. Именно такой путь предлагается использовать в работе [6] для построения параллельных алгоритмов, изначально ориентированных на параллельную обработку. Основная сложность реализации этого пути заключается в установлении требуемого закона, приводящего к образованию композиционных форм. Обнаружение такого закона позволит установить связь между последовательной и параллельной обработкой данных. В свою очередь, именно эта связь позволит осуществить естественный переход от алгоритма к модели. Такие модели станут теми формальными инструментами, которые будут порождать алгоритмы (варианты организации вычислений), изначально ориентированные на параллельную обработку. С помощью таких моделей можно будет синтезировать множество алгоритмических решений и управлять по параметрам модели выбором и анализом их вариантов.

В статье рассматривается методология декомпозиции данных, разработанная на основе теоретико-группового подхода к построению параллельных алгоритмов цифровой обработки сигналов (ЦОС) [7-11]. Предлагаемая методология стала ключевым этапом в процессе разработки формального инструмента, позволяющего раскрыть и изучать внутреннюю структуру алгоритмов. Она позволила подняться на более высокий уровень абстракции и создать единое формальное описание для последовательных и параллельных алгоритмов вычисления векторноматричных операций. К указанному классу относятся алгоритмы вычисления базовых операций ЦОС и изображений (дискретные ортогональные преобразования, реализуемые в различных функциональных базисах, свертка, корреляция), а также операции произведения матриц и умножения матрицы на вектор. Созданное описание позволяет синтезировать алгоритмы, изначально ориентированные на параллельную обработку.

1. Формальный переход от алгоритмов к модели организации вычислений

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

следований является организация вычислений, характеризующаяся множеством различных вариантов. Для обеспечения возможности проведения совместных исследований на высоком уровне абстракции необходимо описать объект исследований в среде его изучения, то есть в пространственно-временной среде. Это означает, что требуемое описание должно порождать разнообразие вариантов организации вычислений, должно быть формальным и архитектурно-независимым. Наличие такого описания - формального инструмента - позволит синтезировать множество параллельных алгоритмов - вариантов организации вычислений для выбранной операции - и выполнять совместные исследования алгоритмов и архитектур. Таким формальным инструментом должна стать модель [11] организации параллельных вычислений, которая для вышеуказанного класса операций была создана на основе результатов, представленных в работах [7-11]. Был выполнен формальный переход от алгоритмов к модели, при реализации которого была разработана предлагаемая в данной статье методология декомпозиции данных. Прежде чем представить данную методологию, рассмотрим обобщенную схему перехода от алгоритма к модели организации параллельных вычислений. Схема, представленная на рис. 1, позволяет продемонстрировать ключевую роль разработанной методологии в процессе иллюстрируемого перехода.

Данные - х

Пар аллельная обработка - Ь Ф 1

Методология декомпозиции данных

I

КФД

Последовательная обработка - Ь = 1

^ИФО о ПФО о Алгоритмы - Л1

I *

КФО

Модель (От , N, Ь, Лл ( ^) , КВС (Л, р

Рис. 1. Обобщенная схема перехода от алгоритмов к модели организации параллельных вычислений

Приведем краткое описание данной схемы и раскроем используемые в ней сокращения и обозначения. Применение указанной методологии к набору входных данных х (/) длины N позволило построить пространственно-временные композиционные формы данных КДФЙ,Л), зависящие от временной ¿1 и пространственной л переменных. Замена входной последовательности х (/) на полученные л) в исходных формах представления операций (ИФО) вышеозначенного класса привело к созданию композиционных форм представления операции -

КФО(Л/р (^),КВС(л, р)). Компонентами этих форм являются алгоритмы Ллр (¿1), полученные для реализации последовательных вычислений выбранной

операции из рассматриваемого класса и сжатые во времени, а также координационно-вычислительные среды КВС(Л,р), формируемые в процессе образования КФО. Таким образом, множество алгоритмов Л- (?), разработанных для последовательной обработки, благодаря созданному механизму образования КФО, основанному на их сжатии во времени, может характеризовать модель организации параллельных вычислений, являясь компонентой этой модели. Таким образом, созданная база последовательных алгоритмов, разработанных как на основе ИФО, так и на основе преобразовательных форм представления операции (ПФО), полученных в результате применения к ИФО различных эквивалентных преобразований, может быть подвергнута сжатию во времени и погружена в КВС(Л,р) для любой операции От выделенного класса. Ключевым параметром, определяющим возможность и уровень сжатия вычислений во времени, является параметр Ь, задаваемый следующим образом: Ь = N1^, где ¿1 = 0,... ,й1; л,р = 0,... ,Ь-1. Введение и использование этого параметра позволило установить связь между алгоритмическим описанием вычислений и описанием организации параллельных вычислений с помощью модели. Последовательная обработка соответствует значению параметра Ь=1, а параллельная Ьф\. Таким образом, полученную модель можно рассматривать как единое описание последовательных и параллельных алгоритмов для операций вышеозначенного класса. Базой для создания такого описания стала предлагаемая методология декомпозиции данных. В свою очередь, использование такой методологии для создания модели организации параллельных вычислений означает переход на более высокий уровень абстракции при описании вычислений. Поднявшись на этот уровень, мы смогли извлечь внутренний параллелизм последовательных алгоритмов, используя единые для различных операций законы образования КФО. Это единство определяется общей для различных операций и независящей от них методологией декомпозиции данных, описанию которой посвящен следующий раздел.

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

Для этого предварительно представим преобразования над входными данными, в результате которых была получена новая композиционная форма их представления (структура). Иными словами, опишем процесс реструктуризации входной последовательности данных, в качестве которой будем рассматривать функцию х(Г), заданную на отрезке [0, N-1]. Определим на отрезке [0, N-1] по функции х(Г) функцию х (¿) с помощью формулы

2. Методология декомпозиции данных

х(/), ( = • Ь, 0, / Ф ¿1 • Ь,

и систему функций х* У) = { 0

х($ + л), ( = • Ь,

0, / Ф ¿1 • Ь,

где ( = л+^Ь; N = Ьхй1; ¿1 = 0,. ,й1; л,р=0,... , Ь-1.

Функции хДо характеризуются свойством композиции, с их помощью входную последовательность х(() можно представить следующим образом:

) = 2 х* (/ - у).

1 =0

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

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

декомпозицию двумерной последовательности х(^,^). Функция х(^,^) задана на группе Н = 2Ы х порядка N = Ы1 х Ы2. Тогда соответствие вида

t = t2 + ^2 является для такой функции изначальным. Если порядки N и N2 можно представить в виде N1 = к11 • Ь1, N2 = к21 • Ь2, то функцию х((1, t2) можно декомпозировать по обеим координатам. Число (1 задается выражением (1 = 11 + (11Ь1, где (11 = 0,...,/гп -1 и 11 = 0,...,Ь -1, а число (2 представляется в виде (2 = 12 +^ (21Ь2, где 12 = 0,...,Ь2 -1, +^ - операция суммирования на группе 2^ и (21 = 0,...,к21 -1. Тогда t можно представить с помощью следующего выражения: t = у2 +щ (21Ь2 +11N2 + (11Ь1N2. Теперь, введя функции

х* (() = {х((), ( = (21Ь2 + А1Ь1^Г2,

|°, ( ф (21Ь2 + t11L1N2,

* ,А |х(( + ]^2 +N3 12), ( = (21Ь2 + ^пА^,

и х, , (() = ^ 2

12 1 0, ( Ф (21Ь2 + t11Ь1N2,

представим двумерную последовательность х(( ) = х((1, t2) в следующем виде:

х(() = 2 х^1,12 ( - Л N2 - N2 12 ) = 2 ^ хл,./2 ((?2 - N2 12) + (А - ./l)N2),

Л =0 12 =0 Л = 0 к =0

где -^ обозначает операцию вычитания на группе ZNг .

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

с реализацией операций сдвига функций, выделенных на первом шаге, по оси t на 1 позиций влево для одномерного случая и по осям ^ и t2 на ]1 позиций вверх и у2 позиций влево соответственно для двумерного случая. Последний третий шаг характеризуется операцией сжатия функций, сдвинутых на втором шаге, по оси t для одномерного случая и по осям ^ и t2 - для двумерного. Сжатие реализуется

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

щью следующего выражения: ^ = ^—'УЬ = ((t1 Ь+/')-/')/Ь. Иллюстрация описанной выше методологии декомпозиции одномерных и двумерных данных представлена на рис. 2. Иллюстрация выполнена для последовательностей размера N=16 и N^N2=4x4 и следующих параметров декомпозиции: Н1=Ь=4 для одномерных данных и Н11=Ь1=2 и И21=Ь2=2 для двумерных данных.

12

15

г

2.а.

3

I I I ♦ I I I ♦ I I I ♦ X

11

15

3.а. • • • •------tl

* * * *—5^ t1

1.б.

♦

О—0-0—0-

t1

0

ППП

на

А||1в111в111в t 2б. • •

0 4 8 12

• •

* *

о—|—|—|——1—1—1—V—1—1—1—о—^ I 2 6 10 14

* *

3.б.

* *

* *

Рис. 2. Иллюстрация методологии декомпозиции одномерных и двумерных данных (шаги

1.а - 3.а и шаги 1.б - 3.б соответственно) для последовательностей размера N=16 и N=4x4

8

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

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

3. Композиционные формы представления операций и новые вычислительные возможности

Разработка методологии декомпозиции данных позволила построить единое параметризованное описание (модель) организации вычислений операций вышеозначенного класса, обеспечивающее:

- преемственность описания параллельных и последовательных вычислений;

- деление одного процесса на множество независимых вычислительных процессов;

- масштабируемость вычислений;

- разнообразие вычислительных структур;

- децентрализацию и модульность вычислений;

- детерминизм описания вычислительных компонент и законов их координации;

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

Представленные возможности модели, построенной на основе методологии

деления данных, свидетельствуют об архитектурной независимости модели и её изначальной ориентации на синтез вариантов организации параллельных вычислений. Совокупность свойств и характеристик модели делает её формальным инструментом для выполнения совместных исследований алгоритмов и архитектур. Разработка модели базируется на создании композиционных форм представления операций. Процесс создания этих форм для различных операций выделенного класса, подробно описанный в работах [7-10], можно представить с помощью единой методики синтеза КФО. Эта методика носит обобщенный характер и состоит из следующих шагов:

- замена х(1) в исходных формах представления операций на полученные КФД(Ь, у);

- выполнение необходимых эквивалентных преобразований;

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

Применение данной методики позволило синтезировать множество различных композиционных форм для представления различных операций. Однако использование для их создания абстракции высокого уровня - единой методологии декомпозиции данных - позволило обеспечить единство пространственных структур для различных композиционных форм. На рис. 3 приведена структура композиционной формы представления операции свертки, реализуемой в частотной области с помощью прямого и обратного дискретного преобразования Фурье (ДПФ и ДПФ-1). Эта структура характеризуется пространственными координатами (у, р) и временной координатой ^. На основе этой структуры можно сформировать структуру для любой операции вышеозначенного класса. Такое единство структур также обусловлено использованием при их создании высокого уровня абстракции и общей методологии декомпозиции данных. Разработка формальной модели организации параллельных вычислений открывает новые возможности, связанные с реализацией совместных исследований алгоритмов и архитектур, а также с выполнением более тонкого анализа данных, основанного на открытии доступа по параметрам у и р к внутренней информации параллельного вычислительного процесса.

0 ... ¿1-1

р=0

->х

р=Ь-1

х

\

/

Рис. 3. Структура композиционной формы представления операции свертки

х

х

Заключение

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

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

ЛИТЕРАТУРА

1. Воеводин В.В. Вычислительная математика и структура алгоритмов. М.: Изд-во МГУ, 2006.

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

3. Кун С. Матричные процессоры на СБИС. М.: Мир, 1991.

4. Lee G.G., Chen Y.K., Mattavelli M., and Jang E.S. Algorithm/architecture co-exploration of visual computing: overview and future perspectives // IEEE Trans. Circuits and Systems for Video Technology. 2009. V. 19. Nfo. 11. P. 1576-1587.

5. Gwo Giun (Chris) Lee, He-Yuan Lin, Chun-Fu Chen, and Tsung-Yuan Huang. Quantifying intrinsic parallelism using linear algebra for algorithm/architecture coexploration // IEEE Trans. on Parallel and Distributed Systems. 2012. V. 23. Na 5. P. 944-957.

6. Lee E.A. The problem with threads // IEEE Computer. 2006. V. 39. No. 5. P. 33-42.

7. Климова О.В. Единый подход к построению быстрых алгоритмов и распараллеливанию вычислений дискретного преобразования Фурье // Изв. РАН. Теория и системы управления. 1999. № 3. С. 68-75.

8. Климова О.В. Параллельная архитектура процессора свертки произвольной длины с использованием числовых преобразований Рейдера // Изв. РАН. Техн. кибернетика. 1994. №2. С. 183-191.

9. Klimova O. Decomposition on a group and parallel convolution and fast fourier transform algorithms // Parallel Computing Technologies 4th International Conference, PaCT-97: Proceedings. Berlin: Springer-Verlag, 1997. LNCS1277. P. 358-363.

10. Климова О.В. Способы управления изменениями структуры параллельных алгоритмов цифровой обработки сигналов // Параллельные вычисления и задачи управления PAC0’2008: труды IV Междунар. конф. М.: ИПУ РАН, 2008. С. 1033-1041.

11. Климова О.В. Эволюция способов организации вычислений для операций цифровой обработки сигналов: от алгоритма к модели // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2011. № 1(14). С. 31-38.

Климова Ольга Витальевна Институт машиноведения УрО РАН

E-mail: ovk31@mail.ru Поступила в редакцию 20 октября 2012 г.

Klimova Olga V. (Institute of Engineering Science. Ekaterinburg). Methodology of data decomposition and general description of sequential and parallel algorithms for digital signal processing operations.

Keywords: parallel algorithms, digital signal processing, decomposition, parametrized synthesis of algorithms, model of the parallel computation organization.

The problem of parallel algorithm development is considered in this paper. The main content of solution is development of formal description of sequential and parallel algorithms. The solution is based on the methodology of data decomposition. The main peculiarities of methodology are its functional nature and the general approach to data decomposition of any dimension. The basic steps of methodology presented are considered. The methodology is the basis for development of the formal model of the parallel computation organization.