Научная статья на тему 'ПОВЫШЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ РЕКОНФИГУРИРУЕМЫХ ОДНОРОДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕД МЕТОДОМ ПОДДЕРЖКИ АЛЬТЕРНАТИВНЫХ ВЫЧИСЛЕНИЙ'

ПОВЫШЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ РЕКОНФИГУРИРУЕМЫХ ОДНОРОДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕД МЕТОДОМ ПОДДЕРЖКИ АЛЬТЕРНАТИВНЫХ ВЫЧИСЛЕНИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
23
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РЕКОНФИГУРИРУЕМЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / ОДНОРОДНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СРЕДЫ / СИСТОЛИЧЕСКАЯ ВЫЧИСЛИТЕЛЬНАЯ АРХИТЕКТУРА / ПРОЦЕССОРНЫЙ ЭЛЕМЕНТ / АЛЬТЕРНАТИВНЫЕ ВЫЧИСЛЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Артамонов Дмитрий Сергеевич, Вихров Олег Александрович

Рассмотрен метод повышения эффективности вычислений в реконфигурируемых вычислительных средах, или метод введения поддержки альтернативных вычислений. Показано, что вычислительный элемент может выполнять прямую или альтернативную функцию из существующего набора функций в зависимости от сигнала условия. Это позволяет в масштабах массива процессорных элементов за счет экономии аппаратных ресурсов значительно повысить удельную производительность всей системы в целом.The method of the calculation efficiency improvement in reconfigurable computing environments, or the alternative computing introduction method, has been considered. It has been shown that the computing element can execute the direct of alternative function from the existing list of functions depending on the condition signal. This enables within the scale of the processor elements array, due to the hardware resources, to significantly increase the performance of the whole system.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПОВЫШЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ РЕКОНФИГУРИРУЕМЫХ ОДНОРОДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕД МЕТОДОМ ПОДДЕРЖКИ АЛЬТЕРНАТИВНЫХ ВЫЧИСЛЕНИЙ»

мой физическими ограничениями на прохождение сигнала через совокупность элементов. Направление систолических волновых вычислительных структур, или однородных вычислительных сред, предназначенных для потоковой обработки данных, в том числе в режиме реального времени, разрабатываемое с начала 80-х гг. XX в. [1, 2], в настоящее время получило дополнительные возможности развития по мере совершенствования технологий производства микрочипов, позволяющих значительно повысить степень интеграции до сотен миллионов логических вентилей на одном чипе.

Такого рода вычислительные структуры предназначены для обработки потоков данных по реализованному в аппаратуре прикладному алгоритму. При этом ПЭ могут выполнять фиксированную обработку, что приводит к реализации в аппаратуре СБИС конкретного алгоритма, а могут быть реконфигурируемыми. В последнем случае возникает возможность реализации набора различных прикладных алгоритмов путем настройки ПЭ на выполнение одного из функциональных операторов из реализованного набора. Таким образом, в реконфигурируемых однородных вычислительных средах реализация конкретного прикладного алгоритма выполняется путем настройки ПЭ матрицы на выполнение необходимых функциональных операторов.

Среди реализованных систем можно отметить пионерские проекты iWarp [3] и GAPP [4], в ходе реализации которых были подтверждены высокие характеристики данной вычислительной архитектуры и перспективность ее дальнейшего развития.

В СССР и России работы по развитию данного направления проводились в НПО «Астрофизика» (г. Москва), ООО «Суперкомпьютерные системы» (г. Москва), Имаш УрО РАН и НПО автоматики (г. Екатеринбург, г. Москва), Физико-механическом институте АН СССР (г. Львов), ПО «Альфа» (г. Рига) [5-7]. Следует также отметить реализованный совместный российско-белорусский проект «СКИФ» - суперкомпьютерную систему, вычислительные узлы которой построены на основе РВС. Однако распределение аппаратных ресурсов процессорных элементов перечисленных систем относительно обработки алгоритмов, включающих ветвление, является неэффективным, что в общем случае снижает показатель удельной производительности. Таким образом, задача заключается в повышении эффективности реконфигурируемых вычислительных систем относительно обработки алгоритмов ветвления.

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

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

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

