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

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

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

004610338

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

Раскладки» Максим Константинович

га №

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

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

Автореферат

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

1 4ОИТт

Таганрог-2010

004610338

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

НАУЧНЫЙ РУКОВОДИТЕЛЬ:

доктор технических наук, профессор

Левин Илья Пзранлевич

ОФИЦИАЛЬНЫЕ ОППОНЕНТЫ:

доктор технических наук, профессор

Атакищев Олег Игоревич

доктор физико-математических наук, профессор Крукиер Лев Абрамович

ВЕДУЩАЯ ОРГАНИЗАЦИЯ:

Научно-Исследовательскнн Вычислительный Центр Московского государственного университета

им. М. В. Ломоносова, г. Москва

Зашита диссертации состоится "29" октября 2010 г. в 14 на заседании диссертационного совета Д 212.208.24 при Южном федеральном университете по адресу: г. Таганрог, ул. Чехова, 2, корп. "И", комн. 347.

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

Автореферат разослан " 24"сентября 2010 г.

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

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

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

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

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

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

Объектом исследования являются методы создания программных средств сопряжения функциональных устройств в прикладных программах для РВС.

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

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

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

1) произвести анализ методов разработки масштабируемых прикладных программ для МВС с традиционной архитектурой;

2) произвести анализ принципов построения, архитектур и методов организации вычислений в РВС;

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

4) разработать и исследовать методы для автоматизированного сопряжения конвейерных вычислительных блоков в прикладных программах для РВС;

5) разработать и исследовать методы для автоматизированного сопряжения процедурных вычислительных блоков в прикладных программах для РВС;

6) разработать библиотеки типовых масштабируемых интерфейсов для РВС;

7) разработать и исследовать инструментальные программные средства для автоматизированного сопряжения функциональных узлов и блоков в прикладных программах для РВС.

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

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

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

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

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

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

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

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

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

- метод сопряжения конвейерных блоков в прикладных программах для РВС;

- модернизированный метод сопряжения процедурных блоков в прикладных программах для РВС;

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

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

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

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

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

Реализация и внедрение результатов работы. Результаты диссертации использовались при выполнении в НИИ многопроцессорных вычислительных систем ЮФУ ряда НИОКР, направленных на создание опытных образцов реконфигурируемых вычислительных систем различных архитектур и конфигураций. Наиболее важными из них являются:

-НИР «Разработка технологии создания многопроцессорных систем со структурно-процедурной организацией вычислений для мониторинга систем цифровой связи», шифр "ССПВ ", 2004 - 2006 гг., выполняемая в рамках федеральной целевой программы «Национальная технологическая» база на 2002 - 2006 годы», раздел III «Технологии вычислительных систем»;

- ОКР «Разработка технологии создания высокопроизводительных модульно-наращиваемых многопроцессорных вычислительных систем с программируемой архитектурой на основе реконфигурируемой элементной базы», шифр "Медведь", выполняемая в рамках Федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития науки и техники на 2002-2006 гг.» по госконтракту №02.447.11.1007 от «6» июля 2005 года;

- ОКР «Разработка эскизной конструкторской документации на макет базового модуля модульно-наращиваемой мультипроцессорной системы (МНМС) на основе реконфигурируемой элементной базы и программных средств поддержки масштабируемых программ для решения задач обработки информации и управления о реальном времени на различных конфигурациях МНМС, в том числе при деградации вычислительного ресурса» в рамках мероприятия 1.12-САЗ по программе Союзного государства «Развитие и внедрение в государствах-участниках Союзного государства наукоёмких компьютерных технологий на базе мультипроцессорных вычислительных систем», шифр "Триада", 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 рисунков, б таблиц, список используемой литературы из 96 источников, 52 страницы приложений.

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

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

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

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

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

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

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

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

Таким образом, возникает противоречие между потенциальными возможностями РВС, которые значительно превосходят МВС с традиционной архитектурой по параметру удельной производительности, и существующими средствами масштабирования прикладных решений для них.

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

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

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

- интерфейсные блоки должны обладать свойствами масштабируемости в зависимости от аппаратного ресурса, переносимостью на различную элементную базу и архитектуру ПЛИС;

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

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

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

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

