Научная статья на тему 'Гибридные суперкомпьютерные системы на основе программной платформы OpenCL'

Гибридные суперкомпьютерные системы на основе программной платформы OpenCL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
119
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕТЕРОГЕННЫЕ СУПЕРКОМПЬЮТЕРНЫЕ СИСТЕМЫ / СТАНДАРТ OPENCL / РЕКОНФИГУРИРУЕМЫЕ ВЫЧИСЛИТЕЛИ / АРХИТЕКТУРЫ СУПЕРКОМПЬЮТЕРНЫХ СИСТЕМ / FPGA / ЭВОЛЮЦИОННЫЕ АЛГОРИТМЫ / HETEROGENEOUS SUPERCOMPUTING SYSTEMS / STANDARD OPENCL / RECONFIGURABLE CALCULATOR / SUPERCOMPUTING SYSTEM ARCHITECTURE / EVOLUTIONARY ALGORITHMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Антонов Александр Петрович, Заборовский Владимир Сергеевич, Киселев Иван Олегович, Антонов Кирилл Александрович

В последние годы рост производительности компьютерных систем перестаёт отвечать росту требований, которые общество к ним предъявляет. Это связано с приближением степени интеграции СБИС к своему физическому пределу, а так же с использованием архитектур общего назначения для выполнения узкоспециализированных задач. Решение первой проблемы не представляется возможным в краткосрочной перспективе, так как предполагает изменение фундаметальных принципов построения вычислительных систем. Примером может служить разработка массовых квантовых либо оптических вычислителей. Вторая же задача может быть решена уже сейчас. В мире высокопроизводительных вычислений прослеживается переход от построения кластеров на базе процессоров общего назначения к использованию гетерогенных вычислительных структур, в которых используются в том числе графические ускорители(GPU) и специализированные микросхемы(ASIC). Самым перспективным вариантом, с точки зрения аппаратного повышения эффективности вычислений, являются реконфигурируемые вычислители на базе FPGA. Они обладают как всеми достоинствами ASIC низким энергопотребленеием и максимальной производительностью для отдельно взятой задачи, так и универсальностью GPU, так как конфигурацию можно изменять программно. Использование FPGA в гетерогенных кластерах стало возможным с появлением методов высокоуровневого синтеза, позволяющих проектировать конфигурацию FPGA на языках высокого уровня абстракции, таких как С/С++. В представленной статье описывается преимущества использования реконфигурируемых вычислителей над традиционными решениями, а так же рассматривается архитектура вычислителя собственной разработки, построенного на базе массива из 4 FPGA фирмы Xilinx. Для данного вычислителя был создан пакет поддержки платформы, позволяющий создавать конфигурацию при помощи языка OpenCL, который является кроссплатформенным стандартом в сфере высокопроизводительных вычислений. Также предлагается идея реализации суперкомпьютерного комплекса на базе кластера аппаратно-реконфигурируемых вычислителей и создания интеллектуальной системы, которая будет способна определить какой из типов гетерогенных вычислителей наиболее подходит для решения отдельно взятой задачи.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Антонов Александр Петрович, Заборовский Владимир Сергеевич, Киселев Иван Олегович, Антонов Кирилл Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

HETEROGENEOUS SUPERCOMPUTING SYSTEMS BASED ON OPENCL SOFTWARE PLATFORM

The increase of the demands, that society specifies to the computing systems, does not corresponds to the increase in their performance. This is due to the approach of the VLSI integration to its physical limit, as well as with the use of general-purpose architectures to perform highly specialized tasks. The first problem is fundamental and can not be figured out in short term perspective until mass-market quantum or optical computers appear. The second one could be solved today. High performance computing world tends to move from clusters, based on general purpose processors to heterogeneous structures, such as: GPUs and ASIC. However the most perspective approach is to use hardware-reconfigurable computers based on FPGAs. They have both the advantages of ASIC, that is low power consumption and high efficiency on a specific task, and the flexibility of GPU, i.e. configuration could be changed by software. The current paper shows the advantages of using reconfigurable computers instead of traditional approaches. Also it describes a unique reconfigurable computing board based on an array of 4 Xilinx FPGA. The board-support package, which allows creating configuration using OpenCL language, has been made for this board. OpenCL is a cross platform standard for high-performance parallel computing. We are integrating the board to a reconfigurable supercomputer, and developing an intellectual profiler, that is going to suppose to determine which computational unit suits better for the current task.

Текст научной работы на тему «Гибридные суперкомпьютерные системы на основе программной платформы OpenCL»

Раздел I. Принципы построения высокопроизводительных вычислительных систем

УДК 004.382.2 DOI 10.23683/2311-3103-2018-8-6-18

А.П. Антонов, В.С. Заборовский, И.О. Киселев, К.А. Антонов

ГИБРИДНЫЕ СУПЕРКОМПЬЮТЕРНЫЕ СИСТЕМЫ НА ОСНОВЕ ПРОГРАММНОЙ ПЛАТФОРМЫ OPENCL

