Сейчас как никогда важно иметь план «Б», поэтому взяли на изучение «Эльбрус-8СВ». В тексте — результаты и выводы о потенциале такого решения для наших дата-центров. С фото!
Привет! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. Недавно взял на тест отечественный процессор «Эльбрус-8СВ». Он шел в комплекте с материнской платой «2Э8СВ-EATX» производства компании МЦСТ.
В рамках задачи собрал тестовый сервер произвольной конфигурации, установил операционную систему, настроил сеть и провел бенчмарк-тест. Подробнее об опыте в цифрах и нюансах рассказываю ниже. А здесь делюсь основным выводом.
Чтобы работа на «Эльбрусе» была удобной для конечного пользователя, нужно вложить много сил и времени. Например, придумать, как автоматизировать процессы, перекомпилировать необходимые программы, решить, как обойти существующие ограничения. Без катастрофической надобности эти вложения не будут оправданы.
Оговорюсь, что «Эльбрус 32-С» уже более реалистичен для использования в дата-центрах. Скорее всего, «допилят» и ПО. Но смогут ли его произвести по 7-нм процессу? Это вопрос будущего. Компания МЦСТ основана в 1992 году, а Intel — в 1968. Возможно, отечественная компания еще сможет нагнать конкурентов.
Далее будет базовый обзор. Возможно, он не такой подробный и щепетильный, каким мог бы быть. Нашей основной целью была быстрая оценка потенциала сервера на «Эльбрусе» в дата-центрах Selectel.
Навигация по обзору:
→ Сборка тестовой конфигурации
→ Установка операционной системы
→ Обзор операционных систем для e2k
Сборка тестовой конфигурации
К нам в лабораторию приехала исключительно плата с процессором (процессор впаян в плату, без возможности апгрейда материнской платы) без радиаторов, вентиляторов и корпуса. Поэтому собирали кастомный сервер на «Эльбрусе».
В итоге тестовый конфиг выглядел так:
-
Корпус: 2U NVMe
- Процессор: «Эльбрус-8СВ»
- Матплата: «2Э8СВ-EATX»
- RAM: 8 шт. DDR4 32 ГБ 2933 МГц ECC Reg DIMM (MTA36ASF4G72PZ-2G9J3) Micron
- SSD: 1 шт. Micron 5300 Pro 1 ТБ
- HDD: 1 шт. ST4000NM0035 Seagate 4 ТБ
- SSD: Samsung 480 ГБ MZ7LH480HAHQ
- SSD: Intel 240 ГБ S4510
Для отвода тепла подошли радиаторы Intel BXSTS100A c активным охлаждением. Корпус взяли на два юнита от Supermicro 825TQ-R720/R740, так как изначально хотели добавить в конфиг GPU и NVMe. Правда, план не увенчался успехом.
Для тестирования показателей IOPS подключили HDD- и SSD-диски. Под руку попались ST4000NM0035 Seagate 4 ТБ и Micron 5300 Pro 1 ТБ. Эти диски проходили испытания по тестовым кейсам, поэтому были выбраны для сравнения показателей с другими тестовыми конфигами.
В надежде, что мы сможем протестировать SSD NVMe-накопители, подключили PCIe NVMe Host Bus Adapter AOC-SLG3-4E4T, но система NVMe-диски не увидела. То же самое случилось с SSD Samsung 970 EVO Plus NVMe M.2. Речь здесь об операционной системе «Эльбрус». Как работает сборка на других ОС, опишу ниже.
Установка операционной системы
Сначала решили установить нативную ОС «Эльбрус» на архитектуре e2k. Система ставится как с USB-носителя, так и c DVD. Также есть возможность установки по сети (PXE).
BIOS в системе нет, но есть его аналог — «Загрузчик», или boot. По факту, это оболочка, принимающая команды и параметры через командную строку.
Для работы в дата-центре это минус. Обычно первичная настройка платформы производится в BIOS, в том числе и Baseboard Management Controller (BMC). Операционная система устанавливается уже позже. Грубо говоря, при заказе выделенного сервера.
А теперь представьте: в дата-центр поступило 100 серверов на «Эльбрусе». Как будем настраивать BMC? Правильно, сначала будем ставить ОС с флешки на каждый сервер и только потом настраивать BMC. Уйдет, мягко говоря, много времени. Есть конечно вариант с PXE-сервером, что немного облегчит задачу, но BMC придется настраивать все равно «руками» через ОС.
Как писал выше, настройка осуществляется только после установки ОС. Все из-за того, что в системе нет BIOS и на данной плате не реализован «мост» между интерфейсом BMC и «Загрузчиком» (аналогом BIOS). Подключение ноутбука напрямую в Ethernet-порт BMC результатов не дало. Достаю второй бубен.
После консультаций со специалистами МЦСТ получилось настроить BMC. Для этого соединил порты BMC и eth0 перемычкой патч-кордом, поднял DHCP-сервер на интерфейсе eth0 и указал пул из одного нужного нам IP-адреса. После этого BMC получил нужный нам адрес, а у нас появился доступ к веб-интерфейсу BMC.
Настройку BMC специалист дата-центра может производить только с ноутбука непосредственно в серверной, это не очень удобно. Работу системных инженеров с серверами стараемся максимально автоматизировать — так мы готовим серверы гораздо быстрее и исключаем возможные человеческие ошибки.
Настройка сети
Настройка сети схожа с настройкой в других Linux-системах.
Обзор операционных систем для e2k
Сделаю отступление и расскажу про подходящие операционные системы. Сейчас есть четыре ОС, которые поддерживают архитектуру e2k. Мы попробовали установить все.
ОС «Эльбрус». Установилась с USB, число программных пакетов — 1 256 шт., GUI неприветливый. Сетевой репозиторий отсутствует, только локальный. Тестовой версии ОС не предусмотрено — в комплекте с материнской платой и процессором не идет.
АLT Linux. Установка производилась с USB-носителя, интерфейс приятнее, чем в ОС «Эльбрус», количество пакетов — 17 211 шт. Также ограничено своим репозиторием, но уже имеет гораздо большее количество пакетов для разработки — например, Java, которого нет на ОС «Эльбрус». Также из преимуществ — наличие сетевого репозитория. Для записи на USB в комплекте к ОС идет скрипт.
Astra Linux 8.1, релиз «Ленинград». Установка не удалась. Причины уточняем у разработчиков ОС.
ЗОСРВ «Нейтрино». Дистрибутив ОС нам не предоставили, пояснив, что ЗОСРВ «Нейтрино» и ЗОСРВ «Нейтрино-Э» нечасто применяется на серверах. В отличие от, например, бортового промышленного оборудования, решающего задачи в режиме реального времени. По заявлению производителя архитектуру e2k данная ОС поддерживает.
Программы под ОС «Эльбрус»
Возвращаемся к нашей конфигурации. После настройки платформы добрались до самой ОС «Эльбрус». Здесь сразу же столкнулись с тем, что сетевых репозиториев нет, и стек скомпилированных программ под архитектуру e2k ограничивается одним DVD-диском, идущим в комплекте с операционной системой. В нашем комплекте оказалось 1 256 программ, со списком можно ознакомиться по ссылке. Все, что потребуется сверх этого списка, придется «пересобрать» или написать самим.
Для решения задачи совместимости с ПО для платформы x86 в МЦСТ разработали проприетарный бинарный транслятор. Он работает в двух режимах, чем-то напоминающих гипервизор. Первый реализован в Lintel, второй — в «RTC». Последний работает под управлением уже запущенной операционной системы.
В приложенном списке мы не увидели Docker, Prometheus, Java и еще очень многих пакетов, необходимых для нормальной работы сервера в дата-центре. На данный момент на e2k реализована только одна СУБД — PostgreSQL, которая будет работать вне режима бинарной трансляции. Остальные СУБД и ПО, которого нет в комплекте с ОС, можно запустить только через бинарный транслятор. Чтобы перекомпилировать отсутствующие инструменты для «Эльбруса», потребовалась бы целая команда.
Подготовка к тестам
Для проведения тестов мы использовали бинарный транслятор приложений «RTC» и дистрибутив Ubuntu 22.04.
Существенный минус «RTC»: производительность, которой и так немного, будет ограничена. По тестам из разных источников она падает до 30% в зависимости от ПО.
С дистрибутивом тоже пришлось помучиться. После развертывания Ubuntu-server 20.04 x86 возникла проблема с системным временем. Происходит отставание системного времени от реального. Для серверного оборудования это критично. Есть предположение, что это из-за системы бинарной трансляции.
Из подключенных 32 планок RAM используется только 3. По информации от МЦСТ в режиме бинарной трансляции используется только один КПИ (можно посмотреть на схеме).
Соответственно, вся периферия, завязанная на КПИ_1, в этом режиме работать не будет.
Результаты бенчмарк-теста
Мы провели бенчмарк-тест Geekbench5 в режиме бинарной трансляции и получили такие результаты:
Видно, что пока «Эльбрус» в режиме бинарной трансляции пытается догнать по показателям AMD Ryzen 5 2400G. Но это десктопный процессор, релиз которого произошел в феврале 2018 года. О конкуренции с современными серверными процессорами речи пока не идет.
Также «Эльбрус» догоняет по бенчмаркам (и даже перегоняет по image compression) Intel Xeon E3-1225, выпущенный в 2014 году. Сравнение с ним на картинке ниже.
Эпилог
Как можно понять по результатам тестов, на данный момент препятствий для использования «Эльбрус-8СВ» в дата-центрах Selectel более, чем достаточно. В будущем постараемся протестировать «Эльбрус» другим софтом, написанным под архитектуру e2k.
Надеемся, что появится поддержка NVMe и современных GPU. И что МЦСТ будет развиваться, чтобы далее мы смогли использовать эти решения в повседневных задачах.
Читайте также:
- Почему спрос на полупроводники снижается, но отскока цен ждать не приходится?
- Как мы развиваем облако Selectel вот уже почти 10 лет
- 6 полезных книг по MySQL для старта и развития навыков