Первое знакомство с российским ARM-процессором Байкал-М и компьютером на его основе

Лет 25-30 назад рынок персональных компьютеров был в разы меньше, чем сейчас, зато вариантов персональных компьютеров было куда больше. Типовые «писишки» и тогда уже были самыми массовыми, но во многом потому, что в нижних ценовых сегментах у них не было конкурентов. А вот на верхних этажах «паслись» и топовые PC, и «маки», и разнообразные рабочие станции, работающие на самых разных центральных процессорах под управлением той или иной версии Unix. В общем, компьютерным журналам того времени не составляло большого труда устроить тестирование штук пяти несовместимых друг с другом компьютеров — о такой роскоши в мире современной унификации можно только мечтать.

А еще одной любимой темой прессы того времени были рассуждения о тупиковости CISC-процессоров (к которым традиционно относили х86) и о светлых перспективах RISC-систем. Дело в том, что крупнейшие клиенты либо ничего другого и не выпускали (например, Sun Microsystems мигрировала с процессоров Motorola 68к на собственные SPARC’и еще в 1987 году), либо как раз отказывались от старых разработок в пользу новых архитектур (та же Motorola сначала попробовала выпустить на рынок 88к, а потом вместе с Apple и IBM занялась PowerPC). Собственно, и в Intel тогда придерживались мнения, что запас модернизации х86 исчерпан, все равно придется переходить на что-то другое. На что конкретно — тогда еще ясности не было, поэтому Intel одновременно разрабатывала Itanium (совместно с Hewlett Packard), дорабатывала х86 (все дальше и дальше уходя от «классической» микроархитектуры) и даже собственные ARM-процессоры развивала (в 1997 году ей достались DEC StrongARM, позднее превратившиеся в Intel XScale). Производителям программного обеспечения эту неопределенность тоже приходилось учитывать, и именно тогда стала заметной тенденция на отделение операционных систем от конкретных аппаратных решений. В Microsoft, например, сразу делали Windows NT портируемой, поэтому версия NT 3.1 работала не только на х86, но и на DEC Alpha и на процессорах MIPS, а начиная с версии NT 4.0 добавилась поддержка PowerPC.

Сложно сказать, чем бы все это кончилось, не случись в 2000 году «краха доткомов». Лопнувший пузырь больнее всего ударил по технологическим компаниям, многие из которых так после этого и не восстановились. Часть тогдашних претендентов на лидерство потом доедали по кустам до самого начала «десятых», хотя поворотным моментом в какой-то степени можно считать переход Apple и Sun на х86 в середине «нулевых» (2005-й и 2004-й соответственно). Еще до этого основной целевой архитектурой для Windows стала х86-64 — начиная с Windows XP, вышедшей в 2001 году. Чуть позже (уже в 2006 году) Intel продала ARM-бизнес компании Marvell и решила полностью сконцентрироваться на х86, причем для более полного охвата разных сегментов рынка (в том числе и тех, где ранее использовался XScale) была придумана концепция «малых ядер» — линейка Atom. От разнообразия операционных систем тоже не осталось и следа: что-то ушло к «Wintel», что-то досталось бесплатному Linux, со временем покончившему со всеми коммерческими реализациями Unix.

В перспективе ситуация снова может измениться — благодаря тому, что подрос ARM. Началось это с мобильного рынка, сейчас дошло уже и до ПК с ноутбуками, и ничего неожиданного в этом нет. Как говорили в Intel лет пять назад: «Рано или поздно мы где-то встретимся — но считаем, что наше положение в этот момент будет лучше благодаря лидерству в техпроцессах». Однако позднее как раз с техпроцессами не все оказалось гладко, так что в какой-то степени именно ARM пришел на встречу более подготовленным.