В последние годы рост производительности компьютерных систем перестаёт отвечать росту требований, которые общество к ним предъявляет. Это связано с приближением степени интеграции СБИС к своему физическому пределу, а так же с использованием архитектур общего назначения для выполнения узкоспециализированных задач. Решение первой проблемы не представляется возможным в краткосрочной перспективе, так как предполагает изменение фундаметальных принципов построения вычислительных систем. Примером может служить разработка массовых квантовых либо оптических вычислителей. Вторая же задача может быть решена уже сейчас. В мире высокопроизводительных вычислений прослеживается переход от построения кластеров на базе процессоров общего назначения к использованию гетерогенных вычислительных структур, в которых используются в том числе графические ускорители(GPU) и специализированные микросхемы(ASIC). Самым перспективным вариантом, с точки зрения аппаратного повышения эффективности вычислений, являются реконфигурируемые вычислители на базе FPGA. Они обладают как всеми достоинствами ASIC - низким энергопотребленеием и максимальной производительностью для отдельно взятой задачи, так и универсальностью GPU, так как конфигурацию можно изменять программно. Использование FPGA в гетерогенных кластерах стало возможным с появлением методов высокоуровневого синтеза, позволяющих проектировать конфигурацию FPGA на языках высокого уровня абстракции, таких как С/С++. В представленной статье описывается преимущества использования реконфигурируемых вычислителей над традиционными решениями, а так же рассматривается архитектура вычислителя собственной разработки, построенного на базе массива из 4 FPGA фирмы Xilinx. Для данного вычислителя был создан пакет поддержки платформы, позволяющий создавать конфигурацию при помощи языка OpenCL, который является кроссплатформенным стандартом в сфере высокопроизводительных вычислений. Также предлагается идея реализации суперкомпьютерного комплекса на базе кластера аппарат-но-реконфигурируемых вычислителей и создания интеллектуальной системы, которая будет способна определить какой из типов гетерогенных вычислителей наиболее подходит для решения отдельно взятой задачи.

Гетерогенные суперкомпьютерные системы; стандарт OpenCL; реконфигурируемые вычислители; архитектуры суперкомпьютерных систем; FPGA; эволюционные алгоритмы.

A.P. Antonov, V.S. Zaborovskij, I.O. Kiselev, КА. Antonov

HETEROGENEOUS SUPERCOMPUTING SYSTEMS BASED ON OPENCL

SOFTWARE PLATFORM

The increase of the demands, that society specifies to the computing systems, does not corresponds to the increase in their performance. This is due to the approach of the VLSI integration to its physical limit, as well as with the use of general-purpose architectures to perform highly specialized tasks. The first problem is fundamental and can not be figured out in short term perspec-

tive until mass-market quantum or optical computers appear. The second one could be solved today. High performance computing world tends to move from clusters, based on general purpose processors to heterogeneous structures, such as: GPUs and ASIC. However the most perspective approach is to use hardware-reconfigurable computers based on FPGAs. They have both the advantages of ASIC, that is low power consumption and high efficiency on a specific task, and the flexibility of GPU, i.e. configuration could be changed by software. The current paper shows the advantages of using reconfigurable computers instead of traditional approaches. Also it describes a unique reconfigurable computing board based on an array of 4 Xilinx FPGA. The board-support package, which allows creating configuration using OpenCL language, has been made for this board. OpenCL is a cross platform standard for high-performance parallel computing. We are integrating the board to a reconfigurable supercomputer, and developing an intellectual profiler, that is going to suppose to determine which computational unit suits better for the current task.

Heterogeneous supercomputing systems; standard OpenCL; reconfigurable calculator; supercomputing system architecture; FPGA; evolutionary algorithms.

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

♦ энерго-эффективность (отношение производительности к энергопотреблению - ТФлопс/Вт);

♦ вычислительная эффективность (отношение реальной производительности к пиковой производительности - Real(Тфлопс)/Peak(ТФлопс));

♦ экономическая эффективность (Тфлопс/Руб) при решениях задач различных классов.

Данные метрики позволяют корректно сравнивать суперкомпьютерные системы, имеющие различную архитектуру, при решении задач различных классов.

Суперкомпьютеры, занимающие лидирующие позиции в списке ТОР 500 [1], в настоящее время превратились в вычислительных «монстров», имеющих «на борту» несколько десятков тысяч вычислительных узлов, миллионы процессорных ядер и более петабайта оперативной памяти [2]. При этом очевидно, что в рамках существующих архитектур суперкомпьютеров универсального способа решения проблемы повышения эффективности суперкомпьютерных систем (на основе указанных современных метрик) для прикладных задач различного класса попросту не существует. Так как объединение отдельных вычислителей в кластерную систему, работающую над решением одной вычислительной задачи, процесс нетривиальный, а эффективность решения задачи зависит от того как информационная структура алгоритма отображается на архитектуру выбранного вычислителя (включая процессорные элементы, имеющиеся каналы связи и блоки памяти).

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

Основываясь на этой идеи в последние годы магистральным направлением совершенствования компьютерных систем стал переход к использованию технологий кластеризации параллельных вычислений с использованием гетерогенных архитектур, включающих: массово-параллельные, часто используемые как гомогенные, MIMD (Multiple Instructions Multiple Data) микропроцессоры; потоковые SIMD (Single Instruction Multiple Data) ускорители и реконфигурируемые вычислители на базе программируемых логических интегральных схем (ПЛИС, англ. FPGA) [2].

Реконфигурируемые вычислители [4]:

♦ архитектурно адаптируется в реальном масштабе времени выполнения программы под алгоритм решаемой задачи;

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

♦ позволяют реализовывать сете-центрические системы (системы, в которых обмен данными с вычислителем, обеспечивающим реализацию алгоритма, осуществляется напрямую, а не через ведущий вычислитель, или компьютер) [4];