На рис. 1 приведена обобщенная структурная схема исходной ячейки ре-конфигурируемой однородной вычислительной среды, содержащая входной коммутатор (К1), блок обработки данных (БОД), выходной коммутатор (К2) и регистр кода настройки (РН).

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

Блок обработки данных ячейки может быть как простым устройством, например арифметико-логическим устройством (АЛУ), так и составным и иерархическим, и может включать множество блоков обработки данных (АЛУ, умножитель, делитель и т.д.), каждый из которых может быть сконфигурирован на выполнение одного функционального оператора из заданного множества определенных для данного блока возможных функциональных операторов.

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

Каждая ячейка однородной вычислительной среды выполняет функцию преобразования данных - операндов, последовательно поступающих на внешние входы по одному разряду за один такт сигнала синхронизации в течение определенного количества тактов сигнала синхронизации. Число тактов обработки определяется собственно выполняемым функциональным оператором и форматом обрабатываемых данных, который является переменным, от 1 до N разрядов. Между поступающими на входы операндами могут быть паузы в Р тактов сигналов синхронизации.

Поле кода настройки КН К1, управляющее входным коммутатором К1, задает адреса источников входных операндов для функционального оператора, заданного в БОД соответствующим полем кода настройки КН БОД. Поле кода настройки КН К2, управляющее выходным коммутатором К2, задает адреса внешних выходов ячейки, на которые будут выдаваться результаты вычислений из БОД последовательно по одному разряду за один такт сигнала синхронизации.

Вх_ - 1 - БОД —► 1 — Выходные данные

1 1 1 > 1 > Регистр кода настройки

КН К1 КН БОД К Н С2

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

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

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

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

Выбор представляет собой вычислительную структуру, в которой только один из множества возможных операторов выполняется в зависимости от состояния программы или какого-то результата промежуточных вычислений - условия. В частности, к выбору относится вычислительная структура типа IF <условие> THEN >S1 ELSE S2. Условие в данном случае есть однобитовая булева переменная, принимающая значения TRUE и FALSE. При этом если ее значение TRUE, то вычислительная структура выполняет вычисления в соответствии с функциональным оператором S1, в противном случае - S2. Вычисления S1, S2 могут быть как простыми функциональными операторами, так и композитными или иерархическими вычислительными структурами, включающими структуры конкатенации, выбора или повторения.

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

Известные вычислительные системы, построенные с использованием архитектуры реконфигу-рируемых однородных вычислительных сред [5, 7], обладают существенным недостатком в случае реализации на них прикладных алгоритмов, в которых широко используется вычислительная структура с ветвлением по условию (структура типа выбор), а именно высокими аппаратными затратами на реализацию заданных алгоритмов.

При реализации в матрице однородной вычислительной среды на основе рассмотренной ячейки вычислительной структуры типа выбор: IF С THEN S1 ELSE S2, где C - однобитовая булева переменная условия ветвления, S1 и S2 - альтернативные функциональные операторы, должно быть использовано, как минимум, 4 ячейки в соответствии с рис.2 (показаны только используемые межпроцессорные связи).

Допустим, что каждая ячейка имеет по два входа и по два выхода на каждую сторону для связи со смежными ячейками и, как минимум, один транзитный канал. Тогда для выполнения указанной вычислительной структуры ячейка Я2 должна быть настроена для обработки потоков данных А и В с использованием функционального оператора S1, а

A B i i*

Рис.2. Конфигурация однородной вычислительной среды для реализации вычислительной структуры 1Р..ТНЕК.ЕЬ8Е на основе исходной ячейки (активные ячейки и входы-выходы обозначены жирными линиями, неактивные - пунктиром)

C