Впрочем, производство топовых процессоров «упирается» в возможности TSMC, а на них уж больно много всего нагружено, так что компания может не справиться с заказами. И этот фактор тоже может сыграть неожиданным образом, оборвав все победные реляции — когда-то аналогично сработали сначала бум доткомов, а потом их крах. Но в те годы, как несложно заметить, проблем с производством не было — были бы идеи хорошие. Сейчас же идеи не всегда можно реализовать — во всяком случае, когда речь идет о топовых характеристиках, которые без тонких техпроцессов просто немыслимы. Плюс особенности ПО: все-таки слишком многие уже привыкли к глобальному х86 и полной (или почти полной) совместимости. Microsoft пытается «соскочить» с платформы Wintel еще со времен Windows 8, но пока все попытки совместной (с партнерами) разработки Windows-устройств на ARM оказываются не слишком успешными. Apple в этом плане проще, поскольку рынок более замкнутый и компактный, да и нынешний переход на ARM — уже третья смена архитектуры центральных процессоров в компьютерах компании, так что процесс в целом отработанный.

В общем, изменится ли что-то глобально в ближайшее время — только время и покажет. Главный момент: существуют ниши, для которых в принципе не требуются процессоры с топовыми характеристиками, а также нет необходимости в глобальной совместимости программного обеспечения. Например, идущий во многих странах (в том числе и в России) процесс импортозамещения ПО, используемого в государственных органах, по понятным причинам ориентирован на местные разработки, включая и операционные системы. Разработать ОС с нуля непросто, однако и не обязательно: в реестре отечественного ПО есть уже несколько [условно] «местных» ОС на базе Linux. Прикладное программное обеспечение может делаться под такой Linux, причем приложения общего назначения (типа офисных) — на базе существующего СПО, а уж разворачивание сложных информационных систем можно осуществлять и с нуля.

В идеале, конечно, под программную «надстройку» импортозамещающего компьютера стоит подвести и собственный аппаратный «базис». Хотя бы в той степени, в какой он сейчас вообще может быть собственным. Да, возможности местного производства полупроводниковой продукции фактически отсутствуют, так что за ним все равно придется обращаться в другие страны. Но вот разработка в немалой степени может быть собственной, хоть и на базе существующих процессорных архитектур. Опять же, это компромисс, причем не гарантирующий отсутствие внешних проблем (что случилось с ARM-процессорами Huawei, все прекрасно знают), но это лучше, чем ничего. Начинать в любом случае нужно с малого. Будут ли такие устройства конкурентоспособными? В совсем равных условиях — сомнительно, поскольку опыта у отечественных разработчиков меньше, объемы выпуска большими на старте точно быть не могут (а значит, и себестоимость будет выше) и т. п. Но разумный протекционизм при тех же госзакупках поможет подправить ситуацию и в конечном итоге выгоден государству: чем меньше денег уходит наружу, тем для него лучше. Со временем могут подключиться и крупные коммерческие заказчики: если им окажется удобнее использовать появившиеся готовые решения (к тому же, гарантированно сертифицированные), то за это можно и заплатить. Главное, чтоб вообще было за что платить. То есть что покупать.

Да, нужно понимать, что ПО-то может быть полностью российским, а вот с полностью российским оборудованием все на данный момент гораздо сложнее. Но, опять же, проблему выпуска готовых продуктов имеет смысл решать только в том случае, когда вообще есть что выпускать. А оно есть — и даже работает.

Байкал-M — интегральная схема отечественного производства

О начале разработки этих процессоров стало известно в середине 2010-х, хотя сама компания стала известна широкой публике чуть позднее — вместе с анонсом Байкал-Т1. Этот процессор основывался на MIPS-архитектуре, имел всего пару ядер и во многом оказался пробным камнем. Но все-таки он использовался в некоторых проектах — например, первым продуктом на его основе оказалась система управления станками с ЧПУ. Моноблоки на Байкал-Т1 тоже демонстрировались, но для такого применения чип все-таки был слабоват уже на момент выхода. Да и лучшие годы MIPS кончились еще в упомянутые 90-е — сейчас уже сложно ожидать для этой архитектуры нормальную поддержку со стороны производителей софта.