♦ имеют, по сравнению с современными процессорами общего назначения и процессорами типа SIMD, большее число транзисторов и логическую емкость, однако работают на частотах существенно ниже, что позволяет снизить потребление энергии при сравнимой производительности, либо при тех же энергетических затратах получить большую производительность при решении широкого класса задач, что достигается адаптацией архитектуры под решаемый алгоритм [5];

♦ могут иметь архитектуру в виде топологии информационного графа (поле связанных друг с другом FPGA, объединяемых одной ведущей FPGA), либо архитектуру, основанную на стандарте OpenCL [6].

Предлагаемые подходы. Предлагаемые в рамках данной статьи подходы для построения реконфигурируемых вычислителей для суперкомпьютеров основаны на базе стандарта OpenCL, определяющего требования к модели памяти и архитектуре вычислителях [7].

FPGA традиционно использовались для создания специализированных вычислителей. При этом для реализации алгоритма решения задачи на FPGA, порождения конфигурации FPGA, требовалось использовать языки описания аппаратуры: традиционно - это VHDL или Verilog/SystemVerilog и, в общем случае, неформализованный, т.е. ручной переход от высокоуровневого C/C++ описания алгоритма к языку описания аппаратуры, требующий от инженеров глубокого понимания аппаратуры, C/C++ и предметной области реализуемой аппаратно задачи [8]. Поэтому до появления средств высокоуровневого синтеза (High Level Synthesis) , стандарта OpenCL (Open Computing Language) [6] и соответсвующих средств разработки (например пакета SDAccel компании Xilinx) [7, 8] реализация аппаратно -реконфигурируемых вычислителей, аппаратная структура которых, аппаратная структура которых, в режиме реального времени подстраивается под структурную организацию алгоритмов решаемых задач была невозможна.

На данный момент ведущие производители FPGA - компании Intel [9] и Xilinx [10] реализовали поддержку стандарта OpenCL, который является кросс-платформенным (его поддерживают крупнейшие производители как CPU, так и GPU) языком программирования для параллельных вычислений в гетерогенной среде - вычислительной системе, в которой имеются различные типы вычислителей (CPU, GPU, FPGA). Данный стандарт широко применяется в разработке ПО для научных вычислений и обработки больших данных. и позволяет, не внося существенных изменений в ПО, на ходу заменять один тип вычислителя на другой [11].

Использование OpenCL, HLS и интегрированных сред разработки сокращает время проектирования, отладки и интеграции аппаратно -реконфигурируемого вычислителя на базе FPGA в гетерогенную вычислительную систему до 6 раз [12, 13].

Стандарт OpenCL, определяет базовые требования к модели памяти аппа-ратно-реконфигурируемого вычислителя и архитектуре вычислительной системы [14].

Модель работы в OpenCL [6] представлена на рис. 1.

Рис. 1. Модель работы в OpenCL

Код, написанный на языке С/С++ в рамках стандарта OpenCL, запускается на главном управляющем узле - хосте. Он распределяет задачи между вычислителями. На вычислителях реализуются алгоритмы, описанные в рамках стандарта OpenCL и называемые kernel. В соответствии со стандартом OpenCL каждый вычислитель может содержать один или несколько вычислительных ядер. На рис. 1 приведен случай, когда каждый вычислитель содержит одно ядро.

Алгоритм задачи, реализуемой на ядре, описывается на языке С/С++ в рамках стандарта OpenCL, с использованием расширений, созданных для удобного описания параллельных процессов, их взаимодействия между собой и общей памятью.

Каждое ядро может быть поделен на одинаковые рабочие группы (workgroup), которые, в свою очередь, могут разделяться на рабочие ячейки (work-item). Для разных типов устройств структура ядер может быть реализована по-разному, но принципы взаимодействия между ядрами и памятью определены в стандарте OpenCL.

В стандарте OpenCL предусмотрена модель памяти, представленная на рис. 2.

Рис. 2. Модель памяти вычислителя по стандарту OpenCL

Для каждого вычислительного ядра (kernel), существует глобальная память (Global memory), к которой имеет доступ как вычислитель, так и хост, поэтому она служит буфером между ними. Этот тип чаще всего реализуется с использованием память типа DDR3 или DDR4.

Для каждой рабочей группы (work-group) внутри ядра существует локальная память (Local Memory), эта память быстрее глобальной, но доступ к ней имеется только для текущей рабочей группы (Work-group). Обычно локальная память находится внутри в FPGA.

Для каждой рабочей ячейки (Work-Item) так же существует доступная только ей приватная память (Private Memory). Эта память самая быстрая и во всех типах устройств реализуется на базе регистров.

Важным преимущества стандарта OpenCL является его кроссплатформенный характер [15]. На практике это означает возможность повышения «интеллектуальности» процессов управления вычислительными ресурсами гетерогенных вычислительных систем: на этапе трансляции программы, либо непосредственно в среде исполнения, «на лету» принимая решение о выборе того или иного типа вычислительного узла, решение задачи на котором будет оптимально с точки зрения современных метрик. Таким образом, среда исполнения программы, включая архитектуру реконфигурируемого вычислителя (или вычислителей), адаптируется под особенности решаемой в данный конкретный момент времени вычислительной задачи [16].

