автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Методы и средства программирования софт-архитектур для реконфигурируемых вычислительных систем

кандидата технических наук
Коваленко, Василий Борисович
город
Таганрог
год
2012
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Методы и средства программирования софт-архитектур для реконфигурируемых вычислительных систем»

Автореферат диссертации по теме "Методы и средства программирования софт-архитектур для реконфигурируемых вычислительных систем"

На правах рукописи

00500»'°*

Коваленко Василий Борисович

Методы и средства программирования софт-архитектур для реконфигурируемых вычислительных систем

Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат

диссертации на соискание ученой степени кандидата технических наук

Таганрог-2011

1 с со ш

005009752

Работа выполнена на кафедре Интеллектуальных и многопроцгссорных систем (ИМС) Технологического института Южного федерального университета в г. Таганроге и в Научно-исследовательском институте многопроцессорных вычислительных систем имени академика A.B. Каляева федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» (НИИ многопроцессорных вычислительных систем ЮФУ).

НАУЧНЫЙ РУКОВОДИТЕЛЬ: член-корреспондент РАН,

доктор технических наук, профессор Каляев Игорь Анатольевич

ОФИЦИАЛЬНЫЕ ОППОНЕНТЫ: доктор физико-математических наук,

профессор

Крукиер Лев Абрамович

' кандидат технических наук,

доцент

Демченко Олег Анатольевич

ВЕДУЩАЯ ОРГАНИЗАЦИЯ: Научно-Исследовательский

Вычислительный Центр МГУ им. М.В. Ломоносова

Защита диссертации состоится « 2 » марта 2012 г. в 1420 на заседании диссертационного совета Д 212.208.24 при Южном федеральном университете по адресу: г. Таганрог, ул. Чехова, 2, корп. «И», комн. 347.

С диссертацией можно ознакомиться в зональной научной библиотеке ЮФУ по адресу: г. Ростов-на-Дону, ул. Пушкинская, 148.

Автореферат разослан «2£ » Я. 2012 г.

Просим Вас прислать опгзыв, заверенный печатью учреждения, по адресу: 347928, г. Таганрог, Ростовская область, ГСП-17А, пер. Некрасовский, 44, Технологический институт Южного федерального университета в г. Таганроге, Ученому секретарю диссертационного совета Д 212208.24 Кухаренко Анатолию Павловичу.

Ученый секретарь диссертационного совета кандидат технических наук,

доцент и А.П. Кухаренко

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

Как правило, при программировании реконфигурируемых систем используются стандартные средства разработки, основанные на языках HDL-группы. Применение языков HDL-группы требует продолжительного времени как на разработку текстов описания аппаратуры, так и на трансляцию полученных описаний на уровень логических ячеек ПЛИС. Для кристаллов, содержащих более 20 млн. эквивалентных вентилей, время трансляции прикладных задач может составлять несколько суток. При этом общее время программирования реконфигурируемых систем для решения одной задачи может составить несколько месяцев. Повысить эффективность программирования РВС позволяет применение языков высокого уровня, таких как COLAMO, Handel-C, SystemC, Mitrion-C, Catapult С. Сокращение времени программирования при этом достигается за счет существенного ускорения процесса разработки текста программ. Однако время трансляции программ, созданных при помощи языков высокого уровня, остается существенным. Общее время программирования задач при использовании языков высокого уровня для реконфигурируемых вычислительных систем составляет несколько недель.

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

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

Таким образом, применение второго подхода к программированию

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

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

В этой связи актуальной является разработка методов и средств

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

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

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

Научная задача, решаемая в диссертации, состоит в создании методов

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

Для достижения поставленной цели решены следующие задачи исследования:

1) проведён анализ существующих методов и средств программирования реконфигурируемых вычислительных систем;

2) разработан метод программирования софт-архитекгур реконфигурируемых вычислительных систем;

3) разработан метод программирования прикладных задач с применением софт-архитекгур реконфигурируемых вычислительных систем;

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

. 5) формализовано описание элементов софт-архитекгур реконфигурируемых

вычислительных систем;

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

описания структурного, управляющего и синхронизационного компонентов софт-архитектур;

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

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

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

Достоверность и обоснованность подтверждены непротиворечивостью математических выкладок, вычислительными экспериментами на ряде

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

Научная новизна диссертации состоит в том, что в ней разработаны:

1) новый метод программирования прикладных задач для реконфигурируемых вычислительных систем, отличающийся трансляцией структурного компонента прикладных программ на уровень софт-архигектуры (команд устройств вычислителя, загруженного в ПЛИС);

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

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

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

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

Положения, выдвигаемые на защиту:

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

Результаты, выноснмые на защиту:

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

прикладных программ на уровень софт-архитектуры;

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

управляющих и синхронизационных компонентов софт-архитектур;

- модернизированная структура системного программного обеспечения

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

синтезатора архитектуры вычислителя; .

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

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

вычислительных систем, отличающиеся от известных алгоритмов независимой

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

Практическая ценность работы. Решение актуальной научной задачи разработки методов программирования софт-архитектур реконфигурируемых систем позволило сократить время отладки прикладных программ для реконфигурируемых систем в 2-3 раза по сравнению с существующими языками программирования. Использование софт-архитектуры цифровой обработки сигналов для решения задач нахождения спектра сигнала на основе алгоритма БПФ позволило в 3 раза сократить время отладки задач на РВС. Использование софт-архитектуры цифровой обработки сигналов для решения задачи фильтрации сигнала с использованием одномерного цифрового КИХ-фильтра методом свертки позволило в 2 раза сократить время отладки задач на РВС. Использование разработанной софт-архитектуры для решения задачи обработки спекл-интерферрограмм, поступающих с камеры телескопа БТА-6 по методу Лабейри, позволило в 3,2 раза сократить время программирования задач на РВС.

Реализация и внедрение результатов работы. Результаты диссертации использовались при выполнении ряда НИОКР. Наиболее важными из них являются:

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

архитектурой на основе реконфигурируемой элементной базы», выполняемая в рамках Федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития науки и техники на 2002-2006 гг.», № гос. per. 0122.0510630, шифр “Медведь”;

- ОКР «Принципы организации мультипроцессорных имитационных комплексов на базе МНМС с программируемой архитектурой и повышенными возможностями отработки корректности и точности вычислений, отработки логики управления, автоматизированного задания условий работы, накопления и анализа результатов испытаний» в рамках мероприятия 1.12-САЗ по программе Союзного государства «Развитие и внедрение в государствах-участниках Союзного государства наукоёмких компьютерных технологий на базе мультипроцессорных вычислительных систем», № гос. per. 01.2.00611470, шифр “Триада”, 2006;

- НИР «Исследование и разработка программного обеспечения и испытания

экспериментального образца унифицированного базового модуля многопроцессорной системы со структурной реализацией параллельной обработки информации», № гос. per. 01.2.00613841, шифр “ССПВ-Т2”, 2006; ’

- ОКР «Создание семейства высокопроизводительных многопроцессорных вычислительных систем с динамически перестраиваемой архитектурой на основе реконфигурируемой элементной базы и их математического обеспечения для решения вычислительно трудоемких задач», выполняемой в рамках федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 годы», № roc. per. 01.2.00705707, шифр «Большая медведица».

Результаты диссертации внедрены в ОАО «Концерн ПВО «Алмаз-Антей» (г. Москва), Специальной астрофизической лаборатории РАН (пос. Нижний Архыз), Южном научном центре РАН (г. Ростов-на-Дону), НИИ МВС ЮФУ (г. Таганрог).

Апробация работы. Основные результаты работы докладывались и обсуждались на всероссийских и международных научно-технических конференциях: на международной конференции «Интеллектуальные и многопроцессорные системы-2006», 2006 г., г. Таганрог; на научно-технической конференции профессорско-преподавательского состава, аспирантов и сотрудников ТРТУ, 2006 г., г. Таганрог; на ежегодных научных конференциях студентов и аспирантов базовых кафедр Южного научного центра РАН, 2005-2011 гг., г. Ростов-на-Дону; на международной молодежной научно-технической конференции “Высокопроизводительные вычислительные системы, ВПВС-2008”, пос. Дивноморское; на конференции «Системы и средства искусственного интеллекта», 2008 г., пос. Кацивели, Украина; на международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы», 2009 г., пос. Дивноморское; на международной научной конференции «Суперкомпьютерные системы и их применение. SSA’2010», 2010 г., Республика Беларусь, г. Минск.

Личный вклад автора. Все научные результаты диссертации получены автором лично.

