УДК 004.2

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


Перкин П.В., Мирошкин А.Н., Зеленева И.Я.

Донецкий национальный технический университет

Кафедра компьютерной инженерии

e-mail: perkinpv@gmail.com, miroshkinan@gmail.com, irina@cs.donntu.ru


Аннотация:

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


Общая постановка проблемы

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

Основная идея предлагаемой методики заключается в организации процесса проектирования большого количества цифровых устройств с использованием многопроцессорного вычислительного ресурса (кластера ДонНТУ NeClus). Целью работы является уменьшение времени проектирования цифровых устройств. Для достижения цели необходимо решить ряд задач: изучить особенности организации кластера; разработать протокол взаимодействия управляющего узла с операционными узлами; разработать и исследовать методику балансирования загрузки операционных узлов; исследовать эффективность использования многопроцессорного вычислительного ресурса при массовом выполнении слабосвязанных задач.

Проектирование устройства управления можно условно разделить на два этапа: синтез модели устройства и ее реализация в соответствующем элементном базисе. Для синтеза моделей используется САПР устройств управления (УУ), разработанная на кафедре компьютерной инженерии ДонНТУ. Исходными данными для синтеза является описание граф-схемы алгоритма управления в формате языка XML. При помощи САПР можно получить множество моделей управляющих устройств, интерпретирующих исходную ГСА. Модель представляет собой vhd-файлы, описывающие функциональные узлы управляющих устройств, а также mif–файлы, содержащие микропрограмму (для управляющих устройств с памятью). Модель также содержит tcl-скрипт, который позволяет автоматизировать этап имплементации в САПР Xilinx ISE. Tcl-скрипт задает название проекта, перечень включаемых файлов, тип и семейство базовой микросхемы ПЛИС, а также дополнительные параметры.

Второй этап проектирования устройства управления заключается в имплементации VHDL-модели в базис микросхемы ПЛИС при помощи специализированной САПР Xilinx ISE. В работе предлагается методика распределенной имплементации множества моделей устройств управления на многопроцессорном кластере NeClus. Схема взаимодействия терминала и узлов кластера приведена на рис. 1.



Рис. 1. Схема взаимодействия терминала и узлов кластера


Методика использования кластера включает следующие этапы:

Распределение процесса имплементации VHDL-моделей между узлами выполняет скрипт на host-узле (рис. 2). Номера доступных узлов при этом задаются в специальном файле.

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

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

Архив с результатами имплементации пользователь может забрать с host-машины при повторном подключении к кластеру.

Рис. 2. Граф-схема алгоритма работы управляющего скрипта на host-узле


Выводы

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


Литература


  1. ПЛИС. Материал из Википедии, свободной энциклопедии. Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/ПЛИС (Заглавие с экрана)

  2. Xilinx. Официальный сайт производителя. Электронный ресурс. Режим доступа: http://www.xilinx.com (Заглавие с экрана)

  3. Altera. Официальнай сайт производителя. Электронный ресурс. Режим доступа: http://www.altera.com (Заглавие с экрана)

  4. Федотов И.Е. Некоторые приемы параллельного программирования: Учебное пособие. – М.: Изд-во МГИРЭА (ГУ), 2008.- 188 с.

  5. SSH. Материал из Википедии, свободной энциклопедии. Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/SSH (Заглавие с экрана)