Реконфигурируемые вычислители, ориентированные на работу на базе стандарта OpenCL, в настоящее время, как правило реализуются в конструктиве PCIe платы (это конструктив, используемый для реализации современных графических плат), что накладывает ограничения на геометрические размеры вычислителя и максимальное энергопотребление, заданные стандартом PCIe.

Стандартный размер графической платы не позволяет физически разместить на плате более 4 современных FPGA, что ограничивает возможности по построению кластерной архитектуры реконфигурируемого вычислителя на базе одной платы. Однако возможность объединения в рамках одной системы большого количества плат реконфигурируемых вычислителей, соединенных с ведущим вычислителем (хост компьютером) по высокоскоростной шине PCIe, ни только нивелирует данное ограничение, но и дает дополнительные преимущества [17]:

♦ гибкость распределения вычислительных ресурсов;

♦ возможность одновременного аппаратного решения разнородных задач;

♦ возможность отключения части вычислителей для экономии энергии.

Реализация аппаратно-реконфигурируемых вычислителей, аппаратная структура которых, в режиме реального времени решения задач, подстраивается под структурную организацию алгоритмов решаемых задач, стала возможной благодаря появлению технологии частичной реконфигурации FPGA:

♦ та часть логических ресурсов FPGA, которая отвечает за поддержание связи аппаратно-реконфигурируемого вычислителя по шине PCI Express с хостом и глобальной памятью вычислителя, требуемыми для правильной работы вычислителя в системе, остаётся неизменной;

♦ та часть логических ресурсов FPGA, на базе которой аппаратно реализуется алгоритм решаемой задачи, реконфигурируется в реальном масштабе времени решения прикладных задач.

Это позволяет в режиме реального времени изменять конфигурацию части FPGA без перезагрузки всей системы и с минимумом накладных расходов на передачу конфигурационных данных [18].

На «системном» уровне (на уровне отдельно стоящего компьютера или хост вычислителя суперкомпьютера) предлагается реализация идеи интеллектуального гипервизора гетерогенной вычислительной системы. Задача интеллектуального

гипервизора - оптимизация современных метрик эффективности суперкомпьютерных вычислений на основе «осмысленной» оптимизации вычислительной среды (архитектуры вычислителя) в зависимости от структуры и объема обрабатываемых данных и контекста задачи. Задачи интеллектуального гипервизора:

♦ оценка эффективности решения прикладной задачи (на основе профилирования выполнения задачи) [19];

♦ построение более эффективной вычислительной архитектуры для ее реализации с учетом ограничений - имеющихся в системе гомогенных, потоковых и реконфигурируемых вычислителей [20].

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

♦ 1М+ логических ячеек - для аппаратной реализации алгоритма решаемой задачи;

♦ 50Мбайт+ модулей встроенной RAM памяти (BRAM) - для реализации Private Memory;

♦ 1к+ модулей цифровой обработки сигналов (DSP) - для реализации операции типа multiply-accumulate (MAC);

♦ Аппаратные контроллеры DDR3/4 памяти;

♦ Аппаратные контроллеры PCIe;

♦ Умножители частоты тактовых сигналов;

♦ Блоки, обеспечивающие возможность частичной реконфигурации в процессе работы FPGA.

Базовый подход при создании платформ аппаратно-реконфигурируемых вычислителей - одна FPGA на плате. В табл. 1 представлены перечень и основные характеристики существующих на рынке платформ для реализации аппаратно-реконфигурируемых вычислителей на базе OpenCL, конструктивно реализованных в формате PCIe.

Таблица 1

Обзор существующих на рынке платформ

Плата Параметры FPGA DDR (объем ГВ тип) Тип PCIe Стоимость USD

Название Производитель Семейство /Тип Логическая Емкость (logic cell) DSP (шт.) BRAM (Мбит)

KCU1500 Xilinx Kintex Ultrascale XCKU115 1451k 5520 75.9 16 DDR4 PCIe3 x8 3500

VCU1525 Xilinx Virtex Ultrascale+ XCVU9P 2,586k 6840 345.9 64 DDR4 PCIe3 x16 7000

DE5-Net Terasic Stratix-V GX 5SGXEA7 622k 512 7.16 8 DDR3 PCIe3 x8 6250

DE10-Pro Terasic Stratix 10 GX GX2500 2753k 11520 229 8ECC DDR4 PCIe3 x16 11990

Alveo U200 Xilinx Virtex Ultrascale+ XCVU9P 1182k 6840 345.9Mb 16 8995

Alveo U250 Xilinx Virtex Ultrascale+ XCVU13P 3456k 12288 7.16Mb 16 12995

Из табл. 1 видно, что существующие на рынке аппаратно-реконфигурируемые вычислители имеют большое количество доступных логических ресурсов, высокопроизводительные шины PCIe для связи вычислителя с хостом, большой объем памяти DDR3/DDR4 для реализации глобальной памяти ядер. Это позволяет использовать данные платформы для построения высокопроизводительных гетерогенных вычислительных систем.

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

Функциональная схема разработанной платы реконфигурируемого вычислителя, содержащего на плате кластер из четырех реконфигурируемых вычислителей (реализованных на отдельных FPGA) с полной связанностью (реализуемую через «горизонтальные» связи и коммутатор PCIe Switch), приведена на рис. 3.

Хост вычислитель

Пиковая

скорость: РС1еЗ.О*1бх

16ГБ/С

gCle Switch

Пиковая I Пиковая 1 Пиковая Пиковая 4

