ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011 Управление, вычислительная техника и информатика № 1(14)
УДК 681.32
О.В. Климова
ЭВОЛЮЦИЯ СПОСОБОВ ОРГАНИЗАЦИИ ВЫЧИСЛЕНИЙ ДЛЯ ОПЕРАЦИЙ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ:
ОТ АЛГОРИТМА К МОДЕЛИ1
Прослежена эволюция основ организации вычислительного процесса для операций цифровой обработки сигналов (ЦОС) и показана необходимость их пересмотра при переходе к параллельной обработке информации. Показано, что адаптация конкретных последовательных алгоритмов к условиям параллельной обработки не позволяет обеспечить её эффективность, а сама форма алгоритма как основы организации вычислительного процесса не способна описать многообразие вариантов организации вычислений, предлагаемое параллельным принципом обработки данных. Чтобы отразить это многообразие и полноценно использовать его возможности, необходимо разрабатывать формальные модели, позволяющие синтезировать и анализировать различные вычислительные структуры непосредственно для самой пространственновременной среды. Показан путь построения такой модели для операций ЦОС.
Ключевые слова: параллельные алгоритмы, цифровая обработка сигналов, быстрые алгоритмы, проектирование алгоритмов, декомпозиция, параметризованный синтез алгоритмов, модель организации параллельных вычислений.
В статье рассматривается эволюция формальных основ, отвечающих за организацию вычислений базовых операций цифровой обработки сигналов (ЦОС). Дело в том, что эта бурно развиваемая уже не одно десятилетие область всегда выдвигала жесткие требования к скорости обработки информации, что в свою очередь приводило к интенсификации исследований по созданию быстрых алгоритмов [1], ориентированных на последовательную обработку и реализуемых на спецпроцессорах. Таким образом, при последовательной обработке данных быстрые алгоритмы стали основой организации вычислений для операций ЦОС. Сейчас на современном этапе развития средств обработки информации ЦОС является одной из наиболее заинтересованных областей в эффективном использовании такого резерва повышения быстродействия как параллельная обработка. Одной из важнейших проблем, стоящих на пути использования этого резерва, является проблема согласования алгоритмических и архитектурных характеристик параллельных вычислительных систем. Эта проблема может быть решена с помощью создания самостоятельных основ организации параллельных вычислений, изначально ориентированных на описание вычислительных процессов в пространственновременной среде. Таким образом, эволюция рассматриваемых формальных основ, отвечающих за организацию вычислений базовых операций ЦОС, не должна проходить мимо пути решения указанной проблемы, а должна привести к созданию новых формальных основ для организации именно параллельных вычислений. Так как переход к параллельным вычислениям сделал саму их организацию объектом исследований, характеризующимся множеством решений, то для обеспече-
1 Работа выполняется в рамках Программы фундаментальных исследований Президиума РАН № 14, проект 09-П-1-1004.
ния возможности их описания необходимо разрабатывать формальные инструменты синтеза и анализа этих решений. Каким должен быть разрабатываемый инструмент, каковы пути его создания и каковы его отношения с богатой предысторией - алгоритмами последовательной обработки, являющимися базисом для её организации? Ответы на эти вопросы еще предстоит получить, но исследования, проводимые в этой области [2 - 5], свидетельствуют о чрезвычайной важности и сложности задачи создания такого инструмента, а опыт практического использования [6] параллельной обработки говорит о необходимости решения данной задачи. Анализируя общие результаты исследований, связанные с реструктуризацией [2 - 4] известных последовательных алгоритмов и их программ и направленные на построение параллельных алгоритмов, можно отметить, что они не приводят к созданию общего формального описания различных вариантов организации вычислений. Эти результаты характеризуются адаптацией структур последовательных алгоритмов к условиям параллельной обработки. В статье будет предложено направление развития основ организации вычислений и представлена новая форма описания организации параллельных вычислений - формальная модель, полученная для операций ЦОС в процессе исследований по указанному направлению. Базой для создания указанного формального инструмента, позволившего построить такую модель, стало развитие принципов преемственности описания вычислительной среды, её модульности и масштабирования. Соблюдение принципа преемственности в рамках искомого решения означает, что оно формирует единое описание как для последовательных, так и для параллельных алгоритмов, последовательная обработка при этом рассматривается как частный случай параллельной, а исходный последовательный алгоритм представляется некоторой композиционной формой, состоящей из детерминированного набора отдельных независимых по времени вычислительных компонентов. Установление формальных правил образования таких композиционных форм позволит создать искомый инструмент для синтеза и анализа различных структур параллельных алгоритмов. Наличие такого инструмента обеспечит возможность построения новой формальной основы, позволяющей задавать как последовательные, так и параллельные алгоритмы и представляющей собой модель организации вычислений в пространственно-временной среде, характеризуемую набором параметров и их отношений. Таким образом, для создания такой модели необходимо разработать взаимнооднозначные процедуры перехода из временной области представления вычислений в пространственно-временную. Именно эти параметризованные процедуры станут базисом для организации параллельных вычислений. Такие процедуры были разработаны для базовых операций ЦОС, описания некоторых из них приведены в работах [7 - 13]. Порождаемые этими процедурами структуры параллельных алгоритмов будут содержать в качестве своих компонент алгоритмы выполнения исходных операций ЦОС, сжатые во времени пропорционально расширению пространственной структуры конкретного параллельного алгоритма. Тогда привычный последовательный алгоритм будет лишь компонентой модели, позволяющей формировать, а в последующем и анализировать различные варианты организации параллельных вычислений. Таким образом, переход от последовательной обработки к параллельной привел к качественному изменению самого понимания базиса для организации вычислительного процесса. И если для последовательной обработки таким базисом был алгоритм, то для параллельных вычислений таким базисом должна стать модель. Кратко проследим вышеописанный путь от алгоритма к модели для базовых операций ЦОС.
1. Обоснование необходимости изменения основ организации вычислений
Рассмотрим причины, заставляющие говорить о необходимости перехода от алгоритма к модели. Эти причины, прежде всего, являются следствием изменения самой вычислительной среды. Действительно, последовательная обработка характеризуется временной средой для реализации вычислений, в то время как параллельная обработка предоставляет для этого пространственно-временную среду. Эта среда, описываемая параметрами (у, /) и характеризуемая возможностью одновременной реализации вычислений для множества из Ь последовательных вычислительных процессов, каждый из которых определяется конкретным значением параметра у, у = 0,..., Ь-1, порождает многообразие вариантов организации вычислений. Это приводит к тому, что организация вычислений при параллельной обработке выступает в качестве объекта исследований, направленных на выбор наилучших вариантов в рамках заданных ограничений на реализацию вычислений. Для выполнения таких исследований необходимы формальные модели, способные синтезировать необходимое многообразие вариантов и анализировать оценки сложности их пространственно-временных архитектурно-независимых реализаций. Создание формальной модели, обеспечивающей выполнение таких исследований, создаст базу для реализации обоснованного выбора вариантов организации вычислений, приводящего к повышению эффективности параллельной обработки, за счет появления возможности гибкого согласования алгоритмических и архитектурных параметров параллельных вычислительных систем. Достижение такого результата возможно на основе проектирования вариантов, выполняемого на базе симбиоза формальной модели и параметров, определяющих конкретные условия реализации вычислений. В каждом конкретном случае модель может быть расширена путем введения в её структуру указанных параметров. Таким образом, установленными причинами необходимости перехода от алгоритма к модели, диктуемыми средой выполнения параллельной обработки, являются:
• необходимость синтеза множества пространственно-временных вариантов реализации вычислений;
• необходимость выполнения исследований организации параллельных вычислений, направленных на создание системы обоснованного выбора варианта их реализации;
• необходимость создания формальных основ для проектирования алгоритмов.
Следующий класс причин связан с историей создания алгоритмов последовательной обработки, сформировавших основу для организации её вычислений. Если исходить из предположения, что последовательный алгоритм является некоторой композиционной формой, состоящей из разномасштабных множеств подобных себе, но сжатых во времени последовательных алгоритмов, то задача построения формальной модели сведется к разработке инструмента перевода вычислений в пространственно-временную среду. Создание такого инструмента связано с установлением закона формирования композиционных форм, обеспечивающего единое описание для алгоритмов, реализуемых в различных вычислительных средах, временной и пространственно-временной. Получив детерминированные правила организации одновременных вычислений для множества детерминированных последовательных алгоритмов, можно выполнять их независимую параллельную обработку и использовать весь алгоритмический потенциал, созданный для организации последовательных вычислений. Таким образом, для формирова-
ния единого описания последовательных и параллельных алгоритмов необходимо построить композиционные формы известных последовательных алгоритмов и установить детерминированные правила координации их детерминированных компонент. Такая формальная основа организации параллельных вычислений позволит избежать проблем параллельной потоковой организации вычислений, рассматриваемых в работе [6] и связанных с недетерминированностью такой обработки. Рассмотрим требования к создаваемой формальной модели, характеризуемой архитектурной независимостью, детерминированностью правил композиции и координации своих компонент и единством описания параллельных и последовательных алгоритмов.
2. Требования к модели организации вычислений в пространственно-временной среде
Сформулируем требования, которыми должна обладать формальная модель организации вычислений в пространственно-временной среде:
• преемственность (единое описание последовательных и параллельных вычислений);
• масштабирование;
• обеспечение структурного разнообразия вычислений;
• децентрализация;
• детерминизм описания компонент и законов их координации;
• модульность;
• обеспечение технологии синтеза структур параллельных вычислений.
Разработав модель, отвечающую представленным требованиям, можно получить формальный инструмент, позволяющий повысить эффективность параллельной обработки и расширить сферу её использования за счет внедрения технологий проектирования алгоритмов параллельных вычислений. Действительно, модель, предполагающая формальный синтез множества вариантов реализации параллельных вычислений, позволит решать проблему обоснованного выбора наилучшего варианта. Модель, удовлетворяющая таким требованиям, была построена для базовых операций ЦОС. Представим путь построения такой модели.
3. Последовательные алгоритмы - база построения модели организации вычислений для операций ЦОС
Вышеупомянутый путь связан с разработкой формального инструмента для перевода вычислений операций ЦОС в пространственно-временную среду. Представляемый путь может быть охарактеризован двумя этапами, приводящими к формированию композиционных форм представления операций свертки:
N-1
с (г) = ^ х(г - д) • у(д)
9=0
и дискретного преобразования Фурье (ДПФ)
N-1
5(д) = Х х(0•К9,
г=0
где
WN = е~2пг 1N ,
характеризующихся многомасштабным представлением внутренней структуры последовательных алгоритмов. Первым этапом пройденного пути стала декомпозиция входной последовательности данных, основанная на их масштабировании, в результате выполнения которого область задания данных была преобразована в двумерную решетку размера N = ЬН1, то есть была сжата по временному и расширена по пространственному аргументам. В результате был сформирован набор укороченных последовательностей данных ху(г1),у = 0,., Ь-1, г1 = й1—1, композиция которых приводит к исходной последовательности х(г). Иллюстрация выполненной декомпозиции представлена на рис. 1. Данный этап характеризуется одновременным использованием объектно-ориентированного подхода и функциональной декомпозиции данных. Полученная форма задания входной последовательности х(г) стала основой для разработки процедур создания композиционных форм представления базовых операций ЦОС - свертки и ДПФ. Именно благодаря такой декомпозиции данных удалось реализовать второй этап данного пути и получить искомые композиционные формы. На этом пути были разработаны процедуры, описания некоторых из них приведены в работах [7 - 13], в результате использования которых и были выявлены эти пространственно-временные композиционные формы. Эти формы, эквивалентные исходным формам задания названных операций, позволяют синтезировать различные варианты организации вычислений от последовательного до многомасштабного, порождающего различные параллельные структуры, а следовательно, описывают как последовательную, так и
Ь-1--
■=^>
_1_^ Масштабирование
N-1
h1=N/Ь
■=>
1--
-I—> г
15
х(г)-
■> х 1(г0
0
а
3--
2--
1--
Н—>■ г1
х(г)-
I > г1
^1-1
■> х 0(г1)
-> хь-1(г0
0 . . .7
х0(г1) х(г) ■
III >г1
0 12 3
х0(г1)
■>г1
01
х(г).
■> хз(г1)
-> х0(гО
■> х^г{)
0
0
б
Рис. 1. Перевод отсчетов входной последовательности из временной среды в пространственно-временную (а), варианты перевода для N=16 (б)
параллельную обработку данных. Полученные композиционные формы представления операций ЦОС характеризуются созданием нового класса алгоритмов, названных алгоритмами с изменяемой структурой. Можно сказать, что эти алгоритмы являются моделью организации вычислений операций ЦОС, изначально заданных в пространственно-временной среде. Эти алгоритмы характеризуются многомасштабным описанием внутренней структуры исходного последовательного алгоритма. На основе этого описания можно синтезировать различные параллельные вычислительные структуры, состоящие из множества однотипных функциональных компонент, подобных исходному последовательному алгоритму, сжатых во времени и распределенных в пространстве.
Множество разработанных алгоритмов с изменяемой структурой позволило построить формальную модель организации параллельных вычислений операций ЦОС. В укрупненном виде созданную модель можно представить с помощью пространственно-временной среды, ею порождаемой. На основе этой среды продемонстрируем возможности построенной формальной архитектурно-независимой модели.
4. Пространственно-временная среда для организации вычислений операций ЦОС и возможности модели
Представленная на рис. 2 пространственно-временная среда сформирована на основе полученных композиционных форм задания операций свертки и ДПФ, описанных в работах [7 - 13]. Данная среда представляет собой многомасштабное представление внутренней структуры пространственно-временной среды последовательного алгоритма. Эта среда изначально ориентирована на параллельную обработку данных. Основываясь на представленной на рис. 2 внутренней структуре вычислительной среды, порожденной созданной моделью, можно сделать следующие выводы. Полученная формальная модель позволяет исследовать различные варианты организации параллельных вычислений путем синтеза и анализа порождаемых ею вычислительных структур, предоставляя возможность обоснованного выбора варианта реализации вычислений. Приведем более широкий спектр возможностей, предоставляемых созданной моделью:
• управление изменениями структуры вычислений ^ обоснованный выбор ^ проектирование вариантов ^ решение проблемы согласования между алгоритмом и архитектурой ^ повышение эффективности параллельной обработки;
• сокращение сложности проектирования вычислительных систем и повышение надежности их функционирования за счет представления сложной системы суммой простых;
• использование всей базы последовательных алгоритмов, благодаря единству функциональных компонент модели и известных последовательных алгоритмов;
• сокращение сложности обработки и повышение её надежности;
• предоставление более тонкого инструмента для анализа обрабатываемой информации;
• повышение гибкости вычислений.
Широкий спектр представленных возможностей созданной модели позволяет решать различные задачи, ориентированные на повышение качества параллельной обработки информации, её анализа, сокращения сложности обработки данных и проектирования вычислительных систем, а также качества их эксплуатации и расширение сферы использования параллельных вычислений.
Рис. 2. Пространственно-временная среда для организации вычислений операций ЦОС
Заключение
Показана необходимость изменения основ организации вычислений при переходе к параллельной обработке данных. Сформулированы требования к характеру предполагаемых изменений, направленных на эффективное использование потенциальных возможностей параллельной обработки. Предложен путь выполнения таких изменений для класса операций ЦОС, характеризующийся созданием формальной модели организации параллельных вычислений. Этот путь связан с созданием формального инструмента перевода вычислений в пространственновременную среду. Отличительной особенностью этого пути является его изначальная ориентация на создание архитектурно-независимой формальной модели, способной описывать разнообразие вариантов организации вычислений, порождаемых пространственно-временной средой. Именно эта среда характеризует параллельную обработку данных, поэтому, погрузив созданные последовательные алгоритмы в эту среду, можно обеспечить возможность их реализации путем од-
новременной обработки множества подобных им последовательных алгоритмов, сжатых во времени пропорционально расширению пространственной среды. Объединение результатов, полученных в отдельных пространственных ветвях, путем их суммирования позволит сформировать общее решение исходного последовательного алгоритма. Основой для реализации предложенной схемы вычислений в пространственно-временной среде является разработка композиционных форм представления последовательных алгоритмов. Такие формы были созданы для операций ЦОС. Это позволило создать формальную модель организации их вычислений в пространственно-временной среде, позволяющую синтезировать и анализировать множество возможных вариантов реализации вычислений. Показаны возможности разработанной модели. Одной из основных её возможностей является возможность выполнения обоснованного выбора варианта вычислений. Реализация этой возможности позволяет повысить эффективность параллельной обработки за счет согласования архитектурных и алгоритмических характеристик выбранной параллельной вычислительной системы.
ЛИТЕРАТУРА
1. Nussbaumer H.J. Fast Fourier Transform and Convolution Algorithms. Berlin; Heidelberg: Springer-Verlag, 1982.
2. Воеводин В.В. Вычислительная математика и структура алгоритмов. М.: Изд-во МГУ, 2006.
3. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002.
4. Кун С. Матричные процессоры на СБИС. М.: Мир, 1991.
5. Нариньяни А.С. Модель или алгоритм: новая парадигма информационной технологии // Информационные технологии. 1997. № 4.
6. EdwardA.Lee. The Problem with Threads // IEEE Computer. 2006. V. 39. No. 5. P. 33-42.
7. Климова О.В. Единый подход к построению быстрых алгоритмов и распараллеливанию вычислений дискретного преобразования Фурье // Изв. РАН. Теория и системы управления. 1999. № 3. С. 68-75.
8. Климова О.В. Формализованный синтез параллельных алгоритмов цифровой обработки сигналов и параметризованное описание их структур // Параллельные вычислительные технологии (ПаВТ’2007): Труды Международной научной конференции. Т. 2. Челябинск: Изд. ЮУрГУ, 2007. С. 77-86.
9. Климова О.В. Параллельная архитектура процессора свертки произвольной длины с использованием числовых преобразований Рейдера // Изв. РАН. Техн. кибернетика. 1994. № 2. С. 183-191.
10. 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. P. 358-363. LNCS1277.
11. Klimova O.V. Pseudo-two-Dimensional Decomposition Methods and Parallel Algorithms of Convolution // International Workshop on Spectral Methods and Multirate Signal Processing. Tampere, Finland: TICSP Series, June 2001.
12. Климова О.В. Быстрые параллельные алгоритмы и рекурсивная псевдодвумерная декомпозиция свертки // Вестник Томского государственного университета. Приложение. 2002. № 1 (II). С. 227-232.
13. Климова О.В. Способы управления изменениями структуры параллельных алгоритмов цифровой обработки сигналов // Параллельные вычисления и задачи управления PAC0’2008: труды IV Международной конференции, Москва, 27 - 29 октября 2008 г. М.: Институт проблем управления им. В.А. Трапезникова РАН, 2008. С. 1033-1041.
Климова Ольга Витальевна
Институт машиноведения УрО РАН (г. Екатеринбург). E-mail: klimova@imach.uran.ru
Поступила в редакцию 12 октября 2010 г.