Разработанные методы автоматизированного сопряжения позволяют согласовать базовые параметры конвейерных блоков: w - ширину выдаваемых конвейером данных; Лf - диапазон тактовых частот, в котором функционирует конвейер; л - скважность данных; I - латентность конвейера, а также повысить удельную производительность за счет более рационального использования ресурсов РВС при реализации прикладной программы.

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

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

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

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

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

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

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

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

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

<Х]Х2...Х[,Х)Х2-Х^... "у ^ | -

Пуп Уп 4

...х^х^.-.х^ >

< Х1к+1х|(+2...х|2.1,х2кйх2к,2...х|к...

XI Лк+| к+2"' 2-к>

кУ^...х"ых1+г..х1к>

X2

Хп^Л^Л Уп> <Хп-кХп-к+1--Хч>Хч-кХ

а) б) в)

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

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

Определены базовые параметры процедурных блоков, которые подлежат сопряжению: и< - ширина данных;/- тактовая частота функционирования процедуры; Т-множество длительностей обработки одного операнда процедурным блоком; Р -множество частот длительности обработки операндов.

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

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

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

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

Рис. 2. Структурная схема распараллеливания информационных потоков с одного конвейерного блока на М процедурных блоков (а) и структурная схема

макроконвейера(б)

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

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

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

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

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

связи, в зарубежной литературе такие решения называют сопйд-'Л'аге (указывая на то, что эти средства накладываются на структуру ПЛИС).

С Исходный текст \ Г „

параллельной ) А Библиотека

программы У функциональных устройств

Новый I / библиотечный V элемент JI

L

3

в

тз

£

S

Si

Ч

*

0)

S

СП

?

3

X

библиотека

базовых интерфейсов обмена

библиотека интерфейсов сопряжения с управляющей Ьоз1-машиной __сопЯд-мгаге

библиотека правил модернизации интерфейсов

библиотека сценариев модернизации интерфейсов

Исходный граф

Программа Interconnect

1одернизированныи\

граф )

Запросы к пользователю

_J Пользователь 1

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

В библиотеку базовых интерфейсов обменов между функциональными устройствами входят: синхронный интерфейс; асинхронный интерфейс; интерфейс загрузки конфигурационных файлов в ПЛИС.

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

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

1п'*тСояг*-г>

Component

Рис. 4. Совместное распараллеливание конвейерного вычислительного блока с обратной связью и входного массива данных

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

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

■а * и | а

рае

к о- ¿г

а®-

СотрспепИ_рО

К Лг

-0}

Рис. 5. Реализация схемы «вложенный конвейер»

Рис. 6. Фрагмент информационного графа, содержащий конвейерный и процедурный

блоки

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

_ "____1_ • н-. I -л ——

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

Рис. 7. Реализация макроконвейера для сопряжения конвейерного блока и процедурного

блоков

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

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

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

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

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

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

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

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

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

2) разработан метод сопряжения конвейерных блоков в прикладных программах для РВС, отличающийся от известных адаптацией параметров смежных конвейерных блоков;

3) разработан модернизированный метод сопряжения процедурных блоков в прикладных программах для РВС, отличающийся от известных возможностью автоматизированного изменения степени параллелизма;

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

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

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

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

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

1) Раскладки», МК. Программно-аппаратный комплекс контроля критических параметров реконфигурируемых систем [Текст] / З.В. Каляев, М.К. Раскладкин // Известия ЮФУ. Технические науки. - №7(108), 2010. - С.227-233.

2) Раскладкин, М.К. Синтез масштабируемых интерфейсов для реконфигурируемых вычислительных систем [Текст] / М.К. Раскладкин //Материалы седьмой Международной научно-технической конференции «Искусственный интеллект. Интеллектуальные и многопроцессорные системы». - Таганрог: Изд-во ТРТУ, 2006. -Т. 2. - С. 111-113.

3) Раскладкин, М.К. Интерфейсы контроллера базовых модулей для реконфигурируемых многопроцессорных систем [Текст] / М.К. Раскладкин // Материалы Международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы - 2007». - Таганрог: Изд-во ТТИ ЮФУ, 2007. -Т.1.-С. 121-125.

4) Раскладкин, М.К Проблемы синтеза масштабируемых интерфейсов для программируемых логических интегральных схем [Текст] / М.К. Раскладкин // Искусственный интеллект. - Донецк: Наука i освгта, 2009. - №.4. - С.288-296.