скорость: РС1еЗ.О*8х 8 Шс ^ скорость: рс1с3.0*8х 8ГБ/С ] скорость: 8Г&с . РС1сЗ.О*8х скорость: РС1оЗ.О*8х 8ГБ/С т

KINTEX

шШжб

XCKU115

Пиковая 1

скорость

-КГБ/с

□ DR3 64 X 51ZM [4 ГБ]

Реконфивурируемый вычислитель. j

Рис. 3. Структура разработанного реконфигурируемого вычислителя

Для обеспечения поддержки разработанного аппаратно-реконфигурируемого вычислителя в среде разработки SDAccel компании Xilinx был создан пакет поддержки платформы, который состоит из:

♦ аппаратного проекта для FPGA;

♦ драйверов, обеспечивающих сопряжение хоста и аппаратно-реконфигурируемого вычислителя.

На рис. 4 представлена структура аппаратного проекта для FPGA.

Аппаратный проект для каждой FPGA на плате включает в себя:

♦ PCIe-DMA controller - аппаратно-реализованный;

♦ контроллер PCIe 3.0 и контроллер DMA;

♦ DDR memory controller - Контроллер DDR3 памяти;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

♦ Interconnect - Коммутатор внутренней системной шины AXI;

♦ Application profiler - Профилировщик приложения;

♦ Reconfigurable region - область на кристалле, выделенная для реализации OpenCL вычислительных ядер.

Accelerator board

Рис. 4. Структура аппаратного проекта для FPGA

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

Resource Utilization Available Utilization %

LUT 91993 663360 13.87

LUTRAM 14367 293760 4.89

FF 127210 1326720 9.59

BRAM 177 2160 8.19

DSP 3 5520 0.05

10 128 624 20,51

GT 8 48 16.67

BUFG 20 1248 1.60

MMCM 3 24 12.50

PLL 4 48 8.33

Рис. 5. Ресурсы аппаратного проекта для FPGA

На рис. 5 используются следующие обозначения:

♦ Resource - названия аппаратных ресурсов доступных FPGA;

♦ Utilization - количество использованных ресурсов;

♦ Avaliable - количество доступных ресурсов;

♦ Utilization% - процент использованных ресурсов.

На рис. 6 зеленым цветом выделена область FPGA, которая будет доступна для реконфигурации: область где будет формироваться аппаратная структура, реализующая функциональность решаемой задачи (структура вычислительного ядра). Остальные элементы, показанные на рис. 6 - это, в соответствии с рис. 4:

♦ PCIe-DMA controller - выделен красным цветом;

♦ DDR3 memory controller - выделен желтым цветом;

♦ Application profiler - выделен красным цветом;

♦ Interconnect - выделен красным цветом.

Рис. 6. Результаты трассировки FPGA

Для интеграции разработанного аппаратно-реконфигурируемого ускорителя в среду разработки SDAccel необходимо сформировать определенную структуру файлов, создать XML файл, описывающий эту структуру. Данные файлы включают в себя:

♦ файл конфигурации FPGA - файл который помещается в конфигурационную память и загружающийся при подаче питания;

♦ RTL-netlist, описывающий статическую область (нереконфигурируемую), использующийся при создании вычислительных ядер (kernels), которые синтезируются отдельно и, в процессе компиляции в среде SDAccel, стыкуются со статической частью;

♦ драйвер вычислителя, который необходим для связи вычислителя и хоста, в нем описан протокол взаимодействия на уровне интерфейса PCIe и реализации функций OpenCL (со стороны хоста).

После формирования требуемой структуры папок и добавления платформы в среду разработки SDAccel стало возможным использовать ее наряду с предустановленными платформами Xilinx. На рис. 7 представлено окно выбора платформы для реализации проекта в среде SDAccel [22].

New Project □ X

Choose Hardware Platform ШШ

The platform defines the hardware that will execute your application.

Platforms (8 of 11) Filter

Find: d

Name Version Board Family Part Vendor Type

■ ADM-PCIE-8K5 (2ddr) 4.0 adm-peie-8k5 kintexu xckull5 xilinx SDAccel

■ ADM-PCIE-7V3 (lddr) 3.0 adm-pcie-7v3 virtex7 xc7vx690t xilinx SDAccel

■ ADM-PCIE-KU3 (2ddr) 3.3 adm-pcie-ku3 kintexu xckuO&O xilinx SDAccel

■ ADM-PCIE-KJ3 (2ddr-xpr) 4.0 adm-pcie-ku3 kintexu xcku060 xilinx SDAccel

■ ARTIXCL (ddr3-l) 4.0 ArtixCL artix7 xc7a200t sdc SDAccel

■ KCU1500 (4ddr-xpr) 4,0 ktulBOO kintexu xckull5 xilinx SDAccel

PB_4X (ddr3-l) 4.0 PB_4X kintexu xckullS sdc SDAccel

■ XIL-ACCEL-RD-KU115 (4ddr-xpr) 4.0 xil-accel-rd-ku!15 j kintexu ] xckull5 j xilinx SDAccel

Add Custom Platform... Manage Repositories... Add Devices/Platforms...

Description

This platform targets the 4 x Kintex UltraScale HPC Board.

Number of DDRs: one Memory type: ddr3 Memory size: 4GB Interface: PCIe gen3x8

Рис. 7. Разработанная платформа (РВ_4х) в среде SDAccel

