Оригинал материала: https://3dnews.ru/1051294

Обзор офисного мини-ПК на российском Arm-процессоре Baikal-M

Три года назад на примере платы BFK 3.1 мы знакомились с первым чипом российской компании «Байкал Электроникс», Baikal-T. Судьба у него оказалась непростая. Сначала из-за резкого роста курса валют пришлось на ходу менять спецификации, избавляясь от слишком дорогих IP-блоков и технологий, и урезать объём заказов на TSMC. Затем начало лихорадить Imagination Technologies, а потом и новых владельцев прав на MIPS, Wave Computing. Обе компании в итоге выжили, но «Baikal-T» стал первым и, похоже, единственным чипом на базе последней архитектуры MIPS P5600 Warrior. Впрочем, «Байкал Электроникс» его не бросила и даже довела до ума поддержку архитектуры в основной ветке ядра Linux.

О планах относительно Arm-процессоров «Байкал» стало известно ещё в 2014 году, но и они по тем же (и некоторым другим) причинам изрядно задержались. Последний официальный анонс SoC Baikal-M, ранее известных как BE-М1000, состоялся пару лет назад. С тех пор появились различные варианты плат и готовых изделий на базе этого чипа. Нам на тестирование достался безымянный пока системный блок на базе первой российской платы с Baikal-M — «Эдельвейс TF307».

#Процессор Baikal-M (BE-M1000)

SoC Baikal-M включает восемь 64-битных процессорных ядер Cortex-A57 (Armv8-A) с частотой до 1,5 ГГц, дополненных восьмиядерным же GPU Arm Mali-T628 с частотой до 750 МГц и отдельным декодером HD-видео. Каждое ядро имеет 48 Кбайт L1-кеша для инструкций и 32 Кбайт — для данных. Ядра CPU объединены в кластеры по два — и на каждый такой кластер приходится по 1 Мбайт L2-кеша. Также есть два контроллера Arm TrustZone. Ядра GPU собраны в два кластера c L2-кешем 128 Кбайт. Дополняют картину 8 Мбайт когерентного L3-кеша на общей шине.

 Кристалл Baikal-M. Фото: Fritzchens Fritz

Кристалл Baikal-M. Фото: Fritzchens Fritz

Контроллеров памяти два — это 64-битные DDR4-2400/DDR3-1600 ECC. Находятся они на общей кеш-когерентной шине с другими IP-блоками. В дополнение к стандартному комплекту служебных интерфейсов есть и неплохой набор IO-портов — пара SATA-3, два USB 3.0 и четыре USB 2.0, а также HDMI 2.0, пара 10GbE и три PCIe 3.0 (x8, x4, x4). Причём они идут сразу с PHY-блоками в SoC, что упрощает создание конечных изделий. Из базовых интерфейсов обделены PHY-блоками только пара 1GbE и eMMC/SD/SDIO, но обвязка для них всё равно копеечная.

GPU умеет работать с 2D/3D-графикой, пригоден для GPGPU-вычислений и поддерживает стандарты OpenGL ES 1.1/2.0/3.0/3.1, OpenCL 1.1 и RenderScript. HDMI-контроллер способен выводить картинку вплоть до 2560 × 1440 (как и LVDS). Декодер видео понимает стандарты H.265, H.264, MPEG4, MPEG2, VP8, VP6, VC1, AVS, RealVideo и JPEG. В принципе, чипы с похожей конфигурацией существуют давно, хотя некоторые из них позиционировались как исключительно серверные. Но Baikal-M рассчитан в том числе и на клиентские решения, где важна поддержка графики и ряда стандартных интерфейсов.

 Эдельвейс TF307 — первая материнская плата Mini-ITX c Baikal-M

«Эдельвейс TF307» — первая материнская плата Mini-ITX c Baikal-M

Энергопотребление до 35 Вт и диапазон рабочих температур от -40 до +90 °C позволяют использовать Baikal-M и, к примеру, в тонких клиентах, и в промышленных компьютерах. Кристалл Baikal-M, производящийся на TSMC по 28-нм нормам, содержит более 2 млрд транзисторов и имеет площадь 240 мм2. Сам же чип имеет упаковку FCBGA1521 с габаритами 40 × 40 мм. В серии Baikal-M будут и другие чипы.

#Материнская плата «Эдельвейс TF307»