5) Раскладкин, М.К. Библиотека масштабируемых интерфейсов для реконфигурируемых вычислительных систем на основе ПЛИС [Текст] / М.К. Раскладкин // Материалы Девятой международной конференции-семинара «Высокопроизводительные параллельные вычисления на кластерных системах». -Владимир: Изд-во ВГУ, 2009. - С. 329-331.

6) Раскладкин, М.К. Среда разработки масштабируемых компонентов вычислительных структур для реконфигурируемых систем [Текст] / A.A. Гуленок, И.И. Левин, Ю.И. Доронченко, М.К. Раскладкин // Свидетельство об официальной регистрации программы для ЭВМ №2006613612 от 18.10.2006 г.

7) Раскладкин, М.К Программа контроля температуры, напряжения и тока вычислительных блоков реконфигурируемой вычислительной системы [Текст] / З.В. Каляев, М.К. Раскладкин // Свидетельство о государственной регистрации программы для ЭВМ № 2009614954 от 10.09.2009 г.

ЛР №020565 от 23 июня 1997г. Подписано к печати 17.09.2010 г. Формат 60х84"16. Бумагаофсеття. Печать офсетная. Усл. п л. -1,4. Уч.-изд. л. - 1,1. Заказ № ¿90. Тираж 120 экз.

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

Оглавление автор диссертации — кандидата технических наук Раскладкин, Максим Константинович

ВВЕДЕНИЕ.

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

1.1 Методы и средства создания масштабируемых параллельных программ для многопроцессорных систем.

1.2 Архитектура реконфигурируемых вычислительных систем.

1.3 Методы и средства создания масштабируемых программ для реконфигурируемых систем.

1.4 Принципы создания средств масштабирования интерфейсов и вычислительных компонент. '

1.5 Выводы.

2 МЕТОДЫ ВЗАИМОДЕЙСТВИЯ КОНВЕЙЕРНЫХ БЛОКОВ В ПРИЛОЖЕНИЯХ ДЛЯ РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЕЙ.

2.1 Основные параметры конвейерных вычислительных блоков.

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