Для интеграции разработанной аппаратно-реконфигурируемого вычислителя в вычислительную систему, содержащую хост (x86 CPU 64bit), и работающую под управлением операционной системы Linux (CentOS 7) необходимо иметь драйверы для разработанной платформы. В качестве основы для драйверов были использованы драйверы, предоставляемые в виде примеров, компанией Xilinx. В исходные коды которых были внесены изменения, обеспечивающие хосту возможность идентифицировать разработанный аппаратно-реконфигурируемый вычислитель как доступный для использования вычислитель, подключенный к шине PCIe.

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

♦ как специализированные независимые устройства, реализующие различные алгоритмы вычислений;

♦ как узлы вычислительного кластера для реализации сложных алгоритмов обработки данных.

Для сравнительного анализа эффективности реализации различных классов вычислительных алгоритмов с использованием гибридных кластеров в СКЦ Политехнический создан комплекс научного оборудования, который зарегистрирован в [23] как центр коллективного пользования, в состав которого входит уникальная научная установка (УНУ) - гибридный суперкомпьютерный кластер с реконфигу-рируемыми вычислительными узлами под управлением специализированного ги-первизора.

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

Одним из направлений повышения эффективности суперкомпьютерных систем на основе современных метрик оценки суперкомпьютеров является реализация специализированного гипервизора, обеспечивающего реконфигурацию узлов кластера для оптимизацию вычислительной среды в целом в зависимости от структуры и объема обрабатываемых данных и контекста задачи. УНУ «Гибридный суперкомпьютерный комплекс петафлопсной производительности» используется для оптимизации архитектур вычислителей и оценки эффективности работы интеллектуального гипервизора, участвующего в реконфигурации узлов кластера.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Top 500 list. - Режим доступа: https://www.top500.org, свободный (дата обращения: 01.05.2018).

2. Антонов А.П., Заборовский В.С., Киселев И.О. Специализированные реконфигурируе-мые вычислители в сетецентрических суперкомпьютерных системах // Системы высокой доступности. - 2018. - Т. 14, № 3. - С. 57-62.

3. Awad M. FPGA supercomputing platforms: A survey // IEEE Conference Paper: 19th International Conference on Field Programmable Logic and Applications. - 2009. - P. 564-568.

4. AntonovA.P., Mamutova O.V., FilippovA.S. Next Generation FPGA-based Platform for Network Security // 18th Conference of Open Innovations Association (FRUCT), Information Security and Protection of Information Technologies Session, St. Petersburg, IEEE, 2016.

- P. 116-121.

5. Каляев И.А., Левин И.И., Семерников Е.А., Шмойлов В.И. Развитие отечественных многокристальных реконфигурируемых вычислительных систем: от воздушного к жидкостному охлаждению // Труды СПИИРАН. - 2017. - № 1. - С. 27-39.

6. OpenCL specification 1.2 // Khronos Group. - 2012. - 380 p.

7. Kobayashi R., Oobata, Y., Fujita, N., Yamaguchi, Y., Boku, T. OpenCL-ready High Speed FPGA Network for Reconfigurable High Performance Computing // HPC Asia 2018 Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region.

- 2018. - P. 192-201.

8. Zwagerman M. High Level Synthesis, a Use Case Comparison with Hardware Description Language // Grand Valley State University Masters Theses. - 2015. - 36 p.

9. Intel FPGA Devices. - URL: https://www.intel.com/content/www/us/en/fpga/devices.html (дата обращения 04.11.2018).

10. Xilinx Inc. - URL: https://www.xilinx.com/ (дата обращения 04.11.2018).

11. Pelcat M., Cédric Bourrasset, Luca Maggiani, François Berry. Design Productivity of a High Level Synthesis Compiler versus HDL // Proceedings of the 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation. - 2016. - P. 140-147.

12. Shuhao Z., Bingsheng H., Wei Z. Melia a MapReduce framework on OpenCL based FPGA // IEEE Transactions on Parallel and Distributed Systems. - 2015. - P. 27-39.

13. Румянцев Ю.А., Захаров П.Н., Абрашитова Н.А., Шматок А.В., Рыжих В.О., Гудимчук Н.Б., Атауллаханов Ф.И. Применение ПЛИС для расчета деполимеризации микротрубочки методом броуновской динамики // Труды Института системного программирования РАН. - 2016. - Т. 28. - Вып. 3. - С. 241-266.

14. Meeus, W., Van Beeck, K., Goedemé, T., Meel, J., & Stroobandt, D. An overview of today's high-level synthesis tools // Design Automation for Embedded Systems. - 2012. - Vol. 16 (3). - P. 31-51.

15. Gao S.,Chirtz J. Characterization of OpenCL on a scalable FPGA architecture // 2014 International Conference on ReConFigurable Computing and FPGAs, 8.12.2014. - 8 p.

16. Hill K., Craciun S., George A., & Lam H. Comparative analysis of OpenCL vs. HDL with image-processing kernels on Stratix-V FPGA // 2015 IEEE 26th International Conference on Application-Specific Systems, Architectures and Processors (ASAP). - P. 189-193.

17. Дордопуло А.И., Левин И.И., Каляев И.А., Гудков В.А., Гуленок А.А. Программирование вычислительных систем гибридного типа на основе метода редукции производительности // Параллельные вычислительные технологии: Труды Международной научной конференции. - 2016. - C. 131-140.

