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

Материал из ALT Linux Wiki
(не показаны 43 промежуточные версии этого же участника)
Строка 1: Строка 1:
= ЧаВо по Эльбрусу =
= ЧаВо по Эльбрусу =
== ликбез ==
=== [http://www.youtube.com/watch?v=58XlDUOTdBI&lc=UgwJf1JcbR_cAXzDdpd4AaABAg Зачем нужен этот ваш Эльбрус?] ===
A: Эльбрус хорошо решает математические задачи ввиду ряда архитектурных особенностей.
# На мат. задачах можно хорошо утилизировать исполняющие устройства при помощи компилятора, т.е. забивка [[эльбрус/словарик|ШК]] получается очень плотной.
# Там, где это возможно, применяется устранение переходов при помощи предикатов, что позволяет не терять лишнего времени на факт перехода.
# Для циклов существуют специальные средства аппаратного ускорения. Например, аппаратный счётчик итераций, который не только освобождает одно устройство, но и позволяет генерировать специальные команды работы с памятью.
# Асинхронная подкачка данных (APB) -- специальные устройства, позволяющие параллельно с основным потоком исполнения качать данные из памяти, чтобы потом не сидеть на ожидании данных.
Всё это позволяет делать "накрутку" -- специальную версию конвейеризации цикла с аппаратной поддержкой (хотя, разумеется, всё это используется и по отдельности в разных комбинациях).
Соответственно, когда я говорил про то, что ассемблер не предназначен для людей, в том числе я имел ввиду и эти возможности, для использования которых человек не очень подходит. Даже если не брать эти возможности, просто [http://ftp.altlinux.org/pub/people/mike/elbrus/docs/elbrus_prog/html/ представьте], что у нас есть 32 предикатных регистра, т.е. результат 32 ветвлений можно слить в линейный код и нужно весь этот код раскидать для оптимального исполнения на 6 АЛУ с учётом всех правил планирования. А это сложно сделать даже просто для обычного кода. Разумеется, бывают случаи, когда человек расставит инструкции более оптимально, но это крайне редкий случай, хотя на практике встречается.
A: Вообще разговор не то чтобы #флуд, но такой... Perestroyechniy. "Давайте продавать нефть, а остальное купим! Смотрите, у них машины, одежда, сникерсы лучше наших".
А потом оказывается, что очень много лишних людей, которые умеют что-то высокотехнологичное, ненужное в ''этой стране'', и уезжают.
Вопрос "зачем нам нужен Эльбрус" можно схлопнуть до бизнесового "чтобы хорошо ронять на тендерах IBM". И если для такой конкуренции нужно 30 000 Эльбрусов купить втридорога — посчитайте, пара инсталляций межделмаша со скидкой их окупит.
=== [https://www.youtube.com/watch?v=f_hwK0zM9y8&t=10m18s Почему процессор называется российским, если всё делается за рубежом?..] ===
A: Современная индустрия движется к очень небольшому количеству фабрик: чем меньше технологический процесс, тем дороже оборудование; при этом мощности такой фабрики может хватить на половину всего мирового спроса.  Услугами TSMC и Samsung пользуются те же Apple, NVIDIA, AMD.
A: Самое главное -- кто спроектировал микросхемы.  Если мы, то можем переходить с одной фабрики на другую.
A: Процессор «Эльбрус», южный мост к нему и сама плата под процессоры разрабатываются в Москве, имеется соответствующее подтверждение на сайте Министерства промышленности и торговли Российской Федерации. Поверхностный монтаж плат тоже производится на [http://www.youtube.com/watch?v=7G6tBG10smA заводах] внутри страны. ''imaxai''
A: Что касается ПО, то очень существенную часть мы делаем сами (это в первую очередь [[эльбрус/lcc|компилятор]], порядка 2 млн строк кода); кроме того, сотни тысяч строк кода вносим в ядро Linux, чтобы работало на процессоре Эльбрус; а где возможно, [[эльбрус/портирование|берём]] свободное ПО, которое развивается всем миром, в том числе и [[эльбрус/upstream|российскими программистами]].  Здесь важно то, насколько удаётся обеспечить собственный цикл поддержки этого ПО; мы сами развиваем [[эльбрус/дистрибутивы|ОС Эльбрус (Эльбрус Линукс)]]. ''Alexanius''
=== [http://www.youtube.com/watch?v=f_hwK0zM9y8&t=15m Почему бы не лицензировать x86?] ===
A: Например, потому, что его больше не лицензируют.
A: Зачем лицензировать тупиковую систему команд, даже если наиболее популярную на нынешний день?  CISC-процессоры давно стали RISC-ядром со сложнейшим декодером CISC-команд, занимающим до половины кристалла; в МЦСТ и тут подошли творчески, реализовав слой совместимости с x86 [[эльбрус/rtc|программно]].
A: Это был бы примерно тот же путь копирования, что и избранный в СССР -- только со "следованием в кильватере" не физического устройства микросхем, а развиваемой другими системы команд; в любом случае такой путь задаёт судьбу догоняющего по определению, притом не из лёгких -- универсальные процессоры ныне являются крайне сложными устройствами, технологии которых, как правило, не предназначены для передачи третьим сторонам.  Даже если бы кто-то лицензировал старый дизайн, разбираться в нём можно долгие годы (и то не до конца) -- а до того, чтобы как-то развивать, прошло бы лет десять; за этот срок создатель дизайна уйдёт далеко вперёд.


== применение ==
== применение ==
=== [https://www.youtube.com/watch?v=6WD82Kpj22c&lc=UgwBXuErrMD395_VyxZ4AaABAg Интересно, где используется Эльбрус?] ===
=== [https://www.youtube.com/watch?v=6WD82Kpj22c&lc=UgwBXuErrMD395_VyxZ4AaABAg Интересно, где используется Эльбрус?] ===


A: Изначально -- в оборонке, которая его и спасла от [http://www.olap.ru/home.asp?artId=2148 уничтожения в угоду копированию] по решению политиков 1967 года; в наши дни -- уже много где, но по сути пока в госсекторе и госкорпорациях:
A: Изначально -- [http://topwar.ru/34409-istoriya-kompyuterov-elbrus.html в оборонке], что его и спасло от [http://www.olap.ru/home.asp?artId=2148 небытия в угоду копированию] по решению политиков 1967 года; в наши дни -- [http://www.youtube.com/watch?v=-ojbRZnJkJo&lc=Ugy0VZN6iqKjGkVpHp94AaABAg&t=52m58s уже много где], но по сути пока в госсекторе и госкорпорациях:
* [http://www.elbrus.ru/migracionnaya-gis-pereekhala-s-ibm-na-elbrusy-i-spo МВД РФ]
* [http://www.elbrus.ru/migracionnaya-gis-pereekhala-s-ibm-na-elbrusy-i-spo МВД РФ]
* [http://www.imaxai.ru/single-post/2019/10/31/elteza РЖД]
* [http://www.imaxai.ru/single-post/2019/10/31/elteza РЖД]
* Россети
* ПФР
=== [https://www.youtube.com/watch?v=f_hwK0zM9y8&t=29m17s Как перенести свои программы на Эльбрус?] ===
Q: Что учитывать в начале разработки, чтобы потом проще было портировать?  На каких языках писать, какие существующие библиотеки использовать?
A: Чтобы писать программы, которые хорошо [[эльбрус/портирование|портируются]] на Эльбрус, надо не завязываться ни на одну конкретную платформу; на сегодня написанное кроссплатформенно на языках [[эльбрус/lcc|C и C++]] скорее легко переносимо и на e2k (при условии, что уже перенесено на Linux без привязки к каким-либо закрытым библиотекам).  Важно, чтобы не было [безусловных] ассемблерных вставок или других сильно зависимых от архитектуры фрагментов кода.  Кроме того, см. раздел [http://mcst.ru/programmnoe-obespechenie-elbrus "Программное обеспечение"] на сайте МЦСТ, где доступны списки пакетов ОС Эльбрус (и [[ports/e2k|страничку порта ОС Альт]]), и [http://mcst.ru/elbrus_prog Руководство по эффективному программированию на платформе «Эльбрус»].
A: Например, хорошо переносится ПО с применением библиотек [[эльбрус/десктоп|Qt]] и/или РСУБД [[эльбрус/сервер|PostgreSQL]].
A: Перенос программ на JavaScript, Java, C# возможен, но особенности [[эльбрус/архитектура#Производительность|архитектуры VLIW]] делают более выгодным с точки зрения производительности применение кода, спланированного к выполнению на этапе компиляции, а не байт-кода (в т.ч. и при наличии портированного JIT-компилятора).  В ещё большей мере это относится к интерпретаторам скриптовых языков.
=== [http://interface31.ru/tech_it/2021/02/os-mcst-elbrus-vremya-idet-nichego-ne-menyaetsya.html#comment-5305794090 Для кого Эльбрус Линукс, PDK? Чем отличается x86-версия?] ===
A: Коммерческий дистрибутив ориентирован на компьютеры архитектуры Эльбрус и SPARC, а [http://mcst.ru/elbrus_linux_x86 бесплатный вариант для x86_64] является лишь бонусом, который можно использовать в инструментальных целях. Как самостоятельная система для повседневного использования на x86 в качестве основной ОС этот бесплатный дистрибутив не позиционируется.
A: ОС Эльбрус [она же Эльбрус Линукс] — это та площадка, на которой в первую очередь обкатываются все технологические новшества: ядро, компиляторы, трансляторы и интерпретаторы, библиотеки, веб-браузеры (сейчас браузеры по сложности сопоставимы со всей остальной ОС); только после этого данные технологие перекочёвывают в [[эльбрус/дистрибутивы|другие ОС]].
A: [http://mcst.ru/pdk Набор разработчика платформы «Эльбрус Линукс» (PDK)] — исходные коды, патчи, инструменты сборки. Да, PDK стоит немалых денег, потому что его целевая аудитория — коммерческие разработчики собственных ОС, и в цену заложена техническая поддержка.
A: Как вы можете прочитать [http://mcst.ru/elbrus_linux на странице описания Эльбрус Линукс], данная система не базируется [на] Debian — общего у них только формат установочных пакетов и, возможно, некоторое пересечение по методам настройки со старыми версиями Debian. <...>
A: Что фактически меняется при переходе от одной версии Эльбрус Линукс к другой — в первую очередь это версия ядра Linux и версия компилятора и его базовых библиотек, потому что ядро даёт драйверы современного оборудования, а [[эльбрус/lcc|оптимизирующий компилятор]] является такой же частью [http://mcst.ru/elbrus_arch платформы Эльбрус], как система команд процессора, и позволяет повышать быстродействие программ без изменений в аппаратуре. Остальные компоненты операционной системы меняются по мере необходимости: например, в [http://www.mcst.ru/elbrus_linux_6_release_statement версии 6.0] был значительно обновлён графический стек <...>


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


Последнее обусловлено не только МЦСТ (по любым причинам) -- с причастными третьими сторонами мы вместе работаем, но там не всё так просто и быстро, как хотелось бы (хотя самая инертная, казалось бы, сторона как раз пошла навстречу).  Здесь маячком будут дальнейшие новости от МЦСТ по части [http://mcst.ru/programmnoe-obespechenie-elbrus PDK] -- а сейчас и мне как частному лицу продать не могут, хотя уже созрел купить домой. ''mike@''
Последнее обусловлено не только МЦСТ (по любым причинам) -- с причастными третьими сторонами мы вместе работаем, но там не всё так просто и быстро, как хотелось бы (хотя самая инертная, казалось бы, сторона как раз пошла навстречу).  Здесь маячком будут дальнейшие новости от МЦСТ по части [http://mcst.ru/elbrus_prog системы команд] и [http://mcst.ru/programmnoe-obespechenie-elbrus PDK] -- а сейчас и мне как частному лицу продать не могут, хотя уже созрел купить домой. ''mike@''


Тем не менее сильно желающие могут оформить/задействовать ИП и обзавестись "Эльбрусом" [http://mcst.ru/modules уже сейчас].
Тем не менее сильно желающие [http://sdelanounas.ru/profile/comments/?login=43372448_vkontakte могут] оформить/задействовать '''ИП''' и [http://vk.com/wall-200956666_17 обзавестись "Эльбрусом"] [http://mcst.ru/modules уже сейчас].


Ну а по первому... оценки, которые я видел -- стоящий сейчас триста с хвостиком тысяч [http://mcst.ru/elbrus_801-pc 801] можно продавать по 70--80 т.р., если изготавливать в партиях порядка 10 тысяч штук ([http://mcst.ru/elbrus_101-pc одноядерник], сейчас стоящий примерно вдвое дешевле -- ниже 50, соответственно).  Это ещё далеко не ценовая конкуренция с x86, но уже гораздо ближе к ней даже не по меркам военных (насколько знаю, один доверенный BIOS выдать на-гора -- ещё та часть затрат, не говоря о малотиражном же исследовании чипов).
Ну а по первому... оценки, которые я видел -- стоящий сейчас триста с хвостиком тысяч [http://mcst.ru/elbrus_801-pc 801] можно продавать по 70--80 т.р., если изготавливать в партиях порядка 10 тысяч штук ([http://mcst.ru/elbrus_101-pc одноядерник], сейчас стоящий примерно вдвое дешевле -- ниже 50, соответственно).  Это ещё далеко не ценовая конкуренция с x86, но уже гораздо ближе к ней даже не по меркам военных (насколько знаю, один доверенный BIOS выдать на-гора -- ещё та часть затрат, не говоря о малотиражном же исследовании чипов).
=== Когда уже будет 16С с виртуализацией? ===
A: Инженерные образцы микропроцессора "Эльбрус-16С" по состоянию на отябрь 2020 года [http://mcst.ru/poluchen-pervyj-inzhenernyj-obrazec-mikroprocessora-elbrus16c получены]; завершение разработки по плану -- декабрь 2021 года, с учётом реалий фабричного производства готовые системы ожидаются во [http://www.youtube.com/watch?v=Yy8RXtvcPJw&t=9m31s второй половине 2022 года].
=== Qemu? ===
Q: Как запустить e2k-код на x86?
A: [http://forum.elbrus.ru/viewtopic.php?p=7205#p7205 Есть] потактовая модель уровня процессора и есть эмулятор уровня операционной системы.  Совсем медленные, поскольку накладные расходы на эмуляцию VLIW-процессора огромны.  Годятся только для отладки.
A: См. тж. [https://git.mentality.rip/OpenE2K/qemu-e2k экспериментальные патчи к QEMU] ([http://www.linux.org.ru/news/opensource/16158350 анонс]).
=== Можно ли получить оборудование на пробу?  А бесплатно? ===
A: [http://mcst.ru/demo Да].
A: [http://www.linux.org.ru/news/opensource/16158350/page3#comment-16159416 Более длинная версия ответа] (см. тж. копию в комментарии в исходнике этой вики-страницы).
<!--
Раньше компания МЦСТ тоже предоставляла всё своё оборудование во временное пользование исключительно бесплатно. Причём не просто «на посмотреть» — у некоторых заказчиков демонстрационное оборудование пребывало годами, иногда даже в нескольких экземплярах, при том что стоимость этого оборудования могла составлять несколько миллионов рублей, а всего выпускалось несколько десятков (редко — сотен) экземпляров.
Отдельная категория прежних аттракционов невиданной щедрости — выдача под будущий выкуп, когда заказчик чуть ли не мамой клянётся, что через несколько месяцев (в течение текущего года) приобретёт полученное оборудование в собственность. Для этого чаще всего со склада выдавалось новое изделие (нельзя же продавать б/у, особенно в государственные организации, да?), но никакой продажи так и не случалось, и даже получить оборудование назад оказывалось непросто, и товарный вид у него потерян, и упаковку давно выкинули (её умудряются выкидывать даже те, кто берёт на время, забывая подумать хотя бы о том, как транспортировать технику обратно), и даже чисто формально самортизировалось уже всё наполовину или больше.
Но потом начались претензии со стороны проверяющих органов: дорогостоящее имущество массово передаётся сторонним юридическим лицам и находится там более одного отчётного периода — и всё это бесплатно? Да ла-а-адно… Нормальные компании оформляют такие передачи как аренду, лизинг, получают за это деньги и платят с этих денег налоги. Да, МЦСТ — частная компания, и может делать со своим имуществом всё, что заблагорассудится. Но МЦСТ случайно не укрывает доходы от государства, а? Может, надо внеочередную углублённую проверку провести (как будто регулярных не хватает)?
Вот и пришлось перейти на «рыночные отношения». Тем более что аренда за деньги, как оказалось, очень дисциплинирует заказчиков: вместо того чтобы вальяжно потягивать кота за хвост по полгода-год, пока не отнимешь, чтобы хоть как-то продвинуть очередь, многим сейчас достаточно 1–2 месяцев, а кто-то даже спрашивает, нельзя ли арендовать на 2 недели.
Разумеется, совсем без бесплатной выдачи обойтись не получается, так как у большинства бюджетных и аналогичных им организаций аренда не предусмотрена либо практически невозможна. (Хотя бывают, наоборот, такие, которым купить сложно, а вот арендовать годами — не запрещено.) Если вы из таких, то вам могут пойти на встречу.
Если вы коммерческая фирма, то почему не сможете оплатить аренду? Тарифы сейчас минимальные, составлены чисто исходя из амортизации оборудования. Зарплата специалиста(ов), которые будут «посмотреть» Эльбрус, всё равно выше.
-->


== железо ==
== железо ==
Строка 28: Строка 120:
=== [https://www.youtube.com/watch?v=BMvnuvCcpOE&lc=Ugz3Q0NznUZFVjzDH9Z4AaABAg Зачем ECC-память на не-сервере?] ===
=== [https://www.youtube.com/watch?v=BMvnuvCcpOE&lc=Ugz3Q0NznUZFVjzDH9Z4AaABAg Зачем ECC-память на не-сервере?] ===


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


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


A: вскоре может измениться, на свежих выпусках OSL уже вовсю экспериментируют с nouveau и на некоторых картах получают [[эльбрус/hcl/gpu|неплохие результаты]].
A: уже не только, на свежих выпусках OSL 5+ и ALT 9+ поддерживается и драйвер nouveau; на некоторых картах получают [[эльбрус/hcl/gpu|неплохие результаты]].
 
=== Почему не сокет? ===
 
A: начнём с решаемой задачи: сокет позволяет использовать один процессор с разными материнскими платами, а с одной материнской платой -- разные процессоры; ввиду существенных различий между поколениями процессоров "Эльбрус" (версии чипсета, поколение DDR...) и высокой надёжности оборудования польза представляется минимальной.
 
A: сокет -- вовсе не такая простая и дешёвая штука, которой может показаться на первый взгляд, соответственно его разработка и создание небольшим тиражом лишь увеличило бы и без того немалый ценник.
 
A: [http://3dnews.ru/650713 тенденция, однако].


=== [https://www.youtube.com/watch?v=GlrB6M2Yz9A&lc=Ugy9evYSKq5YSHuC-Ct4AaABAg Теплораспределительная крышка припаяна к кристаллу или на термопасте?] ===
=== [https://www.youtube.com/watch?v=GlrB6M2Yz9A&lc=Ugy9evYSKq5YSHuC-Ct4AaABAg Теплораспределительная крышка припаяна к кристаллу или на термопасте?] ===
Строка 44: Строка 144:
=== [https://www.youtube.com/watch?v=ta5kk2hzLbU&lc=UgyXy0VgdCEMZ06gOC54AaABAg Защита от перегрева есть?] ===
=== [https://www.youtube.com/watch?v=ta5kk2hzLbU&lc=UgyXy0VgdCEMZ06gOC54AaABAg Защита от перегрева есть?] ===


A: Есть, есть -- 8С на 1300 МГц без радиатора (в миллиметре от него) примерно через минуту отключает.
A: есть, есть -- 8С на 1300 МГц без радиатора (в миллиметре от него) примерно через минуту отключает.
 
=== Как температуры-обороты смотреть? ===
 
A: установив пакет {{pkg|lm_sensors3}} и запустив команду {{cmd|sensors-detect}}; также может быть полезно добавить в автозагрузку ({{path|/etc/modules}}) модуль <tt>l-pcs</tt> для снятия температуры ядер процессора.


== разное ==
== разное ==
Строка 59: Строка 163:


A: подключать есть смысл репозитории, подходящие для применяемых [[эльбрус/дистрибутивы|дистрибутива]] ''и'' [[эльбрус/архитектура|платформы]]; по состоянию на январь 2020 года RHEL и соответственно EPEL для платформы e2k не наблюдается (равно как и Ubuntu+PPA или openSUSE+OBS).
A: подключать есть смысл репозитории, подходящие для применяемых [[эльбрус/дистрибутивы|дистрибутива]] ''и'' [[эльбрус/архитектура|платформы]]; по состоянию на январь 2020 года RHEL и соответственно EPEL для платформы e2k не наблюдается (равно как и Ubuntu+PPA или openSUSE+OBS).
<div id="gentoo"></div>
=== Интересно, а очень сложно будет в Gentoo добавить поддержку e2k? ===
[http://www.opennet.ru/openforum/vsluhforumID3/119974.html#176 A:] здесь нашла коса на камень. В Gentoo фундаментальным принципом сообщества является [http://gentoo.org/get-started/philosophy/social-contract.html социальный контракт], где сказано:
''Gentoo will never depend upon a piece of software or metadata unless it conforms to the GNU General Public License, the GNU Lesser General Public License, the Creative Commons - Attribution/Share Alike or some other license approved by the Open Source Initiative (OSI).''
А единственный компилятор под Эльбрус — [[lcc]] — проприетарный и в обозримом будущем его никто открывать не будет. Это плохо, но разработчиков компилятора и процессора тоже можно понять, т.к. там слишком низкоуровневые вещи зашиты, что-то вроде микрокода intel/amd, который тоже никто открывать не собирается.
=== Будет ли процессор 16СВ с векторными расширениями? ===
A: Нет; будет процессор [[Эльбрус-16C]] шестой версии [[эльбрус/архитектура|архитектуры e2k]], которая включает в себя все возможности пятой версии.
При этом [[Эльбрус-8СВ]] (v5) хотя и весьма близок к [[Эльбрус-8С]] (v4): те же восемь ядер, схожая тактовая частота -- но отличается не только 128-битными регистрами и соответствующими векторными операциями; собственно, поэтому он и v5, а не "v4+avx" или вроде того.
То есть "16СВ" не стоит в планах по той простой причине, что появившиеся в e2kv5 векторные операции входят и в систему команд v6, которую поддерживает штатный 16С.
=== Как справиться с потерями пакетов или артефактами шрифтов на 802 материнской плате? ===
A: Добавьте <tt>iommu=no-numa-bug</tt> в cmdline для текущего ядра в {{path|/boot/boot.conf}} -- проверено как с 10GE, так и с R7 240.


= Ссылки =
= Ссылки =
* [http://mcst.ru/bez-etogo-my-ne-strana-intervyu-ekspertu «Без этого мы не страна», интервью «Эксперту»] ([http://www.mcst.ru/files/5f96f6/bcdece/61a407/582dc6/zaur_mamedyarov_nikolay_ulyanov_-_expert_39_1177.pdf интервью с А.К. Кимом, PDF])
* [http://mcst.ru/elbrus_os_faq Часто задаваемые вопросы об ОС «Эльбрус»]
* [http://mcst.ru/elbrus_os_faq Часто задаваемые вопросы об ОС «Эльбрус»]
* [http://t.me/e2k_chat Телеграм-канал e2k_chat]
* [http://forum.elbrus.ru Форум сообщества «Эльбрус»]
* [http://imaxai.ru/ Неофициальный сайт Максима Горшенина]
* [http://sdelanounas.ru/blogs/125967/ Разбор некоторых мифов] про «Эльбрус»
* [http://sdelanounas.ru/blogs/125967/ Разбор некоторых мифов] про «Эльбрус»
= Видео =
* [http://www.youtube.com/watch?v=ZTxOSGBCRec Ликбез по Эльбрусу / Константин Трушкин (МЦСТ)] ([http://www.highload.ru/2014/abstracts/1658.html слайды])
* Тесты и игры на "Эльбрусе": [http://www.youtube.com/channel/UC4zlCBy0eFLkE-BxgqQK8FA Elbrus PC Test], [http://www.youtube.com/user/TheDJs3000/videos Дмитрий Пугачёв]
* Обзоры Дмитрия Бачило: [http://www.youtube.com/watch?v=LS6HloN09g4 вводный], [http://www.youtube.com/watch?v=58XlDUOTdBI разбор], [http://www.youtube.com/watch?v=buWzWtXHimk тест], [http://www.youtube.com/watch?v=I70_OwzHX98 стрим]
* [http://www.youtube.com/watch?v=-ojbRZnJkJo Эльбрус — российский Intel и наша последняя надежда...] (Ай, Как Просто!)
* [http://www.youtube.com/watch?v=Yvm1oM_QPOk Соната для Альта с Эльбрусом]


{{Category navigation|title=E2K|category=E2K|sortkey=*}}
{{Category navigation|title=E2K|category=E2K|sortkey=*}}

Версия от 12:06, 3 апреля 2021

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

ликбез

Зачем нужен этот ваш Эльбрус?

A: Эльбрус хорошо решает математические задачи ввиду ряда архитектурных особенностей.

  1. На мат. задачах можно хорошо утилизировать исполняющие устройства при помощи компилятора, т.е. забивка ШК получается очень плотной.
  2. Там, где это возможно, применяется устранение переходов при помощи предикатов, что позволяет не терять лишнего времени на факт перехода.
  3. Для циклов существуют специальные средства аппаратного ускорения. Например, аппаратный счётчик итераций, который не только освобождает одно устройство, но и позволяет генерировать специальные команды работы с памятью.
  4. Асинхронная подкачка данных (APB) -- специальные устройства, позволяющие параллельно с основным потоком исполнения качать данные из памяти, чтобы потом не сидеть на ожидании данных.

Всё это позволяет делать "накрутку" -- специальную версию конвейеризации цикла с аппаратной поддержкой (хотя, разумеется, всё это используется и по отдельности в разных комбинациях).

Соответственно, когда я говорил про то, что ассемблер не предназначен для людей, в том числе я имел ввиду и эти возможности, для использования которых человек не очень подходит. Даже если не брать эти возможности, просто представьте, что у нас есть 32 предикатных регистра, т.е. результат 32 ветвлений можно слить в линейный код и нужно весь этот код раскидать для оптимального исполнения на 6 АЛУ с учётом всех правил планирования. А это сложно сделать даже просто для обычного кода. Разумеется, бывают случаи, когда человек расставит инструкции более оптимально, но это крайне редкий случай, хотя на практике встречается.

A: Вообще разговор не то чтобы #флуд, но такой... Perestroyechniy. "Давайте продавать нефть, а остальное купим! Смотрите, у них машины, одежда, сникерсы лучше наших".

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

Вопрос "зачем нам нужен Эльбрус" можно схлопнуть до бизнесового "чтобы хорошо ронять на тендерах IBM". И если для такой конкуренции нужно 30 000 Эльбрусов купить втридорога — посчитайте, пара инсталляций межделмаша со скидкой их окупит.

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

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

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

A: Процессор «Эльбрус», южный мост к нему и сама плата под процессоры разрабатываются в Москве, имеется соответствующее подтверждение на сайте Министерства промышленности и торговли Российской Федерации. Поверхностный монтаж плат тоже производится на заводах внутри страны. imaxai

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

Почему бы не лицензировать x86?

A: Например, потому, что его больше не лицензируют.

A: Зачем лицензировать тупиковую систему команд, даже если наиболее популярную на нынешний день? CISC-процессоры давно стали RISC-ядром со сложнейшим декодером CISC-команд, занимающим до половины кристалла; в МЦСТ и тут подошли творчески, реализовав слой совместимости с x86 программно.

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

применение

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

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

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

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

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

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

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

Для кого Эльбрус Линукс, PDK? Чем отличается x86-версия?

A: Коммерческий дистрибутив ориентирован на компьютеры архитектуры Эльбрус и SPARC, а бесплатный вариант для x86_64 является лишь бонусом, который можно использовать в инструментальных целях. Как самостоятельная система для повседневного использования на x86 в качестве основной ОС этот бесплатный дистрибутив не позиционируется.

A: ОС Эльбрус [она же Эльбрус Линукс] — это та площадка, на которой в первую очередь обкатываются все технологические новшества: ядро, компиляторы, трансляторы и интерпретаторы, библиотеки, веб-браузеры (сейчас браузеры по сложности сопоставимы со всей остальной ОС); только после этого данные технологие перекочёвывают в другие ОС.

A: Набор разработчика платформы «Эльбрус Линукс» (PDK) — исходные коды, патчи, инструменты сборки. Да, PDK стоит немалых денег, потому что его целевая аудитория — коммерческие разработчики собственных ОС, и в цену заложена техническая поддержка.

A: Как вы можете прочитать на странице описания Эльбрус Линукс, данная система не базируется [на] Debian — общего у них только формат установочных пакетов и, возможно, некоторое пересечение по методам настройки со старыми версиями Debian. <...>

A: Что фактически меняется при переходе от одной версии Эльбрус Линукс к другой — в первую очередь это версия ядра Linux и версия компилятора и его базовых библиотек, потому что ядро даёт драйверы современного оборудования, а оптимизирующий компилятор является такой же частью платформы Эльбрус, как система команд процессора, и позволяет повышать быстродействие программ без изменений в аппаратуре. Остальные компоненты операционной системы меняются по мере необходимости: например, в версии 6.0 был значительно обновлён графический стек <...>

доступность

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

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

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

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

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

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

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

Когда уже будет 16С с виртуализацией?

A: Инженерные образцы микропроцессора "Эльбрус-16С" по состоянию на отябрь 2020 года получены; завершение разработки по плану -- декабрь 2021 года, с учётом реалий фабричного производства готовые системы ожидаются во второй половине 2022 года.

Qemu?

Q: Как запустить e2k-код на x86?

A: Есть потактовая модель уровня процессора и есть эмулятор уровня операционной системы. Совсем медленные, поскольку накладные расходы на эмуляцию VLIW-процессора огромны. Годятся только для отладки.

A: См. тж. экспериментальные патчи к QEMU (анонс).

Можно ли получить оборудование на пробу? А бесплатно?

A: Да.

A: Более длинная версия ответа (см. тж. копию в комментарии в исходнике этой вики-страницы).

железо

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

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

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

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

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

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

A: уже не только, на свежих выпусках OSL 5+ и ALT 9+ поддерживается и драйвер nouveau; на некоторых картах получают неплохие результаты.

Почему не сокет?

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

A: сокет -- вовсе не такая простая и дешёвая штука, которой может показаться на первый взгляд, соответственно его разработка и создание небольшим тиражом лишь увеличило бы и без того немалый ценник.

A: тенденция, однако.

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

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

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

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

Как температуры-обороты смотреть?

A: установив пакет lm_sensors3 и запустив команду sensors-detect; также может быть полезно добавить в автозагрузку (/etc/modules) модуль l-pcs для снятия температуры ядер процессора.

разное

Почему при работе 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).

Интересно, а очень сложно будет в Gentoo добавить поддержку e2k?

A: здесь нашла коса на камень. В Gentoo фундаментальным принципом сообщества является социальный контракт, где сказано:

Gentoo will never depend upon a piece of software or metadata unless it conforms to the GNU General Public License, the GNU Lesser General Public License, the Creative Commons - Attribution/Share Alike or some other license approved by the Open Source Initiative (OSI).

А единственный компилятор под Эльбрус — lcc — проприетарный и в обозримом будущем его никто открывать не будет. Это плохо, но разработчиков компилятора и процессора тоже можно понять, т.к. там слишком низкоуровневые вещи зашиты, что-то вроде микрокода intel/amd, который тоже никто открывать не собирается.

Будет ли процессор 16СВ с векторными расширениями?

A: Нет; будет процессор Эльбрус-16C шестой версии архитектуры e2k, которая включает в себя все возможности пятой версии.

При этом Эльбрус-8СВ (v5) хотя и весьма близок к Эльбрус-8С (v4): те же восемь ядер, схожая тактовая частота -- но отличается не только 128-битными регистрами и соответствующими векторными операциями; собственно, поэтому он и v5, а не "v4+avx" или вроде того.

То есть "16СВ" не стоит в планах по той простой причине, что появившиеся в e2kv5 векторные операции входят и в систему команд v6, которую поддерживает штатный 16С.

Как справиться с потерями пакетов или артефактами шрифтов на 802 материнской плате?

A: Добавьте iommu=no-numa-bug в cmdline для текущего ядра в /boot/boot.conf -- проверено как с 10GE, так и с R7 240.

Ссылки

Видео