2.3 Интерфейсы конвейерных вычислительных блоков при произвольных ( параметрах распараллеливания.

2.4 Синхронизация информационных потоков для конвейерных схем.

2.5 Выводы.

3 МЕТОДЫ ВЗАИМОДЕЙСТВИЯ ПРОЦЕДУРНЫХ БЛОКОВ В ПРИЛОЖЕНИЯХ ДЛЯ РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЕЙ.

3.1 Необходимость реализации в структуре ПЛИС процедурных блоков обработки информации.

3.2 Сопряжение процедурных блоков.

3.3 Методы сопряжения конвейерных и процедурных вычислительных блоков.

3.4 Выводы.

4 СРЕДСТВА АВТОМАТИЗИРОВАННОГО СОПРЯЖЕНИЯ

ФУНКЦИОНАЛЬНЫХ БЛОКОВ И УЗЛОВ ДЛЯ ПРИЛОЖЕНИЙ РВС.

4.1 Синхронный интерфейс.

4.2. Асинхронный интерфейс.

4.3. Интерфейс загрузки конфигурационных файлов в ПЛИС.

4.4. Интерфейс сопряжения с управляющей host-машиной.

4.5. Программа модернизации интерфейсов.

4.6. Программа обслуживания библиотек.

4.7. Применение средств автоматизированного сопряжения функциональных блоков и узлов для приложения РВС.

4.8. Выводы.

Введение 2010 год, диссертация по информатике, вычислительной технике и управлению, Раскладкин, Максим Константинович

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

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

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

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

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

Большинство методов и средств создания масштабируемых параллельных программ для распространенных типов вычислительных систем основывается на введении в исходный код параллельных программ параметров масштабирования, которые изменяются на этапе компиляции программ (в некоторых случаях на этапах исполнения) для вычислительного ресурса, на котором будет выполняться программа. Наиболее часто используемыми при построении прикладных программ на основе передачи сообщений являются коммутационные библиотеки на основе стандарта MPI (Message Passing Interface) [13]. Данный стандарт, разработанный в 1993 году, более пятнадцати лет является базовым средством для создания приложения для многопроцессорных вычислительных систем (МВС).

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

Для других типов организации вычислений, которые потенциально обладают более высокой реальной производительностью [16, 17], стандартные средства масштабирования параллельных прикладных программ применить практически невозможно. К числу устройств подобного типа относятся: графические ускорители [18], мультитредовые многоядерные процессоры [19] и реконфигурируемые вычислительные системы [20].

Долгое время считалось, что процессоры и процедуры, последовательно выполняемые на них, образуют единственную возможность создания аппаратно-программных средств вычислительных систем [21, 22]. Появление программируемых логических интегральных микросхем (ПЛИС) кардинально изменило данную ситуацию, обеспечив возможность создания аппаратно-программных средств принципиально новым образом. Вычислительные системы на базе ПЛИС принято называть реконфигурируемыми вычислительными системами (РВС). Аппаратным компонентом реконфигурируемых вычислительных устройств является совокупность ПЛИС, на которые пользователь отображает пространственно реализуемое виртуальное вычислительное устройство. Конфигурационная программа для ПЛИС реализуется не последовательно во времени, а занимает определенную группу логических устройств. Такая организация аппаратно-программных средств позволяет значительно повысить удельную производительность вычислительной системы - производительность в единицах аппаратных затрат [20].

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

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

Из зарубежных производителей, ведущих разработку вычислителей на ПЛИС, можно выделить компании Starbridge Systems, Nallatech, DiniGroup. Наиболее успешными отечественными разработками в данной области являются вычислительные модули производства НПО «Роста» (г. Москва), ФГУП «НИИ «Квант», г. Москва и НИИ МВС ЮФУ (г. Таганрог).

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

Особенность архитектуры РВС заключается в том, что в процессе конструирования она не формируется окончательно, а остается в определенном смысле незавершенной и открытой [20, 23, 24]. Окончательное программирование архитектуры РВС включает создание функциональных узлов (элементарных процессоров) для выполнения вычислений, настройку прямых информационных каналов в коммутаторах между элементарными процессорами, настройку блоков распределенной памяти на реализацию процедур чтения и записи информационных массивов. Аппаратно-программные средства РВС позволяют синтезировать произвольные соединения между компонентами системы, создавая необходимые вычислительные структуры. Совокупность вычислительных структур, созданных в рамках базовой архитектуры РВС, образует виртуальный проблемно-ориентированный вычислитель, структура которого адекватна информационному графу (подграфу) решаемой задачи [23, 24].

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

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

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

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

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

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

Объектом1 исследования являются методы создания программных средств сопряжения функциональных устройств в прикладных программах для РВС. и

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

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

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

Среди отечественных исследований в области масштабирования приложений для РВС можно отметить работы Левина И.И., Каляева И.А., Коновальчика П.М., Абламейко C.B., Абрамова С.М. Среди зарубежных специалистов - Kent Gilson, Jim Yardley, Mike Dini.

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

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

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

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-САЗ по программе Союзного государства «Развитие и внедрение в государствах-участниках Союзного государства наукоёмких компьютерных технологий на базе мультипроцессорных вычислительных систем», шифр "Триада", 2006;

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

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

На международной научно-технической конференции «Искусственный интеллект. Интеллектуальные и многопроцессорные системы», 2006 г., с. Кацивели, Украина; на ежегодной научной конференции студентов и аспирантов базовых кафедр Южного научного центра РАН, 2008г. 2009г., 2010г. Ростов-на-Дону; на международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы», 2007г., 2009г., пос. Дивноморское; на международной конференции «Высокопроизводительные параллельные вычисления на кластерных системах», 2009г., Владимир; на международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2010)», 2010г., Челябинск.

Наиболее значительными публикациями по теме диссертации являются:

1) Раскладкин, М.К. Программно-аппаратный комплекс контроля критических параметров реконфигурируемых систем [Текст] / З.В. Каляев, М.К. Раскладкин // Известия ЮФУ. Технические науки. - №7(108), 2010. - С.227-233.

2) Раскладкин, М.К. Синтез масштабируемых интерфейсов для реконфигурируемых вычислительных систем [Текст] / М.К. Раскладкин //Материалы седьмой Международной научно-технической конференции «Искусственный интеллект. Интеллектуальные и многопроцессорные системы». - Таганрог: Изд-во ТРТУ, 2006. - Т. 2. - С. 111-113.

3) Раскладкин, М.К. Интерфейсы контроллера базовых модулей для реконфигурируемых многопроцессорных систем [Текст] / М.К. Раскладкин // Материалы Международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы - 2007». -Таганрог: Изд-во ТТИЮФУ, 2007. -Т.1. - С. 121-125.