18. Quentin Gautier, Alric Althoff, Pingfan Meng, Ryan Kastner Spector. An OpenCL FPGA benchmark suite // International Conference on Field-Programmable Technology (FPT), Xi'an, China, 2016. - P. 123-134.

19. Chang D.W., Jenkins C.D., Garcia P.C. et al. ERCBench: An open-source benchmark suite for embedded and reconfigurable computing // Proceedings - 2010 International Conference on Field Programmable Logic and Applications FPL. - 2010. - P. 408-413.

20. Murray K.E., Whitty S., Liu S. et al. Titan: Enabling large and complex benchmarks in academic cad // 2013 23rd International Conference on Field programmable Logic and Applications. - Sept 2013. - P. 1-8.

21. Feng W.-c., Lin H., Scogland T. et al. Opencl and the 13 dwarfs: A work in progress // Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering ser. ICPE '12. - 2012. - P. 291-294.

22. Xilinx sdaccel. - URL: http://www.xilinx.com/products/design-tools/software-zone/sdaccel.html (дата обращения 04.11.2018).

23. Научно-технологическая инфраструктура Российской Федерации. - Режим доступа свободный: http://ckp-rf.ru/ (дата обращения: 01.11.2018).

REFERENCES

1. Top 500 list. Available at: https://www.top500.org (accessed 01 May 2018).

2. Antonov A.P., Zaborovskiy V.S., Kiselev I.O. Spetsializirovannye rekonfiguriruemye vychisliteli v setetsentricheskikh superkomp'yuternykh sistemakh [Specialized reconfigurable calculators in network-centric supercomputer systems], Sistemy vysokoy dostupnosti [High availability systems], 2018, Vol. 14, No. 3, pp. 57-62.

3. Awad M. FPGA supercomputing platforms: A survey, IEEE Conference Paper: 19th International Conference on Field Programmable Logic and Applications, 2009, pp. 564-568.

4. Antonov A.P., Mamutova O. V., Filippov A.S. Next Generation FPGA-based Platform for Network Security, 18th Conference of Open Innovations Association (FRUCT), Information Security and Protection of Information Technologies Session, St. Petersburg, IEEE, 2016, pp. 116-121.

5. Kalyaev I.A., Levin I.I., Semernikov E.A., SHmoylov V.I. Razvitie otechestvennykh mnogokristal'nykh rekonfiguriruemykh vychislitel'nykh sistem: ot vozdushnogo k zhidkostnomu okhlazhdeniyu [The development of domestic multi-chip reconfigurable computing systems: from air to liquid cooling], Trudy SPIRAN [Proceedings of SPIIRAS], 2017, No. 1, pp. 27-39.

6. OpenCL specification 1.2, Khronos Group, 2012, 380 p.

7. Kobayashi R., Oobata, Y., Fujita, N., Yamaguchi, Y., Boku, T. OpenCL-ready High Speed FPGA Network for Reconfigurable High Performance Computing, HPC Asia 2018 Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region, 2018, pp. 192-201.

8. Zwagerman M. High Level Synthesis, a Use Case Comparison with Hardware Description Language, Grand Valley State University Masters Theses, 2015, 36 p.

9. Intel FPGA Devices. Available at: https://www.intel.com/content/www/us/en/fpga/ devic-es.html (accessed 04 November 2018).

10. Xilinx Inc. Available at: https://www.xilinx.com/ (accessed 04 November 2018).

11. Pelcat M., Cédric Bourrasset, Luca Maggiani, François Berry. Design Productivity of a High Level Synthesis Compiler versus HDL, Proceedings of the 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation, 2016, pp. 140-147.

12. Shuhao Z., Bingsheng H., Wei Z. Melia a MapReduce framework on OpenCL based FPGA, IEEE Transactions on Parallel and Distributed Systems, 2015, pp. 27-39.

13. Rumyantsev Yu.A., Zakharov P.N., Abrashitova N.A., SHmatok A.V., Ryzhikh V.O., Gudimchuk N.B., Ataullakhanov F.I. Primenenie PLIS dlya rascheta depolimerizatsii mikrotrubochki metodom brounovskoy dinamiki [The use of FPGAs to calculate the depolymerization of mi-crotubules by the method of Brownian dynamics], Trudy Instituta sistemnogo programmirovaniya RAN [Proceedings of Institute for system programming of Russian Academy of Sciences], 2016, Vol. 28, Issue 3, pp. 241-266.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

14. Meeus W., Van BeeckK., Goedemé, T., Meel J., & StroobandtD. An overview of today's high-level synthesis tools, Design Automation for Embedded Systems, 2012, Vol. 16 (3), pp. 31-51.

15. Gao S.,Chirtz J. Characterization of OpenCL on a scalable FPGA architecture, 2014 International Conference on ReConFigurable Computing and FPGAs, 8.12.2014, 8 p.

16. Hill K., Craciun S., George A., & Lam H. Comparative analysis of OpenCL vs. HDL with image-processing kernels on Stratix-V FPGA, 2015 IEEE 26th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), pp. 189-193.

17. Dordopulo A.I., Levin I.I., Kalyaev I.A., Gudkov V.A., Gulenok A.A. Programmirovanie vychislitel'nykh sistem gibridnogo tipa na osnove metoda reduktsii proizvoditel'nosti [Programming of hybrid computing systems based on the method of performance reduction], Parallel'nye vychislitel'nye tekhnologii: Trudy Mezhdunarodnoy nauchnoy konferentsii [Parallel computing technologies: Proceedings of the International scientific conference], 2016, pp. 131-140.