Плата «Эдельвейс TF307» реализует большую часть интерфейсов, необходимых именно для компактных потребительских или коммерческих компьютеров. Baikal-M работает здесь на полной частоте 1,5 ГГц, а для DDR4-памяти есть два DIMM-слота. На заднюю панель выведены все доступные порты USB 2.0 (4 шт.), три 3,5-мм аудиоразъёма (вход, выход, микрофон), два PS/2 и два 1GbE-порта RJ-45 с индикаторами активности.

На самой плате есть колодки ещё для трёх USB 2.0 и двух USB 3.0, кнопок и индикаторов передней панели, а также HD Audio. Для накопителей предусмотрено два порта SATA-3 и слот M.2-2242/2260/2280 SATA/NVMe (PCIe 3.0 x4). Карту расширения готов принять слот PCIe 3.0 x8. Также имеются интерфейсы HDMI и LDVS (+ разъём для управления подсветкой дисплея). Для питания используется стандартный 24-контактный ATX-коннектор. Есть и пара 4-контактных разъёмов для вентиляторов. Плата имеет форм-фактор Mini-ITX (170 × 170 мм).

Технические характеристики «Эдельвейс TF307» c Baikal-M (BE-M1000)
SoC Baikal-M 8 × Cortex-A57, 1,5 ГГц, 4 Мбайт L2-кеш; 2 × TrustZone
8 × Mali-T628, 750 МГц; (де-)кодер видео
8 Мбайт когерентной кеш-памяти уровня L3 на системной шине
Подсистема памяти 2 × DIMM DDR4-2133 ECC объёмом до 64 Гбайт включительно
двухканальный режим работы памяти
Графический интерфейс 1 × HDMI (на задней панели)
1 × LVDS (подключается к разъёму на печатной плате)
Разъёмы для плат расширения 1 × PCI Express 3.0 x8
Интерфейсы накопителей 2 × SATA III
1 × M.2 M-Key (PCIe 3.0 x4/SATA III)
Сетевые интерфейсы 2 × 1GbE RJ-45 (на задней панели)
Аудиоподсистема 1 × HD Audio (подключается к разъёму на печатной плате)
3 × 3,5 мм (на задней панели)
Интерфейс USB Общее число USB-портов – 7, в том числе:
2 × USB 3.0 (подключаются к разъёмам на печатной плате)
3 × USB 2.0 (подключаются к разъёмам на печатной плате)
4 × USB 2.0 (все Type-A на задней панели)
Интерфейс PS/2 2 × PS/2 (на задней панели)
Дополнительные разъёмы 1 × подсветка дисплея
2 × 4-pin коннектор для вентилятора
группа разъёмов для передней панели корпуса
Питание 24-контактный горизонтальный разъём питания ATX
Форм-фактор Mini-ITX
Габариты (мм) 170 × 170
Поддержка ОС Linux

Нам материнская плата досталась в составе готового ПК: корпус InWin BQ660SU3 со встроенным блоком питания мощностью 150 Вт, два 4-Гбайт модуля Crucial DDR4-2400 (CT4G4DFS824A), 2,5” SATA SSD Kingston A400 (SA400S37/240G) ёмкостью 240 Гбайт, M.2 SATA SSD Netac (NT01N535N-128G-N8X) ёмкостью 120 Гбайт. SoC была снабжена небольшим кулером, который на пару с вентилятором БП не слишком приятен на слух — видимо, в силу своих небольших размеров.

#Знакомство с окружением

Опций в UEFI ожидаемо мало — и почти все они связаны с загрузчиком: доступны выбор источника, драйверы, настройка PXE + параметры консольного вывода. Первичная загрузка системы происходит очень быстро — буквально за несколько секунд, после чего управление передаётся GRUB, а скорость загрузки ОС зависит уже от дистрибутива, но в целом на это тоже уходит мало времени. В нашем случае было предустановлено сразу две ОС на разных накопителях: Astra Linux Special Edition (SE) 4.7 «Новороссийск» (на SSD Netac) и Debian 11 на приводе Kingston.

В качестве основной ОС была выбрана Astra Linux (ядро 5.4.0) — по двум причинам. Во-первых, она в данной конфигурации и с настройками по умолчанию показалась субъективно более отзывчивой в работе. Всё же Gnome 3.38 в Debian (ядро 5.4.144), видимо, несколько тяжеловат. Во-вторых, это редкая возможность вживую ознакомиться с платформой, которая используется в бюджетных учреждениях. Кроме того, Astra Linux — единственная на текущий момент ОС для Baikal-M, сертифицированная ФСТЭК по второму уровню доверия.

