Эльбрус/faq: различия между версиями
м (→применение: +как перенести свои программы на Эльбрус? (из "ответов на вопросы" Константина Трушкина)) |
м (→Как перенести свои программы на Эльбрус?: отсебятинка) |
||
Строка 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: Давно пора, давно... ещё в прошлом году было уже время, как по мне.
Прямо сейчас "выходу эльбруса в народ" мешают в первом приближении два фактора, насколько знаю:
- себестоимость (изготовление и корпусирование СБИС в мелких партиях -- это *дорого*, изготовление плат и систем на них в количествах порядка ста штук -- тоже слишком ручная работа);
- NDA (которое с МЦСТ сейчас подписывают юрлица-покупатели).
Последнее обусловлено не только МЦСТ (по любым причинам) -- с причастными третьими сторонами мы вместе работаем, но там не всё так просто и быстро, как хотелось бы (хотя самая инертная, казалось бы, сторона как раз пошла навстречу). Здесь маячком будут дальнейшие новости от МЦСТ по части PDK -- а сейчас и мне как частному лицу продать не могут, хотя уже созрел купить домой. mike@
Тем не менее сильно желающие могут оформить/задействовать ИП и обзавестись "Эльбрусом" уже сейчас.
Ну а по первому... оценки, которые я видел -- стоящий сейчас триста с хвостиком тысяч 801 можно продавать по 70--80 т.р., если изготавливать в партиях порядка 10 тысяч штук (одноядерник, сейчас стоящий примерно вдвое дешевле -- ниже 50, соответственно). Это ещё далеко не ценовая конкуренция с x86, но уже гораздо ближе к ней даже не по меркам военных (насколько знаю, один доверенный BIOS выдать на-гора -- ещё та часть затрат, не говоря о малотиражном же исследовании чипов).
железо
Зачем 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).