Микропроцессоры и Инопланетяне
3 июля в ТАСС состоялась пресс-конференция, посвященная открытию исходных кодов некоторой части системного ПО для микропроцессоров Эльбрус. Само по себе событие сложно не воспринимать положительно, вне зависимости от цели и полезности того, что было выложено на публику. Но вот выступления некоторых участников пресс-конференции, носили, не побоюсь этого слова, инопланетный характер. И если представитель Минпромторга и исполнительный директор ассоциации разработчиков программных продуктов «Отечественный софт» не выходили за рамки присущего такого рода мероприятиям дежурных заявлений в духе «за всё хорошее, против всего плохого, углубить и расширить», то люди, очень похожие на представителя МЦСТ Константина Трушкина и главу ассоциации АРПЭ Ивана Покровского, безусловно, заинтересовали бы агентов K и J. Но т.к. в эпоху санкций и ограничений люди в чёрном не смогут прилететь в Москву, придётся разоблачать пришельцев самостоятельно.
Начало пресс-конференции не предвещало ничего особенного. Человек, похожий на Константина Трушкина, выступил с обычным рассказом «об уникальной архитектуре E2K», перечислив в очередной раз набор сопутствующих мифов. Разбирающиеся в вопросе специалисты снова икнули, но сделали привычную поправку на специфику маркетинга. Представители Минпромторга и ассоциации разработчиков программных продуктов выдержали вполне нейтральный и разумный тон выступлений. И вот, слово было передано главе Ассоциации российских разработчиков и производителей электроники Ивану Покровскому… Когда Иван начал выступление, в этот момент у меня начали закрадываться сомнения, что это говорит человек с планеты Земля. Разобрать все горячие тезисы, выдвинутые данным спикером, заняло бы слишком большое время (кому интересно, можно послушать полное выступление), поэтому дальше, так сказать, избранное:
Иван Покровский:
«Чем отличается понятие экосистемы от классических кооперационных отношений корпорации там друг с другом дистрибьюторские сети, почему оно возникло? Потому что в рамках экосистемы, а экосистемы как правило связывают с открытыми технологиями, никто никому ничем не обязан.
Ну вот, экосистема — это можно сравнить с сообществом, сообществом людей. Есть заводила, чем он удерживает сообщество? Чем он держит интерес? Только своим интеллектом, энтузиазмом, идеями, которые возбуждают других людей, только этим. Неинтересно, вот им вдруг стало неинтересно — всё развалилось.»
После прослушивания этого отрезка, в голове у меня возникла одна картинка:
Честно говоря, сложно комментировать этот поток сознания. Но давайте всё же попробуем немного разобраться. Ну, во-первых, понятие «экосистемы» абсолютно ортогонально «классическим кооперационным отношениям». Экосистема может существовать (и существует!) как, например, для полностью проприетарных процессоров от Интел/AMD, доступных по лицензии как Arm, так и для условно открытых, как Risc-V. Также в мире софта существует экосистема как для коммерческой MS Windows, так и для открытых и не очень дистрибутивов на базе Linux.
Во-вторых, утверждать, что экосистемы строятся на уровне, что кому-то интересно/неинтересно, возбуждает/не возбуждает, это что-то из детского сада. Экосистемы строятся на базе потребностей людей/компаний и финансовой (так или иначе) выгоды для разработчиков железа (в нашем случае) и их клиентов. И только вокруг этого столпа можно наворачивать сообщество энтузиастов, которые могут помочь в развитии экосистемы, но никак не решить все проблемы разработчика. И странно думать, что многомиллиардный бизнес может зависеть от того, стало ли какому-то заводиле-энтузиасту сегодня интересно отправлять патчи в ядро Linux или нет.
Иван Покровский:
»Вообще, в отношении к Эльбрусу люди делятся на 3 категории. Кажется, что две, но на самом деле их 3. Две, потому что, кажется, что одни ругают, вторые не ругают. Но три потому что кто ругает? Ругают конкуренты по понятным причинам, им это выгодно. Ругают те, кто никогда не пробовал Эльбрусы, ничего менять не хочет и разбираться в этих технологиях им просто непривычно. Но все, кто попробовал работать с Эльбрусом, становится его сторонником»
Вот интересно, а Иван сам пробовал когда-то серьёзно работать с Эльбрусом? Возможно, у него не iPhone/MacBook, а смартфон/ноутбук на Эльбрусе? Или он рассуждает теоретически? Что-то мне подсказывает, что практический опыт использования Эльбруса у Ивана нулевой, поэтому такие рассуждения из его уст звучат, мягко говоря, голословно. Но в чём глава АРПЭ угадал, так это в том, что отношение к Эльбрусу действительно делится на 3 категории, правда они несколько другие:
Специалисты, разбирающиеся в вопросе архитектур и микроархитектур, и прекрасно понимающие, что в 2024-ом году продвигать VLIW-архитектуру для процессора общего назначения — это нонсенс. На текущий момент примерно 100% рынка процессоров общего назначения составляют RISC/CISC архитектуры, и это неспроста
Специалисты, прекрасно понимающие факт из п.1, но, в силу личной причастности к проекту Эльбрус, вынужденные рассказывать про «перспективы VLIW» и »25 операций за такт»
Все остальные жители планеты Земля, не разбирающиеся в предмете достаточно глубоко, и по сему, в силу различных обстоятельств и личных предпочтений, выбирающие ту или иную сторону
Иван Покровский:
«На этом можно разрабатывать решения, которые технологически будут превосходить те привычные вам решения, основанные на в общем-то шаблонах зарубежных корпораций.
….
Мы работаем с очень таким самобытным подходом, эффективность которого
подтверждается в очень многих областях применений»
Тут хочется воскликнуть — ребята, а можно нам просто нормальный процессор, а?! Такой, на уровне какого-нибудь Intel Skylake почти уже 10-летней давности, даже проигрыш в однопоток процентов на 20 мы простим! Ядер побольше, ну и цену разумную, можно? А будет он самобытный, или основанный на каких-то шаблонах, да хоть на идеях с планеты Нибиру, абсолютно всё равно. Главное, чтобы работал!
И для точности изложения — давайте всё же напомним, что VLIW — это совсем не самобытный подход. Первые статьи с описанием VLIW-архитектуры появились как минимум в начале 1980-х на Западе, задолго до появления E2K. И эффективность данного подхода действительно подтверждена — она существенно уступает ОоО Risc машинам, по причине чего все серьёзные иностранные проекты на базе VLIW закрылись — Transmeta, Intel Itanium, Nvidia Denver.
Выдав столь мощный спич и повергнув слушателей в нокдаун, Иван передал слово человеку, похожему на Константина Трушкина. Получив эстафетную палочку, Константин начал воодушевлённо развивать тему, но пока ещё не покидал гравитационное поле планеты Земля. Но Иван явно вознамерился отправить всех в космос и продолжил:
Иван Покровский:
«Позвольте дополнить, мне кажется Константин скромничает, вот потому, что я считаю что география распространения технологий Эльбрус не ограничена странами, уровнем дружественности/не дружественности, потому что ситуация следующая — большинство компаний и стран попали в колею, в определенную технологическую колею, связанную с успехом британского IP-вендора ARM, который практически монополизировал рынок процессоров для мобильных устройств на RISC-архитектуре, и движение с RISC-архитектуры, в принципе разных типов риск-архитектуры, оно поддерживается практически везде. То есть быть в тренде это просто, но как множество решений требует просто другого подхода. И Эльбрус — это другой подход. И применить другой подход для решений, которое не очень-то хорошо вписывается в процессоры на RISC-архитектуре, это дело абсолютно рациональное. Здесь нет никакой политики, здесь, да, конечно вопрос суверенитета он важен и для нашей страны, и для других стран, то что Константин сказал, это будет работать тоже. Но важен просто технологический аспект. То, что делает Эльбрус — это сверхэффективно. На эту дорогу выходил Интел в своё время и сбился с этого пути, надо сказать. Это было правильное решение. Но люди, которые продвигали в Интеле соответствующие технологии, они выходцы из России, кстати говоря из Эльбруса. Но внутренняя корпоративная возня/война вытеснила этих людей на периферию. И Интел не смог продвинуться в этом направлении, оно очень важно, просто технологически важно для индустрии вычислительной техники. Поэтому все будут применять. Все будут применять по всему миру!»
Собственно, классика:
Что тут можно сказать… Ну, во-первых, выходцы из России не продвигали идеи VLIW в Интел. Проект Intel Itanium возник задолго до появления сколь-либо значимого влияния российских разработчиков на что-либо в Интел и перехода людей из МЦСТ в 2005-ом году. Intel Itanium стартовал где-то в 90-х, в 2001-ом был выпущен первый кремний, а к 2006-ому году (с выходом микроархитектуры Core) фактически уже проиграл конкуренцию OoO-процессорам. Московский офис Интел занимался другими направлениями перспективных архитектур, о которых его бывшие сотрудники могут рассказать, если посчитают нужным.
Во-вторых, интересно, про какую сверхэффективность рассуждает господин Покровский? Все доступные открытые данные (да и непубличные) однозначно говорят о низких технических показателях Эльбруса, обладающего всеми (давно известными) недостатками VLIW-архитектуры. О каких критериях эффективности тогда идёт речь? И достаточно забавно выглядит то, что человек, очевидно, плохо разбирающийся даже в азах процессоростроения, столь лихо рассуждает о других подходах, и об ошибках компании Интел, выпустившей процессоров больше, чем Иван когда-либо видел в иллюминаторе своего звездолёта. И то, что «И Интел не смог продвинуться в этом направлении» почему-то, не наводит Ивана ни на какие мысли. Такой незамутненной уверенности в суждениях позавидовал бы сам Остап Бендер.
Тут уже пламя огромных перспектив и невероятных достижений, столь рьяно разжигаемое главой АРПЭ, наконец-то, передалось его соседу — человеку, похожему на главного маркетолога МЦСТ Константина Трушкина. Инопланетный организм вырвался наружу:
Константин Трушкин:
«Тот подход RSIC, про который говорил Иван, он хоть во многом и хорош, очень хорош, современные RISC«и — это очень совершенные машины. Но, и у них есть недостатки. Одна из главных проблем архитектуры типа RISC — это экспоненциальный рост сложности, когда мы хотим получить больше производительности на такт. А как мы понимаем, многие задачи они не распараллеливаются на ядра. Надо чтобы один поток управления работал очень быстро. И вот соответственно этот вот экспоненциальный рост сейчас он поддерживается просто вот этой гонкой закона Мура, постоянным усложнением, постоянным увеличением тепловыделения. Уже вот ЦОДы потребляют прямо вот заметное количество электроэнергии в масштабе, например, США. Я, когда узнал цифры, это были десятки процентов. Цоды? Понимаете? То есть компьютеры греют воздух. Они же ничего полезного не делают. Вот так в мире. Они просто греют воздух и производят вычисления. Кто там выделяет это тепло? Процессоры. И вот как бы мы пришли к тому, что риск процессоры потребляют такое количество электроэнергии»
Тут хочется пошутить «для большей производительности Risc-процессоров требуется экспоненциальный рост сложности, тогда как у Эльбруса производительность стабильно низкая!». Как говорится, в каждой шутке, есть доля истины. Про экспоненциальный рост сложности это фантазии Константина, вернее, спекуляции. Чтобы рассуждать о том, где кроется сложность разработки ОоО Risc-процессоров, неплохо было бы для начала достичь хотя бы сравнимых цифр производительности. И как человек, всё же участвовавший в разработке и Эльбруса, и ОоО Risc-процессоров, я выдвину утверждение, что сложность выжимания перфа из Эльбруса куда выше, чем из ОоО Risc-машины.
Дальше-больше. Константин (или похожий на него человек) искренне считает, что процессоры «просто греют воздух». Это, наверное, такого рода профдеформация от МЦСТ, но вообще, процессоры делаются для того, чтобы они выполняли полезные задачи, а выделение тепла при этом — это неизбежный побочный эффект, с которым люди научились так или иначе бороться.
И не знаю, откуда Константин берёт данные по проценту потребления электроэнергии ЦОДами в США (видимо там же, где читает про перспективы развития процессоров), но согласно публичным данным эта цифра составляет 3%, а не «десятки». Но возможно, у инопланетян своя статистика и от нас что-то скрывают.
Константин Трушкин:
«И, если мы хотим получить высокую производительность и резкое снижение энергопотребления либо при том же энергопотреблении резкий рост производительности, нам нужны другие пути. И вот мы как раз и видим такие возможности. Я не буду сейчас технически углубляться каковы эти возможности, но как минимум они у нас есть»
Не-не-не. Вот тут как раз хотелось бы углубления в технические детали. Желательно с циферками, результатами спеков, проведённых экспериментов. Можем прямо публичную сессию устроить. Провести, так сказать, ревизию очередных обещаний. Сдаётся мне, после надевания очков, видЕния пропадут, и кого-то может ждать разочарование.
Далее, неутомимый пришелец в обличии Ивана Покровского продолжил:
Иван Покровский:
«Вот я по поводу того, что срезать. С одной стороны, есть технологическая гонка и хочется срезать, а с другой стороны, давайте разберёмся, как эта технологическая гонка, как эти гонщики выигрывают соревнования. Выигрывают они соревнования, в первую очередь, за счёт захвата рынка. На самом деле не важно лучше у тебя технологии или хуже. Ты можешь проигрывать в технологической гонке, если ты выигрываешь в гонке по захвату рынка, ты опередишь всех конкурентов. Потому что дальше работает простой механизм: больше рынок — больше инвестиций, больше инвестиций — больше возможностей найма лучших людей в мире. Можешь платить инженерам, больше привлекать сотрудников ты просто перекупишь их у конкурентов, как это происходило вот на примере Эльбруса этот процесс тоже происходил. Интел так и делал. Поэтому если вот мы втягиваемся вот в такое соревнование, мы заранее проиграли. Нужна смена подхода. И здесь не совсем подходит вот эта модель срезать угол, нужно предлагать странам, чьи рынки захватываются, другой подход. Подход свободного программного обеспечения, свободных технологий, и подход создания суверенных технологических решений он предполагает не захват рынка, а совместное развития с этими странами технологий, на которые они могут уверенно опираться. И тогда мы не покупаем сотрудников, мы делаем их своими партнерами, мы инженеров других стран как американцы из Индии вытягивают лучшие умы, их не нужно нам вытягивать из Индии. Пусть они в Индии работают, и мы будем вместе с ними развивать те технологии, на которые может опираться информационная инфраструктура. Вот такая смена подхода она даёт шанс. Гнаться в той модели, которая заведомо проигрышна для нас, хоть срезай хоть не срезай, всё равно проиграешь»
Чувствую, из зала обсуждений про микроэлектронику Иван сразу поехал на кафедру какого-нибудь экономического факультета для разработки новой экономической теории. Оказывается, неважно, что ты делаешь. Т.е. можно делать любое г@8но, а виноваты будут те, кто не дал сто-питьсот миллиардов для захвата рынка. Правда, как так получается, что история процессоров включала в себя постоянные взлёты и падения компаний? Незыблемые лидеры уходили в небытие, а вчерашние ноунеймы взлетали на вершину? Интел победил IBM и ещё пачку компаний, перейдя из родного бизнеса по производству памяти (где его топили японцы) к разработке процессоров. Arm потеснил Интел на рынке мобильных решений. AMD обогнал по капитализации своего давнего визави. В конце концов пришла Nvidia и просто утоптала всех на буме ИИ. И прямо сейчас мы наблюдаем, как великий и ужасный Intel, потеряв за день почти 27% процентов капитализации после Q2 отчёта, занимается сокращением расходов, инвестиций и штата на 15%. Почему-то, полное доминирование и захват рынка в недавнем прошлом их не спасло.
Тут хочется спросить: Иван, а может просто перестать нести ахинею на публику, и наконец-то взяться за разработку нормального процессора? Слава Богу, подходы лет 20 как уже известны. И вот именно эта позиция заведомо проигрышная — оправдывать всё какими-то невидимыми руками рынка. Потому что необходимое условие захвата рынка — это создание конкурентоспособного продукта. А если в эпоху реактивной авиации мастерить дирижабли, то нечего удивляться, что рынки захватывает кто-то другой.
И в качестве вишенки на торте, заключительное слово от человека, похожего на Константина Трушкина:
Константин Трушкин:
«Когда мы говорим про гонку, мы всегда должны смотреть, а куда, собственно, гонка идёт? И надо ли нам туда? Вот если гонка идёт по наращиванию частот, мощностей, объёмов софта, тут надо задать себе вопрос, а ради чего всё это делается? И может оказаться, что мы, просто выбрав другое направление скажем так достижения результата, мы просто сможем сэкономить ресурсы, сэкономить ресурсы и время. И у нас как у Эльбруса есть для этого технологии, которые позволят в принципе тратить меньше ресурсов на достижение результата. Это в частности вот технология безопасных вычислений. И мы понимаем, что вот сейчас мир программного обеспечения он перегружен. И мы должны давать инструменты, которые позволяют скажем так легко создавать легковесные, быстро создавать легковесные какие-то программные стеки. И у нас есть для этого необходимые программные компоненты. Поэтому, не противореча словам Ивана, а дополняя их можно сказать что мы имеем возможность совместно с другими странами получать этот прорыв!»
Константин! У нас свободная страна, и вы можете выбрать абсолютно любое направление, главное, не вводить людей в заблуждение, что на выходе из VLIW-процессора получится конкурентный процессор общего назначения. Если кому-то не нравится неумолимая поступь прогресса в виде наращивания вычислительных мощностей и сложности стека ПО, то можно отличным образом сэкономить ресурсы и время, например, просто перестав разрабатывать процессоры, надеть лапти и взять в руки абак. Я рад, что у вас возникло понимание, что «мир программного обеспечения он перегружен», надеюсь, вы смогли донести это понимание до кого-нибудь, кроме самих себя? И при этом у ваших потенциальных клиентов не возникло понимания, что мир процессоров перегружен, и им достаточно надёжного и проверенного x86? Оторванность от какой-либо реальности, да в целом уровень вменяемости таких заявлений, просто удивляет.
В качестве заключения
Юмористичный стиль данной заметки, призванный несколько сгладить шокирующий уровень вышеизложенных заявлений, безусловно, не должен вводить в заблуждение.
По большому счёту, приведённые цитаты — это квинтэссенция лузерства и принципиального отказа от создания современных микропроцессорных систем в России. Два каких-то инопланетянина открыто призывают отказаться от разработки передовых проверенных решений, загоняя индустрию в прокрустово ложе создания фриковых поделий, не имеющих никакого шанса стать массовыми продуктами, зато имеющих возможность занять достойное место в микроэлектронной Кунcткамере.
Если мы хотим иметь сильную микроэлектронную индустрию в России, то у нас нет никакого другого шанса, как принять вызов и с максимальной самоотдачей, граничащей с самоотверженностью, принять участие в технологической гонке. Не существует никаких «магических» вариантов, «иных подходов» и прочих волшебных палочек. Надо перестать рассказывать сказки и развешивать лапшу на уши непосвященным людям, выдавать VLIW-процессоры за перспективные процессоры общего назначения, DSP-процессоры за AI-чипы, а цельные микросхемы использовать в качестве проводков. Для начала стоит задача освоить уже проверенные базовые технологии, чтобы уменьшить то огромное отставание, которое у нас есть на данный момент, и которое пока только увеличивается. А вот когда производство отечественных процессоров, разработанных на собственном САПР, напечатанных и закорпусированных на российских фабриках с передовыми техпроцессами, достигнет десятков миллионов в год, тогда можно будет помечтать и о новых подходах.
Со своей стороны, мы с коллегами из Байкал Электроникс, осознавая важность повышения уровня дискуссии по проблемам микроэлектроники в публичном пространстве, постараемся подготовить серию статей на Habr, освещающих ключевые аспекты и сложности разработки отечественных микропроцессоров. Что такое на самом деле экосистема и почему она важна? Каковы главные проблемы внедрения отечественных аппаратных решений? Почему архитектура вещь крайне важная и, при этом, наименее сложная? В чём проблематика выбора процессорной архитектуры? В чём отличие архитектуры и микроархитектуры? Почему микроархитектура — одна из сложнейших задач в разработке ядер? Микроархитектуры ядер/SoC/системы — в чём отличия и сложности? Какие вещи требуют импортозамещения в первую очередь, а что может подождать или вообще не столько важно?
Эти и другие темы мы постараемся осветить в ближайших публикациях. Как говорится, stay tuned.