Astra Linux SE — это ОС специального назначения, которая ориентирована на корпоративный и (около-)государственный сектор. Есть и версия Common Edition, которую можно свободно скачать и опробовать. В основе обеих лежит дистрибутив Debian, местами сильно модифицированный. В частности, в качестве окружения рабочего стола используется собственная легковесная оболочка Fly, для которой имеется даже онлайн-демо, где можно посмотреть неполный список доступных приложений.

Набор ПО представлен как типовыми десктопными Linux- или кросс-платформенными программами, так и целым рядом собственных утилит и сервисов (в основном с префиком fly-), часть из которых основана на открытых решениях, а другая часть — собственной разработки. Что более важно, непрерывно идёт процесс тестирования и доработки дистрибутива и ПО на предмет совместимости с программными и аппаратными решениями других компаний (отечественных в первую очередь).

Создать, протестировать, сертифицировать и задокументировать всё это (да, тут неплохая встроенная справка по основным настройкам), а потом заниматься поддержкой и оптимизацией сразу на нескольких принципиально отличных друг от друга аппаратных платформах – огромная работа. Так что гибридный подход с опорой на open source с доработкой имеющихся решений и написанием собственных видится практичным и разумным. А в случае отечественных решений именно ПО становится ключевым фактором в развитии платформы.

Special-версия Astra Linux отличается от Common наличием дополнительных механизмов защиты и сохранения целостности системы и расширенными возможностями управления правами доступа к данным, службам и функциям. Эти механизмы собственной разработки пронизывают систему насквозь – от ядра, где и работает часть этих подсистем, до графического интерфейса (в файловом менеджере объекты имеют дополнительные цветовые метки). Кроме того, визуально разделены режим администратора (с красным цветовым оформлением) и режим обычного пользователя, в котором часть настроек недоступна.

Ну и в целом есть масса всяческих мелочей, которые обычному пользователю не очень нужны. Например, принудительно проставление маркеров при выводе на печать, подсчёт контрольных сумм по ГОСТ'овскому алгоритму, сохранение и восстановление рабочих сессий, функции для работы с цифровыми подписями, принудительная очистка swap-разделов при выключении, гарантированное удаление данных из разделов и так далее.

Другая особенность SE-сборки связана с принципом дистрибуции и обновления ПО. Нам достался вариант рабочего места, готового к аттестации ФСТЭК России. В этом варианте ОС и апдейты к ней распространяются в виде ISO-образов, а в поставку входит ограниченный набор ПО без средств разработки или ряда проприетарных решений — так, для Java был выбран и установлен Liberica JDK от российских разработчиков. Однако в обычном варианте поставки подобных ограничений нет. И если в целом с системным ПО, похоже, всё в порядке, то с прикладным и десктопным уже не всё так просто.

Собственно говоря, существовать в такой системе можно — один полный рабочий день автор данного материала провёл исключительно в этом окружении, а в остальное время система использовалась периодически. Нельзя сказать, что с полным комфортом, но опыт интересный. Естественно, речь идёт о типично офисной работе с несложными текстовыми документами и таблицами, браузером, простой обработке изображений в GIMP и прослушивании музыки из YouTube в фоне. Ну и о просмотре пары серий любимого сериала в конце дня, чего скрывать.

К относительно неспешным — в сравнении с тем, как это происходит на привычной Windows на Core i7 — запуску приложений или открытию веб-страничек (тут ещё многое зависит от сайта) на самом деле привыкаешь быстро. Но приходится сталкиваться с какими-то раздражающими мелочами. Первое, что буквально бросается в глаза, — шрифты. В самом окружении они нормальные, но, например, в браузере или редакторе — страшненькие. Повозившись с полчаса с подбором самого шрифта и сглаживания, плюешь и оставляешь как есть.

Из браузеров в комплекте есть Chromium 87 (с отдельной gost-версией в нагрузку) и Firefox 84. Оба «из коробки» поддерживают аппаратное ускорение воспроизведения видео (большое дело, надо сказать), но Firefox в целом показался более удобным, оптимизированным и вообще более отзывчивым, хотя в WebXPRT 3 у обоих браузеров результат почти одинаковый: 45 и 44 балла.