Поэтому изначально больший интерес вызывал Байкал-М — он же BE-M1000. Здесь уже более современная (пусть и не рекордная) процессорная часть: восемь 64-разрядных ядер ARMv8-A (Cortex-A57) с частотой до 1,5 ГГц. И восьмиядерный же GPU Mali-T628 с частотой до 750 МГц. По характеристикам это похоже на некоторые мобильные или серверные процессоры середины прошлого десятилетия. Скорее — на вторые, благодаря развитой периферийной составляющей. Например, у Байкал-М есть 16 линий PCIe (конфигурация 8+4+4) и можно реализовать до четырех сетевых интерфейсов: к двум гигабитным можно «прикрутить» еще два 10-гигабитных (при помощи дополнительных PHY-контроллеров). Для сравнения: AMD Opteron A1100 2016 года — это те же восемь ядер Cortex-А57, но на частоте 2 ГГц, без видео, с PCIe x8, двумя встроенными интерфейсами Ethernet 10 Гбит/с и целыми 14 портами SATA. В общем и целом — решения сопоставимые, хотя у AMD такой процессор вышел гораздо раньше. И оба рассчитаны на 28-нанометровый техпроцесс TSMC — локализация производства полупроводниковой продукции в России даже по таким нормам все еще невозможна. Так что прошлой осенью Байкал-М получил статус интегральной схемы отечественного производства только второго уровня (в терминологии Постановления Правительства РФ от 9 августа 2016 г. № 764) — до первого уровня, предполагающего, в частности производство на территории РФ, еще далеко. Всем разработчикам. Но если ничего не разрабатывать, то и производить будет нечего.

Так что сразу после сертификации компания объявила о том, что готовятся еще три новых чипа. Два из них представляют собой упрощенные модификации Байкал-М, в котором периферии оказалось... несколько избыточно для типового рабочего места, например. В итоге под нож частично пошла сетевая поддержка, линии PCIe, а в младшей модели — и часть процессорных ядер. Последнее тоже не страшно: все равно в интерактивной работе загрузить их все нечем, а бо́льшую часть времени система ждет действий пользователя. Зато тот же Байкал-М/2 компактнее, а стало быть — и дешевле в производстве.

Первоначальная модель Байкал-М не пропадет: она может оказаться отличной основой для микросервера или NAS, которые отечественным компаниям тоже нужны. Не сказать, что это очень большой рынок, но с учетом его специфики тут есть возможность даже на глобальный рынок выйти: все равно основную стоимость составляет программное обеспечение (которое можно писать на месте), а в бюджетных моделях обычным делом является использование процессоров с парой ARM-ядер и с одним гигабитным сетевым интерфейсом. Что-нибудь подобное Байкал Электроникс недавно пообещал разработать на замену Байкал-Т1, поскольку на перспективу лучше все-таки ограничиться одной архитектурой процессоров для всех сегментов — от тех же станков до серверов. Кстати, на серверное применение ориентирован также анонсированный прошлой осенью Байкал-S: уже 16-нанометровый процессор на 48 ядрах ARM-Cortex A75 и с кучей периферийных контроллеров. И с тремя межпроцессорными интерконнектами — что позволяет на одной плате совместно работать и четырем таким устройствам с соответствующим масштабированием производительности. Энергопотребление получается более серьезным, до 120 Вт, но по меркам серверного рынка это немного.

В общем, в планах компании полный охват всего необходимого спектра микропроцессоров: от простых и компактных встраиваемых двухъядерных моделей через персональные компьютеры и до серверов. Наработки для всего этого есть. Они базируются на импортных лицензиях, да и производство локализовать пока невозможно, но, как уже говорилось, с чего-то начинать все равно нужно. Байкал-S, Байкал-М/2 и Байкал-М/2+ «в железе» должны появиться в следующем квартале этого года. А вот Байкал-М уже доступен заказчикам. Равно как и прототипы систем на нем — с одним из которых нам удалось близко познакомиться.

