На графиках (рис. 3, б) показано распределение плотности р ненулевых элементов в спектральных составляющих (в элементах декомпозиции) в зависимости от протяженности всплеска вдоль оси х1. Плотность ненулевых элементов в спектральных компонентах рассчитывалась как число ненулевых элементов в поле спектральных компонент, отнесенное к полному числу (площади) всех спектральных компонент. Очевидно значительное повышение плотности, соответствующее выделению всплесками радиальных волн определенной частоты.
Заключение
В случае многомерного сигнала предлагаемый способ отличается от вейвлет-преобразования отсутствием заранее выбранной многомерной функции разложения. Базис выбирается из элементов исходного сигнала путем вычислений для каждой спектральной компоненты, совокупность которых образует спектр. Каждую спектральную компоненту «-мерного сигнала можно считать суперпозицией одномерного вейвлет-преобразования векторов, образующих исходный сигнал по каждому из «-измерений, на базе функции типа меандр, с определенным масштабным коэффициентом по протяженности. Амплитуда элементов, соответствующих спектральной компоненте, может принимать дискретные положительные или отрицательные значения.
Предлагаемый способ позволяет получить отображение сигнала в фазовое пространство и, следовательно, получить четкую привязку спектральных особенностей сигнала к пространству и (или) времени. Стоит заметить, что отобразить одномерный сигнал на фазовую плоскость позволяет оконное преобразование Фурье.
Предложенный способ декомпозиции «-мерных сигналов может быть выполнен в целочисленной арифметике (без потери точности), что позволяет считать его достаточно быстрым и сравнительно легко реализуемым с помощью аппаратных средств.
Литература
1. Чобану М. Многомерные многоскоростные системы обработки сигналов. - М.: Техносфера, 2009. -480 с.
2. Шарк Г.Г. Применение вейвлетов для ЦОС. - М.: Техносфера, 2007. - 192 с.
3. Гришенцев А.Ю., Коробейников А.Г. Разработка модели решения обратной задачи вертикального зондирования ионосферы // Научно-технический вестник СПбГУ ИТМО. - 2011. - № 2 (72). - С. 109113.
4. Сизиков В.С., Кривых А.В. Применение способа эталонных примеров при решении обратной задачи спектроскопии методом регуляризации // Изв. вузов. Приборостроение. - 2011. - Т. 54. - № 9. - С. 4451.
5. Заявка на изобретение. Способ построения спектра «-мерных неразделимых цифровых сигналов. Гришенцев А.Ю., Коробейников А.Г. №2011126856, от 29.06.2011.
Гришенцев Алексей Юрьевич - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, кандидат технических наук, доцент, [email protected] Коробейников Анатолий Григорьевич - Санкт-Петербургский филиал Института земного магнетизма, ионосферы и распространения радиоволн им. Н.В. Пушкова РАН, доктор технических наук, профессор, зам. директора, [email protected]
УДК 004.274
ОРГАНИЗАЦИЯ И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
А. С. Румянцев
Приводятся основные понятия, концепции и особенности реконфигурируемых вычислительных систем. Определены критерии классификации данных систем, выполнено деление наиболее известных из них по предложенным критериям. Представлены существующие подходы к оценке эффективности реконфигурируемых вычислительных систем. Рассмотрено состояние инструментальных средств проектирования для данных систем.
Ключевые слова: реконфигурируемые вычислительные системы, «зернистость» вычислений, критерии классификации вычислительных систем, оценка эффективности вычислительных систем.
Введение
Стремительный прогресс в полупроводниковой электронике вместе с появлением совершенно новых областей ее применения неизбежно приводит не только к повышению требований со стороны вычислительной техники, но и к большей степени зависимости этих требований от решаемой задачи. По-
вышение уровня интеграции микросхем позволяет поместить сотни миллионов транзисторов на одном кристалле, но это также ужесточает требования к процессу разработки и средствам проектирования, увеличивая полное время разработки и единовременные затраты на создание интегральных схем [1]. Все вышеупомянутые тенденции, вкупе с ограничением по энергопотреблению и стремлением к уменьшению времени выхода продукта на рынок, приводят к необходимости реконфигурируемости в будущих проектах интегральных схем.
Цель данной работы состоит в том, чтобы определить критерии классификации и выполнить деление наиболее известных реконфигурируемых вычислительных систем (РВС) в соответствии с этими критериями, а также представить подходы к проектированию систем на их основе. Кроме того, в работе обобщены основные понятия, концепции и особенности РВС.
Основные понятия и концепции РВС
Термин «реконфигурируемая вычислительная система» (РВС) до сих пор не имеет устоявшегося определения, однако среди множества определений РВС можно выделить следующие определения как наиболее точные:
- система, которая обладает возможностью «аппаратного программирования» (изменение способа использования аппаратных блоков посредством определенного набора управляющих линий) [2];
- система, обладающая способностью к изменению «воплощаемой» при реализации модели вычислений [3].
Основные концепции, на которых основаны РВС:
1. разработка проблемно-ориентированных аппаратных блоков с учетом уровня гранулярности вычислительного процесса и обрабатываемых данных для определенного класса задач;
2. использование параллелизма при выполнении вычислений за счет наличия нескольких обрабатывающих блоков и конвейеризации;
3. реконфигурация проблемно-ориентированных аппаратных блоков для адаптации к изменившимся параметрам решаемой задачи (класса задач), для совместного и повторного использования вычислительных ресурсов и т.д.;
4. применение, помимо реконфигурируемых проблемно-ориентированных блоков (РПОБ), процессоров общего назначения и специализированных сверхбольших интегральных схем (СБИС) в случаях, когда прямое использование РПОБ неэффективно в силу различных условий (например, ограничений реального времени и т.д.).
Реализация определенной функциональности вычислительной системы аппаратно дает лучшую энергоэффективность с точки зрения производительности на потребляемую мощность, но данный подход имеет ограниченную гибкость для удовлетворения будущих или изменчивых требований к системе. Архитектуры на основе процессоров, в особенности на основе процессоров общего назначения, обеспечивают лучшую гибкость, но имеют низкую энергоэффективность с точки зрения производительности на потребляемую мощность. РВС должны занять пустующую нишу между специализированными системами и системами общего назначения (рис. 1) [4].
Рис. 1. Спектр задач и возможных программно-аппаратных реализаций: ПО - программное обеспечение; ЦСП - цифровой сигнальный процессор
Критерии классификации РВС
На текущий момент не существует устоявшегося множества критериев классификации для РВС. Большинство работ, посвященных РВС и их применению, используют различные наборы критериев, подчас противоречащие друг другу. В работе предложен набор критериев классификации для РВС и выполнено распределение наиболее значимых и перспективных из них по данным критериям (табл. 1).
РВС Критерии классификации РВС
1 2 3 4 5 6 7
Butter [5] шинный крупно- +, shift, 2D- динамическая ручное мульти-
блок зернистая (32 бит) x, float массив частичная медиа
DP FPGA функцио- смешанная bit 2D- динамическая полуав- ускорение
нальный (1 и 4 бита) level, массив полная томати- типовых
блок +,shift, regs ческое (FPGA) вычислительно интенсивных задач
DreAM сопроцес- крупнозер- +, shift, 2D- динамическая нет алгоритмы
сор нистая (8, 16 бит) regs массив частичная данных беспровод. сетей
Garp [6] сопроцес- мелкозер- bit 2D- динамическая автомати- ускорение
сор нистая (2 бит) level, +, shift, regs сеть полная ческое (SUIF based C-compile) обработки циклов
MORA шинный крупно- +, x, 2D- динамическая нет мульти-
[7] блок зернистая (8, 16 бит) regs сеть частичная данных медиа
Pipe-Rench сопроцес- крупно- +, shift, ID- статическая автомати- распаралле-
сор зернистая (128 бит) regs массив полная ческое (PipeRench tools) ливание задач
RaPiD сопроцес- крупно- +, x, ID- статическая автомати- распаралле-
сор зернистая (16 бит) regs массив полная ческое (HLL-RaPiD-C) ливание задач
REMARK функцио- крупно- +, shift, 2D- статическая автомати- мульти-
нальный зернистая x, regs сеть полная ческое медиа
блок (16 бит) (modif. GCC)
МАНГУ- сопроцес- мелко- bit 2D- динамическая автомати- цифровая
СТ [8] сор зернистая (1 бит) level, x,shift, regs сеть полная ческое (HLL-COLAMO) обработка сигналов и данных
Таблица 1. Распределение наиболее известных РВС по предложенным критериям классификации
1. Роль и расположение реконфигурируемых узлов в системе: функциональный блок центрального вычислителя или контроллера, сопроцессор, вычислительный блок, подсоединенный к системной шине (шинный блок) и вычислительный блок, внешний по отношению к плате или чипу.
2. Степень гранулярности реконфигурируемых узлов РВС (степень зернистости вычислений и обрабатываемых данных): мелкозернистая (к примеру, минимальный логический блок программируемой логической интегральной схемы (ПЛИС), крупнозернистая (к примеру, процессорный узел в многопроцессорной системе) и смешанная.
3. Типы аппаратных ресурсов доступные в РВС. По данному критерию РВС можно разделить на классы в зависимости от поддерживаемого множества операций - сложения, умножения, деления, сдвига на переменную величину и т.д.
4. Способ организации коммуникационной среды РВС:
- плоская организация структуры РВС (представляет собой одноуровневую сеть соединений реконфигурируемых узлов, блоков памяти и внешних интерфейсов);
- иерархическая организация структуры РВС (содержит несколько уровней соединения рекон-фигурируемых узлов и иных ресурсов).
5. Метод и степень реконфигурации вычислительных узлов в РВС.
- Методы реконфигурации РВС бывают следующих видов:
- статическая реконфигурация (выполняется до момента использования системы по целевому назначению и остается неизменной на всем протяжении времени работы системы);
- динамическая реконфигурация (может происходить во время работы системы, причем множество раз).
- По степени реконфигурации вычислительных узлов РВС делятся на следующие классы:
- обладающие возможностью только полной реконфигурации;
- обладающие возможностью частичной реконфигурации.
6. Наличие инструментальных средств, степень автоматизации процесса проектирования и возможность интеграции в существующие цепочки проектирования.
7. Целевая область применения (решаемый класс проблем) - например, ускорение обработки циклов, распараллеливание вычислительно интенсивных задач, мультимедиа и т.д.
Подходы к оценке эффективности РВС
При проектировании вычислительной системы разработчик зачастую сталкивается с необходимостью выбора между несколькими альтернативными способами реализации одного и того же функционала на базе различных платформ. В подобных случаях для обоснованного выбора между имеющимися альтернативами используются методы многокритериальной оптимизации. Чтобы использовать методы многокритериальной оптимизации, все множество рассматриваемых альтернатив должно иметь ортогональный набор метрик, позволяющий сравнивать их между собой с учетом возлагаемых на систему задач. На текущий момент существует достаточно много метрик, используемых при сравнении вычислительных систем, решающих один класс задач: отношение достигаемой пропускной способности (средней скорости формирования результирующих данных) к занимаемой системой площади (в квадратных единицах половины минимальной ширины канала транзистора в используемой технологии) (критерий Де-хона) [9], отношение потребляемой мощности к планируемой пропускной способности системы и т.д.
Однако данные метрики не способны полностью отразить все аспекты РВС (например, возможность реализации определенной задачи с использованием разных алгоритмов в зависимости от того, будут ли они реализованы программно или аппаратно). Для решения данной задачи было предложено несколько видов метрик, из которых хотелось бы отметить следующие три метрики, которые в наибольшей степени подходят для использования в качестве метрик сравнения РВС.
1. «Ускорение» - ускорение, получаемое по сравнению с использованием процессора общего назначения или цифрового сигнального процессора:
Т
,, ,, 1 выпЦПУ
ускорение =---.
Т + Т + Т
выпРВС настройки коммутации
Метрика была предложена как часть методологии оценки РВС в работе [10].
2. Реманентность (К). Метрика, позволяющая оценить динамические характеристики реконфигурируемости РВС:
х ¥
К = -
N. х ¥
где N° - количество вычислительных узлов в РВС; ¥е - частота тактирования РВС; N. - количество вычислительных узлов, которые могут быть реконфигурируемы за один цикл; ¥ . - максимальная частота реконфигурации.
3. Вычислительная плотность (ОВ). Метрика, позволяющая оценить масштабируемость РВС:
ш = N°.,
А
где N° - количество вычислительных узлов в РВС; А - занимаемая РВС площадь. Две последние метрики для оценки РВС вводятся в работе [11].
Состояние средств разработки систем на базе РВС
Проектирование системы на базе РВС намного сложнее, чем проектирование систем на платформе с преобладанием программной или аппаратной компоненты. Системы на базе РВС подразумевают беспрецедентную степень конвергенции между программным и аппаратным обеспечением от стадии проектирования до стадии непосредственного использования системы. Вопросы совместного программно-аппаратного проектирования (Sofware/Hardware Codesign) приобретают в области РВС решающее значение. Большинство существующих средств разработки систем на базе РВС поддерживает одну из трех цепочек проектирования, показанных на рис. 2. Перечень применяемых подходов на каждой из стадий процесса проектирования РВС приведен в табл. 2.
Рис. 2. Существующие цепочки проектирования систем на основе РВС [2]. Серые прямоугольники обозначают ручной, а белые - автоматический шаг(и) процесса проектирования
Стадия Применяемые подходы
Формализация решаемой задачи - графическое описание (SPEAR) - специализированный низкоуровневый язык - язык высокого уровня (C, Java)
Разделение на программную и аппаратную компоненты - ручное (pragma, специальные вызовы) - автоматическое (например, в граф потока данных и управления (CDFG))
Анализ и отображение полученного описания на вычислительные узлы РВС - прямое отображение - библиотека типовых функций и операций - интеллектуальное отображение
Непосредственное размещение полученного отображения на РВС - алгоритм модельной «закалки» - жадные алгоритмы - дерево соответствия
Организация маршрутизации между вычислительными узлами РВС - статическая маршрутизация - варианты алгоритма поиска пути - жадные алгоритмы маршрутизации
Таблица 2. Подходы к проектированию систем на базе РВС на разных стадиях
Заключение
Область реконфигурируемых систем является многообещающей и сравнительно молодой исследовательской сферой, поэтому огромное множество особенностей реконфигурируемых систем, их процесс проектирования и инструментальные средства являются открытой темой для исследований и экспериментов.
Предложенные в работе критерии классификации РВС могут быть полезными при выборе архитектуры РВС в зависимости от проектных ограничений и целевой области использования системы. Представленные подходы к оценке эффективности РВС помогут выбрать подходящий вариант РВС исходя из имеющихся альтернатив.
Литература
1. International Technology Roadmap for Semiconductors [Электронный ресурс]. - Режим доступа: http://public.itrs.net, свободный. Яз. англ. (дата обращения 07.04.2011).
2. Compton K., Hauck S. Reconfigurable computing: A survey of systems and software // ACM Computer Survey. - 2002. - V. 34. - № 2. - P. 171-210.
3. Платунов А.Е. Теоретические и методологические основы высокоуровневого проектирования встраиваемых вычислительных систем. Докторская диссертация. - СПб: СПбГУ ИТМО, 2010 [Электронный
ресурс]. - Режим доступа: http://www.dslib.net/avtomat-proektirovanie/platunov.html, платный. Яз. рус. (дата обращения 20.03.2011).
4. Rabaey J.M. Reconfigurable Computing: The Solution to Low Power Programmable DSP // IEEE ICASSP Conference. - 1997. - V. 1. - P. 275-278.
5. Garzia F. CREMA: A coarse-grain reconfigurable array with mapping adaptiveness // IEEE Field Programmable Logic and Applications Conference. - 2009. - V. 1. - P. 708-712.
6. Callahan T.J., Hauser J.R., Wawrzynek J. The Garp architecture and C compiler // IEEE Computer Society. -2000. - V. 33. - № 4. - P. 62-69.
7. Chalamalasetti S.R., Purohit S. et al. MORA - An Architecture and Programming Model for a Resource Efficient Coarse Grained Reconfigurable Processor // IEEE Adaptive Hardware and Systems Conference. -2009. - P. 389-396.
8. Дордопуло А.И., Каляев И.А., Левин И.И., Семерников Е.А. Семейство многопроцессорных вычислительных систем с динамически перестраиваемой архитектурой // Сб. материалов Международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы». -Таганрог: Изд-во ТТИ ЮФУ, 2007. - Т. 1. - С. 11-17.
9. DeHon A. Comparing computing machines // Proceedings of SPIE 3526. - 1998. - P. 124-133.
10. Bouallegue A., Abdallah F. System Level Methodology Evaluation of Reconfigurable Computing Architectures // 2nd ICTTA Conference. - 2006. - P. 2567-2572.
11. Benoit P. Metrics for reconfigurable architectures characterization: remanence and scalability // PDP Symposium. - 2003. - P. 8-16.
Румянцев Александр Сергеевич - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, аспирант, [email protected]