Оптимизация Firefox, в частности, проявляется на условно-тяжёлых сайтах. Карты — что от Google, что от "Яндекса" — откровенно подтормаживают, а панорамы в них превращаются в слайд-шоу, но Firefox, в отличие от Chromium, хотя бы не подвешивает намертво систему время от времени. Однако это, надо признать, исключительный случай — каких-то других существенных претензий именно к ОС как таковой нет.

Другой момент — возможная неполнота некоторых проприетарных решений, задействующих цепочку из нескольких отдельных компонентов. Например, «КриптоПро» прекрасно работает с аппаратными токенами, но их нельзя задействовать для работы с ЭДО «ДиаДок» в браузере, поскольку соответствующих плагинов и утилит ещё нет. В техподдержке «СКБ Контур» сообщили, что Arm-версия будет, но точных сроков не назвали. Впрочем, для других наборов задач всё уже может быть давно готово.

Отдельно стоит сказать про офисные приложения. В комплекте с ОС поставляется LibreOffice 7. Но с учётом позиционирования компьютеров с российскими CPU на рынок устройств для проектов цифровой трансформации (говоря официальным языком) целесообразнее познакомиться с настольными редакторами «МойОфис», поскольку это единственный российский офисный пакет для платформы Baikal-M. Нам была предоставлена предварительная версия продукта, которая ожидаемо отличается от актуальной для Windows, поскольку портирование столь большой кодовой базы на другую программно-аппаратную платформу — дело непростое и затратное, но для некоторых областей попросту необходимое.

Общие впечатления от обоих пакетов смешанные. С простыми текстами и таблицами проблем нет — значительная часть этого материала была написана именно на тестируемом ПК в «МойОфис» под Astra Linux. С прочими же файлами ситуации бывают всякие: большие таблицы (от тысячи строк с десятком столбцов) могут заметно подтормаживать, в документах не всегда всё корректно отображается (в разных пакетах по-разному) — и так далее. С другой стороны, стопроцентного повторения функциональности Microsoft Office никто и не обещал.

Но если не учитывать специфические проприетарные решения для узких задач, то у платформы в целом с ПО всё хорошо. Все крупные Linux-дистрибутивы уже имеют сборки под AArch64 с практически идентичным x86-64-наполнением (исключения есть). Более того, приход серьёзных Arm SoC в корпоративный и серверный сегменты только подстёгивает разработчиков портировать и оптимизировать открытое (и не очень) ПО. Уже сложившейся экосистемы более чем достаточно для большинства задач, но развитие её на этом не останавливается.

#Бенчмарки

Это ровно тот случай, когда «синтектика» мало о чём говорит и не отражает пользовательский опыт. Тем не менее некоторые результаты — с надеждой на сравнение в будущем с показателями более новых платформам «Байкал Электроникс» и других отечественных разработок — мы всё же приведём. Тесты были проведены в Debian, поскольку а) это свежая сборка от самих разработчиков процессора; б) есть доступ к нормальным онлайн-репозиториям с необходимым инструментарием для сборки ПО. Причём всё сделано с «прибитым» GDM, чтобы GUI не отнимал лишние такты. В теории.

На практике на результаты комплексных бенчмарков в обоих ОС это повлияло мало. В бета-версии Geekbench 5.4.1 процессор набрал 220 и 1529 баллов в одно- и многопоточном тестах соответственно. Сравнение его с другими CPU нельзя назвать корректным, да и среди x86 трудно найти восьмиядерники с фиксированной частотой и без SMT. Тем не менее пару моделей со схожими результатами и, что важно, таким же TDP найти удалось. Это Intel Core 2 Duo T5550, который схож в однопоточном тесте, и Intel Core i3-4160T, схожий в многопоточном. Оба на архитектурах, использовавшихся приблизительно в то же время, когда состоялся анонс Cortex-A57.

Stream, Мбайт/c Baikal-M Baikal-T
Оф. тест 3DNews, опт. Оф. тест 3DNews, опт.
Copy 13870 12244,5 3119,2 3255,6
Scale 13798 12222,7 3109,9 3290,2
Add 13207,3 11597,9 2466,9 2480,9
Triad 13321,7 11646 2467,7 2503,1