Персональный компьютер на базе Байкал-М

Скажем сразу: выбор корпуса нас несколько удивил: Thermaltake Suppressor F1 — достаточно пафосное (и недешевое) решение для сборки мощных ПК со всякими излишествами типа дискретных видеокарт. Впрочем, на выставках смотреться будет достаточно эффектно, а для реальных проектов, естественно, будет взято нечто покомпактнее и попроще.

И без такого количества пустого места, разумеется.

Главная идея: это абсолютно стандартная плата Mini-ITX, полностью подходящая ко всей существующей инфраструктуре. Ничего придумывать не нужно — достаточно установить ее в корпус, в слоты вставить 1-2 абсолютно стандартных DDR4 DIMM и найти какой-нибудь SATA-накопитель (можно и NVMe). Из «внешней» периферии потребуются мышь, клавиатура и монитор — но и для них используются стандартные интерфейсы. То есть вполне сравнимо с разнообразными игрушками для рынка «сделай сам», которые недороги, но со стандартными форм-факторами и со стандартной же периферией там не все так уж гладко. Скажем, у них может быть ограничен объем оперативной памяти, обычно просто напаянной на плату — в отличие от обычных DIMM, суммарной емкостью до 64 ГБ, у компьютера на Байкал-М.

Во всяком случае, это верно для существующих на данный момент системных плат линейки TF307 — появившейся в прошлом году TF307-MB-S-C или попавшей к нам в руки TF307-MB-S-D (внешне они практически не различаются, хотя внутренних коннекторов на второй ревизии чуть больше). Отличий от других плат данного форм-фактора с интегрированными процессорами внешне практически никаких — даже аудиотракт по современной моде изолирован.

Производится плата, как и положено, в России, но пока мелкими сериями — в итоге даже заглушку для портов задней панели оказалось проще распечатать на 3D-принтере, нежели заказывать штамповку.

Единственный компонент, производство которого пока невозможно локализовать полностью — сам процессор в BGA-исполнении. Но это не его особенность, а общее положение дел на полупроводниковом рынке: даже такие (уже не слишком новые) техпроцессы доступны на данный момент немногим. С этим тоже со временем придется что-то делать, причем даже безотносительно вопросов обороноспособности и прочего — но пока так: «узким местом» стало именно производство.

Изначально предполагалось «погонять» на системе тесты. В конечном итоге мы от этой идеи отказались. Во-первых, потому, что разработчики, в общем-то, ничего и сами не скрывают — публикуя подробные отчеты. Скорее всего, что-то подобное и пришлось бы повторить, поскольку специальной методики тестирования для Linux-систем у нас все равно нет, равно как нет и какой-то базы результатов для сравнения, так что проделывать такую работу «с нуля» разово уже не слишком интересно. Каких-либо открытий ожидать сложно, а на получение максимальной производительности сам по себе Байкал-М не слишком ориентирован: такую задачу будут решать новые продукты. Имеющийся процессор предназначен в первую очередь для «обычных» рабочих мест с интерактивным программным обеспечением, которому длительные нагрузки несвойственны, так что большую часть времени любой современный процессор находится в энергосберегающем режиме, поскольку система «ждет» оператора. Не слишком современный — тоже; из-за чего в этой сфере до сих пор трудится огромное количество давно закупленных ПК, производительность которых к общему знаменателю приводится очень плохо. Хотя бы потому, что «отзывчивость» системы в большей степени зависит от объема оперативной памяти и типа системного накопителя — так что пожилые ПК зачастую проще поменять, чем модернизировать или продолжать использовать «как есть». А в случае реализации крупных ИТ-проектов большая часть программ вообще может писаться совсем на месте: не просто в стране, а вообще в конкретной крупной организации. Причем делать это в любом случае придется независимо от выбранного оборудования, так что даже проще все изначально оптимизируя под него — с учетом всех особенностей, включая и производительность. Но сравнивать разные системы в данном случае вообще смысла не имеет.

