Эльбрус/faq: различия между версиями

Материал из ALT Linux Wiki
м (→‎применение: +как перенести свои программы на Эльбрус? (из "ответов на вопросы" Константина Трушкина))
Строка 21: Строка 21:


A: Чтобы писать программы, которые хорошо [[эльбрус/портирование|портируются]] на Эльбрус, надо не завязываться ни на одну конкретную платформу; на сегодня написанное кроссплатформенно на языках [[эльбрус/lcc|C и C++]] скорее легко переносимо и на e2k (при условии, что уже перенесено на Linux без привязки к каким-либо закрытым библиотекам).  Важно, чтобы не было [безусловных] ассемблерных вставок или других сильно зависимых от архитектуры фрагментов кода.  Кроме того, см. раздел [http://mcst.ru/programmnoe-obespechenie-elbrus "Программное обеспечение"] на сайте МЦСТ, где доступны списки пакетов ОС Эльбрус (и [[ports/e2k|страничку порта ОС Альт]]).
A: Чтобы писать программы, которые хорошо [[эльбрус/портирование|портируются]] на Эльбрус, надо не завязываться ни на одну конкретную платформу; на сегодня написанное кроссплатформенно на языках [[эльбрус/lcc|C и C++]] скорее легко переносимо и на e2k (при условии, что уже перенесено на Linux без привязки к каким-либо закрытым библиотекам).  Важно, чтобы не было [безусловных] ассемблерных вставок или других сильно зависимых от архитектуры фрагментов кода.  Кроме того, см. раздел [http://mcst.ru/programmnoe-obespechenie-elbrus "Программное обеспечение"] на сайте МЦСТ, где доступны списки пакетов ОС Эльбрус (и [[ports/e2k|страничку порта ОС Альт]]).
A: Например, хорошо переносится ПО с применением библиотек Qt и/или РСУБД PostgreSQL.
A: Перенос программ на JavaScript, Java, C# возможен, но особенности [[эльбрус/архитектура#Производительность|архитектуры VLIW]] делают более выгодным с точки зрения производительности применение кода, спланированного к выполнению на этапе компиляции, а не байт-кода (в т.ч. и при наличии портированного JIT-компилятора).  В ещё большей мере это относится к интерпретаторам скриптовых языков.


== доступность ==
== доступность ==

Версия от 12:35, 5 мая 2020

ЧаВо по Эльбрусу

ликбез

Почему процессор называется российским, если всё делается за рубежом?..

A: Современная индустрия движется к очень небольшому количеству фабрик: чем меньше технологический процесс, тем дороже оборудование; при этом мощности такой фабрики может хватить на половину всего мирового спроса. Услугами TSMC и Samsung пользуются те же Apple, NVIDIA, AMD.

A: Самое главное -- кто спроектировал микросхемы. Если мы, то можем переходить с одной фабрики на другую.

A: Что касается ПО, то очень существенную часть мы делаем сами (это в первую очередь компилятор, порядка 2 млн строк кода); кроме того, сотни тысяч строк кода вносим в ядро Linux, чтобы работало на процессоре Эльбрус; а где возможно, берём свободное ПО, которое развивается всем миром, в том числе и российскими программистами. Здесь важно то, насколько удаётся обеспечить собственный цикл поддержки этого ПО; мы сами развиваем ОС Эльбрус (Эльбрус Линукс).

применение

Интересно, где используется Эльбрус?

A: Изначально -- в оборонке, которая его и спасла от уничтожения в угоду копированию по решению политиков 1967 года; в наши дни -- уже много где, но по сути пока в госсекторе и госкорпорациях:

Как перенести свои программы на Эльбрус?

Q: Что учитывать в начале разработки, чтобы потом проще было портировать? На каких языках писать, какие существующие библиотеки использовать?

A: Чтобы писать программы, которые хорошо портируются на Эльбрус, надо не завязываться ни на одну конкретную платформу; на сегодня написанное кроссплатформенно на языках C и C++ скорее легко переносимо и на e2k (при условии, что уже перенесено на Linux без привязки к каким-либо закрытым библиотекам). Важно, чтобы не было [безусловных] ассемблерных вставок или других сильно зависимых от архитектуры фрагментов кода. Кроме того, см. раздел "Программное обеспечение" на сайте МЦСТ, где доступны списки пакетов ОС Эльбрус (и страничку порта ОС Альт).

A: Например, хорошо переносится ПО с применением библиотек Qt и/или РСУБД PostgreSQL.

A: Перенос программ на JavaScript, Java, C# возможен, но особенности архитектуры VLIW делают более выгодным с точки зрения производительности применение кода, спланированного к выполнению на этапе компиляции, а не байт-кода (в т.ч. и при наличии портированного JIT-компилятора). В ещё большей мере это относится к интерпретаторам скриптовых языков.

доступность

Может, пора уже пойти в народ? Возможно ли это на данном этапе или нет и почему?

A: Давно пора, давно... ещё в прошлом году было уже время, как по мне.

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

  1. себестоимость (изготовление и корпусирование СБИС в мелких партиях -- это *дорого*, изготовление плат и систем на них в количествах порядка ста штук -- тоже слишком ручная работа);
  2. NDA (которое с МЦСТ сейчас подписывают юрлица-покупатели).

Последнее обусловлено не только МЦСТ (по любым причинам) -- с причастными третьими сторонами мы вместе работаем, но там не всё так просто и быстро, как хотелось бы (хотя самая инертная, казалось бы, сторона как раз пошла навстречу). Здесь маячком будут дальнейшие новости от МЦСТ по части PDK -- а сейчас и мне как частному лицу продать не могут, хотя уже созрел купить домой. mike@

Тем не менее сильно желающие могут оформить/задействовать ИП и обзавестись "Эльбрусом" уже сейчас.

Ну а по первому... оценки, которые я видел -- стоящий сейчас триста с хвостиком тысяч 801 можно продавать по 70--80 т.р., если изготавливать в партиях порядка 10 тысяч штук (одноядерник, сейчас стоящий примерно вдвое дешевле -- ниже 50, соответственно). Это ещё далеко не ценовая конкуренция с x86, но уже гораздо ближе к ней даже не по меркам военных (насколько знаю, один доверенный BIOS выдать на-гора -- ещё та часть затрат, не говоря о малотиражном же исследовании чипов).

железо

Основная статья: эльбрус/hcl

Зачем ECC-память на не-сервере?

A: на рабочих станциях вообще-то тоже применяется нормальная память (и в больших объёмах); но главное тут то, что встроенный в процессоры "Эльбрус" контроллер памяти помимо эффективной кодировки ECC хранит в дополнительных девятых битах ещё и информацию о тегировании областей памяти для защищённого режима.

Почему только Radeon?

вопрос пользователя crypt

A: на чём-то надо было остановиться в качестве видеоакселератора, а для Radeon есть свободные драйверы приличного качества (nouveau от них отстаёт, хотя между закрытыми драйверами для видеокарт ATI/AMD и NVIDIA сравнение выходит ровно противоположное.

A: вскоре может измениться, на свежих выпусках OSL уже вовсю экспериментируют с nouveau и на некоторых картах получают неплохие результаты.

Теплораспределительная крышка припаяна к кристаллу или на термопасте?

A: теплопроводящий клей.

Защита от перегрева есть?

A: Есть, есть -- 8С на 1300 МГц без радиатора (в миллиметре от него) примерно через минуту отключает.

разное

Почему при работе ntpd сильно уходит время?

A: непонятно, но замечено, что так "работает" openntpd; рекомендуем chrony, с ним всё хорошо.

Есть ли в репозитории wine?

A: wine имеет смысл портировать и собирать на платформах, для которых существует порт Windows (и соответственно приложения для него) -- например, WINE для x86_64 умеет запускать только win64-приложения, аналогично для ARM; поскольку на e2k не существует такоо ABI и приложений, то и "родной" wine не имеет смысла. При необходимости запускать именно Windows-приложения на ВК "Эльбрус" можно воспользоваться бинарным транслятором либо в виде связки rtc+wine, либо в режиме "вся машина" (lintel).

Как подключить EPEL?

A: подключать есть смысл репозитории, подходящие для применяемых дистрибутива и платформы; по состоянию на январь 2020 года RHEL и соответственно EPEL для платформы e2k не наблюдается (равно как и Ubuntu+PPA или openSUSE+OBS).

Ссылки