Группа исследователей из Болонского университета и Cineca изучила экспериментальный кластер суперкомпьютеров RISC-V с восемью узлами и 32 ядрами. Демонстрация показала, что даже несколько скромных SoC Freedom U740 от SiFive могут запускать приложения для суперкомпьютеров при относительно низком энергопотреблении. Более того, кластер работал хорошо и поддерживал базовый стек высокопроизводительных вычислений.

Необходимость в RISC-V
Одним из преимуществ архитектуры набора инструкций RISC-V с открытым исходным кодом является относительная простота создания специализированного ядра RISC-V, предназначенного для конкретного приложения, которое будет предлагать очень конкурентоспособный баланс между производительностью, энергопотреблением и стоимостью. Это делает RISC-V подходящим для новых приложений и различных проектов высокопроизводительных вычислений, ориентированных на определенную рабочую нагрузку. Группа исследовала кластер, чтобы доказать, что платформы на основе RISC-V могут работать для высокопроизводительных вычислений (HPC) с точки зрения программного обеспечения.
«Monte Cimone не нацелен на достижение высокой производительности с плавающей запятой, но он был создан с целью изучения проблемы интеграции многоузлового кластера RISC-V, способного предоставить производственный стек высокопроизводительных вычислений, включая межсоединение, инфраструктуру хранения и мониторинга питания на оборудовании RISC-V», — говорится в описании проекта.
Для своих экспериментов команда взяла готовый кластер Monte Cimone, состоящий из четырех двухплатных блейд-модулей в форм-факторе 1U, созданный E4, итальянской компанией HPC (обратите внимание, что кластер E4 Monte Cimone состоит из шести блейд-модулей). Monte Cimone — это платформа «для переноса и настройки программных стеков и приложений для высокопроизводительных вычислений на архитектуру RISC-V», поэтому выбор был вполне оправдан.
Кластер
В машинах Monte Cimone 1U использовались две материнские платы SiFive HiFive Unmatched, работающие на гетерогенной многоядерной системе SiFive Freedom U740 SoC, которая объединяет четыре ядра U74 с тактовой частотой до 1,4 ГГц и одно ядро S7 с использованием собственной технологии Mix+Match, а также 2 МБ кэш-памяти второго уровня. Кроме того, каждая платформа имеет 16 ГБ памяти DDR4-1866 и твердотельный накопитель NVMe емкостью 1 ТБ.

Каждый узел также оснащен картой адаптера хост-канала (HCA) Mellanox ConnectX-4 FDR 40 Гбит/с, но по какой-то причине RDMA не работал, хотя ядро Linux могло распознать драйвер устройства и смонтировать модуль ядра для управления стеком Mellanox OFED. Поэтому два из шести узлов были оснащены картами Infiniband HCA с пропускной способностью 56 Гбит/с, чтобы максимизировать доступную пропускную способность между узлами и компенсировать отсутствие RDMA.

Одной из важнейших частей эксперимента было портирование основных сервисов высокопроизводительных вычислений, необходимых для рабочих нагрузок суперкомпьютеров. Команда сообщила, что перенос NFS, LDAP и планировщика заданий SLURM на RISC-V был относительно простым. Затем они установили подключаемый модуль ExaMon, предназначенный для выборки данных, брокер для управления транспортным уровнем и базу данных для хранения.
Полученные результаты
Поскольку использование кластера с низким энергопотреблением, предназначенного для переноса программного обеспечения для реальных рабочих нагрузок HPC, не имеет смысла, команда провела тесты HPL и Stream для измерения производительности GFLOPS и пропускной способности памяти. Однако результаты были неоднозначными.

Пиковая теоретическая производительность ядра SiFive U74 составляет 1 гигафлопс, что предполагает, что пиковая теоретическая производительность одной SoC Freedom U740 должна составлять 4 гигафлопса. К сожалению, каждый узел достиг устойчивой производительности только в 1,86 гигафлопс в HPL, а это означает, что пиковая вычислительная мощность кластера из восьми узлов должна быть на уровне 14,88 гигафлопс при идеальном линейном масштабировании. Весь кластер достиг устойчивой пиковой производительности 12,65 GFLOPS, что составляет 85% экстраполированного достижимого пика. Между тем, из-за относительно плохого масштабирования SoC, 12,65 GFLOPS составляет 39,5% от теоретического пика всей машины, что может быть не так уж плохо для эксперимента, если не принимать во внимание плохое масштабирование модели U740.

Что касается пропускной способности памяти, то каждый узел должен обеспечивать пропускную способность около 14,928 ГБ/с при использовании одного модуля DDR4-1866. В действительности она никогда не превышала 7760 МБ/с, что не является хорошим результатом. Фактические результаты тестов восходящего, немодифицированного Stream еще менее впечатляющие, поскольку 4-поточная рабочая нагрузка достигла пропускной способности не более 15,5% от доступной пиковой пропускной способности, что значительно ниже результатов других кластеров. С одной стороны, эти результаты демонстрируют посредственную подсистему памяти Freedom U740, но, с другой стороны, они также показывают, что программные оптимизации могли бы улучшить ситуацию.

Что касается энергопотребления, кластер Monte Cimone обеспечивает именно то, что обещает — оно низкое. Например, фактическое энергопотребление одного SiFive Freedom U740 составляет 5,935 Вт при рабочих нагрузках HPL с интенсивным использованием ЦП, тогда как в режиме ожидания он потребляет около 4,81 Вт.
Итоги
Кластер Monte Cimone, используемый исследователями, вполне способен запускать программный стек HPC и соответствующие тестовые приложения, что уже хорошо. Кроме того, плата SiFive HiFive Unmatched и системы E4 используются для портирования программного обеспечения, поэтому плавная работа NFS, LDAP, SLURM, ExaMon и других программ стала приятным сюрпризом.

«Насколько нам известно, это первый полностью работоспособный кластер RISC-V, поддерживающий базовый программный стек HPC, что свидетельствует о зрелости RISC-V ISA и первом поколении коммерчески доступных компонентов RISC-V» – написала команда в своем отчете. «Мы также оценили поддержку сетевых адаптеров Infiniband, которые распознаются системой, но еще не способны поддерживать связь RDMA».
Но реальные результаты производительности кластера не оправдали ожиданий. Такие эффекты попадали при условии посредственной производительности и возможностей U740, но свою роль сыграла программная готовность. Тем не менее, хотя программное обеспечение для высокопроизводительных вычислений может работать в системах на основе RISC-V, оно не может оправдать ожиданий. Ситуация изменится, как только разработчики оптимизируют программы для архитектуры с открытым исходным кодом и будет выпущено соответствующее оборудование.
Действительно, исследователи говорят, что их будущая работа связана с улучшением программного стека, добавлением поддержки RDMA, внедрением динамического управления питанием и температурой, а также использованием ускорителей на основе RISC-V.
Что касается аппаратного обеспечения, SiFive может создавать SoC до 128 высокопроизводительных ядер. Такие процессоры предназначены для рабочих нагрузок центров обработки данных и высокопроизводительных вычислений, поэтому стоит ожидать, что они будут иметь надлежащую масштабируемость производительности и приличную подсистему памяти. Кроме того, как только SiFive выйдет на эти рынки, ему необходимо будет обеспечить совместимость и оптимизацию программного обеспечения, поэтому нужно ожидать, что производитель микросхем будет поощрять разработчиков программного обеспечения настраивать свои программы для RISC-V ISA.