ячейка Я3 должна быть настроена для выполнения обработки потоков данных E и D с использованием функционального оператора S2. Ячейка Я1, исходя из определяемого в вычислительном алгоритме условия, формирует сигнал булевой переменной условия C, который определяет выдачу окончательного результата на выходе ячейки Я4 из двух входных результатов S1(^, B) и S2(E, D). В ячейке Я5 используется только канал транзита для передачи результата S2(E, D) на вход ячейки Я4.

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

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

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

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

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

Для реализации ветвей альтернативных вычислений с использованием более сложных вычислительных структур, кроме реализации альтернативных функциональных операторов, предложено также использовать альтернативные внешние входы для приема альтернативных входных операндов для операторов £1 и £2 и альтернативные внешние выходы, задающие альтернативные направления выдачи результатов вычислений по оператору £1 или £2.

Для реализации данного метода повышения эффективности вычислений, во-первых, расширяется код настройки ячейки и регистр кода настройки ячейки для ее загрузки и хранения на время выполнения конкретного прикладного вычислительного алгоритма путем введения дополнительных альтернативных полей для управления соответствующих аппаратных ресурсов ячейки - входного коммутатора, блока обработки данных и выходного коммутатора. Во-вторых, вводятся коммутаторы альтернативных кодов настройки для управления соответствующими аппаратными ресурсами ячейки, управляемые сигналом булевой переменной условия. В-третьих, вводится коммутатор выбора сигнала булевой переменной условия из множества возможных, включая сигналы, поступающие на все внешние входы ячейки и возможные внутренние сигналы ячейки и константы «0» и «1». В-четвертых, для управления коммутатором выбора сигнала булевой переменной условия в код настройки ячейки вводится еще одно дополнительное поле.

Обобщенная структурная схема модифицированной ячейки приведена на рис.3. Как видно из рисунка, мультиплексор МУ, на входы которого поступают внешние входы ячейки и внутренние сигналы, управляется полем кода настройки КН МУ, который задает адрес источника сигнала переменной условия. При этом значение «1» сигнала переменной условия обеспечивает подачу полей кода настройки ячейки (КН К11, КН БОД1, КН К21) на соответствующие блоки ячейки (входной коммутатор, блок обработки данных и выходной коммутатор), а значение «0» - подачу альтернативных полей КН К12, КН БОД2, КН К22.

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

Дополнительно могут быть использованы несколько сигналов условия, которые обеспечивают независимое управление мультиплексорами М1-М3, увеличивая гибкость использования данного способа для повышения эффективности вычислений. При этом в код настройки должны быть введены дополнительные поля для управления мультиплексорами задания источников сигналов условия.

При использовании модифицированной ячейки вычислительная структура типа выбор может быть реализована согласно рис.4 (изображены только используемые межпроцессорные связи).

Таким образом, вычислительная ячейка матрицы может выполнять прямую или альтернативную функцию из существующего набора функций в зависимости от сигнала условия. Введение поддержки альтернативных вычислений позволяет снизить в 2 раза (см. рис.2 и 4) аппаратные издержки относительно обрабатываемых алгоритмов, включающих ветвления, таких как поиск совпадения в битовой последовательности, скалярное произведение векторов, произведение матриц, транспонирование матрицы, дискретное косинусное преобразование, линейная фильтрация и др. В масштабах матрицы процессорных элементов такой выигрыш в аппаратных ресурсах значительно повышает удельную производительность всей системы в целом.

Литература

1. Kung H.T., Leiserson C.E. Algorithms for VLSI processor arrays / Eds. in C. Mead, L. Conway. - Ad-dison-Wesley: Introduction to VLSI Systems, 1979. - 273 p.

2. KungS.Y. VLSI Array Processors. - Prentice-Hall, Inc., 1988. - 600 p.

3. An Integrated Solution to High-Speed Parallel Computing / Borkar S., Cohn R., Cox G. et al. // Proc. Supercomputing '88. Kissimmee (Florida, November 14-18, 1988). -1988. - Р. 330 - 339.

4. Никонов В.В., Подгурский Ю.Е. БИС ГАПП и ее применение // Зарубежная радиоэлектроника. -1987. - № 7. - С. 71-83.

