Например, Бобцов

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

А.С. Румянцев

УДК 004.274
ОРГАНИЗАЦИЯ И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
А.С. Румянцев
Приводятся основные понятия, концепции и особенности реконфигурируемых вычислительных систем. Определены критерии классификации данных систем, выполнено деление наиболее известных из них по предложенным критериям. Представлены существующие подходы к оценке эффективности реконфигурируемых вычислительных систем. Рассмотрено состояние инструментальных средств проектирования для данных систем. Ключевые слова: реконфигурируемые вычислительные системы, «зернистость» вычислений, критерии классификации вычислительных систем, оценка эффективности вычислительных систем.
Введение
Стремительный прогресс в полупроводниковой электронике вместе с появлением совершенно новых областей ее применения неизбежно приводит не только к повышению требований со стороны вычислительной техники, но и к большей степени зависимости этих требований от решаемой задачи. По-

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 4 (80)

79

ОРГАНИЗАЦИЯ И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РЕКОНФИГУРИРУЕМЫХ …
вышение уровня интеграции микросхем позволяет поместить сотни миллионов транзисторов на одном кристалле, но это также ужесточает требования к процессу разработки и средствам проектирования, увеличивая полное время разработки и единовременные затраты на создание интегральных схем [1]. Все вышеупомянутые тенденции, вкупе с ограничением по энергопотреблению и стремлением к уменьшению времени выхода продукта на рынок, приводят к необходимости реконфигурируемости в будущих проектах интегральных схем.
Цель данной работы состоит в том, чтобы определить критерии классификации и выполнить деление наиболее известных реконфигурируемых вычислительных систем (РВС) в соответствии с этими критериями, а также представить подходы к проектированию систем на их основе. Кроме того, в работе обобщены основные понятия, концепции и особенности РВС.
Основные понятия и концепции РВС Термин «реконфигурируемая вычислительная система» (РВС) до сих пор не имеет устоявшегося определения, однако среди множества определений РВС можно выделить следующие определения как наиболее точные:  система, которая обладает возможностью «аппаратного программирования» (изменение способа использования аппаратных блоков посредством определенного набора управляющих линий) [2];  система, обладающая способностью к изменению «воплощаемой» при реализации модели вычислений [3]. Основные концепции, на которых основаны РВС: 1. разработка проблемно-ориентированных аппаратных блоков с учетом уровня гранулярности вычислительного процесса и обрабатываемых данных для определенного класса задач; 2. использование параллелизма при выполнении вычислений за счет наличия нескольких обрабатывающих блоков и конвейеризации; 3. реконфигурация проблемно-ориентированных аппаратных блоков для адаптации к изменившимся параметрам решаемой задачи (класса задач), для совместного и повторного использования вычислительных ресурсов и т.д.; 4. применение, помимо реконфигурируемых проблемно-ориентированных блоков (РПОБ), процессоров общего назначения и специализированных сверхбольших интегральных схем (СБИС) в случаях, когда прямое использование РПОБ неэффективно в силу различных условий (например, ограничений реального времени и т.д.). Реализация определенной функциональности вычислительной системы аппаратно дает лучшую энергоэффективность с точки зрения производительности на потребляемую мощность, но данный подход имеет ограниченную гибкость для удовлетворения будущих или изменчивых требований к системе. Архитектуры на основе процессоров, в особенности на основе процессоров общего назначения, обеспечивают лучшую гибкость, но имеют низкую энергоэффективность с точки зрения производительности на потребляемую мощность. РВС должны занять пустующую нишу между специализированными системами и системами общего назначения (рис. 1) [4].
Рис. 1. Спектр задач и возможных программно-аппаратных реализаций: ПО – программное обеспечение; ЦСП – цифровой сигнальный процессор
80 Научно-технический вестник информационных технологий, механики и оптики,
2012, № 4 (80)

А.С. Румянцев

Критерии классификации РВС

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

РВС
Butter [5]
DP_FPGA

1
шинный блок
функциональный
блок

DreAM Garp [6]

сопроцессор
сопроцессор

MORA [7]
Pipe-Rench

шинный блок
сопроцессор

RaPiD

сопроцессор

REMARK
МАНГУСТ [8]

функциональный
блок
сопроцессор

2
крупнозернистая
(32 бит) смешанная (1 и 4 бита)
крупнозернистая
(8, 16 бит) мелкозер-
нистая (2 бит)
крупнозернистая (8, 16 бит)
крупнозернистая (128 бит)
крупнозернистая
(16 бит)
крупнозернистая
(16 бит)
мелкозернистая
(1 бит)

Критерии классификации РВС

34

5

+, shift, 2D- динамическая

×, float массив

частичная

bit level, +,shift, regs

2Dмассив

динамическая полная

6
ручное
полуавтоматическое (FPGA)

+, shift, 2Dregs массив

bit level, +,
shift, regs
+, ×, regs

2Dсеть
2Dсеть

+, shift, 1Dregs массив

+, ×, regs

1Dмассив

+, shift, ×, regs

2Dсеть

bit level, ×,shift, regs

2Dсеть

динамическая частичная

нет данных

динамическая полная
динамическая частичная

автоматическое
(SUIF based C-compile)
нет данных

статическая полная
статическая полная
статическая полная
динамическая полная