4) Раскладкин, М.К Проблемы синтеза масштабируемых интерфейсов для программируемых логических интегральных схем [Текст] / М.К. Раскладкин // Искусственный интеллект. - Донецк: Наука 1 освгга, 2009. - №.4. - С.288-296.

5) Раскладкин, М.К. Библиотека масштабируемых интерфейсов для реконфигурируемых вычислительных систем на основе ПЛИС [Текст] / М.К. Раскладкин // Материалы Девятой международной конференции-семинара «Высокопроизводительные параллельные вычисления на кластерных системах». - Владимир: Изд-во ВГУ, 2009. - С. 329-331.

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

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

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

- метод сопряжения конвейерных блоков в прикладных программах для

РВС;

- модернизированный метод сопряжения процедурных блоков в прикладных программах для РВС;

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

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

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

4.8. Выводы

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

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

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

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

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

162

ЗАКЛЮЧЕНИЕ

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

При проведении исследований и разработок в диссертации получены следующие теоретические и прикладные результаты.

1. Показано, что большинство существующих методов масштабирования для МВС ориентировано на реализацию множества взаимосвязанных последовательных процессов и не подходит для РВС, которые реализуют не процедурную обработку во времени, а структурную обработку в пространстве с помощью совокупных вычислительных систем.

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

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

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

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

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

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

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

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

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

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

Основные; научные результаты диссертации опубликованы в; работах [78, 80, 89, 90, 96]. Предложенные в диссертации новые результаты строго аргументированы и оценены по сравнению* с известными работами; в рассматриваемой области. Полученные научные результаты используются практически на, различных предприятиях и организациях России, что подтверждается соответствующими актами о внедрении.

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

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

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

1. Аладышев, О.С. СуперЭВМ: области применения и требования к производительности Текст. / О.С. Аладышев, Н.И. Дикарев, А.П. Овсянников [и др.] // Известия ВУЗов. Электроника, 2004. №1. - С. 13-17.

2. Корнеев, В.В. Параллельные вычислительные системы Текст.: монография / В.В. Корнеев; под ред. В.В. Корнеева. М.: «Нолидж», 1999. -320 с.

3. Слуцкин, А.И. Российский суперкомпьютер с глобально адресуемой памятью Текст. / А.И. Слуцкин, Л.К. Эйсымонт // «Открытые системы». М., 2007. - № 9.

4. Затуливетер, Ю.С. Текст. / Компьютерные архитектуры: неожиданные повороты / Ю.С. Затуливетер // HARD'n'SOFT, 1996. №2. - С. 89-94.

5. Митропольский, Ю. Текст. / Суперкомпьютеры и микропроцессоры / Ю. Митропольский // Электроника: наука, технология, бизнес, 2000. №2. - С. 18-21.

6. Воеводин, В.В. Параллельные вычисления Текст.: монография / В.В. Воеводин, Вл.В. Воеводин; под ред. В.В. Воеводина. С-Петербург: БХВ-Петербург, 2002. - 599 с.

7. Ивенс, Д. Системы параллельной обработки Текст.: монография / Д. Ивенс; под ред. Д. Ивенса. М.: Издательство «Мир», 1985.

8. Торгашев, В. А. Семейство суперкомпьютеров с динамической архитектурой концептуальные основы Текст. / В.А Торгашев, И.В. Царёв // Искусственный интеллект, 2009. - №4.

9. Бурцев, B.C. Вычислительные процессы с массовым параллелизмом Текст. / B.C. Бурцев // Электроника. Наука, технология, бизнес, 2002. №1.10. http://www.parallel.ru11. http://ru.wikipedia.org/wiki/Beowulf

10. Савин, Г.И. Кластеры Беовульф Текст. / Г.И. Савин, П.Н. Телегин, Б.М. Шабанов // Известия Вузов. Электроника, 2004. №1. - С.7-12.

11. Group W, Lusk E, Skjellum A. Using MPI. Portable Parallel Programming with the Message-Passing Interface. MIT Press, 1994.

12. Валях, E. Последовательно-параллельные вычисления Текст.: монография / Е. Валях; под ред. Е. Валяха. М.: Мир, 1985.