Публикации. По результатам диссертации опубликовано 17 печатных работ, из них 7 статей, из которых 2 статьи опубликованы в ведущих рецензируемых научных журналах, входящих в Перечень ВАК РФ, тезисы и материалы 10 докладов на международных и российских научно-технических конференциях. По теме исследования получено 3 свидетельства об официальной регистрации программ для ЭВМ, результаты работы отражены в 11 отчетах о НИОКР.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка использованных источников и двух приложений. Работа содержит 174 страниц основного текста, 62 рисунков, список используемой литературы из 93 источников, 19 страниц приложений.

КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

Первый подход к программированию реконфигурируемых систем характеризуется трансляцией параллельных программ на множество логических примитивов ПЛИС. Основными средствами программирования в рамках данного подхода являются: язык описания аппаратуры УННЬ и языки программирования высокого уровня, такие как СОЬАМО. Преимуществом подхода является высокая реальная производительность создаваемых вычислительных структур вследствие их узкой специализированности. К недостаткам относятся длительность трансляции параллельных программ на уровень логических примитивов ПЛИС и статичность получаемых вычислительных структур.

Второй подход заключается создании на основе логических ячеек ПЛИС динамически-перестраиваемых вычислительных систем (софт-архитектур) и решении с их помощью прикладных задач. При этом трансляция прикладных программ выполняется на уровень системы команд софт-архитектуры. Средствами программирования прикладных задач в рамках данного подхода является язык высокого уровня СОЬАМО. К достоинствам использования данного подхода относится наличие динамически-перестраиваемой вычислительной структуры и ускоренная по сравнению с предыдущим подходом трансляция прикладных программ. К недостаткам следует

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

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

1) определения перечня объектов для решения задач предметной области;

2) разработки схемотехнического описания объектов при помощи стандартных средств разработки;

3) разработки описания объектов при помощи языка программирования софт-архитектур;

4) размещения полученных описаний в библиотеке элементов софт-архитектур;

5) объединения объектов в функционально законченное устройство -макроооъект при помощи языка программирования софт-архитектур;

6) объединения нескольких макрообъектов в софт-архитекгуру при помощи языка программирования софт-архитектур;

7) трансляции описания софт-архитектуры в промежуточное представление, используемое компонентами системного программного обеспечения;

8) размещения элементов софт-архитектуры на аппаратной платформе.

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

1) разработки параллельной программы на языке высокого уровня;

2) генерации структурного, процедурного и потокового компонентов параллельной программы;

3) отображения структурного компонента параллельной программы на софт-архитекгуру реконфигурируемой вычислительной системы;

4) трансляции процедурного компонента параллельной программы на уровень команд устройств софт-архитектуры;

5) формирования загрузочного файла, содержащего команды элементов софт-архитектурой;

6) загрузки конфигурационных файлов ПЛИС, полученных в результате размещения элементов софт-архитектуры на аппаратной платформе реконфигурируемой системы;

7) передачи в софт-архитектуру загрузочного файла;

8) загрузки в софт-архитектуру исходных данных решаемой задачи;

9) запуска программы на исполнение.

Для реализации методов программирования софт-архитектур и программирования прикладных программ при помощи софт-архитектур разработана структура системного программного обеспечения, приведенная на рис. 1.

Загрузочный файл

' f ранслятор''' Argus _-

Промежуточное представление описания софт-архитектуры Ч Библиотеки .элементов софт-архктектур COLAMO- программа Argus- программа

С

FirelConstructor

Результат размещения софт-архитектуры на аппаратной платформе РВС

Рис. 1. Модернизированная структура системного программного обеспечения второго и третьего уровней программирования

В рамках разработанной структуры компоненты системного программного обеспечения выполняют следующие функции: синтезатор FirelConstructor обеспечивает размещение элементов софт-архитектуры на аппаратные платформы РВС; транслятор COLAMO выполняет декомпозицию параллельной программы на структурный, процедурный и потоковый компоненты; транслятор Argus генерирует загрузочные файлы для софт-архитектуры; синтезатор Stream!Constructor выполняет отображение структурного и процедурного компонентов параллельной программы на уровень команд элементов софт-архитектуры.

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

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

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

Т[М, О, 8],

М= {шь Ш2,...,гп1} - множество макрообъектов;

