Факультет компьютерных наук и технологий
Специальность: Системное программирование
В современном мире все больше и больше внимания уделяют параллельным вычислительным средствам и методам программирования на них. Из-за небольшого количества параллельных архитектур и дороговизны их использования параллельные вычисления не используются повсеместно, либо в качестве параллельной системы используется многоядерный компьютер, либо небольшой кластер, состоящий из однотипных машин. Поскольку в производственных вычислениях зачастую решаются задачи одного типа, либо очень похожие, программистам приходится создавать специальные программные продукты, работающие на определенной архитектуре. В качестве альтернативы было предложено создание специальных аппаратных средств, которые либо изначально предназначены для решения узкоспециализированного класса задач, либо для ряда задач, но с определенными ограничениями. Несколько лет назад было предложено создание вычислительных средств на базе перестраиваемых микросхем FPGA, основываясь на возможностях перепрограммирования данного типа микросхем в режиме реального времени, что позволит, используя легкодоступные микросхемы, создавать специализированные вычислительные системы, решающие задачи соизмеримо с суперкомпьютерами в соотношении время программирования – цена – скорость решения.
Актуальность работы подтверждается увеличивающимся интересом к удешевлению параллельных систем и созданию доступного для каждого решения в области параллельных вычислений и моделирования. Растет интерес к возможностям аппаратной реализации различных алгоритмов, создания специализированных систем, направленных на быстрое решение определенной задачи с определенной точностью. На данный момент не существует программных и аппаратных средств, способных упростить реализацию программной и аппаратной части параллельной системы, что усложняет создание подобного проекта и склоняет пользователей к использованию мощностей вычислительных средств или отказа от параллельных расчетов вообще [4].
Целью магистерской работы является исследование и разработка способов автоматического проектирования и создания параллельных машин на базе динамически перестраиваемых микросхем типа FPGA. Основными задачами, которые решаются в работе являются:
Предполагаемая научная новизна состоит в разработке алгоритмов отображения виртуальных моделей сетевых динамических объектов и алгоритмов создания параллельных специализированных машин на базе микросхем с перестраиваемой логикой типа FPGA.
В качестве практических результатов планируется получить машину с перестраиваемой архитектурой на базе FPGA для решения систем дифференциальных уравнений, описывающих сетевые динамические объекты, и получить сравнительную характеристику результатов работы с параллельными суперкомпьютерами.
В области параллельного моделирования и решения уравнений в ДонНТУ работы ведутся уже давно. На факультете компьютерных наук и технологий (проф. Фельдман) ведутся разработки параллельных методов решения и расчета систем дифференциальных уравнений. Среди разработок есть как распараллеливание известных, пошаговых методов (Эйлера, Рунге-Кутта), так и новые блочные параллельные методы. В частности решение систем ОДУ на системах SIMD машин, построение MIMD-решателей уравнений на базе MPI и OpenMP стандартов. В статьях рассказывается о преобразовании виртуальных моделей в реальные и построении решателей систем уравнений на параллельной машине.
Также на факультете ведутся разработки методов моделирования сетевых динамических объектов, химических реакций на базе параллельных вычислительных машин. Уже разработаны способы отображения моделей сетевых динамических объектов на параллельную архитектуру типа MIMD - Создание, исследование и моделирование сетевых динамических объектов большой размерности, так и различные симуляторы - MIMD-симулятор и оптимизатор параллельных моделей дискретных динамических систем, MIMD-симулятор СДО с распределёнными параметрами для заданого уровня распараллеливания, Проблемно-ориентированная параллельная моделирующая среда для объектов с распределенными параметрами.В работах приведены анализы сетевых динамических объектов, проблемы моделирования на параллельных системах.
Также ведутся разработки различных устройств на ПЛИС - Исследование и разработка на FPGA SPP-архитектуры поста контроля цифровых устройств, Розробка діагностичної моделі FPGA - пристроїв та синтез тестів на її базі.
А также методы автоматического синтеза устройств на FPGA - Автоматизация проектирования быстродействующих цифровых устройств на FPGA, Обзор структур существующих систем цифровой обработки сигнала [1-3].
Однако необходимо заметить, что ранее в стенах Донецкого национального технического университета исследований и разработок параллельных машин на базе FPGA не производилось.
Для Украины тема построения параллельных машин на базе FPGA представлена в большом количесвте в публикациях Института кибернетики имени В.М. Глушкова. Среди основных можно выделить такие публикации как «ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ РЕКОНФИГУРИРУЕМЫЕ КОМПЬЮТЕРЫ НА БАЗЕ FPGA» . В статье выполнен анализ развития и разработки компьютеров на базе реконфигуриуемых FPGA и обьясняются принципы построения таких компьютеров. В статье «ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ С РЕКОНФИГУРИРУЕМОЙ (ПРОГРАММИРУЕМОЙ) АРХИТЕКТУРОЙ» описываются принципы и правила построения системы, методы реконфигурации и тп. Также имеется ряд публикаций о параллельных вычислениях, параллельных архитекрурах, проблемноориентированных системах и микропроцессорной технике [4-6].
В мире разработкой и исследованием параллельных реконфигурируемых вычислительных средств занимаются [4][7-9]:
На данный момент проведены исследования сетевых динамических объектов и способов отображения виртуальных параллельных моделей на уже существующие архитектуры. В качестве основных недостатков изученых способов является изначальная направленность их на определенные архитектуры и невозможность приминения их для динамически меняющейся архитектуры. На рисунке 1 условно приведен классический способ отображения модели на существующую архитектуру. Что, как видно из рисунка, приводит к некоторым проблемам на уровне архитектуры из-за ее ограниченности либо неприспособленности к реалиям конкретной задачи.
Исследованы возможности динамического перестраивания внутренней архитектуры микросхемы Spartan-3E, проводятся исследования возможностей динамического перепрограммирования блока микросхем, используемых в качестве микропроцессоров, а также возможностей динамического расширения устройства, построенного на нескольких микросхемах типа Spartan-3E [10].
Таким образом, в качестве желаемых результатов и планируемой цели ставиться достижение способа разработки, изображенного на рисунке 2, при котором разработка программной и аппаратной части является взаимодополняющим и взаимозависящим процессом, выполняем параллельно уже на уровне разработки моделирующей (решающей) среды.
Поскольку задачи моделирования сетевых динамических объектов достаточно широко используются и хорошо известны, то планируется создать расширяемую и динамически-меняющуюся моделирующую среду, меняющуюся либо автоматически, либо с минимальным влиянием человека под необходимые задачи. Оптимальным является построение системы с возможностью решения нескольких задач на одном устройстве за счет использования микросхем, которые не участвуют в вычислении других задач (находятся в простое).