Информатика, вычислительная техника и управление УДК 004.43 DOI: 10.14529/cmsel50303
СОВРЕМЕННЫЕ И ПЕРСПЕКТИВНЫЕ ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ С РЕКОНФИГУРИРУЕМОЙ АРХИТЕКТУРОЙ1
И.И. Левин, А.И. Дордопуло, И.А. Каляев, Ю.И. Доронченко, М.К. Раскладкин
В статье рассматриваются архитектура и сравнительные технические характеристики реконфигурируемых вычислительных систем (РВС) на основе программируемых логических интегральных схем (ПЛИС) семейства Xilinx Virtex-7: вычислительных модулей 24V7-750 и «Тайгета», устанавливаемых в вычислительный шкаф, и реконфигурируемого вычислительного блока «Калеано» для настольного использования. Рассматриваются также архитектура и компоновка РВС нового поколения на основе жидкостного охлаждения, приводятся результаты расчетов и макетирования основных технических решений. Рассматриваются технологии решения прикладных задач с помощью комплекса средств разработки прикладного программного обеспечения. РВС нового поколения на основе жидкостного охлаждения позволяют достичь производительности 1 Пфлопс в стандартном вычислительном шкафу высотой 47U при потребляемой мощности 150 кВт, обеспечивая, тем самым, существенное преимущество по таким технико-экономическим параметрам, как реальная и удельная производительность, энергоэффективность, массога-баритные характеристики и другим по сравнению с аналогичными системами.
Ключевые слова: реконфигурируемые вычислительные системы, программируемые логические интегральные схемы, вычислительный модуль, прикладное программное обеспечение.
Введение
Одним из перспективных способов достижения высокой реальной производительности вычислительной системы является адаптация ее архитектуры под структуру решаемой задачи и создание вычислительного устройства, одинаково эффективно реализующего как структурные, так и процедурные фрагменты вычислений.
Поэтому отечественные [1] и зарубежные производители вычислительной техники все чаще включают в состав разрабатываемых вычислительных систем программируемые логические интегральные схемы (ПЛИС) для ускорения работы при реализации вычислительно трудоемких алгоритмов.
Создаются как отдельные ускорители с одним-двумя кристаллами ПЛИС, так и целые вычислительные комплексы. Такие фирмы как Nallatech (http://www.nallatech.com) и Pico Computing (http://picocomputing.com) выпускают ряд ускорителей и несущих плат с небольшим числом (до четырёх) кристаллов ПЛИС, которые используются в создании серверов и гибридных кластерных систем фирмами HP и IBM.
1 Статья рекомендована к публикации Программным комитетом конференции «Параллельные вычислительные технологии — 2015».
Компании Convey (http://www.conveycomputer.com) и Maxeler Technologies (http://www.maxeler.com) создают гибридные суперкомпьютеры на основе собственных гетерогенных кластерных узлов, каждый из которых может содержать от одного до четырех кристаллов ПЛИС и несколько универсальных процессоров.
Похожее решение используется и компанией SRC (http://www.srccomp.com), которая выпускает узлы, названные MAP processor, для стойки (MAPstation) форм-фактором 1U, 2U и 4U. MAPstation 1U содержит один MAP processor. MAPstation 2U содержит до трех MAP processor. MAPstation 4U может содержать до 10 различных модулей — MAP processor, модуль с универсальным микропроцессором или модуль памяти.
В Научно-исследовательском центре суперЭВМ и нейрокомпьютеров («НИЦ СЭ и НК», г. Таганрог) в содружестве с Научно-исследовательским институтом многопроцессорных вычислительных систем Южного федерального университета (НИИ МВС ЮФУ, г. Таганрог) и Южным научным центром Российской академии наук (ЮНЦ РАН, г. Ростов-на-Дону) разрабатываются и производятся реконфигурируемые вычислительные системы класса суперЭВМ, где основным вычислительным ресурсом являются не микропроцессоры, а множество кристаллов ПЛИС, объединенных в вычислительные поля посредством высокоскоростных каналов передачи данных.
Спектр выпускаемых и проектируемых изделий достаточно широк: от полностью автономных малогабаритных реконфигурируемых ускорителей (вычислительных блоков), вычислительных модулей в настольном или стоечном конструктивном исполнении до вычислительных систем, состоящих из нескольких вычислительных шкафов, размещаемых в специально оборудованном машинном зале.
Реконфигурируемые вычислительные системы, содержащие большие вычислительные поля ПЛИС, находят применение для решения вычислительно трудоемких задач в различных областях науки и техники, поскольку обладают рядом существенных преимуществ по сравнению с многопроцессорными вычислительными системами кластерной архитектуры: высокими реальной и удельной производительностями, высокой энергоэффективностью и др.
В данной статье рассмотрены архитектура и технические характеристики реконфигурируемых вычислительных систем (РВС) на основе программируемых логических интегральных схем (ПЛИС) семейства Xilinx Virtex-7: вычислительных модулей 24V7-750 и «Тайгета», устанавливаемых в вычислительный шкаф, и реконфигурируемого вычислительного блока «Калеано» для настольного использования. Статья организована следующим образом. В разделе 1 описаны реконфигурируемые вычислительные системы на основе ПЛИС Xilinx Virtex-7. Раздел 2 посвящен программному обеспечению РВС. В заключении сделан вывод о том, что РВС на основе ПЛИС Xilinx Virtex UltraScale можно рассматривать как основу для создания высокопроизводительных вычислительных комплексов нового поколения, обеспечивающих высокую эффективность вычислений и близкий к линейному рост производительности при наращивании вычислительного ресурса.
1. РВС на основе ПЛИС Xilinx Virtex-7
1.1. Реконфигурируемый вычислительный блок «Калеано»
На основе ПЛИС Xilinx седьмой серии разработан реконфигурируемый вычислительный блок (РВБ) «Калеано» в конструктивном исполнении высотой 1U, предназначенный для обработки данных, поступающих по каналу Gigabit Ethernet без поддержки IP-протоколов. На рис. 1 представлены фотографии РВБ «Калеано».
РВБ «Калеано» выпускается в двух модификациях: «Калеано-К» на ПЛИС Kintex-7 ХС7К160Т и «Калеано-V» на ПЛИС Virtex-7 XC7VX485T. Технические характеристики РВБ «Калеано» для этих модификаций приведены в табл. 1.
а) общий вид РВБ «Калеано» б) РВБ «Калеано» со снятой верхней крышкой
и печатная плата Рис. 1. Фотографии РВБ «Калеано» и его составных частей
Таблица 1
Технические характеристики РВБ «Калеано» для модификаций «Калеано-К»
и «Калеано-V»
Модификации РВБ
Технический параметр «Калеано»
Калеано-К Калеано-V
Число и тип ПЛИС 6 6
Общее число эквивалентных вентилей в ПЛИС 96 288
вычислительного поля, млн.
Объем оперативной памяти, Гб 3 3
Производительность вычислительного модуля Pi32/Pi64, 150/75 440/220
Гфлопс
Частота работы, МГц 330 400
Скорость обмена данными по каналу Ethernet, Гбит/с 1 1
Частота передачи данных по LVDS между ПЛИС 900 1200
вычислительного поля, МГц
Потребляемая мощность, Вт 200 320
Габаритные размеры, мм 480x270x70 480x270x70
Стоимость, млн. руб. 1,3 2,0
РВБ «Калеано» содержит вычислительное поле из шести ПЛИС, встроенную управляющую ЭВМ, систему питания, систему управления, систему охлаждения и другие подсистемы.
Все ПЛИС вычислительного поля соединены между собой по принципу близкодей-ствия с помощью LVDS-каналов, ко всем ПЛИС РВБ подключены модули динамической памяти емкостью 256 Мбайт каждый.
Для управления и конфигурирования вычислительного поля РВБ используется ЭВМ семейства СОМ-Express фирмы Kontron, установленная непосредственно на плате вычислительного модуля.
С ее помощью подключается периферийное оборудование, осуществляются подготовка и отладка параллельной программы для решения вычислительно трудоемких задач, формируются файлы исходных данных, которые вместе с исполняемым модулем задачи через шину PCI-Express загружаются в вычислительное поле по LVDS-каналу.
После выполнения задачи результаты решения пересылаются в процессорный модуль COM-Express.
1.2. Реконфигурируемый вычислительный модуль «Плеяда»
По государственному контракту № 14.527.12.0004 от 03.10.2011 г. в НИИ МВС ЮФУ была разработана реконфигурируемая вычислительная система РВС-7 на основе ПЛИС Virtex-7, которая содержит вычислительное поле из 576 микросхем ПЛИС Virtex-7 XC7V585T-FFG1761 объемом 58 миллионов эквивалентных вентилей каждая, конструктивно объединенных в один вычислительный шкаф высотой 47U с пиковой производи-15
тельностью 10 операций с фиксированной запятой в секунду.
Основным структурным компонентом РВС-7, предназначенным для установки в стандартную 19" вычислительную стойку, является вычислительный модуль (ВМ) 24V7-750 (ВМ «Плеяда»), представленный на рис. 2, в состав которого входят: четыре платы вычислительного модуля (ПВМ) 6V7-180; управляющий модуль УМ-7; подсистема питания; подсистема охлаждения и другие подсистемы.
а) платы вычислительного модуля «Плеяда»
б) вычислительный модуль «Плеяда» ВМ 24V7-750
Рис. 2. Фотография вычислительного модуля (ВМ) 24У7-750
В состав каждой платы ВМ 24У7-750 входят: вычислительное поле, состоящее из шести ПЛИС ХС7У585Т-1ЕРС1761 семейства Уп!ех-7, соединенных последовательно с возможностью передачи данных по 144 дифференциальным линиям ЬУВЭ-интерфейса на частоте 800 МГц, и распределенная память общим объемом 12 Гбайт (на каждой
плате установлены 12 микросхем динамической памяти MT47H128M16HR-25E с организацией 128 М*16 и частотой записи/чтения до 400 МГц.
Производительность одной платы составляет 645,9 Гфлопс при обработке 32-разрядных данных с плавающей запятой, а производительность ВМ 24V7-750 составляет 2,58 Тфлопс при обработке 32-разрядных данных с плавающей запятой.
1.3. Реконфигурируемый вычислительный модуль «Тайгета»
В ООО «НИЦ СЭ и НК» на основе ПЛИС Virtex-7 разработан 19м вычислительный модуль «Тайгета» высотой 2U, предназначенный для создания высокопроизводительных многостоечных РВС. ВМ «Тайгета», представленный на рис. 3, содержит четыре платы 8V7-200, встроенную управляющую ЭВМ, систему питания, систему управления, систему охлаждения и другие подсистемы. Платы в составе ВМ «Тайгета» соединяются LVDS-каналами, работающими на частотах до 1000 МГц. Внешний вид платы 8V7-200 показан на рис. З-б.
о т, liif fits, к, 'Г ф, ША' bjJM IJHft lili^lili, fejlllfe.i® Ss.ffi' , 4
1 •з □
а) ВМ «Тайгета» со снятой б) плата 8V7-200
верхней крышкой
Рис. 3. Фотография ВМ «Тайгета»
Плата вычислительного модуля (ПВМ) 8V7-200 представляет собой 20-слойную печатную плату с двухсторонним монтажом элементов, на которой располагаются восемь ПЛИС типа XC7VX485T-1FFG1761, содержащих по 48,5 миллионов эквивалентных вентилей, 16 микросхем распределенной памяти SDRAM типа DDR2 общим объемом 2 Гбайт, интерфейсы LVDS и Ethernet и другие компоненты.
Производительность одной ПВМ 8V7-200 составляет 667 Гфлопс при обработке 32-разрядных данных с плавающей запятой, а производительность ВМ «Тайгета» составляет соответственно 2,66 Тфлопс.
1.4. РВС на основе ВМ «Плеяда» и ВМ «Тайгета»
На основе рассмотренного выше ВМ «Плеяда» в 2013 году была создана реконфигу-рируемая вычислительная система РВС-7 (рис. 4-а), содержащая 24 вычислительных модуля и имеющая возможность наращивания системы до 36 вычислительных модулей. Производительность РВС-7 при комплектации от 24 до 36 ВМ 24V7-750 составляет от 62 до 93 Тфлопс при обработке 32-разрядных данных с плавающей запятой и 19,4^29,4 Тфлопс при обработке 64-разрядных данных с плавающей запятой соответственно. Областями применения РВС-7 и вычислительных комплексов на ее основе являются решение задач цифровой обработки сигналов и многоканальная цифровая фильтрация.
На основе ВМ «Тайгета» была создана РВС, внешний вид которой представлен на рис. 4-6. Производительность одной стойки РВС при комплектации 18 ВМ «Тайгета»
составляет 48 Тфлопс при обработке данных с плавающей запятой одинарной точности и 23 Тфлопс при обработке 64-разрядных данных с плавающей запятой.
а) РВС-7 на основе ВМ «Плеяда» б) РВС на основе ВМ «Тайгета»
Рис. 4. Внешний вид РВС на основе ПЛИС ХШпх УМех-7
Высокопроизводительные РВС на основе ВМ «Тайгета» ориентированы на решение вычислительно трудоемких задач науки и промышленности, задач синтеза лекарств и задач символьной обработки и обеспечивают при этом существенное конкурентное преимущество по большинству технико-экономических параметров: удельной производительности, энергоэффективности и другим по сравнению с суперЭВМ традиционной кластерной архитектуры.
1.5. Перспективные реконфигурируемые системы на основе ПЛИС ХШпх и11га8са1е
Дальнейшим развитием использованной при построении РВС на основе ПЛИС ХН-Шх УМех-7 открытой масштабируемой архитектуры [2] является использование в новых разрабатываемых изделиях перспективной элементной базы — ПЛИС ХШпх нового поколения семейства и11га8са1е, выполненных по технологии 20 нм и обладающих сниженным энергопотреблением и повышенным быстродействием по сравнению с ПЛИС седьмого семейства.
1.6. Реконфигурируемый вычислительный блок на основе ПЛИС иН;га8са1е
Разрабатываемый РВБ «Калеано-и» будет выполнен также в конструктиве высотой 1и, но в отличие от своих предшественников «Калеано-К» и «Калеано-У», будет содержать четыре ПЛИС ХШпх и11га8са1е ХСУИ095 объемом 95 млн. эквивалентных вентилей каждая, что позволит создать вычислительное поле общим объемом 380 млн. эквивалентных вентилей. Структурная схема РВБ «Калеано-и» и эскиз компоновки платы показаны на рис. 5,а-б.
На рис. 5 обозначены:
ВБ1-ВБ4 — вычислительные ПЛИС ХШпх иН,га8са1е ХСУШ95; ББ5 — ПЛИС контроллера ПВМ ХШпх и^гаЭсаЬэ ХСКШ40;
— А1-А9 — модули распределенной памяти;
— Х2-Х4, Х7-Х12 — разъемы различных типов интерфейсов.
РАМ
РАМ
РАМ
ХШпх UltraScale ХШпх UltraScale
ХШпх UltraScale ХШпх UltraScale
РАМ
РАМ
КБМ
МЗУ
Intel CPU
SATA
УвА
DP
иэв
-PCI-E -LVDS -SSTL
5=>
30 SE
□□
□□
□□
□□
00
а) структурная схема РВБ «Калеано-U»
б) эскиз компоновки платы РВБ
Рис. 5. РВБ «Калеано-U»
По сравнению с предыдущей версией РВБ «Калеано-У» производительность РВБ «Калеано-и» возрастет в 1,7-1,8 раза при увеличении потребляемой мощности не более чем в 1,3 раза.
1.7. РВС с жидкостным охлаждением на основе ПЛИС и^га8са1е
Использование воздушных систем охлаждения современных высокопроизводительных вычислительных систем и построенных на их основе суперкомпьютеров, в том числе реконфигурируемых, практически достигло своего предела. Большинство разработчиков вычислительной техники в качестве перспективы для решения проблем охлаждения проектируемых вычислительных комплексов ориентируются на применение жидкостного охлаждения.
Для вычислительных модулей РВС, проектируемых на основе перспективных семейств ПЛИС, целесообразно использовать жидкостное охлаждение, в частности, непосредственное погружение плат вычислительных модулей в жидкостный хладагент на основе минерального масла.
В ООО «НИЦ СЭ и НК» активно развивается направление по созданию РВС нового поколения на основе жидкостного охлаждения. Разработаны новые конструкции печатных плат и вычислительных модулей, характеризующиеся высокой плотностью компоновки. В частности, в настоящее время ведется разработка перспективных вычислительных модулей «Скат-8» для многостоечных РВС сверхвысокой производительности.
Плата перспективного вычислительного модуля содержит восемь ПЛИС семейства У1г!ех икгаЭсак логической емкостью не менее 100 млн. эквивалентных вентилей каждая. Вычислительный модуль состоит из двух секций: в первой секции размещается 16 плат вычислительных модулей с потребляемой мощностью до 800 Вт каждая, причем все платы полностью погружены в электрически нейтральный жидкостный хладагент; во второй секции располагаются насосная группа и теплообменник, обеспечивающие проток и охлаждение хладагента. Эскиз ВМ с высотой конструктива Зи показан на рис.
Согласно проведенным расчетам, использование жидкостного охлаждения и построение вычислительных систем на основе ВМ «Скат-8» обеспечивает сверхпетафлопсную производительность одного вычислительного шкафа РВС.
Вычислительная 19" стойка суперкомпьютера, эскиз которой представлен на рис. 6-б, может содержать до 12 ВМ «Скат-8» с жидкостным охлаждением. Производительность и потребляемая мощность перспективной РВС приведены в табл. 2.
а) эскиз ВМ «Скат-8» б) эскиз вычислительной стойки
на основе ВМ «Скат-8»
Рис. 6. Эскиз вычислительной системы на основе жидкостного охлаждения
Таблица 2
Производительность и потребляемая мощность перспективной РВС на основе ПЛИС ХШпх и^га8са1е
Характеристика Значение
Производительность ВМ «Скат-8» 105 Тфлопс
Производительность вычислительной стойки на основе ВМ «Скат-8» 1 Пфлопс
Потребляемая мощность ВМ «Скат-8» 13 кВт
Потребляемая мощность вычислительной стойки на основе ВМ «Скат-8» 150 кВт
На основе производимых в «НИЦ СЭ и НК» реконфигурируемых систем можно проследить темпы роста производительности РВС при переходе от семейства к семейству ПЛИС (табл. 3).
Таблица 3
Производительность реконфигурируемых суперЭВМ
Изделие, год выпуска, семейство ПЛИС Производительность платы Р132/Р1б4, Гфлопс Производительность ВМ Р132/Р1б4, Гфлопс Производительность шкафа 47и Р1б4, Тфлопс
«Орион-5», 2009 год, УМех-5 250/85 1000/340 19,2-28,8
«Ригель», 2010/2012 год, УМех-6 400/125 1600/500 34,5-51,8
«Тайгета», 2012/2013 год, УМех-7 900/300 3600/1200 68-100
«Скат», 2015/2016 год, и^га8са1е 7250/2500 82500/30000 1000-1250
На основе представленного конструктивного исполнения в 2015-2016 годах будут созданы сверхпроизводительные вычислительные комплексы, в которых обеспечивается
эффективное охлаждение вычислительных ПЛИС как семейства UltraScale, так и следующего прогнозируемого семейства ПЛИС.
2. Программное обеспечение РВС
В настоящее время существует множество различных систем проектирования, позволяющих создавать структурные решения прикладных задач на ПЛИС. Наиболее популярными как в качестве отдельного средства разработки, так и в составе комплексов, являются программы-синтезаторы, предоставляемые фирмами-изготовителями ПЛИС: ISE и Vivado фирмы Xilinx [3], Quartus II фирмы Altera [4] и Actel Libero IDE фирмы Actel [5]. Данные средства, помимо непосредственно среды проектирования цифровых устройств, включают в себя ряд вспомогательных утилит: анализаторы временных характеристик, редакторы размещения, модули программирования ПЛИС, системы моделирования цифровых устройств и др. Благодаря широкому инструментарию эти системы проектирования обеспечивают полный цикл разработки цифровых устройств в пределах одного кристалла ПЛИС: создание исходного описания проекта, синтез, моделирование, размещение, трассировку, конфигурирование кристалла.
В связи с постоянным ростом ёмкости кристаллов ПЛИС проектирование решений прикладных задач в кристаллах ПЛИС с помощью языков описания аппаратуры (VHDL, AHDL, Verilog и др.), а также разработка цифровых устройств в графических редакторах становится все более трудоемкой. Поэтому в настоящее время ведущие производители ПЛИС и реконфигурируемых вычислителей ориентируются на языки высокого уровня. Так, в новой среде разработки Vivado фирмы Xilinx добавлен новый инструмент проектирования Vivado HLS [6], основанный на языке высокого уровня, а компания Altera для своих ПЛИС предлагает инструментарий разработки Altera SDK (http://www.altera.com/literature/lit-opencl-sdk.jsp) для нового стандарта параллельного программирования гетерогенных систем OpenCL. В данных решениях используются трансляторы С-подобных языков, генерирующие из программы на аналоге языка программирования высокого уровня С код на языках описания аппаратуры на уровне регистровых передач (RTL-уровень, трансляторы С-to-RTL).
Несмотря на схожесть синтаксисов данных С-подобных языков с самим языком С, подобный подход вовсе не означает, что исходный код на языке С, написанный под персональный компьютер или кластерную вычислительную систему, будет понят трансляторами C-to-RTL. Выбор языка С в качестве основы обусловлен широкой распространенностью данного языка, что существенно упрощает освоение новых инструментариев разработки решений прикладных задач для ПЛИС.
Также при использовании трансляторов C-to-RTL весь код программы либо явно указанные процедуры транслируются в RTL-описания отдельных кристаллов ПЛИС. В подобных системах разработки отсутствует инструментарий, обеспечивающий автоматические разбиения параллельной программы на множество связанных кристаллов ПЛИС.
В Vivado HLS проект разрабатывается в рамках одного кристалла ПЛИС, и если программисту недостаточно аппаратного ресурса кристалла, то он вынужден самостоятельно распределять вычисления между несколькими проектами для каждой ПЛИС и синхронизировать управляющие и информационные потоки между ними.
Стандарт OpenCL используется компанией Nallatech (разработчик реконфигурируемых вычислителей) и подразумевает использование нескольких ПЛИС в одном проекте.
Программирование решений в кристаллах ПЛИС в данном случае осуществляется с помощью вызова функций из библиотек инструментария разработки Altera SDK, и в каждом задействованном кристалле ПЛИС выполняются вычисления, описанные отдельным участком кода. Таким образом, программа, написанная в стандарте OpenCL, представляет собой основной код, написанный под традиционные процессоры, и отдельные участки кода, написанные под ПЛИС, задействованные как сопроцессоры. В данном случае задача синхронизации данных также возлагается на самого программиста.
Еще одним известным средством программирования ПЛИС является комплекс, разработанный компанией Mitrionics, состоящий из виртуального процессора Mitrion Virtual Processor (MVP), программирование которого осуществляется на языке высокого уровня Mitrion-C, и библиотеки функций для построения хост-программ MithalAPI, входящих в пакет разработки Mitrion SDK [7]. Разрабатываемая на языке Mitrion-C программа должна быть полностью реализована на одном виртуальном процессоре MVP, что не позволяет программировать многокристальные РВС, и следовательно, существенно снижает эффективность использования программного комплекса компании Mitrionics. Для программирования многокристальных РВС со связями между ПЛИС программисту необходимо самому реализовать интерфейс (протокол) обмена данными между ПЛИС и решить вопросы, связанные с синхронизацией потоков данных. В этом случае программа для РВС вырождается в программу для кластера (множество процессоров MVP), реализованного на ПЛИС, что существенно снижает эффективность реализации задач на многокристальных РВС.
2.1. Язык COLAMO и комплекс средств программирования многокристальных РВС
Альтернативный подход к программированию РВС предлагается в НИИ МВС ЮФУ, занимающемся разработкой многокристальных реконфигурируемых вычислительных систем различных архитектуры и конфигурации уже более 15 лет.
Опыт решения различных классов задач в НИИ МВС ЮФУ показал, что для эффективного решения современных трудоемких задач программисту необходимы средства программирования, которые обеспечивают следующие основные функции:
— программирование на языке высокого уровня;
— поддержку многокристального программирования;
— обеспечение высокой частоты работы ПЛИС;
— высокую плотность заполнения кристалла ПЛИС;
— поддержку конвейерной и макроконвейерной организации вычислений.
В НИИ МВС ЮФУ разработан и широко используется программный комплекс, состоящий из следующих компонентов:
— транслятор языка программирования COLAMO, осуществляющего трансляцию исходного кода на COLAMO в информационный граф параллельной прикладной программы;
— синтезатор масштабируемых схемотехнических решений на уровне логических ячеек ПЛИС Fire!Constructor, осуществляющего отображение полученного от транслятора языка программирования COLAMO информационного графа на архитектуру РВС, размещение отображенного решения по кристаллам ПЛИС и автоматическую синхронизацию фрагментов информационного графа в разных кристаллах ПЛИС;
— библиотеки IP-ядер, соответствующих операторам языка COLAMO (функционально-законченных структурно-реализованных аппаратных устройств) для различных предметных областей, и интерфейсов для согласования скорости обработки информации и связи в единую вычислительную структуру;
— средства отладки и программ доступа и мониторинга состояния РВС.
Язык высокого уровня COLAMO предназначен для описания реализации параллельного алгоритма и создания на основе принципов структурно-процедурной организации вычислений [1, 8, 9] в архитектуре РВС специализированной вычислительной структуры, которая предполагает последовательную смену структурно (аппаратно) реализованных фрагментов информационного графа задачи, каждый из которых является вычислительным конвейером потока операндов.
Таким образом, приложение (прикладная задача) для РВС состоит из структурной составляющей, представленной в виде аппаратно реализованных фрагментов вычислений, и процедурной составляющей, представляющей собой единую для всех структурных фрагментов управляющую программу последовательной смены вычислительных структур и организации потоков данных.
Для представления такой организации вычислений в языке используется понятие «кадр». Кадром является программно-неделимый компонент, представляющий собой совокупность операторов, которые реализуются в виде арифметико-логических команд и команд чтения/записи, выполняемых на различных функциональных устройствах, соединенных между собой в соответствии с информационной структурой алгоритма.
В языке COLAMO отсутствуют явные формы описания параллелизма, а распараллеливание достигается с помощью объявления типов доступа к переменным и индексации элементов массивов, что характерно для языков потока данных. Для обращения к данным используется два основных метода доступа: параллельный доступ (задаваемый типом Vector) и последовательный доступ (задаваемый типом Stream). Степень параллелизма определяется по минимальному значению параметра распараллеливания. Для типа доступа Stream степень параллелизма равна 1, а для типа доступа Vector определяется наименьшим значением векторной составляющей каждого массива, участвующего в вычислениях. Для параллельного типа доступа возможна одновременная обработка всех размерностей массивов, заданных типом Vector, при этом повышается аппаратный ресурс на обработку, но снижается время обработки.
Многомерные массивы данных могут иметь множество измерений, каждое из которых может иметь последовательный или параллельный тип доступа, задаваемый ключевым словом Stream или Vector соответственно. Изменение типа доступа позволяет достаточно просто управлять как степенью распараллеливания вычислений на уровне описания структур данных, так и скоростью обработки и занимаемым ресурсом, что позволяет программисту описывать различные виды параллелизма в достаточно сжатом виде.
Помимо типа доступа, для переменной в языке COLAMO определены также и типы ее хранения: мемориальный (Mem), регистровый (Reg) и коммутационный (Com).
Мемориальной переменной называется величина, хранящаяся в ячейке распределенной памяти и, следовательно, сохраняющая свое значение до очередного переприсваивания. Для мемориальной переменной возможно одновременное выполнение только одного процесса. Поэтому в семантике языка COLAMO для мемориальной переменной в теле
кадра действуют правило однократного присваивания и правило единственной подстановки. Правило однократного присваивания указывает на то, что мемориальная переменная в кадре изменяет свое значение только один раз. Правило единственной подстановки определяет, что переменная в кадре может использоваться только для одного процесса чтения или записи.
Для описания связей между элементами информационного графа задачи в языке COLAMO предназначена коммутационная переменная. Поскольку коммутационная переменная описывает информационные связи, то она не требует никакого вычислительного аппаратного ресурса для своей реализации. Доступ к значению коммутационной переменной после выполнения кадра невозможен. Коммутационная переменная необходима транслятору доя указания информационных зависимостей при построении вычислительной структуры задачи. На коммутационную переменную, как и на мемориальную переменную, действует правило однократного присваивания, но для нее не выполняется правило единственной подстановки. Использование коммутационных переменных позволяет легко разветвлять и дублировать потоки данных, но не позволяет реализовать рекурсию.
Для организации рекурсии в языке COLAMO используется регистровая переменная, которая представляет собой регистр на аппаратном уровне и используется для хранения промежуточных данных, полученных в процессе вычислений. Единственным ограничением для регистровой переменной в теле кадра является правило однократного присваивания.
Трансляция программы на языке высокого уровня COLAMO состоит в создании схемотехнической конфигурации вычислительной системы (структурной составляющей) и параллельной программы, управляющей потоками данных (потоковой и процедурной составляющих) [1, 8, 9]. Создание структурной составляющей заключается в построении вычислительного графа, соответствующего описанным на COLAMO информационным зависимостям между результатами вычислений.
При этом для каждой используемой в тексте программы операции подставляется специализированный вычислительный блок в зависимости от типа доступа к переменным, типа данных, их разрядности и т.д. Синтезированный информационный граф задачи передается в синтезатор Fire!Constructor для отображения на аппаратный ресурс многокристальной РВС [10].
Задача автоматического отображения параллельной программы на аппаратный ресурс многокристальной РВС состоит из трех подзадач: разбиения информационного графа на непересекающиеся подграфы, размещения сформированных подграфов в ПЛИС РВС и трассировки внешних связей размещённых подграфов в системе коммутаций РВС.
Результатом работы синтезатора Fire!Constructor являются файлы VHDL-описаний и файлы временных и топографических ограничений (User Constraints Files). Файлы VHDL описывают структурные реализации фрагментов параллельной программы. На основании этих файлов и библиотеки схемотехнических элементов формируются проекты для синтезатора ISE под каждую отдельную ПЛИС. Далее с помощью синтезатора ISE формируются конфигурационные файлы ПЛИС. Полученные конфигурационные файлы загружаются в РВС.
Программа на языке COLAMO разрабатывается в едином проекте и может быть
транслирована на любую РВС, описание которой и соответствующие библиотеки присутствуют в комплексе программирования РВС. В отличие от других существующих систем разработки решений прикладных задач на ПЛИС пользователю не требуется в тексте программы указывать, какие фрагменты программы в каких ПЛИС будут выполняться. Синтезатор Fire!Constructor обеспечивает автоматическое разбиение вычислительной структуры программы на языке COLAMO на несколько проектов в синтезаторе Xilinx ISE, при этом обеспечивается синхронизация информационных потоков как внутри кристалла ПЛИС, так и между ними.
Заключение
В данной статье рассматриваются ПЛИС в качестве элементной базы реконфигури-руемых суперЭВМ. Согласно данным таблицы 3, ПЛИС обеспечивают устойчивый, близкий к линейному, рост производительности РВС, открывая новые перспективы по созданию суперкомпьютеров петафлопсной производительности. Можно утверждать, что конструктивные решения, положенные в основу перспективных вычислительных модулей на основе ПЛИС Xilinx Virtex UltraScale, в том числе на основе жидкостного охлаждения, позволят сосредоточить в пределах одной вычислительной стойки высотой 47U мощный вычислительный ресурс и обеспечить удельную производительность РВС на основе ПЛИС Xilinx Virtex UltraScale на уровне лучших мировых показателей для суперЭВМ с кластерной архитектурой.
Это позволяет рассматривать РВС на основе ПЛИС Xilinx Virtex UltraScale как основу для создания высокопроизводительных вычислительных комплексов нового поколения, обеспечивающих высокую эффективность вычислений и близкий к линейному рост производительности при наращивании вычислительного ресурса.
Работа выполнена при финансовой поддержке Министерства образования и науки РФ по Соглашению о предоставлении субсидии № 14-578.21.0006 от 05.06.2014, уникальный идентификатор RFMEFI57814X0006, гранту Южного федерального университета №213.01-2014/014 и НИР №2257 базовой части государственного задания № 2014/174.
Литература
1. Каляев, И.А. Реконфигурируемые мультиконвейерные вычислительные структуры / И.А. Каляев, И.И. Левин, Е.А. Семерников, В.И. Шмойлов; под общ. ред. И.А. Каляева / Изд. 2-е, перераб. и доп. /Ростов-на-Дону: Изд-во ЮНЦ РАИ, 2009.
- 344 с.
2. Левин, И.И. Реконфигурируемые вычислительные системы с открытой масштабируемой архитектурой / И.И. Левин // Параллельные вычисления и задачи управления: Труды Пятой Международной конференции РАСО'2010 (Москва, 26 октября -28 октября 2010 г.). — М.: Учреждение Российской академии наук Институт проблем управления им. В.А. Трапезникова РАН, 2010. — С. 83-95.
3. Зотов, В.Ю. Проектирование цифровых устройств на основе ПЛИС фирмы XILINX в САПР WebPACK ISE / В.Ю. Зотов — М.: Горячая линия-Телеком. 2003. -624 с.
4. Quartus II Handbook Version 10.1 Volume 1: Design and Synthesis. Altera Corporation 2010.
5. Libera IDE v9.1 User's Guide. Actel Corporation 2010.
6. Тарасов, И. Проектирование для ПЛИС Xilinx с применением языков высокого уровня в среде Vivado HLS / И. Тарасов // Компоненты и технологии, 2013. — № 12. — С. 33-36.
7. http://www.mitrionics.com/ (дата обращения 07.04.2015)
8. Kalyaev, I.A. Reconfigurable Computer Systems Based on Virtex-6 and Virtex-7 FPCAs / I.A. Kalyaev, I.I. Levin, A.I. Dordopulo, L.M. Slasten // IFAC Proceedings Volumes, Programmable Devices and Embedded Systems. — Vol. 12, Part № 1, 2013. — P. 210— 214. DOI: 10.3182/20130925-3-CZ-3023.00009.
9. Kalyaev, Igor A. FPCA-based Reconfigurable Computer Systems / Igor A. Kalyaev, Ilya I. Levin, Alexey I. Dordopulo, Liuba M. Slasten // Science and Information Conference (SAI) (London, UK, 7 Oct - 9 Oct 2013). — P. 148-155.
10. Gudkov, V.A. Multi-level Programming of FPCA-based Computer Systems with Reconfigurable Macroobject Architecture / V.A. Gudkov, A.A. Gulenok, V.B. Kovalenko, L.M. Slasten // IFAC Proceedings Volumes, Programmable Devices and Embedded Systems. — 2013. — Vol. 12, No. 1. — P. 204-209. DOI: 10.3182/20130925-3-cz-3023.00008.
Левин Илья Израилевич, доктор технических наук, профессор, директор, ООО «Научно-исследовательский центр супер-ЭВМ и нейрокомпьютеров» (Таганрог, Российская Федерация), levinûsuperevm.ru.
Дордопуло Алексей Игоревич, кандидат технических наук, старший научный сотрудник, Южный научный центр РАН (Ростов-на-Дону, Российская Федерация) scorpioûmvs.tsure.ru.
Каляев И.А., Научно-исследовательский институт многопроцессорных вычислительных систем, Южный федеральный университет (Таганрог, Российская Федерация), kaliaevûmvs.tsure.ru.
Доронченко Ю.И., технический директор, ООО «Научно-исследовательский центр супер-ЭВМ и нейрокомпьютеров» (Таганрог, Российская Федерация), doronchenkoûsuperevm.ru.
Раскладкин М.К, начальник отдела, ООО «Научно-исследовательский центр суперЭВМ и нейрокомпьютеров» (Таганрог, Российская Федерация), raskladkinûmail.ru.
Поступила в редакцию 23 апреля 2015 г.
Bulletin of the South Ural State University Series "Computational Mathematics and Software Engineering"
2015, vol. 4, no. 3, pp. 24-39
DOI: 10.14529/cmsel50303
MODERN AND NEXT-GENERATION HIGHPERFORMANCE COMPUTER SYSTEMS WITH RECONFIGURABLE ARCHITECTURE
I.I. Levin, Scientific Research Centre of Supercomputers and Neurocomputers (Taganrog, Russian Federation) levin@superevm.ru,
A.I. Dordopulo, Southern Scientific Centre of the RAS (Rostov-on-Don, Russian Federation) scorpio@mvs.tsure.ru,
I.A. Kaliaev, Academician A.V. Kalyaev SRI multiprocessor computer system at Southern Federal University (Taganrog, Russian Federation) kaliaev@mvs.tsure.ru, Y.I. Doronchenko, Scientific Research Centre of Supercomputers and Neurocomputers (Taganrog, Russian Federation) doronchenko@superevm.ru,
M.K. Raskladkin, Scientific Research Centre of Supercomputers and Neurocomputers (Taganrog, Russian Federation) raskladkin@mail.ru
The paper covers the architecture and comparative specifications of reconfigurable computer systems (RCS) based on FPGAs of Xilinx Virtex-7 family: the computational modules 24V7-750 and Taygeta, which can be placed into a computational rack, and the reconfigurable desktop computational block Celaeno. Besides, the paper covers the architecture and assembly of the next-generation RCS based on liquid cooling, the results of prototyping of principal engineering solutions. The technology of implementation of applied tasks using the application development suit is considered. The next-generation RCS based on liquid cooling provide the performance up to 1 PFlops in a standard 47U computational rack with power consumption of 150 kWatts. It has a significant advantage of such technical and economical parameters as real and specific performance, power efficiency, mass and dimension parameters, etc. in comparison with other similar systems.
Keywords: reconfigurable computer systems, FPGAs, computational module, application software.
References
1. Kalyaev I.A., Levin I.I., Semernikov B.A., Shmoilov V.I. Rekonfiguriruyemiye multikon-veyerniye vichislitelniye struktury [Reconfigurable multipipeline computing structures]/ Edited by Kalyaeva I.A. Rostov-on-Don, YUNTS RAN, 2009. 344 P.
2. Levin I.I. Rekonfiguriruyemiye vichislitelniye sistemy s otkrytoi masshtabiruyemoi arkhitekturoi [Reconfigurable computer systems with open scalable architecture] Paral-lelnuye vichisleniya i zadachi upravleniya (PACO'2010): Trudy V Mezhdunarodnoi kon-ferentsii (Moskva, 26 oktyabrya - 28 oktyabrya 2010) [Parallel Computing and Control Problems: Proceedings of the Fifth International Conference (Moscow, Russia | October
26—28, 2010)]. M.: Uchrezhdeniye Rossiiskoi akademii nauk Institut problem upravleni-ya imeni V.A. Trapeznikova RAN, 2010. P. 83-95.
3. Zotov V.Y. Proijektirovanije tsifrovykh ustroistv na osnove PLIS firmy XILINX v SAPR WebPACK ISB [Design of digital devices based on Xilinx FPGAs using WebPACK ISB], M.: Goryachaya liniya-Telekom, 2003. 624 P.
4. Quartus II Handbook Version 10.1 Volume 1: Design and Synthesis. Altera Corporation 2010.
5. Libera IDE v9.1 User's Guide. Actel Corporation 2010. 633 P.
6. Tarasov I. Proijektirovanije dlya PLIS Xilinx s primenenijem yazikov visokogo urovnya v srede Vivado HLS [Design for Xilinx FPGAs using high level languages and Vivado HLS]. Komponenty i tekhnologii [Components and technologies]. 2013. Vol. 12. P. 33-36.
7. http://www.mitrionics.com/(accessed: 07.04.2015)
8. Kalyaev I.A., Levin I.I., Dordopulo A.I., Slasten L.M. Reconfigurable Computer Systems Based on Virtex-6 and Virtex-7 FPGAs // Programmable Devices and Embedded Systems. IFAC Proceedings Volumes, Vol. 12, Part № 1. 2013. P. 210-214. DOI: 10.3182/20130925-3-cz-3023.00009.
9. Kalyaev I.A., Levin I.I., Dordopulo A.I., Slasten L.M. FPGA-based Reconfigurable Computer Systems // Science and Information Conference (SAI) (London, UK, Oct, 7 - 9,2013). P. 148-155.
10. Gudkov V.A., Gulenok A.A., Kovalenko V.B., Slasten L.M. Multi-level Programming of FPGA-based Computer Systems with Reconfigurable Macroobject Architecture // Programmable Devices and Embedded Systems. IFAC Proceedings Volumes, 2013. Vol. 12, No. 1. P. 204-209. (ISSN 14746670). DOI: 10.3182/20130925-3-cz-3023.00008.
Received, April 23, 2015.