О = {<¿1, (Зг, с^} - множество информационных связей;

Э = {$ь , 5^} - множество синхронизирующих связей.

Рис. 2. Граф софт-архитектуры

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

М [О, Е, О, Н, Б1, в1, О, 80],

О = {о1, о2, о*} -объекты;

Е= {е1, е2,е1} -узлы;

Б = («И, ¿2, ¿к) -информационные

связи;

Э = {б1, Б2, б1} -синхронизирующие

связи;

Н = {Ы, Ь2,..., Ьр} -управляющие связи;

= {с1П, дл2,..., сНц} -информационные входы макрообъекта;

Б1= 1, б12, } -синхронизирующие

входы макрообъекта;

РО = {с!о1, ск>2,..., dor} -информационные выходы макрообъекта;

БО = {йо!, Б02, ..., зог1} -синхронизирующие выходы макрообъекта Рис. 3. Граф макрообъекта

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

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

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

FU FU IF, DI, DO, Ins_1, Outs_l ]

F - функция преобразования;

Out_j DI (dil, di2, ..., diq} -информационные входы;

DO {dol,do2, ..., dor}-информационные выходы;

Outs_1 Ins_I— синхронизирующий вход;

Outs_l- синхронизирующий выход.

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

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

Любой из элементов софт-архитектуры может быть представлен следующим набором характеристик: типом элемента, именем элемента, описанием входов/выходов, именем файла VHDL-описания, переменными, участвующими в описании внутренней структуры элемента, описанием внутренней структуры элемента. Входы и выходы элементов софт-архитекгуры разделены на 5 типов по их предназначению. Каждый из типов обозначается в языке SADL соответствующим зарезервированным словом: In, Out

- информационные выходы и выходы; Ins, Outs - синхронизирующие входы и выходы; h - управляющие входы. Кроме того, в качестве входов/выходов процессорных объектов используются следующие зарезервированные слова: asm - описывает ассемблеры процессорных объектов; interface - описывает интерфейсы, подключаемые к процессорным объектам. Введение нескольких типов входов/выходов дает возможность архитектору самостоятельно создавать системы управления и синхронизации. Для каждого из типов элементов разработаны форматы представления внутренней структуры, сгруппированные следующим образом: описание внутренней структуры операционных и непрограммируемых объектов; описание динамически перестраиваемых процессорных объектов; описание внутренней структуры софт-архитекгур, макрообъектов и узлов.

1п_1

Inj F

Insl

Описание внутренней структуры операционных и непрограммируемых объектов заключается в формализации их вычислительных возможностей при помощи набора шаблонов. На рис. 5 представлено описание арифметико-логического устройства ALU 1.

AUJ : ALU;

ALU_1 (in: in_l, in_2; Out: out_l; Ins: ins 1; Outs: outs l; h: h_t;SchFile: ALUJ.vhdl); "

Var

In J, in_2, out! : integer size 32;

Ins_l, outs_l : integer size 16; h_l : integer size 2;

Begin Case h 1 of

ALU 1

0: Out_l 1: OutJ 2: Out_l 3: Out J End;

End.

= in_l + in_2; = in_l - in_2; = in_l * in_2; -- inj/m_2;

In 1

In 2

Ins 1

'-U

Out 1

Outs 1

Рис. 5. Описание арифметико-логического устройства ALU_1

Описание внутренней структуры процессорных объектов заключается в формализации системы команд при помощи конструкций языка SADL. Формат описания процессорных объектов приведен ниже;

ProcessorName (asm: saml,.... asmi; interface: interl, ..., interj; SchFile: SchFile.vhdl);

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

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

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

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

Рис. 6. Структура транслятора языка программирования софт-архитектур SADL

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

1°. Определить элементы, требующие замены, и сформировать из них список Virtual.

2°. Установить начальное значение счетчика j := 0.

3“. Установить начальное значение счетчика.

4°. Определить перечень параметров Params элемента Virtual, в соответствии с типом элемента.

5’. к := 0, т := 0.

6°. Если параметры элемента Libт из библиотеки соответствуют параметрам Params, то перейти к п. 8° иначе перейти к 9°.

7°. Добавление найденного элемента Libm в список RtalFindst.

8°. k := k +1.

9°. т:=от + 1.

10°. Если тог, где я - количество элементов соответствующего типа в библиотеке, то перейти к п. 6°. ’

11°. Если к = 0, т.е. ни один элемент из библиотеки не найден, то переход к п. 12°, иначе переход к п.14°. ’

12°. Выдать сообщение об ошибке.

13°. Переход к п. 19".

14°. Поиск в массиве RealFinds наиболее подходящего элемента RealEl.