автоматическое
(PipeRench tools)
автоматическое (HLL-
RaPiD-C)
автоматическое (modif. GCC)
автоматическое (HLL-
COLAMO)

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

Таблица 1. Распределение наиболее известных РВС по предложенным критериям классификации
1. Роль и расположение реконфигурируемых узлов в системе: функциональный блок центрального вычислителя или контроллера, сопроцессор, вычислительный блок, подсоединенный к системной шине (шинный блок) и вычислительный блок, внешний по отношению к плате или чипу.
2. Степень гранулярности реконфигурируемых узлов РВС (степень зернистости вычислений и обрабатываемых данных): мелкозернистая (к примеру, минимальный логический блок программируемой логической интегральной схемы (ПЛИС), крупнозернистая (к примеру, процессорный узел в многопроцессорной системе) и смешанная.
3. Типы аппаратных ресурсов доступные в РВС. По данному критерию РВС можно разделить на классы в зависимости от поддерживаемого множества операций – сложения, умножения, деления, сдвига на переменную величину и т.д.
4. Способ организации коммуникационной среды РВС:
 плоская организация структуры РВС (представляет собой одноуровневую сеть соединений реконфигурируемых узлов, блоков памяти и внешних интерфейсов);
 иерархическая организация структуры РВС (содержит несколько уровней соединения реконфигурируемых узлов и иных ресурсов).
5. Метод и степень реконфигурации вычислительных узлов в РВС.
 Методы реконфигурации РВС бывают следующих видов:

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 4 (80)

81

ОРГАНИЗАЦИЯ И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РЕКОНФИГУРИРУЕМЫХ …

 cтатическая реконфигурация (выполняется до момента использования системы по целевому назначению и остается неизменной на всем протяжении времени работы системы);
 динамическая реконфигурация (может происходить во время работы системы, причем множество раз).
 По степени реконфигурации вычислительных узлов РВС делятся на следующие классы:
 обладающие возможностью только полной реконфигурации;
 обладающие возможностью частичной реконфигурации. 6. Наличие инструментальных средств, степень автоматизации процесса проектирования и возможность
интеграции в существующие цепочки проектирования. 7. Целевая область применения (решаемый класс проблем) – например, ускорение обработки циклов,
распараллеливание вычислительно интенсивных задач, мультимедиа и т.д.

Подходы к оценке эффективности РВС

При проектировании вычислительной системы разработчик зачастую сталкивается с необходимо-

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

ла на базе различных платформ. В подобных случаях для обоснованного выбора между имеющимися

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

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

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

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

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

скорости формирования результирующих данных) к занимаемой системой площади (в квадратных еди-

ницах половины минимальной ширины канала транзистора в используемой технологии) (критерий Де-

хона) [9], отношение потребляемой мощности к планируемой пропускной способности системы и т.д.

Однако данные метрики не способны полностью отразить все аспекты РВС (например, возмож-

ность реализации определенной задачи с использованием разных алгоритмов в зависимости от того, бу-

дут ли они реализованы программно или аппаратно). Для решения данной задачи было предложено не-

сколько видов метрик, из которых хотелось бы отметить следующие три метрики, которые в наибольшей

степени подходят для использования в качестве метрик сравнения РВС.

1. «Ускорение» – ускорение, получаемое по сравнению с использованием процессора общего назначе-

ния или цифрового сигнального процессора:

" ускорение" 

TвыпРВС

TвыпЦПУ

 T  Tнастройки

коммутации

.

Метрика была предложена как часть методологии оценки РВС в работе [10].

2. Реманентность (R). Метрика, позволяющая оценить динамические характеристики реконфигурируе-

мости РВС:

R



Na Nc

 Fe  Fc

,

где Na – количество вычислительных узлов в РВС; Fe – частота тактирования РВС; Nc – количество вычислительных узлов, которые могут быть реконфигурируемы за один цикл; Fc – максимальная частота реконфигурации.

3. Вычислительная плотность (OD). Метрика, позволяющая оценить масштабируемость РВС:

OD



Na A

,

где Na – количество вычислительных узлов в РВС; A – занимаемая РВС площадь. Две последние метрики для оценки РВС вводятся в работе [11].

Состояние средств разработки систем на базе РВС

Проектирование системы на базе РВС намного сложнее, чем проектирование систем на платформе с преобладанием программной или аппаратной компоненты. Системы на базе РВС подразумевают беспрецедентную степень конвергенции между программным и аппаратным обеспечением от стадии проектирования до стадии непосредственного использования системы. Вопросы совместного программноаппаратного проектирования (Sofware/Hardware Codesign) приобретают в области РВС решающее значение. Большинство существующих средств разработки систем на базе РВС поддерживает одну из трех цепочек проектирования, показанных на рис. 2. Перечень применяемых подходов на каждой из стадий процесса проектирования РВС приведен в табл. 2.

82 Научно-технический вестник информационных технологий, механики и оптики,
2012, № 4 (80)

А.С. Румянцев

Рис. 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 [Электронный

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 4 (80)

83

ОРГАНИЗАЦИЯ И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РЕКОНФИГУРИРУЕМЫХ …

ресурс]. – Режим доступа: 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.

Румянцев Александр Сергеевич

– Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, аспирант, darkstreamray@gmail.com

84 Научно-технический вестник информационных технологий, механики и оптики,
2012, № 4 (80)