13. Воеводин, В.В. Информационная структура алгоритмов Текст.: монография / В.В. Воеводин; под ред. В.В. Воеводина. М.: Изд-во МГУ, 1997.

14. Siegel L.J., Siegel H.J., Swain P.H. Performance Measures for Evaluation Algorithms for SIMD-Machines // IEEE Trans. Software Eng. V. 8. -№ 4. - Pp. 319-331.

15. Хокни, P. Параллельные ЭВМ. Архитектура, программирование и алгоритмы Текст.: монография: [пер. с англ.] / Р. Хокни, К. Джессхоуп. М.: Радио и связь, 1986. - 392 с.

16. Адинец, А. Графический вызов суперкомпьютерам Текст. / А. Адинец, Вл.В. Воеводин // Открытые системы, 2008. №4.

17. Корнеев, В.В. Вычислительные системы Текст.: монография / В.В. Корнеев; под ред. В.В. Корнеева. М.: Гелиос АРВ, 2004. - 512 с.

18. Хэндлер, В. Новая архитектура ЭВМ как увеличить параллелизм, не увеличивая сложности Текст. / В. Хэндлер; под ред. Д. Ивенса // Системы параллельной обработки. - М.: Мир, 1985. - С. 10-44.

19. Поспелов, Д.А. Введение в теорию вычислительных систем Текст.: монография / Д.А. Поспелов; под ред. Д.А. Поспелова. М.: Сов. радио, 1972. -280 с.

20. Каляев, A.B. Многопроцессорные вычислительные системы с программируемой архитектурой Текст.: монография / A.B. Каляев; под ред. A.B. Каляева. М.: Радио и Связь, 1984. - 240 с.

21. Каляев, А.В. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений Текст.: монография / А.В. Каляев, И.И. Левин; под ред. А.В. Каляева. М.: Янус-К, 2003. - 380 с.

22. Грегори, Р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования Текст.: монография: [пер. с англ.] / Эндрюс Р. Грегори. Изд-во Вильяме, 2003.

23. Message-Passing Interface Forum, Document for a Standard Message-Passing Interface, 1993. Version 1.0. http://www-unix.mcs.anl.gov/mpi/.

24. Крюков, В. А. Разработка параллельных программ для вычислительных кластеров и сетей Текст. / В.А. Крюков // Информационные технологии и вычислительные системы. М.:, ИМВС РАН, 2003, - №1-2. - С.42-61.

25. Message-Passing Interface Forum, MPI-2: Extension to the Message-Passing Interface, 1997. http://www-unix.mcs.anl.gov/mpi/.

26. Foster I. Designing and Building Parallel Programs. Addison Wesley, 1994. http://www-unix.mcs.anl.gov/dbpp/text/nodel .html.

27. Проект ИПС РАН. Т-система. http.V/parallelm/parallel/mssia/map/data/projectl5.html

28. PCF Fortran. Version 3.1. Aug.l, 1990.

29. Bannon P. Alpha 21364: A Scalable Single-chip SMP. Compaq Computer Corporation, Microprocessor Forum. 13 October 1998.

30. Barroso L., Gharachorloo K., Novatzyk A., Verghese B. Impact of ChipLevel Integration on Performance of OLTP Workloads. Proc. of The Sixth International Symposium on High-Performance Computer Architecture (HPCA). January, 2000.

31. Diefendorff К. Power4 Focuses on Memory Banwidth. Microprocessor R Vol. 13. October 6,1999. — Ne 13.36. (Clark D. Blue Gene and the race toward petaflops capacity. IEEE ConcurmntfL. Pp. 5-9, January-March 2000.)37. http://www.openmp.org.

32. High Performance Fortran Forum. High Performance Fortran Language Specification. Version 2.0, January 1997.40. http://www.keldysh.ru/dvm/

33. Комухаев Э. Развитие рынка ПЛИС // Chip news, 2004. №9.

34. The Programmable Logic Data Book//Xilinx Inc. 2009.

35. Грушвицкий, Р.И. Проектирование систем на микросхемах программируемой логики Текст.: монография / Р.И. Грушвицкий, А.Х. Мурсаев, Е.П. Угрюмов; под ред Р.И. Грушвицкого. СПб.: БХВ-Петербург, 2002. - 608 с.

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