Интересно было бы сравнить BE-М1000 с Opteron A1100, так как они во многом похожи, но результатов процессора AMD в базе Geekbench ожидаемо не нашлось. Равно как и в базе бенчмарка Passmark, в котором Baikal-M получил в Debian 1021 и 639 баллов в тестах CPU и RAM соответственно. И практически столько же в Astra Linux. Единственный тест, который не дался системе, — это HPL. В нём SoC выходила за заданный лимит температуры в +65 °C. Тем не менее удалось выжать 33 Гфлопс, что несколько меньше 38 Гфлопс, полученных самими разработчиками с использованием фирменного компилятора и оптимизированных библиотек от Arm.

CoreMark
Модель Архитектура Частота, МГц Ядра CoreMark CoreMark/МГц CoreMark/ядро CoreMark/МГц/ядро
AMD FX-8350 x86-64 4000 8 113502 28,38 14187,75 3,55
NXP LS2088A ARM Cortex-A72 1800 8 64983 36,10 8122,88 4,51
Baikal-T (оф. тест) MIPS P5600 1200 2 12364 10,30 6182,00 5,15
Baikal-T (3DNews, опт.) MIPS P5600 1200 2 13039 10,87 6519,50 5,43
Baikal-M (3DNews, опт.) ARM Cortex-A57 1500 8 65672 43,78 8209,00 5,47
Baikal-M (оф. тест) ARM Cortex-A57 1500 8 66195 44,13 8274,38 5,52
Intel Core i5-3380M x86-64 2900 4 67088 23,13 16772,00 5,78
Intel i5-9600K x86-64 3700 6 192369 51,99 32061,50 8,67

Если же смотреть на «чистую» производительность, то картина интереснее. Из базы CoreMark было отобрано несколько результатов, в которых число ядер совпадало с числом запускаемых потоков бенчмарка + добавлены данные из старого теста Baikal-T. Абсолютные значения не так важны, но вот показатель CoreMark/МГц/ядро любопытен. Для сравнения также даны результаты более-менее свежего Intel Core. Правда, относиться к этим показателям следует с осторожностью — более широкой выборки попросту нет.

#Заключение

Давайте разделим выводы на две части: про чип и про ПК. С чипом всё просто — он работает и уже выпускается, а недавно в Россию приехали первые 5 тысяч SoC из заказанных на TSMC 130 тысяч. Можно сколько угодно причитать, что, мол, архитектура не наша, техпроцесс не самый свежий, делали долго и стоит недёшево (22,5 тысячи рублей без НДС). Но Baikal-M — это сейчас единственный чип такого класса, разработанный в России. Создатели довели его до ума, несмотря на все трудности, и вокруг него формируется экосистема производителей и партнёров.

«Эдельвейс», с платой которого мы знакомились, — первый, но уже не единственный разработчик решений на базе Baikal-M. К нему добавились «Аквариус», «Гаоди Рус», «Проект Лагранж», «Элпитех», 3logic, iRU. Всего сейчас в разработке находится 25 различных устройств, а в 2022 году планируется выпустить 300 тысяч чипов Baikal-M. Для сравнения: в этом году объём по всем продуктам составит 140 тысяч изделий. Baikal-T не забросили, но переход к Arm открывает гораздо большие перспективы.

 Есть и такой вариант десктопа

Есть и такой вариант десктопа

Изученный нами сценарий использования, то есть в качестве офисного ПК начального уровня, тоже далеко не единственный. Важнее, на наш взгляд, импортозамещение в области промышленных решений, особенно в части критической инфраструктуры. Если же говорить конкретно об опыте работы с десктопной сборкой Astra Linux, то вердикт таков — да, не очень комфортно, но работать можно. Часть замеченных проблем, как нам кажется, относительно легко исправить, часть — вряд ли.

Более практичным видится сценарий подготовки рабочих мест с заранее заданным и по возможности оптимизированным и подогнанным друг к другу ПО для выполнения конкретных задач, а не создание максимально универсального ПК. И хочется надеяться, что Baikal-M в текущем виде станет промежуточным этапом развития этих чипов, поскольку через три-четыре года выросшие запросы ПО потребуют обновления аппаратной платформы. В планах компании как раз есть 6-нм Armv9-модель Baikal-M2, которая должна быть в разы быстрее нынешнего чипа Baikal-M.



Оригинал материала: https://3dnews.ru/1051294