Электронный научный журнал
Современные проблемы науки и образования
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 0,737

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

Ляшов М.В. 1 Берёза А.Н. 1 Алексеенко Ю.В. 1
1 Донской государственный технический университет
В статье проведен анализ построения высокопроизводительных распределенных систем. Было выявлено, что GRID-системы на основе персональных компьютеров являются наименее затратным решением, обеспечивающим сравнительно высокую производительность. Они являются хорошей альтернативой суперкомпьютерам и сервисным GRID-системам и в ряде задач могут их успешно заменить. Приведена гибридная реконфигурируемая система для высокопроизводительных вычислений на базе кластера центральных процессоров, графических процессоров и аппаратных ускорителей на основе программируемых логических интегральных схем. Описывается аппаратно-программная база, используемая для построения данной системы. Любая вычислительная задача, решаемая на представленной гибридной системе, состоит из клиентской и серверной части. Основная вычислительная нагрузка ложится на клиентов, которые предоставляют свои вычислительные ресурсы в качестве WCF-сервиса. Работа системы продемонстрирована на примере прикладной задачи синтеза конечных автоматов.
программируемые логические интегральные схемы
распределенные вычисления
гибридные системы
высокопроизводительные вычисления
кластер
1. Бегляров В.В., Берёза А.Н., Ляшов М.В. Аналитический обзор реконфигурируемых гибридных эволюционных аппаратных систем // Известия ЮФУ. Технические науки. Тематический выпуск – Интеллектуальные САПР. – 2009. – № 12. – С. 27-33.
2. Курейчик В.В., Курейчик В.М., Родзин С.И. Теория эволюционных вычислений. – М.: Физматлит, 2012. – 261 с.
3. Нетёсов А.С. Эвoлюциoннo-генетический пoдхoд к решению зaдaч oптимизaции. Срaвнительный aнaлиз генетических aлгoритмoв с трaдициoнными метoдaми oптимизaции [Электронный ресурс] // Инженерный вестник Дона. – 2011. – №3. URL: http://ivdon.ru/ru/magazine/archive/n3y2011/459 (дата обращения 08.11.2014).
4. Cibraro P. Professional WCF 4: Windows Communication Foundation with .NET 4. – Microsoft Press, 2010. – 390 p.
5. Nie X. Research on the Architecture of Intrinsic Evolvable Digital Circuits // Journal of Next Generation Information Technology. – 2011. – Vol. 2. – P. 8-14.
6. Preis T. GPU-computing in econophysics and statistical physics // The European Physical Journal. – 2011. – Vol. 194. – P. 87-119.
7. Raid A., Hassan A. Design of SOA-based Grid Computing with Enterprise Service Bus // International Journal on Advances in Information Sciences and Service Sciences. – 2010. – Vol. 2. – P. 71-82.
8. Sadrozinski H., Wu J. Applications of Field-Programmable Gate Arrays in Scientific Research. – CRC Press, 2010. – 167 p.
9. Stephens R. Fundamentals of Microsoft .NET Programming. – Microsoft Press, 2011. – 266 p.
10. Yang S. Logic synthesis and optimization benchmark user guide version 3.0. – MCNC, 1991. – 210 p.

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

Существует несколько способов организации распределенных систем. Наибольшую производительность обеспечивают суперкомпьютеры. Такие суперкомпьютерные системы могут решать большой спектр задач, но производство и эксплуатация таких компьютеров требует больших расходов, поэтому сегодня в мире их насчитывается всего несколько сотен. Более дешевое решение по сравнению с суперкомпьютерами, но менее производительное – это соединение кластеров в сервисные GRID-системы. Это решение также требует выделенных ресурсов и значительных затрат, связанных с эксплуатацией. Третий способ – это GRID-системы на основе персональных компьютеров (далее ПК), который являются наиболее дешевым решением, обеспечивающим сравнительно высокую производительность. Такие системы являются хорошей альтернативой суперкомпьютерам и сервисным GRID-системам и в ряде задач могут их успешно заменить [7].

Другая возможность удовлетворить потребность в масштабных расчетах – это применение параллельных вычислительных систем. Параллельные вычислительные системы – это аппаратно-программные системы, реализующие тем или иным способом параллельную обработку данных на многих вычислительных узлах. Примерами таких систем могут служить графические процессоры (англ. graphics processing unit, далее GPU) или аппаратные ускорители, построенные на программируемых логических интегральных схемах (англ. Field-Programmable Gate Array, далее FPGA) [8]. Аппаратные ускорители на основе GPU или FPGA уже достигли той точки развития, когда многие практические вычислительные задачи могут с легкостью решаться с их помощью, причем быстрее, чем на многоядерных либо распределенных системах [6].

Основная тенденция развития современных высокопроизводительных вычислительных систем – это гибридные системы, состоящие из распределенных вычислительных систем и аппаратных ускорителей на основе GPU или FPGA [1]. Основная проблема создания таких гибридных систем – это сложность объединения разнородных вычислительных ресурсов (таких как GPU, FPGA и универсальных процессоров) в единую распределенную систему. Авторами разработана аппаратно-программная система, позволяющая решить указанную проблему посредством применения концепции GRID-вычислений, в которой вычислительные ресурсы клиентов предоставляются как сервис.

