Skip to content

Latest commit

 

History

History
105 lines (64 loc) · 8.63 KB

homeland-cpu-persp.md

File metadata and controls

105 lines (64 loc) · 8.63 KB

Перспективы отечественных процессоров с современных условиях

Текущее положение

Не для кого не секрет, что в процессоростроении мы сейчас находимся в позиции догоняющих. На текущий момент в России из перспективных серверных процессоров общего назначения можно выделить только линейку Эльбрус от МЦСТ. Справедливости ради стоит отметить, что Байкал электроникс тоже готовит процессор Байкал-S[5], в продаже его обещают в третьем квартале 2021 г.

Для тех кто не следит за отечественными разработками краткая справка по этим процессорам. Эльбрус - это процессор общего назначения построенной на оригинальной архитектуре с использованием большого командного слова (VLIW)[1]. Актуальными на текущий момент являются процессоры Эльбрус 8С[2] и его доработанный младший брат Эльбрус 8СВ[3]. В ближайшее время обещают пополнение в линейке с дополнительными возможностями (например поддержка виртуализации). В компании Байкал электроникс срезали путь и выпускают Байкал-S на архитектуре ARM, далее его рассматривать я не буду, т.к. он еще не доступен для массового рынка.

И так, фактически, если вам нужен сервер с отечественным процессором, то на данный момент у вас выбор только из одного процессора.

Современный подход разработке к управлению рабочими нагрузками

Теперь отвлечемся немного в бок и посмотрим, как сейчас происходит управление рабочими нагрузками. Современные подходы к разработке (такие как микросервисная архитектура, REST и т.п.) требуют и других подходов к управлению рабочими нагрузками. В частности, большое количество экземпляров приложений при микросервисной архитектуре ставит крест на ручном управлении, требуется автоматизация и оркестрация этих самых нагрузок.

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

Сами рабочие нагрузки уже лет 10 как не запускают на голом железе, использование виртуализации стало стандартом "де факто" в любых мало мальски серьезных системах, следовательно, нам требуется и еще система управления виртуальными машинами (не говоря о том, что нам требуется сама виртуализауция).

Языки программирования

На чем сейчас пишут приложения? Вот вот с чем мне приходилось работать в своей карьере (в порядке убывания личного рейтинга):

  • Java (и другие языки использующие JVM)
  • C# (dotnet core)
  • Python
  • PHP
  • Go
  • Ruby
  • JavaScript (Node.js)

Языки на которых написаны инструменты с которыми мне приходилось работать:

  • Go
  • Ruby
  • Python
  • Java

Хочу отметить Rust мне не пришлось еще ковырять вебсервисы написанные на нем, но он явно начинает лезть на поляну, где традиционно правили C/C++, например сейчас даже в ядро Linux его предлагают к использованию как язык написания модулей (драйверов).

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

Что уже есть

На текущий момент для архитектуры Эльбрус доступны следующие языки программирования:

  • Go (gogcc, версии 1.14.2)
  • Ruby (версии 2.7.0)
  • Python 3.7.4
  • PHP 7.4.7
  • Java (openjdk версии 8 и 11)
  • C# (Mono JIT compiler версии 5.16.0.220)
  • Perl 5 (версии 30)
  • JavaScript (Node v7.8.0)
  • Lua 5.1.5 и LuaJIT 2.1.0-beta3
  • С/С++/Fortran (через lcc 1.25.14 совместимым с GCC версии 7.3.0)

Операционные системы доступные для архитектуры процессоров Эльбрус:

  • ОС Эльбрус (АО МЦСТ)
  • Эльбрус-Д (АО МЦСТ, но про него не слышно ничего, предоставляется по запросу на фирменном бланке(!))
  • Альт линукс (СПО Базальт)
  • Astra linux (ООО «РусБИТех-Астра»)

Версии программного обеспечения я проверял по

Из инфраструктурного программного обеспечения (по заявлениям сотрудников АО МЦСТ) имеется:

  • Контейнерная виртуализация на базе LXC

  • Docker / Kubernetes (в стадии тестирования)

  • PostgreSQL (Postgres Pro 11.5)

  • Greenplum (6.8.0-1)

  • Redis (5.0)

  • ClickHouse (19.11.4.24)

  • ElasticSearch (6.8.1)

  • Apache Kafka (2.11-2.3.0)

  • RabbitMQ (3.8.3)

  • Celery (4.3.0)

  • Apache Airflow (1.10.11)

Ответ на потенциальные возражения

У читателя может возникнуть резонный вопрос, какой кубернетес, какие докеры в государственных структурах, в которые, в первую очередь, начнут поставлять оборудование с отечественными процессорами? А вот тут вы не правы, конечно, если взять какой нибудь райцентр, то там про такое не слышали, но на федеральном уровне все технологии и языки программирования уже давно во всю применяются.

Ссылки на материалы

[1] [Эльбрус (процессорная архитектура)](https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_(%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0)

[2] Описание процессора Эльблус-8с

[3] Описание процессора Эльблус-8св

[4] Презентация К. Трукшина о перспективах процессоров Эльбрус

[5] Новость о процессорах Байкал

[6] Статья о микросервисной архитектуре