37. Текст.: диссертация на соискание ученой степени кандидата технических наук: 05.13.11: защищена 28.12.2207: утверждена 23.05.2008 / Каляев Захар Владимирович. Таганрог, 2007. - 171 с. — Библиогр.: с. 164-170.

38. Каляев, A.B. Многопроцессорная система со структурно-процедурной организацией вычислений Текст. / A.B. Каляев, И.И. Левин // Сборник научных трудов «Научная секция МИФИ-2001». М.: МИФИ, 2001. - Т. 2. - С. 206-207.

39. Каляев, A.B. СТОРК-компьютер многопроцессорная вычислительная система со структурной организацией вычислений Текст. / A.B. Каляев, И.А. Каляев // Электронное моделирование. - Киев, 1996. - № 4. -С.5-14.

40. Левин, И.И. Ресурсонезависимое параллельное программирование Текст. / И.И. Левин // Искусственный интеллект. Донецк: Наука i освгга, 2002. -№3. - С.277-285.

41. Ясинявичус, Р. Параллельные пространственно-временные вычислительные структуры Текст.: монография / Р. Ясинявичус; под ред. Р. Ясинявичуса. Вильнюс: Мокслас, 1988. - 183 с.

42. Каляев, A.B. Унифицированная элементная база для построения реконфигурируемых под задачу вычислительных систем Текст. / A.B. Каляев, И.И. Левин, Б.Г. Фрадкин // Известия ВУЗов. Электроника, 1997. № 1. - С. 7583.

43. Комолов, Д.А. Системы автоматизированного проектирования фирмы Altera Max+Plus II и Quartus II Текст.: краткое описание и самоучитель / Д.А. Комолов, P.A. Мяльк, A.A. Зобенко [и др.]. М.: РадиоСофт, 2002. - 352 с.

44. Стешенко, В.Б. ПЛИС фирмы Altera: элементная база, система проектирования и языки описания аппаратуры Текст.: монография / В.Б. Стешенко. М.: Издательский дом «Додэка-ХХ1», 2002. - 576 с.69. http:// www.altera.com

45. ГОСТ Р 50754-95. Язык описания аппаратуры цифровых систем VHDL. Описание языка. Текст.

46. Поляков, А.К. Языки VHDL и VERILOG в проектировании цифровой аппаратуры Текст.: монография. Издательство: Солон-Пресс ISBN: 5-98003016-6, 2003.-320 с.74.http://www.mentor.com/products/esl/bighlevelsynthesis/catapultsynthesis/

47. Раскладкин М.К. Проблемы синтеза масштабируемых интерфейсов для программируемых логических интегральных схем // Искусственный интеллект. Донецк: Наука i освгга, 2009. - №.4. - С.288-296.

48. Уэйкерли, Дж. Проектирование цифровых устройств Текст.: монография / Дж. Уэйкерли; под ред. Дж. Уэйкерли. Издательство: Постмаркет, 2002. - Т. I.

49. Зотов, В.Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы XILINX® Текст.: монография / В.Ю. Зотов. -М.: Горячая линия-Телеком, 2006. 520 е., ил. ISBN 5-93517-165-1.

50. Саати, Т.Л. Элементы теории массового обслуживания и ее приложения Текст.: монография / Т.Л. Саати; под ред. Т.Л. Саати; пер.с англ. -М.: Изд-во «Советское радио», 1971. 520 с.

51. Раскладкин, М.К. Интерфейсы контроллера базовых модулей для реконфигурируемых многопроцессорных систем Текст. / М.К. Раскладкин // Материалы Международной научно-технической конференции «МВУС-2007». Таганрог: Изд-во ТТИ ЮФУ, 2007. - Т. 1. - С. 121-125.

52. Гончаров, Ю. Интерфейс LVDS и его применение Текст. / Ю. Гончаров // Компоненты и технологии. № 3,4. 2001.93. http://ru.wikipedia.org/wiki/LVDS

53. Раскладкин, М.К. Средства программно-аппаратного мониторинга РВС Текст. / М.К. Раскладкин // Труды IV Международной научной конференции «Параллельные вычислительные технологии (ПаВТ'2010)». -Челябинск: Издательский центр ЮУрГУ, 2010. С. 211-219.

54. Раскладкин, М.К. Программно-аппаратный комплекс контроля критических параметров реконфигурируемых систем Текст. / М.К. Раскладкин // Известия ЮФУ. Технические науки. №7(108), 2010. - С.227-233.