Архитектура гибридной реконфигурируемой системы

В общем виде архитектура разработанной гибридной реконфигурируемой системы для высокопроизводительных вычислений приведена на рис. 1. Любая вычислительная задача, решаемая на представленной системе, состоит из клиентской и серверной части. Основная вычислительная нагрузка ложится на клиентов, которые предоставляют свои вычислительные ресурсы в качестве WCF-сервиса [4]. В качестве вычислительных узлов клиентов могут выступать процессоры общего назначения (далее CPU), графические процессоры (GPU), а также специальные аппаратные ускорители, выполненные на основе программируемых логических интегральных схем (FPGA). Клиентская часть построена на технологии развертывания приложений ClickOnce [9]. Применение технологии ClickOnce для развертывания распределенных систем позволяет решить другие проблемы подобных систем, такие как: сложность в обновлении клиентской части системы, безопасность запускаемых приложений и необходимость прав администратора для установки клиентской части.

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

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

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

  • Объединение в единую систему вычислительных узлов различной архитектуры (CPU, GPU и FPGA).
  • Простота развертывания системы. Чтобы подключить нового клиента к вычислениям, необходимо зайти на веб-страницу проекта в Интернете, либо в сетевом окружении. Затем на стороне клиента будет установлена последняя версия системы, и он будет готов к вычислениям.
  • Возможность коммуникации на основе различных протоколов, в том числе и с шифрованием.
  • Возможность динамического добавления и отключения как клиентов, так и отдельных вычислительных блоков клиента во время вычислений.
  • Разработка вычислительных задач на современных языках программирования, таких как C#, VB.NET, Iron Python и др.

Реконфигурируемый аппаратный ускоритель на базе FPGA

На сегодняшний день аппаратные ускорители на базе программируемых логических интегральных схем активно используются в проблемно-ориентированных системах [8, 1]. На рис. 2 представлен разработанный реконфигурируемый аппаратный ускоритель на базе FPGA, позволяющий применять его в гибридной системе для высокопроизводительных вычислений.

Рис. 2. Реконфигурируемый аппаратный ускоритель

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

Рис. 3. Структурная схема реконфигурируемой части аппаратного ускорителя

Основой реконфигурируемой части аппаратного ускорителя является генетический алгоритм. Генетические алгоритмы (далее ГА) – эффективные методы оптимизации, основанные на принципах естественного отбора и генетики. ГА успешно применяются для нахождения квазиоптимальных решений в различных задачах, где классические методы оказываются неэффективными [2, 3].

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

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

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

Экспериментальные исследования

Разработанная гибридная реконфигурируемая система для высокопроизводительных вычислений, в состав которой включен аппаратный ускоритель на базе FPGA, была протестирована на промышленных тестовых задачах синтеза конечных автоматов (далее КА) MCNC [10].

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

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

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

  • значение выходной переменной, генерируемое КА (рис. 4 а);
  • номер состояния, в которое переключается автомат по случайно выбранному переходу (рис. 4 б).

Рис. 4. Оператор мутации

Оператор кроссинговера случайным образом производит обмен генетической информацией между двумя вариантами решений. При этом в популяции сохраняется уже существующая наследственная информация. Качество решений получаемых генетическим алгоритмом во многом зависит от выбора типа применяемого оператора кроссинговера. В решаемой задаче был применен двухточечный оператор кроссинговера [2].

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

Временные характеристики генетического алгоритма синтеза КА

Временные характеристики

Аппаратная реализация

Программная реализация

Тактовая частота

300 МГц

3 ГГц (Р4)

Генерация популяции

0,64 мкс

0,25 мкс

Оценка решений

163,8 мкс

7,2 мс

Применение операторов ГА

77,4 мкс

4,5 мс

Общее время

0,15 с

9,2 с

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

Выводы

На базе кафедры «Информационные системы и радиотехника» Института сферы обслуживания и предпринимательства (филиал) ДГТУ в г. Шахты разработан и функционирует прототип гибридной вычислительной системы для высокопроизводительных вычислений. Разработанная система позволила объединить центральные процессоры, графические процессоры и аппаратные ускорители на базе программируемых логических интегральных схем в единую среду, что, в свою очередь, дало возможность проводить научные исследования, требующие больших вычислений.

Работа выполнена при поддержке Российского Фонда Фундаментальных Исследований (грант № 14-07-00816 и № 13-07-00951).

Рецензенты:

Галушкин Н.Е., д.т.н., профессор, кафедра «Радиоэлектронные и электротехнические комплексы» Института сферы обслуживания и предпринимательства (филиал) ДГТУ, г. Шахты.

Кураков Ю.И., д.т.н., профессор, заведующий кафедрой «Естественнонаучные дисциплины» Шахтинского института (филиал) ЮРГПУ (НПИ) им. М.И. Платова, г. Шахты.


Библиографическая ссылка

Ляшов М.В., Берёза А.Н., Алексеенко Ю.В. ГИБРИДНАЯ РЕКОНФИГУРИРУЕМАЯ СИСТЕМА ДЛЯ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛЕНИЙ // Современные проблемы науки и образования. – 2014. – № 6.;
URL: http://science-education.ru/ru/article/view?id=15589 (дата обращения: 26.08.2019).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.252