Методы и средства автоматизированного сопряжения функциональных узлов и блоков в приложениях для реконфигурируемых вычислителей
На правах рукописи
Раскладкин Максим Константинович МЕТОДЫ И СРЕДСТВА АВТОМАТИЗИРОВАННОГО СОПРЯЖЕНИЯ ФУНКЦИОНАЛЬНЫХ УЗЛОВ И БЛОКОВ В ПРИЛОЖЕНИЯХ ДЛЯ РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЕЙ Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
Автореферат диссертации на соискание ученой степени кандидата технических наук
Таганрог –2010 2
Работа выполнена на кафедре Интеллектуальных и многопроцессорных систем (ИМС) Технологического института Южного федерального университета в г. Таганроге и в Научно-исследовательском институте многопроцессорных вычислительных систем имени академика А.В. Каляева федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» (НИИ МВС ЮФУ).
НАУЧНЫЙ РУКОВОДИТЕЛЬ: доктор технических наук, профессор Левин Илья Израилевич ОФИЦИАЛЬНЫЕ ОППОНЕНТЫ: доктор технических наук, профессор Атакищев Олег Игоревич доктор физико-математических наук, профессор Крукиер Лев Абрамович ВЕДУЩАЯ ОРГАНИЗАЦИЯ: Научно-Исследовательский Вычислительный Центр Московского государственного университета им. М. В. Ломоносова, г. Москва
Защита диссертации состоится "29" октября 2010 г. в 1420 на заседании диссертационного совета Д 212.208.24 при Южном федеральном университете по адресу: г. Таганрог, ул. Чехова, 2, корп. “И”, комн. 347.
С диссертацией можно ознакомиться в зональной научной библиотеке ЮФУ по адресу: г. Ростов-на-Дону, ул. Пушкинская, 148.
Автореферат разослан “ 24”сентября 2010 г.
Просим Вас прислать отзыв, заверенный печатью учреждения, по адресу:
347928, г. Таганрог, Ростовская область, ГСП-17А, пер. Некрасовский, 44, Технологический институт Южного федерального университета в г. Таганроге Ученому секретарю диссертационного совета Д 212.208.24 Кухаренко Анатолию Павловичу.
Ученый секретарь диссертационного совета кандидат технических наук, доцент А.П. Кухаренко
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы исследования. Реконфигурируемые вычислители за счет соответствия собственной архитектуры структуре информационного графа решаемой задачи позволяют значительно повысить удельную производительность по сравнению с многопроцессорными системами с традиционной архитектурой. В то же время средства создания эффективных прикладных программ (приложений), разработанные для традиционных многопроцессорных систем, не могут быть использованы для реконфигурируемых вычислителей, поскольку приложения для реконфигурируемых вычислительных систем (РВС) ориентированы на реализацию информационных графов, а приложения для многопроцессорных систем - на реализацию управляющих графов.
Это диктует необходимость создания специальных инструментальных средств разработки прикладных программ для РВС.
Важным компонентом подобных средств разработки прикладных программ для реконфигурируемых вычислителей являются унифицированные интерфейсные средства для создания приложений в РВС. В настоящее время прикладные программисты разрабатывают специализированные интерфейсы для каждой задачи, реализуемой в РВС, что приводит к существенному увеличению времени создания приложений.
Существующие методы и средства масштабирования приложений для РВС ориентированы исключительно на масштабирование вычислительных функциональных устройств и не предназначены для масштабирования интерфейсных функций коммутации, загрузки-выгрузки данных и обеспечения согласованных информационных взаимодействий вычислительных блоков и узлов прикладной программы. Таким образом, тема исследования, посвященная разработке методов и средств автоматизированного создания интерфейсов и их унификации для прикладных программ РВС, является актуальной.
Объектом исследования являются методы создания программных средств сопряжения функциональных устройств в прикладных программах для РВС.
Целью диссертационной работы является сокращение времени создания масштабируемых прикладных программ для реконфигурируемых вычислительных систем.
Научная задача состоит в создании методов и средств синтеза масштабируемых интерфейсных решений для автоматизированного сопряжения функциональных узлов и блоков различных типов в прикладных программах для реконфигурируемых вычислителей, обеспечивающих сокращение времени создания приложений для РВС при заданной удельной производительности системы.
Для достижения поставленной цели необходимо решить следующие задачи исследования:
1) произвести анализ методов разработки масштабируемых прикладных программ для МВС с традиционной архитектурой;
2) произвести анализ принципов построения, архитектур и методов организации вычислений в РВС;
3) разработать принципы синтеза масштабируемых интерфейсов, позволяющих реализовывать различные варианты распараллеливания и конвейеризации вычислений, а также различные степени параллелизма;
4) разработать и исследовать методы для автоматизированного сопряжения конвейерных вычислительных блоков в прикладных программах для РВС;
5) разработать и исследовать методы для автоматизированного сопряжения процедурных вычислительных блоков в прикладных программах для РВС;
6) разработать библиотеки типовых масштабируемых интерфейсов для РВС;
7) разработать и исследовать инструментальные программные средства для автоматизированного сопряжения функциональных узлов и блоков в прикладных программах для РВС.
Методы исследования. При проведении исследований были использованы основы теории вычислительных машин, теория графов, теория множеств, теория массового обслуживания, методы математической статистики.
Достоверность и обоснованность полученных в работе результатов подтверждена непротиворечивостью математических выкладок, вычислительными экспериментами на ряде действующих образцов реконфигурируемых систем и имитационных моделях, а также апробацией полученных научных результатов на международных и всероссийских конференциях.
Научная новизна результатов диссертационной работы определяется тем, что в ней разработаны:
принципы построения масштабируемых интерфейсов в прикладных 1) программах для РВС, обеспечивающие высокую удельную производительность при решении широкого класса задач;
метод сопряжения конвейерных блоков в прикладных программах для РВС, 2) позволяющий повысить удельную производительность за счет более рационального использования ресурсов и сбалансированного управления параметрами конвейерных блоков и отличающийся от известных методов адаптацией параметров смежных конвейерных блоков;
модернизированный метод сопряжения процедурных блоков в прикладных 3) программах для РВС, позволяющий выбрать рациональные размеры буферов, при сохранении гарантоспособности реализации приложений в РВС, и отличающийся от известных возможностью автоматизированного изменения степени параллелизма;
новая структура программных средств, обеспечивающая интерактивное 4) сопряжение функциональных блоков и узлов в прикладных программах для РВС, отличающаяся от известных включением библиотеки интерфейсных решений, программных средств обслуживания библиотек и программы InterConnect, реализующей модернизацию графа решаемой задачи в соответствии с разработанными методами.
Положения и результаты, выдвигаемые на защиту:
– сопряжение процедурных и конвейерных блоков в едином вычислительном контуре в прикладных программах для РВС, обеспечивающее повышение удельной производительности системы при сохранении гарантоспособности вычислений;
– метод сопряжения конвейерных блоков в прикладных программах для РВС;
– модернизированный метод сопряжения процедурных блоков в прикладных программах для РВС;
– структура программных средств автоматизированного сопряжения функциональных блоков и узлов в прикладных программах для РВС.
Практическая ценность работы. Созданные методы и средства позволяют в 1,5 3 раза сократить время создания прикладных программ для РВС, а также многократно сократить время переноса (портации) приложения на РВС других архитектур и конфигураций.
Разработанная библиотека интерфейсов позволила унифицировать процесс разработки прикладных программ и обеспечила снижение экономических затрат на сопровождение и модернизацию приложений для РВС.
Созданные программные средства позволили в 2-4 раза сократить время обнаружения неисправности в изготавливаемых модулях РВС и системах за счет локализации выполняемых тестов и, как следствие, ускорить производство высокопроизводительной вычислительной техники.
Разработанная на основе средств автоматизированных преобразований интерфейсов и библиотеки интерфейсных решений программно-аппаратная система мониторинга базовых параметров РВС обеспечила надежное функционирование различных вычислительных комплексов на различных технических объектах.
Реализация и внедрение результатов работы. Результаты диссертации использовались при выполнении в НИИ многопроцессорных вычислительных систем ЮФУ ряда НИОКР, направленных на создание опытных образцов реконфигурируемых вычислительных систем различных архитектур и конфигураций. Наиболее важными из них являются:
– НИР «Разработка технологии создания многопроцессорных систем со структурно-процедурной организацией вычислений для мониторинга систем цифровой связи», шифр “ССПВ ”, 2004 – 2006 гг., выполняемая в рамках федеральной целевой программы «Национальная технологическая» база на 2002 – 2006 годы», раздел III «Технологии вычислительных систем»;
- ОКР «Разработка технологии создания высокопроизводительных модульно наращиваемых многопроцессорных вычислительных систем с программируемой архитектурой на основе реконфигурируемой элементной базы», шифр “Медведь”, выполняемая в рамках Федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития науки и техники на 2002-2006 гг.» по госконтракту №02.447.11.1007 от «6» июля 2005 года;
– ОКР «Разработка эскизной конструкторской документации на макет базового модуля модульно-наращиваемой мультипроцессорной системы (МНМС) на основе реконфигурируемой элементной базы и программных средств поддержки масштабируемых программ для решения задач обработки информации и управления в реальном времени на различных конфигурациях МНМС, в том числе при деградации вычислительного ресурса» в рамках мероприятия 1.12-СА3 по программе Союзного государства «Развитие и внедрение в государствах-участниках Союзного государства наукомких компьютерных технологий на базе мультипроцессорных вычислительных систем», шифр “Триада”, 2006 г.;
- ОКР «Создание семейства высокопроизводительных многопроцессорных вычислительных систем с динамически перестраиваемой архитектурой на основе реконфигурируемой элементной базы и их математического обеспечения для решения вычислительно трудоемких задач», выполняемой в рамках федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 годы» по государственному контракту № 02.524.12.4002 от 20.04.2007 г. на выполнение опытно-конструкторских работ, шифр «Большая медведица».
Созданные методы и программные компоненты внедрены в ФГУП «РНИИРС» (г. Ростов-на-Дону), НИИ МВС ЮФУ (г. Таганрог), ФГУП «НИИ «Квант» (г. Москва), ФГУП «Курский НИИ» МО РФ (г. Курск), в.ч. 26165, (г. Москва), Специальной астрофизической лаборатории РАН (пос. Нижний Архыз), ЗАО «Эврика» (г. Санкт Петербург), ООО «Абрис-Технолоджи» (г. Санкт-Петербург), ООО «ПСБ технологии» (г. Москва).
Апробация работы. Основные результаты работы докладывались и обсуждались на всероссийских и международных научно-технических конференциях.
На международной научно-технической конференции «Искусственный интеллект.
Интеллектуальные и многопроцессорные системы», 2006 г., с. Кацивели, Украина;
на ежегодной научной конференции студентов и аспирантов базовых кафедр Южного научного центра РАН, 2008-2010 гг., Ростов-на-Дону;
на международной научно технической конференции «Многопроцессорные вычислительные и управляющие системы», 2007 г., 2009 г., п. Дивноморское;
на международной конференции «Высокопроизводительные параллельные вычисления на кластерных системах», 2009 г., Владимир;
на международной научной конференции «Параллельные вычислительные технологии (ПаВТ’2010)», 2010 г., Уфа-Челябинск.
Личный вклад автора. Все научные результаты получены автором лично.
Публикации. По результатам диссертации опубликовано 11 печатных работ, содержащих 4 статьи, из которых 1 статья [1] опубликована в ведущем рецензируемом журнале ВАК РФ, и 7 тезисов и материалов докладов на российских и международных научно-технических конференциях. По теме исследования получено 2 свидетельства об официальной регистрации программ для ЭВМ [6, 7], результаты отражены в 15 отчетах о НИОКР.
Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка использованных источников и приложений. Работа содержит 174 страницы основного текста, 75 рисунков, 6 таблиц, список используемой литературы из 96 источников, 52 страницы приложений.
КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении изложены актуальность темы диссертации, цель и задачи исследования, научная новизна, практическая ценность, основные научные положения, выносимые на защиту, а также приведено краткое содержание каждой из глав.
В первой главе проведен анализ методов разработки масштабируемых прикладных программ для МВС с традиционной архитектурой. Для МВС с традиционной архитектурой средства масштабирования разделяются на средства масштабирования вычислительных функций и средства масштабирования интерфейсов.
Показано, что все разработанные методы и средства синтеза масштабируемых параллельных прикладных программ, доведенные до уровня стандартных решений, ориентированы на мультипроцедурную организацию вычислений, когда параллельная прикладная программа представляет собой множество взаимосвязанных последовательных процессов, каждый из которых реализуется на отдельном процессоре или процессорном элементе.
Для других типов вычислителей, которые потенциально обладают более высокой реальной производительностью, стандартные средства масштабирования параллельных прикладных программ применить практически невозможно.
Появление программируемых логических интегральных микросхем (ПЛИС) позволило построить аппаратно-программные средства для вычислительных систем принципиально новым образом. Вычислительные системы на базе ПЛИС принято называть реконфигурируемыми вычислительными системами. Аппаратным компонентом РВС является совокупность ПЛИС, на которые отображается структурно реализуемое виртуальное вычислительное устройство, создаваемое с помощью конфигурационных программ. В отличие от традиционных программ для процессоров, конфигурационная программа для ПЛИС реализуется не последовательно во времени, а структурно в пространстве, задействовав совокупность информационно связанных вычислительных устройств и интерфейсных блоков. Такая организация аппаратно программных средств позволяет значительно повысить удельную производительность вычислительной системы, поскольку для каждой решаемой задачи создается адекватная ей вычислительная структура в рамках архитектуры РВС.
Однако если для традиционных многопроцессорных систем унифицированные интерфейсы сформированы, то для прикладных программ РВС пользователю необходимо создавать и масштабировать как функциональные, так и интерфейсные блоки, что приводит к значительному увеличению времени создания приложений для реконфигурируемых вычислителей.
На основании проведенного обзора показано, что существующие методы и средства создания прикладных программ для РВС не затрагивают масштабирования интерфейсов, а касаются только вычислительных блоков. В прикладных программах отдельно масштабируются вычислительные процедуры и отдельно организуются процессы информационных обменов между функциональными устройствами. Показано, что программирование в ПЛИС аппаратных интерфейсов, эффективных для микропроцессоров, нецелесообразно из-за сложности их реализации, а также большого объема занимаемого аппаратного ресурса. Существующие интерфейсные средства для РВС или механически повторяют известные решения для МВС (MPI, OpenMP и т.д.), что приводит к большим аппаратным расходам, или в каждом случае пользователь самостоятельно разрабатывает интерфейс для конкретной задачи, что приводит к большим временным затратам.
Таким образом, возникает противоречие между потенциальными возможностями РВС, которые значительно превосходят МВС с традиционной архитектурой по параметру удельной производительности, и существующими средствами масштабирования прикладных решений для них.
Данное противоречие может быть устранено путем разработки библиотеки интерфейсов нового типа, представляющих собой конфигурационные программы на языке VHDL, учитывающих специфику ПЛИС и не занимающих большой вычислительный ресурс.
На основании проведенного анализа объекта исследования в первой главе разработаны принципы построения масштабируемых интерфейсов и вычислительных компонент в прикладных программах для РВС:
- любая прикладная программа, исполняемая на РВС, должна содержать в своей конфигурационной части вычислительные блоки (конвейерные и процедурные) и интерфейсные блоки, обеспечивающие информационный обмен между вычислительными блоками, причем совокупность указанных компонент должна быть программно неделимой;
- интерфейсные блоки должны обладать свойствами масштабируемости в зависимости от аппаратного ресурса, переносимостью на различную элементную базу и архитектуру ПЛИС;
- интерфейс конвейерных блоков должен обеспечивать синхронизацию каждой группы операндов, а интерфейс процедурных блоков должен обеспечивать согласование базовых параметров информационных потоков в прикладных программах для РВС.
В первой главе также определены основные функциональные назначения интерфейсов для РВС, их базовые параметры, а также предложена классификация типов необходимых интерфейсов.
Во второй главе разработаны и исследованы новые методы автоматизированного сопряжения конвейерных вычислительных блоков (КВБ) в прикладных программах для РВС, которые реализуют функциональное преобразование за детерминированный временной интервал с помощью совокупности функциональных устройств, связанных между собой пространственной коммутационной системой.
Разработанные методы автоматизированного сопряжения позволяют согласовать базовые параметры конвейерных блоков: w - ширину выдаваемых конвейером данных;
f - диапазон тактовых частот, в котором функционирует конвейер;
s - скважность данных;
l - латентность конвейера, а также повысить удельную производительность за счет более рационального использования ресурсов РВС при реализации прикладной программы.
В диссертации проведен подробный анализ методов сопряжения конвейерных блоков при модернизации параметра «период итерации» - «скважность» КВБ для повышения удельной производительности прикладных программ для РВС. Показано, что скважность конвейерного вычислительного блока определяется наличием обратных связей в его информационном графе. При скважности, равной единице, данные с выхода КВБ поступают каждый такт. Сформулированы и доказаны две теоремы.
Теорема 1. Положение элемента задержки в цепочке функциональных преобразований для одноместных операций инвариантно.
Теорема 2. Для вложенных циклов (петель обратной связи) задержки не суммируются и скважности не складываются.
Доказано, что скважность подачи данных на вход конвейерного блока с обратной связью определяется отношением длины обратной связи в информационном графе конвейерного блока к числу инициализаций начальных данных (числу регистров или глубине буфера FIFO) и не увеличивается для вложенных циклических участков графа (петель).
Таким образом, скважность конвейера, полученного в результате сопряжения КВБ в прикладных программах для РВС, будет всегда равна максимальному значению скважности одного из сопрягаемых конвейеров, а латентность при соединении конвейерных вычислительных блоков является суммой латентностей каждого конвейера, плюс дополнительная латентность, вызванная установкой элементов сопряжения конвейерных вычислительных блоков.
На основании вышеизложенных правил модернизации параметров конвейерных блоков рассмотрены особые случаи их сопряжения, а также разработаны методы модернизации интерфейсов и смежных с ними вычислительных блоков при произвольных параметрах распараллеливания КВБ в прикладных программах для РВС.
Показано, что при требовании распараллеливания конвейерных блоков с обратными связями (см. рис.1-а) в приложениях для РВС нецелесообразно осуществлять механическое масштабирование подграфа (см. рис.1-б). Более эффективной является схема вложенного конвейера, реализуемая путем вложения нескольких информационных потоков в промежутки между данными, определяемые скважностью КВБ, как показано на рис. 1-в. Кроме того, необходимо ввести дополнительные начальные значения для организации рекуррентных вычислений. Для обеспечения максимально возможной скорости обработки данных число независимых информационных массивов, подаваемых на один КВБ, должно равняться его латентности. Оставшийся аппаратный ресурс, задействованный для реализации прикладной программы, направляется на повышение степени параллелизма по данным.
В диссертации разработана конфигурационная программа модернизированного интерфейса конвейерного блока, которая позволяет обеспечить единичную скважность и, следовательно, максимальную скорость обработки.
Исследованы проблемы синхронизации операндов для конвейерных блоков. В диссертации разработаны конфигурационные программы и методы их применения для обеспечения одновременного поступления операндов на входы конвейерных схем.
12 k Х1Х1...Х1, Х1 Х 2...Х 2...
Y 12 k 2 k K X1 Y1...X1 X 2...X n nn K k 12 k Х1 Х1...Х1 k, Х 2 Х 2...Х 2k...
Y k+1 k+2 2 k+1 k+ X2 Y2 K...X n X n...X 2k n K k+1 k+ X Y K k Х1 -k Х1 -k+1...Х1, Х -k Х -k+1...Х...
2 2 X Y Y K K n n n...X -k X -k+1...X а) б) в) Рис.1. Модернизация интерфейсов и вычислительных блоков при установке параметра параллелизма для входного массива данных и конвейерного блока с обратной связью В третьей главе диссертации показано, что существуют функциональные преобразования, которые обеспечивают высокую удельную производительность только при их процедурной реализации в прикладных программах для РВС. К таким функциональным преобразованиям относятся условные операторы, структурная программа для которых подразумевает аппаратную реализацию всех альтернативных ветвей, и функции, в которых существует множество информационно незначимых пересылок. К числу подобных процедурных функциональных преобразований относятся криптографические алгоритмы, задачи сортировки, задача трассировки, процедуры генетических алгоритмов. Процедурный блок (ПБ) реализует алгоритм с помощью единственного функционального устройства, последовательно во времени настраиваемого на выполнение операций алгоритма. Время выполнения алгоритма процедурным блоком в общем случае не детерминировано.
Определены базовые параметры процедурных блоков, которые подлежат сопряжению: w - ширина данных;
f - тактовая частота функционирования процедуры;
T множество длительностей обработки одного операнда процедурным блоком;
P множество частот длительности обработки операндов.
На основании исследованных свойств процедурных блоков сформулированы правила модернизации их параметров при сопряжении в прикладных программах для РВС. Следует отметить, что между процедурными блоками с ненулевыми дисперсиями длительности обработки операндов необходимо устанавливать буфер для согласования информационных потоков. Под буфером базового размера понимается оперативная память типа FIFO, необходимая для согласования процедурного блока с конвейерным блоком в едином вычислительном контуре.
Разработан метод сопряжения процедурных блоков в прикладных программах для РВС, позволяющий выбрать рациональные размеры буферов при последовательном соединении процедурных блоков и при согласовании информационных потоков (параллельном соединении процедурных блоков). Показано, что при последовательном соединении процедурных блоков размер промежуточного буфера равен минимальному из базовых буферов сопрягаемых процедурных блоков. Показано, что при параллельном соединении процедурных блоков размер согласующего буфера равен максимальному из базовых буферов сопрягаемых процедурных блоков.
Показано, что никакой буфер фиксированного, наперед заданного размера, не гарантирует отсутствие «срывов» информационного потока при сопряжении процедурных блоков. Для устранения этого противоречия автором разработана конфигурационная программа, реализующая адаптивный буфер, вызывающая останов генерирующего процедурного блока. Предложена формула для определения размера адаптивного буфера. На основании предложенных правил модернизации параметров процедурных блоков рассмотрены особые случаи их сопряжения в прикладных программах для РВС. Показано, что при сопряжении процедурных блоков между собой необходимо согласовывать не время прихода отдельных операндов, а математические ожидания времени их обработки, причем для рационального сопряжения целесообразно обеспечить минимизацию дисперсии длительности обработки операнда процедурным блоком.
В диссертации разработан новый метод автоматизированного сопряжения процедурных и конвейерных блоков в едином вычислительном контуре для эффективной реализации прикладной программы в РВС. Для такого согласования часто используется метод, основанный на разделении информационного потока, выдаваемого конвейерным блоком на распараллеленные процедурные блоки, и последующем слиянии результатов обработки с выхода процедурных блоков (см. рис. 2-а.). Доказано, что более целесообразной является схема соединения процедурных блоков в прикладной программе по принципу макроконвейера. Макроконвейер представляет собой устройство, которое функционирует как конвейер, выдавая через фиксированное время результаты обработки информации. Его структура содержит совокупность процедурных блоков, связанных информационными каналами, как показано на рис. 2-б.
П Y1 Y2 Yм П1 П2 Пм КВБ MX П DMX КВБ...
ПM б) а) Рис. 2. Структурная схема распараллеливания информационных потоков с одного конвейерного блока на M процедурных блоков (а) и структурная схема макроконвейера (б) При такой организации параллельно-конвейерной прикладной программы в процедурный блок включается интерфейсный узел, обеспечивающий выполнение действий, гарантирующих корректное функционирование макроконвейера.
Процедурный блок должен взять операнд, выдаваемый из конвейерного вычислительного блока, только тогда, когда он не занят обработкой, при этом на его место поместить предыдущий результат обработки информации. Если на вход процедурного блока поступает результат обработки предыдущим ПБ, то он пропускается интерфейсом без изменения. Разработана конфигурационная программа модернизации интерфейса процедурного блока для его включения в макроконвейер.
В четвертой главе на основании разработанных в главах 2 и 3 методов синтеза масштабируемых интерфейсов, методов их распараллеливания и конвейеризации автором предложена структура программных средств, которые обеспечивают автоматизированное сопряжение функциональных блоков и узлов в приложениях для РВС.
Структурная схема средств автоматизированного сопряжения функциональных блоков и узлов в приложениях для РВС приведена на рис. 3. Структура программных средств, разработанных автором, выделена пунктиром.
В состав средств автоматизированного сопряжения функциональных блоков и узлов для приложений РВС входят: библиотека базовых межблочных интерфейсов;
библиотека интерфейсов сопряжения с управляющей host-машиной;
библиотека правил модернизации интерфейсов в зависимости от степени допустимого параллелизма приложения;
библиотека сценариев модернизации интерфейсов для определенных прикладных задач или предметных областей;
программные средства обслуживания библиотек;
программа InterConnect, реализующая модернизацию вычислительных и интерфейсных блоков в соответствии с разработанными методами.
В библиотеку межблочных интерфейсов входят: прямой интерфейс;
интерфейс конвейер-конвейер;
интерфейс синхронизации информационных потоков;
интерфейс конвейер-процедура;
интерфейс процедура-конвейер;
интерфейс процедура-процедура.
Здесь под интерфейсами понимаются конфигурационные программы для РВС, реализуемые пространственно на основе таблиц преобразования и их пространственной связи, в зарубежной литературе такие решения называют config-ware (указывая на то, что эти средства накладываются на структуру ПЛИС).
Исходный текст Библиотека параллельной функциональных устройств программы Транслятор Синтезатор Виртуаль Конфигурационный Реализован прикладных приложений файл ный граф ный граф программ для РВС Исходный граф библиотека межблочных интерфейсов библиотека Модернизированный Программа обслуживания библиотек Программа базовых граф интерфейсов InterConnect обмена библиотека интерфейсов сопряжения с Новый управляющей библиотечный элемент host-машиной Запросы к Пользователь config-ware пользователю библиотека правил модернизации интерфейсов библиотека сценариев модернизации интерфейсов Рис.3. Структурная схема средств автоматизированного сопряжения функциональных блоков и узлов для приложений РВС В библиотеку базовых интерфейсов обменов между функциональными устройствами входят: синхронный интерфейс;
асинхронный интерфейс;
интерфейс загрузки конфигурационных файлов в ПЛИС.
Прикладная программа преобразуется транслятором в виртуальный граф, который поступает в синтезатор, задачей которого является отображение виртуального графа на архитектуру определенной РВС. На выходе синтезатора формируется исходный граф, в котором указаны имена интерфейсных блоков. Полученный граф поступает в программу InterConnect, разработанную автором, где преобразуется с помощью созданных интерфейсных библиотек в модернизированный граф, который поступает в синтезатор для формирования прикладной программы. Для синтеза результирующего графа программа InterConnect выдает пакет запросов, определяющих вариант того или иного преобразования. На данные запросы отвечает или пользователь, или библиотека сценариев.
На рис. 4 приведен пример экрана графического редактора программы InterConnect, реализующего преобразование приложения РВС для распараллеливания подграфов, содержащих КВБ с обратной связью и входные и выходные информационные массивы.
Рис. 4. Совместное распараллеливание конвейерного вычислительного блока с обратной связью и входного массива данных Пользователю предлагается на выбор осуществить или механическое масштабирование, или реализовать систему «вложенный конвейер» с добавлением регистров в обратную связь. Пример подобного информационного подграфа показан на рис.5.
Следует отметить, что при данной организации вычислений входные и выходные информационные массивы должны фрагментарно соединяться в общие массивы с чередованием элементов. Степень вложения конвейеров определяется автоматически на основе метода, изложенного в главе 2.
Рис. 5. Реализация схемы «вложенный конвейер» На рис. 6 показан фрагмент информационного графа, содержащий конвейерный вычислительный блок и процедурный блок.
Рис. 6. Фрагмент информационного графа, содержащий конвейерный и процедурный блоки Даже без явного указания изменения степени параллелизма синтезатор предлагает пользователю варианты эффективного сопряжения на основе согласования скоростей обработки в конвейерном и процедурном блоках. На рис. 7 показан пример автоматического синтеза макроконвейера.
Рис. 7. Реализация макроконвейера для сопряжения конвейерного блока и процедурного блоков Все параметры макроконвейера вычисляются автоматически на основании методов, представленных в главе 3, однако окончательное решение о выборе варианта реализации параллельно-конвейерных вычислений возлагается на пользователя.
Разработанная программно-аппаратная система мониторинга параметров РВС на основе библиотеки межблочных и базовых интерфейсов обеспечила надежное функционирование РВС, а также используется для обнаружения неисправности при производстве РВС.
Результаты диссертации были использованы в различных РВС, созданных в НИИ МВС ЮФУ в течение ряда лет, как для реконфигурируемых ускорителей персонального компьютера, так и для высокопроизводительных вычислительных комплексов, содержащих несколько тысяч ПЛИС. Совокупность предложенных программных средств автоматизированного сопряжения функциональных блоков и узлов в приложениях для РВС, по опыту практического использования в различных организациях, обеспечивает повышение скорости создания прикладных программ для РВС в 1,5–3 раза, существенно сокращает временные затраты на перенос (портацию) прикладного решения при изменении конфигурации системы и сроки проведения функционального контроля вычислительных модулей, что подтверждается актами внедрения результатов диссертационного исследования в производственных и научно исследовательских организациях.
В заключении работы изложен основной научный результат диссертации, а также сформулированы теоретические и прикладные результаты, полученные в диссертационной работе.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ В диссертационной работе решена актуальная научная задача разработки методов и средств синтеза масштабируемых интерфейсных решений для автоматизированного сопряжения функциональных узлов и блоков различных типов в прикладных программах для реконфигурируемых вычислителей, обеспечивающих сокращение времени создания приложений для РВС при заданной удельной производительности системы.
При проведении исследований и разработок по теме настоящей работы получены следующие теоретические и прикладные результаты:
разработаны принципы построения масштабируемых интерфейсов в 1) прикладных программах для РВС, обеспечивающие высокую удельную производительность при решении широкого класса задач;
разработан метод сопряжения конвейерных блоков в прикладных 2) программах для РВС, отличающийся от известных адаптацией параметров смежных конвейерных блоков;
разработан модернизированный метод сопряжения процедурных блоков в 3) прикладных программах для РВС, отличающийся от известных возможностью автоматизированного изменения степени параллелизма;
разработаны библиотеки базовых межблочных интерфейсов;
интерфейсов 4) сопряжения с управляющей host-машиной;
правил модернизации интерфейсов в зависимости от степени допустимого параллелизма приложения;
сценариев модернизации интерфейсов для определенных прикладных задач или предметных областей;
разработана инструментальная программа InterConnect, реализующая 5) модернизацию вычислительных и интерфейсных блоков в соответствии с разработанными методами.
новая структура программных средств, обеспечивающая интерактивное 6) сопряжение функциональных блоков и узлов в прикладных программах для РВС, отличающаяся от известных включением библиотеки интерфейсных решений, программных средств обслуживания библиотек и программы InterConnect.
Внедрение основных результатов диссертации подтверждается соответствующими актами.
ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ 1) Раскладкин, М.К. Программно-аппаратный комплекс контроля критических параметров реконфигурируемых систем [Текст] / З.В. Каляев, М.К. Раскладкин // Известия ЮФУ. Технические науки. – №7(108), 2010. – С.227-233.
Раскладкин, М.К. Синтез масштабируемых интерфейсов для 2) реконфигурируемых вычислительных систем [Текст] / М.К. Раскладкин //Материалы седьмой Международной научно-технической конференции «Искусственный интеллект.
Интеллектуальные и многопроцессорные системы». – Таганрог: Изд-во ТРТУ, 2006. – Т. 2. - С. 111-113.
3) Раскладкин, М.К. Интерфейсы контроллера базовых модулей для реконфигурируемых многопроцессорных систем [Текст] / М.К. Раскладкин // Материалы Международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы – 2007». – Таганрог: Изд-во ТТИ ЮФУ, 2007.
– Т.1. – С. 121-125.
4) Раскладкин, М.К Проблемы синтеза масштабируемых интерфейсов для программируемых логических интегральных схем [Текст] / М.К. Раскладкин // Искусственный интеллект. - Донецк: Наука i освiта, 2009. - №.4. - С.288-296.
5) Раскладкин, М.К. Библиотека масштабируемых интерфейсов для реконфигурируемых вычислительных систем на основе ПЛИС [Текст] / М.К. Раскладкин // Материалы Девятой международной конференции-семинара «Высокопроизводительные параллельные вычисления на кластерных системах». – Владимир: Изд-во ВГУ, 2009. – С. 329-331.
6) Раскладкин, М.К. Среда разработки масштабируемых компонентов вычислительных структур для реконфигурируемых систем [Текст] / А.А. Гуленок, И.И. Левин, Ю.И. Доронченко, М.К. Раскладкин // Свидетельство об официальной регистрации программы для ЭВМ № 2006613612 от 18.10.2006 г.
7) Раскладкин, М.К Программа контроля температуры, напряжения и тока вычислительных блоков реконфигурируемой вычислительной системы [Текст] / З.В.
Каляев, М.К. Раскладкин // Свидетельство о государственной регистрации программы для ЭВМ № 2009614954 от 10.09.2009 г.
ЛР №020565 от 23 июня 1997г. Подписано к печати 17.09.2010 г.
Формат 60х841/16. Бумага офсетная. Печать офсетная.
Усл. п.л. - 1,4. Уч.-изд.л. - 1,1.
Заказ № _. Тираж 120 экз.
ГСП 17А, Таганрог, 28, Некрасовский, Типография Таганрогского Технологического института Южного федерального университета в г. Таганроге