УДК 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. Схема взаимодействия терминала и узлов кластера
Методика использования кластера включает следующие этапы:
подключение к host-узлу кластера (терминалом в данном случае является любой ПК, подключенный к сети Интернет; подключение выполняется по протоколу SSH [5]);
передача входных данных для обработки, которые представляют собой множество архивов с моделями УУ и скриптов для автоматизированного выполнения процесса имплементации;
запуск процесса распределенной имплементации;
ожидание окончания процесса и получение результатов проектирования.
Распределение процесса имплементации VHDL-моделей между узлами выполняет скрипт на host-узле (рис. 2). Номера доступных узлов при этом задаются в специальном файле.
После передачи архива с моделями УУ на узле-обработчике запускается скрипт, который формирует список tcl-скриптов, каждый из которых задает набор входных параметров, таких как семейство и корпус ПЛИС, параметры синхронизации и др. Поскольку узлы кластера оборудованы 4-ядерными процессорами, целесообразно на одном узле одновременно запускать до четырех процессов имплементации.
По окончании процесса имплементации формируются файлы с отчетами об использовании микросхем, например, о количестве задействованных аппаратурных ресурсов (LUT-элементов и блоков встроенной памяти) и о временных параметрах (период синхросигнала, время предустановки информационных сигналов, время формирования выходных функций). Удаление входного архива является признаком окончания процесса имплементации на узле-обработчике. При обнаружении этого признака при очередном опросе узла-обработчика управляющий узел передаст следующий входной архив и запустит скрипт обработки. Управляющий узел кластера опрашивает все узлы-обработчики периодически, при этом частота опроса выбирается таким образом, чтобы сократить длительность простоя узлов-обработчиков и излишне не загружать управляющий узел. На практике используется один опрос в минуту.
Архив с результатами имплементации пользователь может забрать с host-машины при повторном подключении к кластеру.
Рис. 2. Граф-схема алгоритма работы управляющего скрипта на host-узле
Выводы
Предложенная методика позволила существенно сократить временные затраты при проектировании большого количества цифровых устройств управления. Разработанный протокол взаимодействия управляющего и операционных узлов позволяет динамически изменять количество вовлеченных в процесс проектирования узлов, а также их нагрузку. Дальнейшие исследования направлены на разработку методики балансировки загрузки узлов кластера, которая позволит свести временные потери при простое узлов-обработчиков к минимально возможным.
Литература
ПЛИС. Материал из Википедии, свободной энциклопедии. Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/ПЛИС (Заглавие с экрана)
Xilinx. Официальный сайт производителя. Электронный ресурс. Режим доступа: http://www.xilinx.com (Заглавие с экрана)
Altera. Официальнай сайт производителя. Электронный ресурс. Режим доступа: http://www.altera.com (Заглавие с экрана)
Федотов И.Е. Некоторые приемы параллельного программирования: Учебное пособие. – М.: Изд-во МГИРЭА (ГУ), 2008.- 188 с.
SSH. Материал из Википедии, свободной энциклопедии. Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/SSH (Заглавие с экрана)