МЦСТ: функционально на «Эльбрусах» можно реализовать все, но с оговорками
Машинами на процессорах «Эльбрус» можно закрыть практически все потребности в гражданской сфере, но местами не хватает программной экосистемы, заявил заместитель генерального директора по маркетингу АО «МЦСТ» Константин Трушкин 13 февраля в интервью корреспонденту ИА Красная Весна.
Потенциал использования компьютеров в гражданской сфере очень сильно определяется доступным программным обеспечением (ПО). Как операционными системами (ОС), так и прикладным ПО. Операционная система «Эльбрус» (основана на сильно модицифированной ОС Linux Debian 8) сейчас имеет около 5 тыс. пакетов (так называются дистрибутивы ПО в Linux). Сборки других российских ОС под архитектуру Эльбрус 2000 — чуть больше.
Основные пакеты для работы в сети, офисные приложения, веб-серверы и инструменты работы с большими данными, различного рода системы управления базами данных и серверы очередей, интерпретаторы, компиляторы и даже виртуальная машина Java на базе Open JVM 1.8 портированы: «практика показывает, что open-source пакеты, если они не являются архитектурно-зависимыми, достаточно легко переносятся».
Читайте также: Безопасность критической инфраструктуры. В чем реальные преимущества процессора «Эльбрус»
Но остаются и проблемные места. «Прежде всего это то, что связано с новыми или экзотическими языками программирования. Это, например, система контейнерной виртуализации „Docker“, там используется язык Go. Это „Tarantool“, где используется Lua. В общем, довольно много есть языков, которые пока что на „Эльбрусе“ не поддерживаются», — рассказал Трушкин.
Он сообщил и про работу над переносом LLVM: «Мы сейчас адаптируем свой компилятор к системе LLVM. И когда мы это сделаем, то все фронтенды, которые есть в LLVM, мы сможем использовать и инициировать код для „Эльбруса“. Но это ресурсоёмкий путь, где необходима поддержка государства в части работ над ПО».
LLVM (Low Level Virtual Machine) — открытая реализация виртуальной машины для трансляции платформонезависимого псевдонизкоуровнего кода в инструкции под конкретную архитектуру. Разработчик пишет программу на одном из поддерживаемых высокоуровневых языков, а компилируется ПО не в бинарный код, а в промежуточный. Промежуточный код (платформонезависимый ассемблер) исполняется виртуальной машиной. Таким образом программы на поддерживаемых языках могут быть исполнены на процессорах с разной архитектурой.
«С другой стороны, нередко есть выбор между разными подходами к решению задачи заказчика, и среди них находятся те, для использования которых на „Эльбрусе“ всё готово уже сегодня. Здесь важно, чтобы архитекторы решения могли выбирать и имели широкий кругозор. Если идти с этой точки зрения, то сложно сейчас назвать задачу, которую нельзя было бы реализовать на „Эльбрусе“ за разумное время», — подытожил замгендиректора МЦСТ.