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

Авторы: Перкин П.В., Мирошкин А.Н.

Руководитель: Зеленева И.Я.

Источник: Использование распределенных вычислений при разработке цифровых устройств управления / Перкин П.В., Мирошкин А.Н., Зеленева И.Я. Інформаційні управляючі системи та комп'ютерний моніторинг (ІУСКМ-2012): III Всеукраїнська науково-технічна конференція студентів, аспірантів та молодих вчених, 16-18 квітня 2012 р., м. Донецьк / Донец. націонал. техн. ун-т; редкол.: Є.О. Башков (голова) та ін. - Донецьк: ДонНТУ, 2012. - С. 655-657.

Год: 2012

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы.

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

Список источников