15°. Добавление найденного элемента RealEI в список реальных элементов Re alr

16°. + '

17°. f:=j + l;

18°. Если i < n_virt, где n_virt - количество элементов в списке Virtual , то перейти к

п. 3°.

19° Конец.

На основании характеристик рассматриваемого элемента транслятор выбирает наиболее подходящий реальный элемент из библиотеки и подставляет его описание в дерево разбора. Процесс подстановки останавливается, когда все элементы в дереве разбора будут реальными. Последним этапом трансляции описания является генерация целевого кода, в процессе которого элементы из внутреннего представления транслятора преобразуются в промежуточное представление и сохраняются в формате XML. В дальнейшем XML-описание будет использовано синтезатором Färe!Constructor, транслятором COLAMO и синтезатором Steam!Constructor для размещения софт-архитектуры на аппаратной платформе и отображения на нее структурной составляющей параллельной программы.

В четвёртой главе на основе метода программирования софт-архитектур и языка программирования SADL разработана софт-архитектура, позволяющая решать задачи цифровой обработки сигналов. На основании библиотеки объектов сформированы узлы, макрообъекты (MO_DSP_l, MO_DSP_2, MO_DSP_3, MO_DSP__4) и софт-архитектура (SA_DSP) цифровой обработки сигналов (рис. 7) функционального устройства масштабирования (FU_M); двухпортовой памяти для накопления результатов (Мет_РО).

Uses MO_DSP_F ile;

SA DSPrSoftAreh;

SADSP;

Var

MOJ5SPJ, MOJDSP_2, MO_DSP_3, MOJ3SP_4: MO DSP;

Begin

MO_DSP_l;

MO_DSPJ2;

MODSP3;

MO_DSP 4;

End;

Рис. 7. Структурная схема софт-архитектуры цифровой обработки сигналов

Макрообъекг МО_ОЗР представляет собой законченное вычислительное устройство для решения задач цифровой обработки сигналов. Структура макрообъектов

MO DSP приведена на рис. 8. Перечень объектов, требуемых для реализации софт-архитектуры, состоит из следующих типов: контроллера распределенной памяти (DMC_1, DMC2); интерфейса для работы с КРП (Int_DMC_l); адресного процессора (АР); интерфейса для работы с адресным процессором (Int_AP); памяти FIFO в составе узлов BOJ (FIFO_l); памяти для хранения коэффициентов свертки (Coef_H); сумматора/вычитателя (ALUJ, ALU_2); умножителя (FU_1, FU_2); статических мультиплексоров (Stat_Mux, Stat_Mux_l, К);

Рис. 8. Структура макрообъекга MO_DSP для решения задач ЦОС

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

Разработанная софт-архитектура цифровой обработки сигналов позволила в 3 раза сократить время отладки прикладной программы нахождения спектра сигнала на основе алгоритма быстрого преобразования Фурье. При этом производительность составила 75% от производительности, достигаемой базовым модулем «ССПВ» при решении той же задачи на специализированной вычислительной структуре.

Разработанная софт-архитектура цифровой обработки сигналов позволила в 2 раза сократить время отладки программы фильтрации сигнала с использованием одномерного цифрового КИХ-фильтра, основывающегося на применении метода секционирования свертки, вычисляемой в частотной области с использованием быстрого преобразования Фурье. При этом производительность составила 73% от пиковой производительности базового модуля 16У4-50 при решении той же задачи на специализированной вычислительной структуре.

Разработанная софт-архитектура цифровой обработки сигналов позволила в 3,2 раза сократить время отладки программы обработки спекл-изображений в соответствии с алгоритмом Лабейри, что позволило обрабатывать получаемую с телескопа БТА информацию о звездных объектах в темпе ее поступления. При этом производительность составила 85% от производительности вычислительной системы

РУПК-50. при решении той же задачи на специализированной вычислительной структуре.

В заключении работы изложен основной научный результат диссертации, а также сформулированы теоретические и прикладные результаты, полученные в диссертационной работе. .

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

Основной научный результат диссертации заключается в решении актуальной научной задачи: создании методов программирования софт-архитектур

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

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

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

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

- модернизирована структура системного программного обеспечения реконфигурируемых вычислительных систем, отличающаяся введением транслятора языка программирования софт-архитектур и синтезатора 81еат!Соп5й-исЮг;

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

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

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