5. Бачериков Г.И., Геворкян В.И., Крохин В.М., Татур В.Ю. Процессор однородной вычислительной среды // Патент № 2180969. - 2002. - URL: http://www.ñps.ru/cdfi/ñps.dll?key=MWRBMSYINZKX&ty= 8&docnm=2&doc=2180969&cl=0&rm=102141

6. Богачев М.П. Архитектура вычислительной системы с однородной структурой. В кн.: Однородные вычислительные среды. - Львов: ФМИ АН УССР, 1981. - 126 с.

7. Шмойлов В.И., Русин Б.П., Кузьо М.Н. Ячейка пульсирующих информационных решеток. -Львов: Меркатор, 2001. - 34 с.

8. Edsger W. Dijkstra. Notes on structured programming / Eds. Ole-Johan Dahl, Edsger W. Dijkstra, C. A. R. Hoare. - Structured Programming. Academic Press, 1972. - 88 p.

Статья поступила после доработки 12 мая 2009 г.

Артамонов Дмитрий Сергеевич - аспирант кафедры интегральной электроники и микросистем МИЭТ. Область научных интересов: разработки в области параллельных архитектур и распределенных вычислений, исследования в области построения высокопроизводительных многопроцессорных и реконфигурируемых вычислительных архитектур. E-mail: dmitry.artamonov@idm.ru

Вихров Олег Александрович - начальник отдела цифровых микросхем ООО «ИДМ» (г. Москва). Область научных интересов: микропроцессорная техника, исследования в области построения высокопроизводительных многопроцессорных и реконфигурируемых вычислительных архитектур и их реализация в системах-на-кристалле нового поколения.

A B

C

Рис.4. Конфигурация однородной вычислительной среды для реализации вычислительной структуры IF..THEN..ELSE на основе модифицированной ячейки (активные ячейки и входы-выходы обозначены жирными линиями, неактивные - пунктиром)

ИНТЕГРАЛЬНЫЕ РАДИОЭЛЕКТРОННЫЕ УСТРОЙСТВА

УДК 621.373.1+621.374.42

Анализ условий синхронизации автогенератора

М.М.Гурарий, С.Л. Ульянов Институт проблем проектирования в микроэлектронике РАН (г. Москва)

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

Определение диапазона захвата частоты автогенератора внешним сигналом является важной задачей при проектировании радиотехнических интегральных схем (ИС). Условия захвата при малом синусоидальном возбуждении £С-генератора были впервые получены в работе Адлера [1], где приведено дифференциальное уравнение для медленно меняющейся фазы выходного сигнала. При постоянной фазе это дифференциальное уравнение сводится к алгебраическому уравнению относительно неизвестной фазы захвата. Решение этого уравнения может существовать в ограниченной области амплитуд и частот входного возбуждения. Эта область определяет диапазон захвата автогенератора.

Более общий метод анализа режима синхронизации рассмотрен в [2] на основе применения асимптотического метода Крылова-Боголюбова и метода усреднения Бо-голюбова-Митропольского, что позволяет получить уравнения не только для фаз, но и для амплитуд синхронизированных колебаний. Однако такой подход не устраняет основное ограничение метода Адлера - он применим только к слабонелинейным автогенераторам.

Анализ существенно нелинейных автогенераторов приводится в [3] (кольцевые генераторы), [4] (синхронизированные делители частоты), [2] (некоторые типы релаксационных систем). Однако в каждом из этих случаев использовалось конкретное аналитическое описание рассматриваемой схемы, а не общая форма уравнений модифицированного метода узловых потенциалов, которая является основой современных систем схемотехнического моделирования. Поэтому эти подходы не могут быть реализованы в рамках САПР радиотехнических ИС.

В противоположность этому, фазовое дифференциальное уравнение, полученное на основе теории Флоке [5], может применяться к произвольной автогенераторной схеме. Однако в этом случае условия захвата не могут быть получены фиксацией постоянного

© М.М.Гурарий, С. Л. Ульянов, 2009

i Надоели баннеры? Вы всегда можете отключить рекламу.