Найти в Дзене
Электромозг

Процессор Эльбрус с VLIW-архитектурой — есть ли у него шанс стать универсальным?

В августе-сентябре 2021-го года на просторах Хабра разгорелась интересная дискуссия между инженерами-программистами из МЦСТ, бывшим — Максимом Масловым (ранее руководителем отдела проекта бинарной трансляции Эльбруса, ныне работающим в Huawei) и действующим — Алексеем Маркиным (разработчиком оптимизирующего компилятора для Эльбруса, alexanius.ru). Очень полезно для понимания ситуации почитать аргументы настоящих специалистов, вдобавок, непосредственных участников разработки, а не диванных экспертов.

Итак, 1 августа Максим (бывший сотрудник) написал статью «Процессор Эльбрус — почему это тупик для развития отечественной линейки general-purpose CPU», в которой очень хорошим слогом объясняет, почему ставка на легендарный микропроцессор Эльбрус, как процессор общего назначения, по его мнению — это тупик для развития отечественного процессоростроения.

Надо сказать, что Максим, насколько я понимаю, не работает непосредственно с Эльбрусом уже более 10 лет (с 17 февраля 2012 года он являлся соучредителем и техническим директором стартапа «Эльбрус технологии» — Eltechs под эгидой Сколково, разрабатывавшей системы кросс-архитектурной виртуализации x86 под ARM, а теперь он вообще сотрудник Huawei, видимо, купившей этот стартап), поэтому он может не знать о последних наработках по теме Эльбруса.

Тем не менее, в статье он вполне чётко и грамотно аргументирует свою позицию, хотя не совсем точно сформулировал заголовок, и сделал его чрезмерно жёстким, что только повысило градус реакции на его статью. Ведь речь в его статье идёт не столько о процессоре Эльбрус, сколько о проблемах любых ядер с VLIW-архитектурой на примере Эльбруса.

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

В тот же день, 30 августа, на первую статью Максима в защиту Эльбруса был дан ответ Алексеем (действующим сотрудником МЦСТ, разработчиком оптимизирующего компилятора) в виде статьи «Процессор Эльбрус — почему статья о тупике несостоятельна». Алексей указал на несколько, на его взгляд, неверных суждений Максима. Но если честно, эта статья показалась мне менее убедительной. Единственное, в пользу Алексея играет то, что он всё-таки разработчик компилятора, и глубже погружён в проблемы оптимизации, чем Максим, занимавшийся другим направлением — бинарной трансляцией.

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

Через неделю, 6 сентября Максим написал ответ Алексею в виде статьи «Легенды и мифы процессора Эльбрус в примерах», в которой он опровергает возражения Алексея конкретными примерами. И опять статья Максима выглядит очень убедительно по изложению (не берусь судить о конкретике). Ну вот умеет человек красиво излагать свои мысли.

Какой вывод я делаю из изучения всех четырёх статей? В настоящее время Эльбрус (говорим о версии микроархитектуры 5, т.е. актуальном на сегодня 8СВ) действительно объективно сыроват, как универсальный процессор, и его архитектура в текущей реализации и с текущим компилятором, проигрывает существующим реализациям архитектур CISC и RISC. На данном этапе с этим глупо спорить. Но это не означает, что его нельзя довести до ума. Просто надо работать, и может получиться довольно интересная вещь.

Но для того, чтобы работать, нужно финансирование и спрос уже сейчас, а значит, его нельзя исключать из ниши универсальных процессоров, считая его тупиковым путём. Тупиковым путь становится тогда, когда прекращаются идеи по его улучшению, но мне кажется, что у МЦСТ в отношении VLIW идеи ещё есть :-)

Остаётся вопрос, что лучше, российская проприетарная архитектура (например, Эльбрус), или общемировая открытая (например, RISC-V). С точки зрения экспорта процессоров в краткосрочной и среднесрочной перспективе полезнее, конечно, открытая, естественным путём становящаяся де-факто одним из мировых стандартов, под который всем миром пишутся программы, если таких процессоров в разных странах становится несколько. А открытость архитектуры (отсутствие лицензионных ограничений и финансовых затрат на её покупку) этому способствует.

Я не сомневаюсь, что через пару-тройку лет мы увидим на RISC-V вполне себе мощные процессоры даже серверного сегмента — уж больно активно все в мире за эту архитектуру ухватились. Поэтому процессоры на этой архитектуре в России точно нужно разрабатывать. Если отечественная микроархитектура (аппаратная реализация архитектуры RISC-V) окажется более производительная, Россия сможет достойно конкурировать с этими процессорами на мировом рынке. Это очень хорошо и полезно.

С другой стороны, в долгосрочной перспективе, имея настолько доработанный процессор проприетарной архитектуры (Эльбрус), что на него возникнет спрос в мире (хотя бы в определённой нише, например, защищённых систем), можно стать единственным поставщиком таких процессоров, что тоже хорошо. А для этого надо продолжать развивать идеи, заложенные во VLIW, и доводить их до теоретического максимума. И в этом очень помогает работа, направленная на повышение универсальности этого процессора. Тем самым и ниша расширяется. Может, он и не станет действительно хорошим универсальным (хотя...), но более удобным нишевым благодаря этой работе по универсальности он точно станет. Как считаете?

Ставьте лайки, подписывайтесь на канал и пишите свои соображения в комментариях. Пока!