- разработана софт-архитектура для решения задач цифровой обработки сигналов на реконфигурируемых вычислительных системах. В рамках разработанной софт-архитекгуры были реализованы алгоритмы цифровой обработки сигналов: нахождения спектра сигнала на основе алгоритма БПФ; фильтрации массивов большой длины одномерным фильтром с конечной импульсной характеристикой; обработки потока спекл-изображений по методу Лабейри.

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1) Коваленко, В.Б. Система обработки астрофизических снимков на базе

реконфигурируемого ускорителя персонального компьютера РУПК-50 [Текст] / В.Б. Коваленко, М.С. Кочерга, Е.А. Семерников П Цифровая обработка сигналов. — М.: РНТОРЭС им. A.C. Попова, 2011. - №2. - С. 32-36. (ведущий рецензируемый журнал, входит в перечень ВАК);

2) Коваленко, В.Б. Организация многоуровневого программирования

реконфигурируемых вычислительных систем [Текст] / Е.А. Семерников, В.Б. Коваленко // Вестник компьютерных и информационных технологий. - М.: Машиностроение, 2011.

- № 9. - С. 3-10. (ведущий рецензируемый журнал, входит в перечень ВАК);

3) Коваленко, В. Б. Специализированный многоядерный макрообъект для

цифровой обработки сигналов [Текст] / В.Б. Коваленко, Е.А. Семерников, М.С. Кочерга // Труды Всероссийской научной конференции «Научный сервис в сети Интернет: многоядерный компьютерный мир. 15 лет РФФИ». - М.: Изд-во МГУ, 2007 — С 221223; ’ '

4) Коваленко, В.Б. Два подхода к созданию макрообъектов для

реконфигурируемых вычислительных систем на основе ПЛИС [Текст] / В.Б. Коваленко, Е.А. Семерников, М.С. Кочерга // Материалы Второй Международной научной конференции «Суперкомпыотерные системы и их применение» (SSA’2008). - Минск: ОИПИ НАН Беларуси, 2008. - С. 60-64;

5) Коваленко, В.Б. Использование макрообъекта ЦОС для фильтрации сигналов большой длины [Текст] / В.Б. Коваленко // Тезисы докладов V ежегодной научной конференции студентов и аспирантов базовых кафедр Южного научного центра РАН. -Ростов н/Д: изд-во ЮНЦ РАН, 2009. - С. 100-101.

6) Коваленко В.Б. Совместная фильтрация действительных сигналов большой длины на реконфигурируемых вычислительных системах [Текст] / В.Б. Коваленко, Е.А. Семерников, С.Д. Горев, В.А. Пересыпкин // Материалы Международной научнотехнической конференции «Многопроцессорные вычислительные и управляющие системы (МВУС-2009)». Т.1. - Таганрог: изд-во ТТИ ЮФУ, 2009. - 242 с., с. 62-65.

В совместных работах автором получены следующие результаты: в [1] разработаны основные методы программирования софт-архитектур, разработана схема взаимодействия программного обеспечения различных уровней программирования; в [2] разработана софт-архитектура цифровой обработки сигналов, на которой решена задача корректировки по методу Лабейри спекл-интерферограмм, поступающих с камеры телескопа БТА-6; в [3] создан макрообъект для решения задач цифровой обработки сигналов; в [4] предложено использование программного подхода для создания макрообьектов; в [5,6] при помощи макрообъекта цифровой обработки сигналов решена задача фильтрации массивов большой длины.

ЛР №020565 от 23 июня 1997г. Подписано к печати_____________.01.2012 г.

Формат 60x84*16. Буч ага офсетная. Печать офсетная.

Уел. п.л. - 1,4. Уч.-нзд.л. -1,1.

Захаз N2 <3 . Тираж 120 экз.

ГСП 17А, Таганрог, 347928, Некрасовский, 44 Типография Технологического института Южного федерального университета в г. Таганроге

Текст работы Коваленко, Василий Борисович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

61 12-5/1813

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

Научно-исследовательский институт многопроцессорных вычислительных систем имени академика A.B. Каляева федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет»

Кафедра интеллектуальных и многопроцессорных систем (ИМС) Технологического института Южного федерального университета в г. Таганроге

На правах рукописи

КОВАЛЕНКО ВАСИЛИЙ БОРИСОВИЧ

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

Специальность: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

ДИССЕРТАЦИЯ НА СОИСКАНИЕ УЧЕНОЙ СТЕПЕНИ КАНДИДАТА ТЕХНИЧЕСКИХ НАУК