Комментарий представителя Baikal Electronics: «Если смотреть на цифры, то логично сравнивать производительность Baikal-M с близким по времени релиза и со схожей производительностью процессором - Intel Core i3 7300T. В тесте HP Linpack Baikal-M превосходит Intel Core i3 7300T, а в тесте Coremark незначительно ему уступает.  Еще один бенчмарк — это 7-Zip, и здесь результаты по обоим процессорам сравнимы. На операциях сжатия, скорость которых сильно зависит от быстродействия операция с памятью и кэшами, Intel Core i3 7300T чуть быстрее, а вот в случае с распаковкой данных уже быстрее Baikal-M. Есть блок задач, где Intel быстрее — это операции с памятью и кэшэм, а также при работе JavaScript-движков и при работе PHP-интерпретатора. Несмотря на то, что для обычных повседневных нагрузок можно найти более привычные конечному пользователю варианты, в случае, когда требуется сертификация аппаратной и программной составляющей и повышенная защищенность, например, для работы в госорганах, Baikal-M — рабочий вариант, справляющийся со всем необходимым спектром задач».

Программная составляющая

Посмотреть на то, что работает и доступно из коробки, тем не менее, было интересно. По умолчанию нас встретила Astra Linux Special Edition — действительно специфическая система, рассчитанная на обеспечение защиты обрабатываемой информации вплоть до уровня гостайны включительно. То есть основные потенциальные потребители — объекты КИИ, силовые ведомства (Минобороны, например, или ФСБ), которыми данный релиз полностью сертифицирован. При этом системой давно уже заинтересовались в «Газпроме», Росатоме, РЖД и не только. 

В данном случае особой свободы с выбором релиза ОС нет, поскольку Common Edition (рассчитанный на более массовое использование) пока существует исключительно в версии для x86-64. Но если не требуется чего-то специфического, то никаких особенностей в работе Special Edition невооруженным глазом не заметно: Linux и Linux. Репозиторий, естественно, свой — физически расположенный на территории РФ. Наполнение — достаточно ограниченное, хотя базовый «джентльменский набор» в виде «браузер+офис+GIMP» доступен сразу же в комплекте. Увидеть какие-то принципиальные отличия от той же «Астры», но под х86, нам не удалось.

Решили немного усложнить задачу и поставить ОС самостоятельно. Остановились на максимально альтернативном варианте — Simply Linux («Базальт СПО»), благо эта система тоже работает на ARM-процессорах, да и с Байкал-М совместима официально. У нее есть небольшие ограничения: в частности, не работают PS/2-клавиатуры и мыши, а также блок аппаратного декодирования видео. Но больше ничего заслуживающего внимания не случилось: дистрибутив был скачан, записан на флэшку, дальше загрузка с той же флэшки, пара простых вопросов, и...

Еще один Linux как Linux. Выглядит немного иначе, но основные принципы в дизайне оболочек современных ОС давно уже остаются неизменными, а по мелочи что-то может поменяться и между обновлениями Windows. Собственно, мелочи-то пользователю обычно и видны, но отличить тот же Simply Linux 9.1, работающий на Байкале, от версии для обычного «писюка» почти невозможно. Особенно когда предполагается использование ограниченного набора специализированных программ, как это чаще всего и бывает на рабочих местах в крупных компаниях. А тогда отличить рабочий процесс даже от Windows будет сложновато. При этом никаких проблем от задекларированного отсутствия аппаратной поддержки декодирования видео обнаружить не удалось: ролики на YouTube, к примеру, крутятся одинаково.

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

Итого

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

12 июля 2021 Г.