18. Quentin Gautier, Alric Althoff, Pingfan Meng, Ryan Kastner Spector. An OpenCL FPGA benchmark suite, International Conference on Field-Programmable Technology (FPT), Xi'an, China, 2016, pp. 123-134.

19. Chang D.W., Jenkins C.D., Garcia P.C. et al. ERCBench: An open-source benchmark suite for embedded and reconfigurable computing, Proceedings - 2010 International Conference on Field Programmable Logic and Applications FPL, 2010, pp. 408-413.

20. Murray K.E., Whitty S., Liu S. et al. Titan: Enabling large and complex benchmarks in academic cad, 2013 23rd International Conference on Field programmable Logic and Applications, Sept 2013, pp. 1-8.

21. Feng W.-c., Lin H., Scogland T. et al. Opencl and the 13 dwarfs: A work in progress, Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering ser. ICPE '12, 2012, pp. 291-294.

22. Xilinx sdaccel. Available at: http://www.xilinx.com/products/design-tools/software-zone/sdaccel.html (accessed 04 November 2018).

23. Nauchno-tekhnologicheskaya infrastruktura Rossiyskoy Federatsii [Scientific and technological infrastructure of the Russian Federation]. Available at: http://ckp-rf.ru/ (accessed 04 November 2018).

Статью рекомендовал к опубликованию д.т.н., профессор А.В. Смирнов.

Антонов Александр Петрович - Санкт-Петербургский политехнический университет

Петра Великого; e-mail: alexander.antonov.ru@yandex.ru; Санкт-Петербург, ул. Политехническая, 29; тел.: +78122974218; к.т.н.; доцент.

Заборовский Владимир Сергеевич - e-mail: vlad2tu@yandex.ru; тел.: +78122971628; д.т.н.;

профессор.

Киселев Иван Олегович - e-mail: kio.93@mail.ru; тел.: +78122974218; аспирант.

Антонов Кирилл Александрович - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики; e-mail: kirant9797@gmail.com; 197101, Санкт-Петербург, пр. Кронверкский, 49; тел.:+78122329704; кафедра компьютерных технологий; бакалавр.

Antonov Alexandr Petrovich - Peter the Great St. Petersburg Polytechnic University; e-mail: alexander.antonov.ru@yandex.ru; 29, Politekhnicheskaya street, Saint-Petersburg, Russia; phone: +78122974218; cand. of eng. sc.; associate professor.

Zaborovskij Vladimir Sergeevich - e-mail: vlad2tu@yandex.ru; phone: +78122971628; dr. of eng. sc.; professor.

Kiselev Ivan Olegovich - e-mail: kio.93@mail.ru; phone: +78122974218; postgraduate student.

Antonov КтП Alexandrovich - ITMO University; e-mail: kirant9797@gmail.com; 49, Kronverksky Ave., St. Petersburg, 197101, Russia; phone: +78122329704; bachelor.

УДК 004.272.43 DOI 10.23683/2311-3103-2018-8-18-29

В.С. Горбунов, А.И. Тупицын

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

Эффективное решение задачи перехода на новый уровень производительности и эффективности суперкомпьютерных установок сегодня невозможно без цифровой трансформации отрасли создания и применения высокопроизводительных вычислительных систем. Усложняет задачу то, что для суперкомпьютеров важны сроки выполнения проекта по созданию новой установки. Установившаяся практика показывает, что суперкомпьютер нужно создать в сроки 1, максимум 2 года. Решение таких задач в требуемые сроки невыполнимо без применения цифровых моделей изделий - высокопроизводительных вычислительных систем (суперкомпьютеров) и центров обработки данных на их основе. В работе предлагается концепция автоматизации процесса проектирования суперкомпьютеров, основанной на применении взаимосвязанного набора цифровых моделей на этапах жизненного цикла изделия: научных исследований и разработок (эскизного проектирования), технического проектирования, изготовления, эксплуатации изделия. Создавать цифровые модели вычислительной системы предлагается на основе цифровых моделей компонентов средств вычислительной техники, в процессе построения которых необходимо задействовать современные технологии искусственного интеллекта. Эти модели должны быть самообучающимися системами, которые используют информацию из целого ряда источников: производители ЭКБ, данные по мониторингу информационного пространства сети Интернет, сведения от специалистов-экспертов. Для обеспечения взаимодействия цифровых моделей на различных этапах жизненного цикла изделия предлагается применять аппарат онтологий. В работе описано использование цифровых моделей при генерации и выборе проектного решения суперкомпьютера и приведено описание практической реализации данного процесса проектирования в автоматизированной системе проектирования суперкомпьютеров (АСПС), созданной в ФГУП «НИИ «Квант». В части разработки архитектуры суперкомпьютера данная система позволяет сформировать различные варианты построения суперкомпьютера (проектные решения) с учетом онтологии будущего изделия и имеющейся информации об унифицированных конструктивных компонентах и оригинальных разработках. Для организации взаимодействия между участниками проектирования суперкомпьютера в АСПС реализован автоматизированный импорт описаний подпроцессов технологического процесса проектирования суперкомпьютеров в систему контроля и управления проектом (СКУП). В результате импорта в СКУП создаются задачи для каждого пользователя АСПС с перечислением набора действий, которые данному пользо-

i Надоели баннеры? Вы всегда можете отключить рекламу.