Научный руководитель: член-корреспондент РАН,

доктор технических наук, профессор И.А. Каляев

Таганрог-2012 г.

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ

РВС - реконфигурируемая вычислительная система ПЛИС - программируемая логическая интегральная схема МВС - многопроцессорная вычислительная система КРП - контроллер распределенной памяти

СОДЕРЖАНИЕ

стр.

ВВЕДЕНИЕ.............................................................................. 5

1. АНАЛИЗ МЕТОДОВ И СРЕДСТВ ПРОГРАММИРОВАНИЯ РЕКОНФИГУРИРУЕМЫХ МНОГОПРОЦЕССОРНЫХ СИСТЕМ......... 18

1.1. Современное состояние развития реконфигурируемых многопроцессорных вычислительных систем................................... 20

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

1.3. Принципы программирования реконфигурируемых вычислительных систем, развиваемые в НИИ МВС ЮФУ.................. 33

1.4. Принципы описания софт-архитектур....................................... 44

1.5. Выводы.............................................................................. 52

2. ЯЗЫК ОПИСАНИЯ СОФТ-АРХИТЕКТУР................................... 55

2.1. Строение софт-архитектур...................................................... 56

2.1.1. Макрообъекты.................................................................. 58

2.1.2. Узлы............................................................................... 61

2.1.3. Объекты................................................................................................... 62

2.2. Синтаксис языка описания софт-архитектур................................ 71

2.3. Описание вычислительных возможностей непрограммируемых и операционных объектов.............................................................. 76

2.3.1. Описание и использование процессорных объектов.................... 78

2.3.2. Описание систем команд процессорных объектов...................... 79

2.4. Описание софт-архитектур...................................................... 86

2.5. Описание макрообъектов........................................................ 88

оп

2.6. Описание узлов....................................................................

2.7. Описание и использование функциональных устройств..................................91

2.8. Описание и использование арифметико-логических устройств................92

2.9. Описание и использование статических мультиплексоров............................96

2.10. Описание и использование регистров с управлением......................................98

2.11. Описание интерфейсных объектов....................................................................................98

2.11.1. Память с сокращенным набором команд..................................................................101

2.11.2. Описание и использование преобразователя команд....................................102

2.12. Выводы............................................................................ 102

3. АЛГОРИТМЫ ТРАНСЛЯЦИИ 8А0Г-ОПИСАНИЯ ЭЛЕМЕНТОВ

СОФТ-АРХИТЕКТУР..................................................................................................................................104

3.1. Алгоритм трансляции описаний элементов софт-архитектуры..................106

3.2. Промежуточный язык представления софт-архитектур..............................113

3.3. Выводы............................................................................................................................................................134

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

ПРОГРАММИРОВАНИЯ СОФТ-АРХИТЕКТУР............................................................136

4.1. Софт-архитектура для решения задач ЦОС..................................................................137

4.2. Реализация алгоритма БПФ на софт-архитектуре ЦОС....................................144

4 3 Реализация алгоритмов цифровой фильтрации на софт-архитектуре

ЦОС..............................................................................................................................................................................150

4.4. Реализация алгоритма обработки изображений на софт-архитектуре

ЦОС..............................................................................................................................................................................153

4.5. Производительность РВС с софт-архитектурой......................................................158

4.6. Выводы............................................................................................................................................................160

ЗАКЛЮЧЕНИЕ................................................................................................................................................162

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ............................................................174

ПРИЛОЖЕНИЕ 1. ОПИСАНИЕ СОФТ-АРХИТЕКТУРЫ ЦИФРОВОЙ

ОБРАБОТКИ СИГРАЛОВ СРЕДСТВАМИ ЯЗЫКА SADL....................................175

ПРИЛОЖЕНИЕ 2. АКТЫ О ВНЕДРЕНИИ РЕЗУЛЬТАТОВ

ДИССЕРТАЦИОННОЙ РАБОТЫ....................................................................................................179

ВВЕДЕНИЕ

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

структурам решаемых задач.

Как правило, при программировании реконфигурируемых систем используются стандартные средства разработки, основанные на языках НБЬ-группы. Применение языков НБЬ-группы требует продолжительного времени как на разработку текстов описания аппаратуры, так и на трансляцию полученных описаний на уровень логических ячеек ПЛИС. Для кристаллов, содержащих более 20 млн. эквивалентных вентилей, время трансляции прикладных задач может составлять несколько суток. При этом общее время программирования реконфигурируемых систем для решения одной задачи может составить несколько месяцев. Повысить эффективность программирования РВС позволяет применение языков высокого уровня, таких

