Вид с «Эльбруса» (Михаил Шигорин, OSSDEVCONF-2023)
- Докладчик
- Михаил Шигорин
Обзор состояния аппаратной и программной части платформы «Эльбрус», – включая пять лет повседневного применения по работе и год – дома.
Достигнутое в настоящем, виды и планы на будущее, виртуальные и реальные проблемы и возможности.
Содержание
Видео
Презентация
Thesis
Железо
Как известно, МЦСТ начинали со взаимодействия с Sun Microsystems и соучастия в разработке SPARC; эта линейка микропроцессоров продолжается и по сей день в виде R2000.
Основное же внимание уделим именно отечественной архитектуре «Эльбрус» — именно поддержкой её в ОС Альт и занимаюсь с 2015 года.
Софт
В девяностых годах на SPARC-процессорах естественным образом стали применять ОС Solaris (2.5.1 на e90), но уже в ранних нулевых начали работы по переносу ядра Linux 2.4, что в итоге вылилось в наработанный к «Эльбрус-2С+» технологический задел на Linux 2.6 [1] и создание либо перенос ряда линуксовых дистрибутивов.
Опять же, по своей деятельности говорить буду про «Альт».
Люди
Создатели микропроцессора «Эльбрус» — МЦСТ; в работах по вычислительным комплексам принимает участие ИНЭУМ; в переносе критического системного ПО, затрагивающего кодогенерацию — Унипро; во внедрениях — Эльбрус-2000. Впоследствии приняли участие и многие другие компании, но эти — изначальные.
Поскольку как начали «Эльбрус», так и спасли от IBM в шестидесятых-семидесятых годах да вытянули уже в девяностых-нулевых военные, соответствующие интересы и особенности неизбежно оказывают влияние до сих пор на более или менее все аспекты, связанные с данной разработкой.
Сообщество же пошло формироваться, пожалуй, «от новостей». Сперва люди заинтересовывались публикациями о разработке отечественного процессора и первых практических результатах (пусть и недоступных на предмет «пощупать руками»). Затем начали появляться профильные вопросы на форумах по программированию. И с 2014—2015 года, когда организациям стало возможно приобрести рабочую станцию «Эльбрус 401-РС», не будучи в контуре ОПК — пошли первые результаты тестов, обсуждения применимости, патчи в апстримы и т.\,д.
Сообщество
В первую очередь, при таких вводных, естественно, стало формироваться русскоязычное сообщество: поскольку и новости выходили в оригинале по-русски, и гражданские организации, где начали появляться машины -- тоже российские. При этом первой известной мне публичной «точкой кристаллизации» оказался Яндекс-музей, где усилиями одного из энтузиастов началось освоение 801-РС с целью переноса и запуска игрушек.
Наблюдается интерес и из-за рубежа — с вопросами от возможности приобретения (пока увы) до соучастия в переносе программ (а вот с этим уже получше).
Взаимодействие столь же естественно начало складываться двусторонним — наработанные патчи стали отправлять в соответствующие проекты.
Песочница
Пожалуй, наиболее удачным экспериментом в области собирания сообщества пользователей и разработчиков ПО на архитектуре «Эльбрус» стоит признать доступный желающим стенд ИНЭУМ, созданный усилиями Игоря Молчанова и на сентябрь 2023 года насчитывающий около полутысячи аккаунтов; для обсуждения (желательно технического) и анонсов работ по инфраструктуре (включая и важные обновления системного ПО, например, новые версии компилятора) применяется чат в telegram.
Альтовое
Попытки формирования сообщества пользователей e2k-alt-linux успехом скорее не увенчались в силу специфики организаций и недостаточности уделяемого вопросу внимания: как правило, сообщения в непубличную рассылку принимаются к сведению без обсуждения там же; основным полезным направлением оказался тематический раздел в рамках Альт-вики.
OpenE2K
Потихоньку собираются люди около проекта переноса эмулятора qemu на платформу e2k, который не стал ограничиваться наработанным qemu-user-e2k, но пошёл «вширь».
Домашнее
Также интересны случаи применения систем «Эльбрус» в качестве домашнего компьютера, каковых известно уже больше десятка. Мой начался в 2020 году («одомашнивание» стенда), [http://sdelanounas.ru/blogs/149691/ а в штатный режим перешёл в 2022].
На данный момент можно обобщить так: владельцы домашних «Эльбрусов» — достаточно опытные администраторы/ разработчики, основной же проблемой является браузер (обычно это стареющий firefox).
Виды
Железо
Судя по публикуемым госзакупкам, на «Эльбрус-2С3» надеяться вполне можно. Это достаточно мощный процессор текущей версии микроархитектуры для ознакомления и нетяжёлых задач (два ядра по два гигагерца), поддерживающий виртуализацию и PCIe gen3. Более мощные многопроцессорные e2k-системы сейчас простому человеку доступны скорее через стенд ИНЭУМ.
Софт
Существующие инициативы «снизу» сами по себе хороши, но разрознены и упираются в фундаментальные ограничения вроде формальной закрытости системы команд даже при наличии хотя бы удалённого доступа.
При возможности перевода проекта в открытый режим взаимодействия хотелось бы избежать типичных проблем:
- «выкидывание через забор»;
- архивы вместо гитов;
- отсутствие обратной связи;
- форки вместо соучастия.
И, соответственно, прийти к известной обкатанной технической инфраструктуре:
- репозитории разработки кода (git);
- чат для быстрых обсуждений (telegram);
- почтовые рассылки для обсуждения по существу (mailman);
- отслеживание конкретных ошибок (bugzilla);
- накопление и систематизация опыта (wiki).
с последующим выходом на масштабируемый рабочий режим из хорошо знакомого «пилу точить некогда, пилить надо».
Люди
Несмотря на многолетнюю и подчас некорректную критику проекта со стороны — людей, заинтересованных в их развитии, больше, чем проекты разработки способны «переварить» в плане приёма в команду и становления на крыло. Готовиться к этой проблеме также стоит загодя, сейчас эту роль по большей части выполняют опубликованная документация разработчика и общественно доступные стенды.
Но мы точно можем лучше сообща [2], [3], [4].