как COLAMO, Handel-C, SystemC, Mitrion-C, Catapult С. Сокращение времени программирования при этом достигается за счет существенного ускорения процесса разработки текста программ. Однако время трансляции программ, созданных при помощи языков высокого уровня, остается существенным. Общее время программирования задач при использовании языков высокого уровня для реконфигурируемых вычислительных систем составляет несколько недель.

Другим методом программирования реконфигурируемых вычислительных систем является применение динамически перестраиваемых устройств, создаваемых на основе логических ячеек ПЛИС и управляемых посредством системы команд. Одним из примеров подобных устройств являются софт-процессоры, реализуемые на аппаратном ресурсе ПЛИС. В отличие от аппаратно реализованных встроенных процессоров, имеющих неизменную жесткую структуру, софт-процессоры создаются пользователем самостоятельно на основе логических ячеек ПЛИС. Построение вычислительных систем на основе софт-процессоров повторяют традиционные многопроцессорные системы, реализуя их на другой элементной базе, но со всеми присущими им архитектурными ограничениями. Развитием такого подхода можно считать создание проблемно-ориентированных вычислительных систем на основе логических ячеек ПЛИС. По аналогии, созданные на основе ПЛИС-технологий проблемно-ориентированные вычислительные системы для решения определенного класса задач следовало бы назвать софт-системами. Еще в 80-х годах прошлого века академиком A.B. Каляевым была предложена концепция многопроцессорных вычислительных систем с программируемой архитектурой. Для подобных многопроцессорных вычислительных систем пользователю предоставляется возможность программирования структуры вычислителя и системы команд его компонентов, при этом создаваемый вычислитель может быть ориентирован на решение, как отдельных задач, так и определенного класса задач. Такая совокупность была названа программируемой архитектурой. Решение

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

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

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

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

Объектом исследования являются методы программирования динамически перестраиваемой архитектуры реконфигурируемых

вычислительных систем.

Предметом исследования являются методы программирования софт-архитектур реконфигурируемых вычислительных систем.

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

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

вычислительных систем.

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

Для достижения поставленной цели решены следующие задачи исследования:

1) проведён анализ существующих методов и средств программирования

реконфигурируемых вычислительных систем;

2) разработан метод программирования софт-архитектур реконфигурируемых вычислительных систем;

3) разработан метод программирования прикладных задач с применением софт-архитектур реконфигурируемых вычислительных систем;

4) модернизирована структура системного программного обеспечения

реконфигурируемой вычислительной системы;

5) формализовано описание элементов софт-архитектур реконфигурируе-

мых вычислительных систем;

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

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

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

цифровой обработки сигналов.

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

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

вычислительных систем.

Научная новизна диссертации состоит в том, что в ней разработаны:

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

ПЛИС);

- новый метод программирования софт-архитектур реконфигурируемых

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

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

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

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

Практическая значимость. Решение актуальной научной задачи разработки методов программирования софт-архитектур реконфигурируемых систем позволило сократить время отладки прикладных программ для реконфигурируемых систем в 2-3 раза по сравнению с существующими языками программирования. Использование софт-архитектуры цифровой обработки сигналов для решения задач нахождения спектра сигнала на основе алгоритма БПФ позволило в 3 раза сократить время отладки задач на РВС. Использование софт-архитектуры цифровой обработки сигналов для решения задачи фильтрации сигнала с использованием одномерного цифрового КИХ-фильтра методом свертки позволило в 2 раза сократить время отладки задач на РВС. Использование разработанной софт-архитектуры для решения задачи обработки спекл-интерферрограмм, поступающих с камеры телескопа БТА-6 по методу Лабейри, позволило в 3,2 раза сократить время программирования задач на РВС.

Использование результатов работы. Материалы диссертации использовались при выполнении ряда НИОКР. К наиболее значимым НИОКР относятся:

- ОКР «Разработка технологии создания высокопроизводительных модульно-наращиваемых многопроцессорных вычислительных систем с программируемой архитектурой на основе реконфигурируемой элементной базы», выполняемая в рамках Федеральной целевой программы «Исследования и разработки по приоритетным нап