Содержание
- Общие моменты
- Производство и продвижение
- Поддержка пользователей
- Аппаратное обеспечение
- Операционная система
- Прикладное программное обеспечение
- Архитектура и средства разработки
- Двоичная трансляция x86-кода
- Измерение производительности
Общие моменты
Чтобы правильно понимать позицию фирмы МЦСТ по нижеизложенным воспросам, необходимо представлять себе её прошлое, настоящее и планы на будущее, — в отрыве от этого контекста некоторые факты могут выглядеть странно.
Исторически, основными заказчиками и потребителями продукции МЦСТ были силовые структуры. Ассортимент и объёмы производства были ограниченными, каждый компьютер был на учёте, каждого покупателя знали в лицо, образно говоря. При такой модели сбыта было необходимым и достаточным выпускать в оборот только хорошо отлаженные и сертифицированные системы, под которые прицельно затачивалось прикладное программное обеспечение. Каждый клиент требовал персонального подхода — квалифицированных консультаций при выборе оборудования и его последующей эксплуатации, в том числе с выездом сервисного инженера на место установки (в любую точку необъятной части суши, а также на море). То есть «махровый энтерпрайз», разве что со своей спецификой.
Сейчас МЦСТ очень хочет выйти на гражданский рынок — сначала в корпоративный сектор, который всё-таки ближе к текущему опыту, а затем и в потребительский сегмент, то есть к самым широким массам. Понятное дело, что если бизнес-клиенты ещё хоть как-то готовы нести дополнительные траты (но не такие, конечно, какие готовы нести традиционные заказчики МЦСТ), особенно когда ясны преимущества выбора в пользу дорогого эксклюзива, то рядовой человек голосует кошельком за самые доступные товары, соглашаясь на менее высокое качество продукции и порой полное отсутствие поддержки со стороны производителя. А ещё простые люди жаждут всего нового — подавай им удвоение количества транзисторов каждые полтора года, самую свежую версию ядра, системных библиотек и прикладных программ; и не столь важно, сколько там было устранено старых ошибок и сколько появилось новых, как сильно потяжелел софт и как он теперь тормозит на машинах предыдущего поколения.
Очевидный разрыв между желаемым и действительным прекрасно понимают в МЦСТ на всех уровнях, — ни у кого нет радужных иллюзий, что можно в один момент сорваться с места в карьер, обгоняя маститых спринтеров и бывалых марафонцев, тем более что с такими соперниками необходимо, как в известной сказке, нестись со всех ног, просто чтобы остаться на месте. Сейчас на такой рывок нет ни денег, ни производственных мощностей, ни, элементарно, кадровых ресурсов, — штат сотрудников на три порядка меньше, чем у Intel или Microsoft, а заниматься приходится всем сразу. Даже чтобы охватить коммерческие или бюджетные структуры, необходимо сначала развернуть сеть дилерских центров и ремонтных мастерских, наладить систему обучения и технической поддержки, — сейчас МЦСТ только прощупывает почву в поисках партнёров. Ну и, конечно, необходимы финансовые инвестиции: чтобы иметь возможность продавать свои компьютеры недорого, требуется снизить себестоимость производства, а это достижимо только при значительном увеличении объёмов, — получается замкнутый круг, разорвать который очень непросто.
Также присутствует понимание того, что продукция широкого потребления обязана быть настолько открытой, настолько это возможно и целесообразно: например, что в свободном доступе должна присутствовать документация, установочные дистрибутивы программного обеспечения и своевременно выпускаемые обновления для него, исходные коды этих программ, что необходима площадка для публичных консультаций и обмена опытом, учебная литература для начинающих и специалистов. Но это тоже всё не появляется само собой в одночасье, а компания пока находится в самом начале пути по завоеванию сердец и умов потенциальной клиентуры.
Поскольку отказаться от старых привычек сложно, особенно когда ещё нет практики ведения дел в совершенно иной среде, необходимо делать скидку на то, что, когда сотрудники компании отвечают на вопросы далее по тексту, то, говоря «пользователь», они зачастую всё ещё имеют в виду своего классического клиента, с которым имеется персональный контакт и прямой контракт, а зачастую ещё и дополнительное соглашение о неразглашении, — такой клиент сам не заинтересован в публичности и знает, что может рассчитывать на любой каприз за свои деньги. Но, как можно видеть по многим ответам, этот шаблон уже не рассматривается в качестве единственного. Тут тоже всё будет развиваться постепенно, шаг за шагом.
Производство и продвижение
На каком заводе производят ЦП и КПИ? В каких объёмах? Правда ли, что производство свёрнуто (приостановлено) на два года?
Секрета здесь нет: новые микросхемы сейчас производятся только в Азии. И если ставить целью всерьёз конкурировать на свободном рынке, никакой альтернативы этому пока нет. Другое дело, что тогда возникает естественный вопрос информационной безопасности в критических применениях, но для особой категории заказчиков возможно организовать производство на местных мощностях ограниченными партиями — с соответствующим уровнем цен. Первый (и успешный) проект такого рода — процессор «Эльбрус-2СМ»: его кристаллы производятся на зеленоградской фабрике «Микрон».
Выпуск микросхем не останавливается — более того, в них постоянно вносятся корректировки. Просто, по современным меркам, объёмы менее тысячи кристаллов в год считаются мелкосерийным производством, и заказ делается лишь эпизодически, круглосуточный конвейер тут не нужен.
Много процессоров на данном этапе идёт на внутренние нужды, — как обыденные, так и экспериментальные. Например, недавно был собран вычислительный комплекс из 32 модулей 1U по четыре процессора «Эльбрус-4С» в каждом — итого 512 ядер. Каждый, у кого есть интересные задачи для такой системы, может обратиться с заявкой на машинное время. (Кратко о том, какие классы программ наиболее эффективно выполняются на архитектуре E2K, и как оптимизировать свой исходный код, будет рассказано ниже, а подробнее эту тему планируется осветить в отдельной публикации.)
При каких объёмах производства удастся снизить стоимость комплекта «материнская плата + процессор» до приемлемого для широкого круга покупателей уровня? Как скоро российская электронная промышленность будет способна обеспечить такие объёмы?
Чтобы выйти на уровень около 1000 долларов, необходимо выпускать как минимум 10 тысяч готовых изделий ежегодно, а двигаться ещё дальше навстречу покупателю можно только при потоке порядка 100 тысяч изделий в год. Разумеется, всё производство тогда должно быть сосредоточено в Китае, либо отечественные фабрики должны очень хорошо поработать над удешевлением логистики и снижением себестоимости производства. Сейчас все платы производства МЦСТ монтируются на российских заводах.
При каких объёмах производства будет оправдан выпуск упрощённой версии процессора для 1-сокетных систем — без блоков межпроцессорного взаимодействия и доступа к удалённой памяти?
Даже 10 тысяч кристаллов в год не оправдают изменение топологии. Скорее будет иметь смысл избавиться от незадействованных выводов, что позволит сократить площадь подложки, но в обозримой перспективе даже это не будет себя оправдывать.
Сколько будет стоить лицензия на операционную систему, если начнутся продажи комплектующих по отдельности?
Пока что такая схема продаж не обкатана, но скорее всего будет перенят опыт коллег из «Альт Линукс», — для персонального использования цена точно не станет обременительной.
Когда ожидать готовые системы на базе «Эльбрус-8С»? Определены ли характеристики будущих процессоров? Будет ли в следующей модели 16 ядер и тактовая частота 2 ГГц, к примеру?
Предсерийные образцы однопроцессорных машин на базе «восьмёрки» можно будет увидеть уже этим летом. Следующий шаг — небольшое увеличение частоты (до 1,5 Гц) и удвоение количества вычислительных блоков с плавающей запятой, которые являются основной движущей силой этой платформы — такой процессор уже разрабатыается с рабочим названием «Эльбрус-8СВ». Процессор с 16 ядрами планируется выпустить в 2020 году.
Почему система именования аппаратных и программных средств такая запутанная?
Когда в вашем активе всего пара-тройка базовых продуктов, то разобраться в номенклатуре не составляет труда, особенно профессионалу. Сейчас, когда спектр железа и софта расширяется, когда происходит ориентация на рядового пользователя, система именований постепенно приводится к виду, понятному для неспециалиста.
Важное уточнение. Упоминать обозначение «Эльбрус-2000», равно как и аббревиатуру «E2K», в контексте современных продуктов — неправильно: официальным названием этой микропроцессорной архитектуры является «Эльбрус», без всяких суффиксов. Название «Эльбрус-2000» было выбрано для архитектуры, которую собирались реализовывать совместно с западными компаниями в 2000 г. В самом начале 1999 г. в журнале Microprocessor Report была напечатана статья с описанием архитектуры микропроцессора «Эльбрус-2000», которая на английском языке выглядела как «Elbrus-2000», а в сокращенном виде — «E2k». Нынешняя архитектура «Эльбрус» существенно доработана по отношению к той архитектуре E2k, — это уже третья версия, — поэтому использование старого обозначения не вполне корректно. Кроме того, аббревиатура E2K (с заглавной буквой «K») может трактоваться ортодоксальными компьютерщиками как 2048, что совсем уж никуда не годится.
Поддержка пользователей
Имеется ли документация в электронном виде? Планируется ли выкладывать документацию в общий доступ для свободного скачивания любым желающим (безотносительно факта покупки оборудования)?
Документацию можно скачать уже сейчас, но пока только имея ссылку, высылаемую по запросу. Однако уже в ближайшие месяцы планируется запустить сайт сообщества и технической поддержки, где вся информация будет лежать в открытом доступе. Так как речь идёт о десятках документов, это займёт какое-то время.
Планируется ли открывать багзиллу для публичного просмотра? Создавать FAQ, организовывать форум — сайт для открытого обмена опытом?
Нельзя просто взять и открыть багзиллу, где многие тикеты содержат «высоко чувствительные» сведения. Скорее всего, для широких масс будет создана отдельная багзилла, доступная для просмотра и пополнения всеми желающими. А ранее накопленный опыт по наиболее часто задаваемым вопросам будет переработан в FAQ, который также будет выложен на новом сайте поддержки. Там же будет и форум, скорее всего.
Что насчёт публикации исходных кодов адаптированного программного обеспечения и отправки патчей в апстрим того или иного проекта? Планируется ли принимать патчи от пользователей? Как насчёт поощрений за найденные уязвимости?
Исходные коды не выкладывались в публичный доступ просто потому, что сами клиенты были не публичными, и спрос среди них на исходные коды был небольшим, а кому было действительно нужно не из праздного любопытства — обращался с запросом и получал всё что надо в частном порядке. Планируется, что для массового потребителя в обозримом будущем будет создан публичный репозиторий, куда попадёт весь заимствованный код. Открывать свои собственные разработки, такие как компилятор LCC, фирма не планирует, — в конце концов, Intel C++ Compiler (а именно его МЦСТ считает своим главным соперником с точки зрения оптимизаций) тоже закрытый, и хорошо при этом себя чувствует.
Патчи от пользователей и так принимаются, — пока что тоже в частном порядке, конечно же. Как это будет выглядеть при расширении клиентской базы и всплеске внимания со стороны энтузиастов, пока представить трудно.
Отправка своих изменений авторам оригинальных проектов — несомненно полезное дело, но этим кто-то должен заниматься, к каждому проекту нужно знать подход, разбираться в особенностях культуры сообщества. Более посильной задачей представляется просто выкладывать весь код в общий доступ: если найдётся «посол доброй воли», готовый взаимодействовать с тем или иным апстримом, — что ж, замечательно. Пока что у МЦСТ такого опыта нет.
Аппаратное обеспечение
Как встроенный видеоадаптер задействовать в графическом окружении? Насколько комфортным для 2D-работы предполагается его быстродействие?
Инициировать перенастройку графического стола проще всего было бы, запустив утилиту xorg-server.postinst. Функции аппаратного 3D-ускорения у встроенного адаптера отсутствуют напрочь, а вот обычное использование приложений рабочего стола не должно вызывать никаких неудобств, — уж точно не так, как было на старых компьютерах. Наверное, надо будет записать это на видео и выложить небольшой ролик — вместо тысячи слов.
Какие дискретные видеокарты, помимо Radeon HD 6450 / R5 230, поддерживаются операционной системой? Какие функции аппаратного ускорения доступны прикладным программам через имеющийся в системе драйвер?
Поддерживается вся современная линейка Radeon, совместимая с открытым драйвером для Linux. Поскольку у nVidia в этом плане всё очень печально, их продукция не имеет поддержки в операционной системе «Эльбрус» на данный момент.
Чем можно объяснить аномально низкие показатели скорости чтения и записи твердотельного накопителя, не дотягивающие даже до номинальной полосы пропускания интерфейса SATA-2, через который он подключён?
Это известное ограничение микросхемы 1991ВГ1Я, реализующей контроллер периферийных интерфейсов (КПИ). Оптимизированный вариант контроллера (КПИ-2), в котором эта проблема решена, будет устанавливаться в системы с новыми процессорами «Эльбрус-8С» и «Эльбрус-1С+».
Зачем в составе компьютера «Эльбрус 401?PC» имеется жёсткий диск объёмом 1 Тбайт, если он даже не настроен в операционной системе, а основной накопитель и так предоставляет немало свободного пространства?
Очевидное предназначение жёсткого диска — хранение больших объёмов данных, что востребовано текущим контингентом пользователей. То, что диск не смонтирован в системе — недоработка, но не существенная: некоторые пользователи ещё и флэш-карту переформатируют под свои нужды вместо двоичной трансляции, тут всем сразу не угодишь.
Для чего служит окраска винтового крепления твердотельного накопителя, — в качестве гарантийной пломбы или для предотвращения самооткручивания?
Действительно, краска является в первую очередь стопором. Накопитель откручивать можно — гарантии это не лишает, но если что-то сломается, то у сервисных инженеров возникнут естественные вопросы к пользователю касательно произведённых действий.
Откуда берутся идентификаторы PCI-устройств, — почему код разработчика (Vendor ID) у многих набортных устройств такой же, как у Intel?
Причина совершенно прозаическая — так операционной системе Windows в режиме двоичной трансляции проще почувствовать себя как дома. Правда, из-за своей параноидальной привязки кодов активации к используемой аппаратуре, эта «самая дружелюбная» система всё равно иногда начинает капризничать.
Где можно ознакомиться с описанием аппаратно-программного модуля доверенной загрузки «Эшелон?Э»?
Тут имеет место недоразумение: этот продукт — чисто программный, и является лишь частным случаем обычного МДЗ «Эшелон», разработанного одноимённым научно-производственным объединением. Это средство обеспечивает доверенную загрузку компьютера, контроль целостности, идентификацию и аутентификацию пользователя до передачи управления операционной системе.
Является ли модуль удалённого управления по IPMI, предлагаемый как опция для серверов «Эльбрус-4.4», самостоятельной разработкой, или это готовый продукт иностранного производства?
Разумеется, это самостоятельная разработка, но пока ещё не готовый продукт, — модуль находится на этапе отладки.
Операционная система
Какая система обозначения версий используется для ОС «Эльбрус»?
Правильный ответ уже приводился в статье: номер версии записан в файле /etc/mcst_version. Та версия 2.2, которой комплектовались компьютеры из первой партии, на самом деле уже не актуальна — стабильной сейчас является 2.3, а на стадии релиз-кандидата находится 3.0 (с ядром 3.14).
Планируется ли выпускать регулярные обновления, которые бы устанавливались автоматически из публичного репозитория? Почему не всё программное обеспечение, установленное в системе, оформлено в виде пакетов?
Да, автоматическое обновление планируется, хотя сейчас этот процесс происходит ещё вручную по запросу. Разумеется, для этого всё программное обеспечение должно находиться под управлением менеджера пакетов, — если сейчас где-то не так, то только вследствие неотлаженности процесса сборки.
Не проще ли напрямую портировать однин из популярных Linux-дистрибутивов — например, тот же Debian?
Именно этим в данный момент и занимается одна из команд. Действительно, Debian предлагает, пожалуй, наиболее удобную инфраструктуру для создания производных дистрибутивов. Более того, у Debian сейчас самый широкий набор поддерживаемых архитектур, во всяком случае среди семейства Linux, так что создавать новые порты логичнее всего на этой базе. Однако именно процедура портирования у данного дистрибутива — не самая гладкая и систематизированная, поэтому приходится изрядно потрудиться. Зато, когда процесс будет отлажен и автоматизирован, синхронизация с мейнлайном станет [почти] незамедлительной. А вот удастся ли придать этому порту статус официального — большой вопрос.
Но перечень поддерживаемых операционных систем не планируется ограничить лишь каким-то одним вариантом. Первым делом ожидается порт ALT Linux, который в представлении не нуждается. Также ведутся работы по адаптации QNX: защищённая операционная система реального времени «Нейтрино-Эльбрус» в каком-то виде уже работает; подробности уточняйте у разработчиков в центре компетенции «СВД Встраиваемые Системы».
Насколько трудоёмко портирование ядра Linux? Почему сейчас используется ядро версии 2.6.33 — не самое новое, но и в то же время не поддерживаемое как LTS?
Процесс портирования ядра Linux на ту или иную аппаратную платформу в самом деле довольно трудозатраный, но проблема не в однократных усилиях, а в том, что каждый раз очень многое приходится начинать почти с начала, так как всё течёт, меняется и перетасовывается. Например, только-только перебрались на ядро 3.14 и начали экспериментировать с веткой 4.x — а там опять всё поменялось.
Вряд ли в обозримом будущем получится добиться принятия своего порта в мейнлайн kernel.org, когда там всё очень строго с одной стороны и довольно хаотично с другой. Поэтому наиболее вероятной перспективой видится предоставление своего ядра всем желающим для самостоятельной сборки такого дистрибутива, какой они сами захотят смастерить.
Какие версии ядра (default, nn, rt) для каких целей лучше использовать?
Для повседневных задач, очевидно, лучше всего подходит ядро по умолчанию. Ядро «nn» предназначено для сетевых маршрутизаторов — там удешевлена обработка прерываний. Ядро «rt» умеет планировать работу процессов, соблюдая ограничения по выделенным квантам времени в установленных пределах, что позволяет говорить о вычислениях в реальном времени, — не значит «быстро», но значит «предсказуемо», пусть и ценой потери производительности; при этом в системе обычно остаётся работать только ядро и целевое приложение, а также минимально необходимый набор фоновых служб.
Возможен ли быстрый перезапуск [ядра] операционной системы без повторной инициализации оборудования? Как ускорить запуск операционной системы в частности и компьютера вообще?
Быстрый перезапуск операционной системы без инициализации оборудования не предусмотрен. Ускорить инициализацию оборудования можно, во-первых, очевидными способами: например, отключив или уменьшив тайм-аут поиска серверов ATA over Ethernet, — они нужны только для загрузки по сети. Во-вторых, есть и неочевидные на первый взгляд способы: например, можно отключить очистку оперативной памяти, которая обычно выполняется в целях информационной безопасности. Ну, а ускорение запуска операционной системы путём отключения всех ненужных служб — в комментариях не нуждается.
Прикладное программное обеспечение
Для каких целей позиционируется имеющаяся сейчас версия Firefox 3.6, если с ней не совместимы многие сайты, использующие современные веб-технологии?
Актуальной версией браузера в текущем релизе операционной системы «Эльбрус» является 23.0, которая гораздо совершеннее в функциональном плане и в плане производительности. Например, тест JetStream теперь уже успешно завершается, причём со счётом 7,8 балла — не намного ниже отметки 8,2 балла, достигаемой той же версией Firefox в режиме двоичной трансляции x86, где задействован полноценный JIT-компилятор для JavaScript.
Также обкатывалась версия 31.0, но она проявила себя хуже, медленнее, и её решили не выпускать на публику. Следующей перенесённой версией будет 44.0.
Имеется ли в системе реализация отечественных криптографических алгоритмов (в том числе актуальных версий), доступная для программ на языках C/C++?
Сейчас на смену OpenSSL пришло его ответвление — LibreSSL, куда российская криптография интегрирована официально.
Чем можно объяснить низкую производительность виртуальной машины Java, продемонстрированную в различных тестах?
Пакет OpenJDK 1.6.0 был в каком-то смысле «пробой пера» — сейчас уже кипит работа над 1.7.0 и 1.8.0, где производительность удалось поднять в 3–4 раза, если судить по таким тестам, как SPECjvm2008. Но в общем случае, конечно, придётся ещё много чего оптимизировать.
Планируется ли портирование Mono или .NET в рамках ОС «Эльбрус» или иного дистрибутива?
Учитывая популярность данной технологии, это практически неизбежно. Но, принимая во внимание происходящие в данный момент перемены в отношениях Microsoft с сообществом и неопределённое будущее проекта Mono, естественным образом возникает желание чуть-чуть подождать, когда перспективы станут более чёткими, чтобы не тратить время на тупиковые ветви развития.
Пока же, если кому-то необходимо запускать дотнетовские приложения, он может воспользоваться режимом x86-трансляции. Собственно, это одно из основных назначений технологии трансляции — обеспечить совместимость на переходный период, пока программная база ещё не стала нативной. Кстати, сейчас команда МЦСТ активно работает над повышением эффективности трансляции приложений, использующих подобные just-in-time компиляторы.
Каковы перспективы у «Эльбруса» в качестве игровой платформы, учитывая, что в современных играх почти вся нагрузка ложится на видеокарту, и мощный процессор зачастую не нужен?
Этим вопросом всерьёз ещё никто не задавался. Пока что, если только игра не доступна в исходных кодах и не является по-настоящему переносимой, то единственным выходом будет запуск Windows или Steam OS в режиме двоичной трансляции, но возможны проблемы с активацией лицензий из-за особенностей привязки к оборудованию.
Архитектура и средства разработки
Где и как можно получить подробное справочное руководство по архитектуре и набору машинных инструкций?
Сейчас вся документация высылается по запросу. Но есть нюанс: набор инструкций является открытым, а вот способ кодирования инструкций в командном слове — закрытая информация по историческим причинам. Вопрос полного раскрытия архитектурных деталей неоднократно пробовали решить положительно, но пока решение не принято.
Впрочем, серьёзной практической проблемы это не представляет, так как, по мнению МЦСТ, информации в имеющейся документации достаточно даже для низкоуровневого программирования через «интринсики», а генерировать машинный код своими силами или даже писать на E2K-ассемблере — занятие бесполезное почти во всех случаях, кроме очень-очень узкого круга низкоуровневых системных процедур. Только компилятор способен учитывать тайминги выполнения инструкций и проводить столь сложную оптимизацию, какая требуется для эффективного задействования ресурсов подобной архитектуры.
Какие виды программ (алгоритмов) можно реализовать на E2K эффективнее всего, в том числе по сравнению с другими архитектурами, обеспечивающими неявный параллелизм?
Изначально «Эльбрус-2000» проектировался как высокопроизводительная платформа для вычислений с плавающей запятой, и отходить от этой концепции не планируется — скорее, наоборот: как уже говорилось, следующим шагом после «8С» будет удвоение количества вычислительных блоков вещественного типа. Соответственно, основная стезя — это математические программы, научные и производственные расчёты. Специально для таких задач разрабатывается и оптимизируется библиотека алгоритмов EML (Elbrus math library), а у компилятора LCC есть особые навыки по трансформации некоторых шаблонов исходного кода в вызовы этой библиотеки.
Другой сильной стороной является наличие большого регистрового файла, — программе в каждый момент времени доступно до 256 регистров, в том числе возможно их автоматическое переименование. Это открывает путь для очень масштабных оптимизаций. Например, в известном обзоре на CNews фигурировал тест gostcrypt (это частная реализация от одного из клиентов МЦСТ), в котором «Эльбрус-4С» на пониженной частоте обогнал Core i7-2600 почти в два раза, — тут нет никаких подтасовок, но был сделан неправильный вывод, будто причиной тому стало отечественное происхождение алгоритма ГОСТ 28147-89. На самом деле секрет успеха — в удачном сочетании структуры этого алгоритма с количественными характеристиками архитектуры E2K и качественными способностями компилятора LCC по проведению глубокой оптимизации. Компилятору удалось развернуть весь цикл преобразования одиночного блока и утрамбовать его в минимально возможный набор командных слов, обеспечив работой все имеющиеся целочисленные блоки, — вот и получился такой впечатляющий результат.
Как писать эффективные программы для E2K на языках C/C++ и Fortran? Есть ли учебное пособие на эту тему?
Попытка создать руководство по архитектуре уже предпринималась, однако авторы тогда сильно углубились в описание аппаратной части, полагая, что из этого материала любой читатель сможет сделать очевидные выводы, — получилось примерно то же, что опубликовано в известной книге «Микропроцессоры и вычислительные комплексы семейства Эльбрус». Что же касается наставления для прикладных программистов, то, увы, пока что все сакральные знания хранятся только в головах сотрудников, занимающихся разработкой компилятора; иногда они делятся своими откровениями на лекциях в МФТИ, но для оформления конспектов в виде книги ещё не созрели. Тем временем в качестве отправной точки советуют почитать рекомендации для Itanium, — концептуально эта архитектура очень похожа на E2K.
Вкратце основные приёмы можно сформулировать так.
- Не мешать компилятору: уж если объявили функцию как встраиваемую (inline), то не забывайте включать её определение в каждый вызывающий модуль, — потому что вызов подпрограмм и возврат управления обратно являются весьма дорогими операциями на «Эльбрусе». Вообще, переход управления только тогда осуществляется почти безболезненно, когда подготовка к нему началась минимум за 4 такта заранее, поэтому, например, условные ветвления в простейших случаях автоматически заменяются на спекулятивные вычисления.
- Помогать компилятору подсказками: помечать вероятные и редко используемые условные блоки макросами likely и unlikely, указывать ориентировочное количество итераций цикла в директиве pragma loop count, применять двухпроходную компиляцию с профилированием, когда характер нагрузки всегда однотипный.
- Использовать семантически подходящие конструкции: компилятор скорее попытается оптимизировать цикл for, чем while, особенно если в нём замечен досрочный выход через break.
- Избавляться от лишних зависимостей между итерациями цикла и между отдельными шагами одной итерации, — тогда у компилятора появляется шанс ещё и утрамбовать широкие команды, а также заменить скалярные вычисления на векторные. (Этот совет справедлив в любой ситуации, но в случае с циклами зачастую вмешивается ограничение на количество анализируемых итераций.)
- Избегать заведомо неблагоприятных техник: например, не использовать невыровненный доступ к памяти, — хоть такое поведение и поддерживается, расплата за него гораздо суровее, чем на x86. Более того, если вы гарантируете отсутствие такого поведения в программе, то можно включить дополнительные режимы оптимизации.
- Применять оптимизированные функции, когда это возможно, — например, вышеупомянутую библиотеку EML. Как уже говорилось, компилятор сам умеет заменять вызовы обычных функций на оптимизированные, но он не всесилен, и лучше всё делать явно.
Более подробно и с примерами эти методы и прочие тонкости планируется осветить в отдельной статье. МЦСТ прекрасно понимает важность распространения среди программистов «тайных техник» извлечения из «Эльбрусов» максимальной производительности, и планирует начать нести свет знаний, как только будет сформировано сообщество и его инфраструктура.
Существует ли готовый набор примеров исходного кода на языках C/C++ с ошибками обращения к памяти, чтобы продемонстрировать, как технология защищённого исполнения программ позволяет отлавливать такие ошибки на этапе компиляции и на этапе выполнения?
Разумеется, такой набор программ есть — в составе средств регрессионного тестирования, которое проводится еженощно. Также можно использовать примеры из коллекции SAMATE американского института NIST. Однако для наглядности (по этой теме планируется написать отдельную статью), наверное, проще будет написать «однострочники», которые прицельно иллюстрируют каждую ошибку в отдельности.
Рассматривается ли возможность написания E2K-бэкэнда для компилятора LLVM в качестве альтернативы LCC, стремящегося походить на GCC?
Изыскания в этом направлении проводились, естественно, однако вердикт пока был скорее отрицательным: архитектуру «Эльбрус-2000» сложно описать средствами LLVM оптимальным образом. То есть альтернативный компилятор можно было бы выпустить, но генерируемый им машинный код проигрывал бы LCC по скорости работы. Но направление не считают тупиковым, — возможно, что со временем бэкэнд к LLVM всё же будет реализован.
Может ли LCC выводить ошибки и предупреждения по форме, принятой у GCC, чтобы эти сообщения распознавались в среде разработки (например, Qt Creator) соответствующим образом?
На данный момент это не предусмотрено, но уже заведён тикет в багзилле.
Где можно получить набор средств кросс-компиляции программ для E2K из рабочей среды x86? Предусмотрен ли обратный процесс — генерирование x86-кода из среды «Эльбрус», и если да, то с помощью особой версии LCC, либо обычного GCC?
Средства кросс-компиляции для E2K (то есть компилятор LCC, работающий на x86 Linux) предоставляются по запросу. Обратный процесс в явном виде не предусмотрен: если такое необходимо, можно запустить какую-нибудь x86-систему на «Эльбрусе» в режиме двоичной трансляции и использовать имеющийся там компилятор.
Какие технологии виртуализации поддерживаются на платформе «Эльбрус»?
Прямо сейчас поддержки нет вообще. Однако в скором времени появится возможность использования контейнеров.
Кроме того, в этом году должны завершиться работы по созданию паравиртуализованного ядра операционной системы и механизма поддержки гипервизора KVM, а это — основной задел в архитектурно-зависимой части для развёртывания полноценной облачной инфраструктуры типа OpenStack. Тогда как прочие архитектуры при работе в среде Qemu/KVM опираются на полную виртуализацию аппаратуры, факультативно используя паравиртуальные драйверы virtio для ввода-вывода и перехват привилегированных инструкций при поддержке самого процессора, для «Эльбруса» дорабатывается архитектурно-зависимая часть KVM, чтобы обеспечить именно паравиртуальный режим работы, когда гостевая система тесно сотрудничает с гипервизором и вместо выполнения привилегированных инструкций вызывает функции hypercall API.
Хорошо известно, что Intel постоянно совершенствует свою архитектуру и улучшает микроархитектуру, повышая при этом производительность. Как развивается в этой части архитектура «Эльбрус»?
Развитие движется в нескольких направлениях.
- Основное внимание уделяется повышению производительности процессорного ядра для ускорения работы однопоточных приложений. Это достигается за счет увеличения числа одновременно исполняемых операций (реализовано в следующей, 4-й версии системы команд), использования более широких регистров для операций над векторными данными (реализуется в 5-й версии), совершенствования иерархии подсистемы памяти. При этом сохраняется совместимость с предыдущими версиями архитектуры.
- Второе направление — это совершенствование микропроцессора как системы на кристалле. По мере освоения более тонких нанометровых технологий в микропроцессорах возрастает число процессорных ядер, увеличивается число каналов доступа в память для сохранения сбалансированности микропроцессора, в отдельных случаях добавляются специализированные графические ядра и дополнительные контроллеры взаимодействия с периферийными устройствами.
Наконец, значительную роль играет совершенствование оптимизирующего компилятора, с помощью которого удаётся извлекать параллелизм программ и трансформировать код в параллельные возможности архитектуры, — как уже неоднократно подчёркивалось, компилятор фактически является частью архитектуры. Резерв способностей компилятора ещё далеко не исчерпан, МЦСТ здесь видит очень широкое поле для приложения усилий.
Двоичная трансляция x86-кода
Какие возможности и ограничения имеет двоичная трансляция?
Эта тема заслуживает рассмотрения в отдельной статье, но вкратце картина складывается следующая. Трансляция бывает двух видов — на уровне системы и на уровне приложения. В первом случае для гостевой операционной системы обеспечивается доступ ко всему аппаратному окружению компьютера, а во втором, соответственно, только выполняется передача системных вызовов из гостевой программы в ядро хозяйской системы Linux. Это можно сравнить с эмуляторами qemu-system-x86_64 и qemu-i386 соответственно, однако транслятор не занимается эмуляцией гостевого процессора, а сразу перекомпилирует гостевой машинный код в нативные инструкции своей архитектуры. Причём преобразование выполняется многократно, постепенно увеличивая степень оптимизации для наиболее часто встречающихся участков кода, а результаты сохраняются в долговременный кэш.
Транслятор уровня системы (неофициально он называется «lintel» — «эль-интел») поддерживает наборы команд x86 и x86-64, а транслятор уровня приложений («rtc», то есть run time compiler) пока совместим только с 32-битным программами, — 64-битная версия находится в стадии тестирования. Однако совместимость с архитектурой AMD64 / EM64T не означает автоматической поддержки всех новых наборов инструкций, которые можно встретить в тех или иных процессорах Intel / AMD, как то последние версии SSE, AVX, AES-NI, — соответствующие флаги в информации CPUID будут отсутствовать.
Как воспользоваться транслятором уровня системы?
Очень просто: при запуске компьютера надо указать флэш-карту в качестве загрузочного диска. Если карта оказалась пуста, либо пользователь сам стёр оттуда систему трансляции, то записать её повторно можно в любой момент, выполнив копирование образа командой dd.
Транслятор уровня системы имеет BIOS оригинальной разработки, и после запуска на экране возникает привычная всем POST-последовательность, в ходе которой можно зайти в меню настроек. Большинство этих настроек — самые обыкновенные, но есть и специфические. Например, можно очень гибко управлять идентификацией процессора по CPUID, меняя не только номер семейства и модели или отдельные флаги способностей, но и текстовое название, — это необходимо для противодействия анти-конкурентному поведению программ, собранных при помощи Intel C++ Compiler. Другая специфическая опция — прозрачное превращение SATA-контроллера в PATA, чтобы обеспечить совместимость с более широким кругом операционных систем. Но, несмотря на наличие таких «волшебных палочек», работа операционных систем, установка которых производилась на настоящей x86-машине, не гарантируется, — особенно это касается Windows с её привязкой лицензии к оборудованию и трепетным отношением к драйверу системного диска.
Как воспользоваться транслятором уровня приложений?
Ещё проще: запустив программу трансляции, передав ей путь к гостевому приложению и путь к корневому каталогу воссоздаваемого окружения. Весь вопрос в том, как сперва получить образ этого окружения. Пока что штатно поставляется только окружение x86-версии системы «Эльбрус», однако допускается использование и других. Если клиент затрудняется сформировать образ нужной системы самостоятельно, специалисты МЦСТ могут оказать необходимую помощь.
Из-под запущенного гостевого приложения (например, коммандного интерпретатора) пользователь может осуществлять запуск прочих гостевых программ — совершенно прозрачно. В один момент времени может быть запущено сразу несколько экземпляров транслятора, и каждый экземпляр может работать в своём собственном окружении; поэтому, например, можно опробовать одну и ту же версию браузера в разных дистрибутивах, или, наоборот, разные версии браузера в одной системе (пример надуманный, конечно, но суть раскрывает).
Можно встретить утверждение, что в режиме двоичной трансляции некоторые бенчмарки начинают работать даже быстрее, чем изначально собранные для E2K. Для каких классов программ и при каких условиях такое возможно?
Такое действительно возможно, например, когда нативная версия JVM или JS-движка умеет только интерпретировать пользовательский код, а сравниваемая с ней x86-версия располагает полноценным JIT-компилятором. При этом, даже не смотря на то, что имеет место многократная трансляция, — сначала выбранный для оптимизации байт-код компилируется в машинный язык x86, затем ещё через какое-то время он перекомпилируется в E2K (причём трижды, по одному разу на каждый уровень оптимизации), — всё равно итоговый выигрыш от компиляции перевешивает.
Что касается нативных программ на языках C/C++, то здесь тоже существует логическое объяснение, даже целых два. Во-первых, хоть компилятор LCC и проделывает титаническую работу по оптимизации генерируемого кода, никто не гарантирует, что какой-нибудь компилятор для x86, особенно коммерческий, не справится лучше в том или ином частном случае. Во-вторых, более вероятно, что хорошо оптимизированная программа для x86 попросту была собрана с учётом предварительного профилирования, тогда как компилятору LCC скормили голые исходники без подсказок. Но при прочих равных, конечно, нативные программы должны работать как минимум не медленнее транслируемых, — если это не так, надо отправлять баг-репорт разработчикам LCC.
Измерение производительности
По мнению специалистов МЦСТ, некоторые популярные ранее бенчмарки не могут по-настоящему раскрыть потенциал ни одной из существующих ныне платформ. Взять тот же UnixBench — при всём уважении к его почтенному возрасту, он давно устарел и одинаково не годится для любых современных процессоров и операционных систем. Оба его процессоро-зависимых теста, Whetstone и Dhrystone, практически не распараллеливаются и не подлежат хоть сколь-нибудь существенному внеочередному выполнению — хоть на архитектурах с явным параллелизмом, хоть с неявным. А остальные тесты вообще «ни о чём», вместо них лучше использовать что-то более специфическое. Единственное достоинство UnixBench — кросс-платформенность, потому его и используют до сих пор.
Не стоит также упускать из виду могучую силу профилирования. Например, показавшиеся многим подозрительно высокими результаты теста 7-Zip в обзоре CNews — это не обман, а следствие двухпроходной компиляции. Другой вопрос, насколько такая оптимизация полезна в общем случае, то есть на произвольных входных данных. По этой причине вряд ли имеет смысл профилировать все компоненты теста Pgbench, — ведь на реальных данных производительность Postgresql может оказаться совсем иной. Но в случае конкретно с 7-Zip перепроверить довольно легко: надо провести ещё один тест, подав на вход коллекцию разнообразных файлов. Проблема только в том, что если файлы не стандартизированы, то повторить тест идентичным образом у любого желающего не получится, и доверия к опубликованным результатам будет ещё меньше.
Следует отдавать себе отчёт, что синтетические бенчмарки нередко пишутся с прицелом на определённую архитектуру (в том числе потому что их авторы привыкли так мыслить), либо подгоняются под определённое сочетание аппаратуры и компилятора. Например, известный тест SPECcpu декларирует объективность и непредвзятость, однако в исходных кодах версии 2006 можно встретить комментарии, что тот или иной костыль добавлен специально для Intel C++ Compiler. Да и как тут не заподозрить влияние крупного вендора, когда из 36,6 тысяч опубликованных результатов на долю его продукции приходится 90 % записей?
Реальные прикладные программы — тоже не всегда показатель, потому что наиболее критичные участки могут быть либо полностью написаны на ассемблере x86, либо содержать много ассемблерных вставок и обращений к особым функциям (интринсикам), чему OpenSSL наглядный пример. Получается, что вылизанный до блеска машинный код сравнивается с реализацией на языке высокого уровня, основное предназначение которой — быть эталонной, а не оптимальной.
Поэтому предложение к читателям: давайте вместе подумаем, какие тесты — искусственные или приближенные к жизни — можно провести, чтобы увидеть, насколько «Эльбрус» силён в релевантных для него задачах. Не обязательно, чтобы это были готовые программы, особенно что касается математических вычислений, ведь, скажем, умножение матриц — оно и в Африке умножение матриц: сложность задачи одинакова, выполняется ли она оптимизированными библиотеками EML, BLAS / LAPACK или самописной функцией. Свои идеи оставляйте в комментариях.
Автор выражает признательность сотрудникам МЦСТ за подробные и интересные разъяснения.
Комментарии (84)
Hellsy22
03.03.2016 21:35+2Поддерживается вся современная линейка Radeon, совместимая с открытым драйвером для Linux. Поскольку у nVidia в этом плане всё очень печально
Если я правильно помню, то все ровно наоборот. Опенсорсный драйвер для Radeon (fglrx) не поддерживает 3D-ускорение в отличие от Nvidia (nouveau). Проприетарные драйвера у Nvidia тоже лучше.Tanner
03.03.2016 21:46+2fglrx — это закрытый драйвер. Открытые — radeon и radeonsi. 3D-ускорение в принципе поддерживают все.
Hellsy22
03.03.2016 21:56Ого, radeon/radeonsi, похоже, даже допилили поддержку старых (6xx) карт. А с производительностью у них как?
Tanner
04.03.2016 07:03Производительность у открытых драйверов в среднем хуже. Но есть нюансы, связанные с приложениями. Gnome Shell, например, любит radeon, а игорь — fglrx.
RiseOfDeath
03.03.2016 22:45А с 2d ускорением у них как? У меня на какой-то радионовской видюхе в ноуте (не могу назвать модель ибо не знаю) тормозила прокрутка в libreoffice (вплоть до полного зависания) в документе из 3-х страниц с кучей комментариев.
Tanner
04.03.2016 07:07Тут у вас явно была проблема, не связанная с 2D-операциями в карточке. У меня на Athlon 2600+ и R600XT ОпенОффис летал даже под VESA-драйвером.
garry_smith
03.03.2016 22:24+7Мне как разработчику очень непонятно, почему МЦСТ категорически не желает открывать документацию к системе? Это же полный бред. Откуда тогда вообще появятся разработчики в сообществе?
Я предполагаю, что там столько неправильно написанного кода, содержащего кучу уязвимостей, что первые проверки независимыми разработчиками приведут к очень большому скандалу. Видимо проще запретить?NetBUG
03.03.2016 23:37+1Мне кажется, они просто не умеют, и эта статья — хороший шаг помощи им в этом со стороны автора.
Нет, серьёзно, военные часто не умеют говорить, они умеют только орать.Rezzet
04.03.2016 02:22Нет за ними не раз замечено именно последовательное ограждение своего компилятора, они его готовы охранять как святыню. И по тону всегда понятно что компилятор не откроют никогда. И что-то мне подсказывает там дело не чистое, не просто так они это готовы беречь, может действительно костыли и ошибки, может какая-то коммерческая тайна, может чего сами украли и не хотят что бы их в этом заподозрили.
VerdOrr
04.03.2016 03:47+3"… в качестве отправной точки советуют почитать рекомендации для Itanium, — концептуально эта архитектура очень похожа на E2K..."
"… В московском офисе Intel созданы версии компилятора для платформы Intel Itanium для ОС Linux и Windows. Компилятор проводит оптимизацию программ – в нем есть полный набор оптимизационных алгоритмов. Для некоторых программ достигается многократное (больше двух) ускорение. Этот компилятор используется ведущими производителями ПО и пользователями систем на основе Intel Itanium – Oracle, Fujitsu, Hewlett-Packard, РосГиброМет, URZ, CERN, CEA, NASA и др.
Костяк московской компиляторной команды Intel был сформирован в 2004 году в результате присоединении группы "Эльбрус". Сегодня все работы, связанные с разработкой компилятора для платформы Intel Itanium ведутся в Москве: сбор технических требований, планирование, технический дизайн, реализация контроль качества, поддержка пользователей. Московская команда активно сотрудничает с инженерами Intel при разработке новых поколений процессора Intel Itanium и занимается исследовательской деятельностью. В общем, играет ведущую роль в успехе компании в критически важном сегменте рынка."
http://www.thg.ru/business/moscow_office_intel/print.html
Кто, у кого, в каком объеме, на каких условиях, что заимствовали — думаю, что без суда будет сложно разобраться
Agat-Aquarius
04.03.2016 15:08Мне кажется, они просто не умеют [открывать документацию к системе].
Написано же, что всё планируется в ближайшее время; наберитесь терпения. Закрытыми [пока] останутся только некоторые очень глубинные детали — тут дело определяется внешними факторами.
Военные часто не умеют говорить, они умеют только орать.
МЦСТ — ни разу не военные. Даже большинство компаний непосредственно оборонно-промышленного комплекса — сугубо гражданские организации, и военных / бывших военных сотрудников там либо совсем нет, либо исчезающе мало.
Эта статья — хороший шаг помощи им со стороны автора.
Сотрудники МЦСТ не то чтобы не пишут статей и книг, — как можно видеть по разделу «Публикации» на их сайте, очень даже пишут. Просто это материалы немного другого уровня и направленности — более академичные что ли. Вот и лекции они читают по разным дисциплинам — и про железо, и про софт, — жаль только в одном единственном вузе. Наверное, просто не всем специалистам нравится тратить на это время: признайтесь честно, программисты и проектировщики, кто из вас любит писать документацию по своим разработкам? Вот то-то же.
darckarcher
04.03.2016 10:18+1Согласен с вами, наличие хорошей документации иногда является стимулом переплатить за продукт. А учитывая что компания отечественная наличие мануалов на русском понижает порог вхождения, хоть разработчикам англ. и обязателен. А так получается словите кучу граблей + бета тест железа за тонну денег…
anger32
04.03.2016 10:35Имел дело с документацией коллег из МЦСТ. Написана она вообще не для людей. Порой складывалось ощущение, что преследовалась цель не снабдить инженернов информацией, а выдать это за некий академический труд. Полагаю, что анонсированное открытие доков может сопровождаться их перекраиванием.
Agat-Aquarius
04.03.2016 15:33Возможно, вы некорректно обобщаете.
Видел я эту документациюОдному моему другу как-то приснилось, что он видел эту документацию, и в целом картина такая, что нет никакой «картины в целом» — то есть раз на раз не приходится: в одном документе всего 10 листов, 8 из которых — обложка и всякие листы регистрации изменений (типичная ситуация при оформлении куч макулатуры по ГОСТу), а в другом может оказаться вполне монументальный труд, иногда даже с кучей иллюстраций.
Если же вы про «тяжёлый язык», то это дело вкуса: некоторым, например, до жути не нравится мой стиль изложения — мол, он настолько несерьёзный, что его нипочём нельзя показывать приличным людям™. А среди типовых клиентов МЦСТ (не конечных пользователей, а именно заказчиков) — как раз сплошь приличные люди™.
anger32
04.03.2016 15:56приличные люди достаточно быстро перестают таковыми быть когда речь заходит о необходимости разбираться в ассемблере ПО для Эльбрус ОС.
Конкретно по вашему вопросу. Отбросив субъективные сентенции и регламентируемые стандаром кальки, содержание широкого ряда упомянутых документов не предполагает погружение в тематику в разумные сроки.Agat-Aquarius
04.03.2016 16:37Нет, вы не поняли: приличные люди не копаются в ассемблере — они принимают решение о закупке (в том числе о будущих закупках), руководствуясь своей особой логикой и понятиями о том, каким должен быть качественный продукт. И вот чтобы пробиться через такой «файрвол», иногда писать документацию сажают не тех, кто хорошо разбирается в теме, а тех, кто умеет писать так, чтобы ублажить глаз большого начальства и прочих эффективных менеджеров. Ну а то, что потом из этой документации вы не можете выудить ничего полезного — так это никого не волнует, и в первую очередь ваше же начальство: «Тебе же дали документацию — читай внимательнее!» (Если вы никогда не сталкивались с подобными людьми на руководящих постах, считайте, что вам крупно повезло.)
Но я и не спорю, что многие программисты действительно не любят писать документацию по своим творениям, а если и начинают что-то делать, то либо работают очень формально, либо выдают плохо систематизированный поток сознания. Поэтому составление документации поручают другим людям, которые могут плохо понимать тему и с позиции разработчика, и с позиции пользователя: они и не знают, что нужно пользователю, и знания черпают только по «испорченному телефону» от своих коллег. Но это проблема общая для индустрии — возьмите для примера почти любую инструкцию по эксплуатации для современного сложного прибора, выпущенного за рубежом: там будет куча тезисов Капитана Очевидность про то, что не надо пропускать кота через шредер, и что устройство включается кнопкой «ВКЛ», но целые разделы меню настроек окажутся вообще не освещёнными или документированными по принципу «Кнопка „Пырять“ активирует пыряние хливких шорьков по наве при условии хрюкотания зелюков». Что, разве не так?anger32
04.03.2016 16:49Нет, вы не поняли: приличные люди не копаются в ассемблере
Ну почему же? Да, они не копаются в нем напрямую, однако проблемы исполнителей в конечном итоге рикошетят наверх, если дело дойдет до срыва заказа. Однако, это далеко от обсуждаемого вопроса.
Ну а то, что потом из этой документации вы не можете выудить ничего полезного — так это никого не волнует, и в первую очередь ваше же начальство: «Тебе же дали документацию — читай внимательнее!»
Вы погружаетесь в частности и субъективность, чего сами же просили не допускать. Напомню основной тезис: документация на выходе не лучшего качества.Agat-Aquarius
04.03.2016 17:17Документация на выходе не лучшего качества. Проблемы исполнителей в конечном итоге рикошетят наверх, если дело дойдет до срыва заказа. Однако, это далеко от обсуждаемого вопроса.
В том-то и дело, что это напрямую касается обсуждаемого вопроса! МЦСТшники сами жалуются, что им не хватает обратной связи от пользователей: даже если какие-то проблемы эскалируются локально, до МЦСТ эта ценная информация не доходит. Допускаю мысль, что в этом по-своему виноваты обе стороны, в том числе сам производитель, что [пока] не обеспечивает открытого канала для поступления жалоб — чтобы любой неравнодушный мог анонимно написать в багзиллу, не спрашивая разрешения у своего начальства и не опасаясь, что ему за это «ничего не будет — ни шинели, ни сапог, ни портянок».
d_olex
03.03.2016 22:26+10Выложите в открытый доступ спеки на архитектуру и систему команд этой упячки, а то ерунда какая-то получается: создали технологию, обнесли забором и посадили вахтера.
wOvAN
03.03.2016 22:41+1Я не понимаю зачем 40 лет пилить непонятную и невостребованную архитектуру, мечтая побороть x86.
Не проще лицензировать и начать разработку архитектуры ARM, и за пару лет стать востребованным производителем и в стране и возможно заграницей.
ARM — вытеснил Intel из мобильного сегмента.
ARM — покрывает широкий спектр умной бытовой техники.
ARM — уже устремляется в сегмент ноутбуков.
ARM — уже устремляется в сегмент серверов.
ARM — уже имеет поддержку в Linux, Android etc.sergarcada
03.03.2016 23:57+4Так в стране можно все закрыть: автозаводы, авиазаводы, да и вообще все. Всё же есть и всё придумано до нас. Может и нет смысла, но это решать в конечном счете потребителям. Но мне нравится, что кроме танков и ракет разрабатываются и производятся российские самолеты SSJ-100 и МС-21, телефон yotaphone, светодиодные светильники оптоган, а теперь и процессоры. Пусть даже что-то и канет в Лету, как ё-мобиль, но что-то может и выстрелить.
ARM тоже не за год и не за пять таких высот достиг и вряд ли мечтал "побороть x86"Alexsandr_SE
04.03.2016 12:47Вход в ARM ниже чем в х86, лицензия никак не отменяет разработку своих ядер, но будет неплохая программная поддержка.
Grox
04.03.2016 00:49+7Чем больше ARM приближается к сферам, где рулит x86, тем больше ARM получает тех же проблем. Я о перегреве. А Intel продолжает увеличивать энергоэффективность и снижать техпроцесс. Уже сейчас Intel начинает отъедать свою долю на мобильном рынке. ARM, куда бы он не стремился, ещё сильно далеко до средин сферы х86, не говоря уже про топ.
Далеко инфраструктурой в целом. Годы. За которые х86 тоже не будет сидеть на месте.
PerlPower
04.03.2016 01:33+1Так на этот случай есть более дешевый Байкал, который можно будет тулить во всякую мелочь, и который имеет архитектуру MIPS32, которая поддерживается линуксом.
denisbasmanov
04.03.2016 17:13Первое место где задают вопрос который и меня беспокоит.
70.000р за крутой моноблок Таволгу, с процом 28нм имеющим TDP 5Вт, на Debian 8, которая умеет всё простое офисное — зачем сюда Эльбрус? Крупными партиями дешевле, господдержка осилит, и бюджеты получаются относительно смешные. ОБС что открытость и безопасность получаются равные.
С другой стороны бежать вдогонку за планетой нужно очень быстро, так что пусть бы благословенные бюджеты полились равно на МЦСТ и Байкал Электроникс, аминь. Не то чтобы я верил в Б-га, но веры в озабоченность правительства переходом на отечественные IT у меня ещё меньше.
pit_art
04.03.2016 10:17Действительно, давайте закроем все нафик и будем покупать за рубежом.
А потом задаваться вопросом — почему это Россия не может ничего сама?
PupkinVasia
04.03.2016 10:17+1Потому что в политике слова важнее технических характеристик. А все мы знаем почему и зачем это устройство сделано.
Сомневаюсь что здесь применимы реально конструктивные аргументы.pit_art
04.03.2016 11:35Не будет в этом железе никаких выдающихся характеристик ещё очень долго.
Intel и AMD занимаются процессорами уже очень и очень долго, держат огромный штат специалистов и тратят на разработку огромные бюджеты. И то AMD благополучно сливает последнее время.
Для того чтобы выпустить что-то способное конкурировать на этом рынке — нужно очень много времени и ресурсов. Тем не менее отказываться от разработки только потому что "intel лучше" — как мининмум глупо. Политика тут конечно при чем, но всё таки спрошу — вы в жизни предпочитаете всегда опускать руки только потому что сосед делает это лучше вас? Передёргиваю конечно, но думаю посыл ясен.PupkinVasia
04.03.2016 12:23Давайте не будем начинать срач. Все мы знаем, что разработка сабжа началась только ради того чтобы доказать что "Россия — родина слонов" и прочие "можем". Никто и не планировал конкурировать с Intel и AMD, не говоря уже о реальном техническом и, тем более, технологическом прогрессе.
YuriPanchul
10.03.2016 23:19+2Это все очень мило, но у меня к вам интересный вопрос. ARM (как и MIPS, ARC, Tensilica и т.д.) можно лицензировать разными способами:
- Покупка архитектурной лицензии — позволяет создать свой микропроцессор с совместимой архитектурой (системой команд) с суверенной микроархитектурой (своим устройством конвейера, арифметических блоков, кэшей и т.д.). Архитектурную лицензию на ARM купил например Apple для своих процессоров A7 и т.д.
- Покупка лицензии на ядра с читаемым кодом на языке описания аппаратуры Verilog — этот код можно превратить в микросхему после синтеза на уровне регистровых передач, размещения, трассировки и т.д.
- Покупка лицензии на ядра с obfuscated кодом на языке описания аппаратуры Verilog — код можно синтезировать, но нельзя понять как что работает. Все еще позволяет синтезировать на разный нанометр, играться с энергопотреблением и т.д.
- Покупка лицензии на hardened cores — блок под конкретный нанометр, уже после синтеза и т.д.
- Покупка GDSII файла (который идет на фабрику) или вообще готовых микросхем произведенных на фабрике.
А теперь два вопроса:
- Что из 1-5 вы предлагаете покупать российским компаниям?
- Что из 1-5 по вашему мнению ARM готов продать российским компаниям?
- Покупка архитектурной лицензии — позволяет создать свой микропроцессор с совместимой архитектурой (системой команд) с суверенной микроархитектурой (своим устройством конвейера, арифметических блоков, кэшей и т.д.). Архитектурную лицензию на ARM купил например Apple для своих процессоров A7 и т.д.
pohab
03.03.2016 23:46+1В статьте есть неточность по поводу LLVM. Бэкэнд в некотором виде существует, но реализация далеко не полная и в публичный доступ пока не выкладывался.
Agat-Aquarius
04.03.2016 15:42Полагаю, это очевидно из текста статьи: если «изыскания проводились» — значит, наверное, не чисто умозрительно пришли к выводу, что до поры до времени данный проект заморозят, а на основании опытов с неким прототипом, который выкладывать на общее обозрение нет смысла. Точно так же, как и с другими исследованиями: попробуют что-то — если получилось хорошо, то интегрируют, если плохо, то прототип так и остаётся чисто внутренним продуктом.
lasalas
04.03.2016 08:51Я так понимаю, что забубенные цены обосновываются требованиями секрестности и безопасности — гарантией отсутствия "закладок" в процессоре. А "закладок", скажем, в SSD, DDR и т.д. они не опасаются?
sprutspb
04.03.2016 11:47+2Высокие ценники обусловлены в первую очередь, малой партией изделий. А отсутствие «закладок», это маркетинговая фишка которая помогает протолкнуть «импортозамещение». Те же китайцы выпустили свой процессор и оборудовали им все образовательные учреждения. Надеюсь нашим хватит мозга не вводить «обязалово», а подойти к вопросу более тонко.
fido_max
04.03.2016 10:17+6Вот что за привычка у наших отечественных компаний такая?
Документация? По запросу.
Исходный код? Вы что! Это страшная тайна! Ни в коем случае! Даже с NDA!
Протокол обмена? Используйте ModBus. Но там же не весь функционал реализован, а половина функций реализована через пользовательские нестандартные команды! Полный функционал обеспечивается только по нашему собственному протоколу, через наше супер секретное программное обеспечение, правда оно работет только в Windows XP… SP2…
Обновления? А вы с какой целью интересуетесь? У вас что-то не работает? Странно. У нас все работет. Хотя попробуйте вот это… (по почте прислали какой-то файлик, который непонятно где брать в будущем)
Прайс лист? Нет у нас прайс листа. Вы нам скажите, кто вы такой, а мы вам цену посчитаем. персональную.
От кого мы прячемся? В чем проблема выложить исходники на свои железки? Их начнут воровать? Да ради бога. Без железки эти исходники не имеют никакого смысла.Agat-Aquarius
04.03.2016 15:50-1Справедливости ради, вы с иностранными производителями когда-нибудь работали вообще? Документацию вот прям все-все выкладывают? Исходные коды публикуют или хотя бы делятся при подписании NDA? Обновления выпускают для всех продуктов регулярно и до бесконечности? Может, в вашей вселенной ещё и ценники прямо на сайтах висят? Пожалуйста, возьмите меня к себе жить!
В чем проблема выложить исходники на свои железки?
Вы это компании nVidia скажите, к примеру, если уж совсем в тему.fido_max
04.03.2016 16:26+2У FreeScale все есть на сайте, и документация, и примеры, и инструменты, и исходники и даже цены. Понятно, что это цены на их внутреннем рынке, на партии процессоров, но хотябы становится понятен порядок цены. Advantech — все есть на сайте, и цены тоже. Просто мне как разработчику кроме документации необходимо знать еще и примерную цену получаемого продукта, а цена зависит от используемых комплектующих. А что я вижу на сайте МЦСТ?
Есть раздел продукция, в нем картинки с небольшими табличками. И все. В разделе программное обеспечение не нашел ни одной кнопки "скачать".
Как мне быть? Даже если я очень захочу использовать вашу продукцию в своих разработках, где мне найти необходимую документацию, примеры, инструменты, бибиотеки? Ну не серьезно как-то. Давайте как-то делиться информацией. Вместе мы сможем гораздо быстрее разработать конкурентноспособный продукт.JerleShannara
05.03.2016 20:32+1Вот почему это с фрискейлом мне морока с NDA вспомнилась, причем именно с документацией на процессор?
mephizik
07.03.2016 20:10Помнится мне, делали один проект и необходимо было кое-что прояснить у MOXA. Подписали NDA, пару недель общались с товарищами из поддержки. В итоге получили схемы из разряда «КО» по аппаратной части и очень невразумительные ответы по программной (сами к тому моменту больше раскопали).
MaM
04.03.2016 10:17+2особенно когда ясны преимущества выбора в пользу дорогого эксклюзива
А вот мне вообще не ясны, поясните?
anger32
04.03.2016 10:45+1Каковы перспективы у «Эльбруса» в качестве игровой платформы, учитывая, что в современных играх почти вся нагрузка ложится на видеокарту, и мощный процессор зачастую не нужен?
Постановка вопроса некорректна. На центральный вычислитель ложится колосальная работа по подготовке данных, посылке команд в очередь GPU (у 3D команд размер может быть вполне ощутимым) и предварительным расчетам. В этом смысле критичным является стык пропускных способностей КЭШа/памяти/процессора при доступе к памяти (в частности в контексте КПИ). Из всего многообразия исполнительных устройств центральных процессоров Эльбрусов, лишь ограниченное число способно адресоваться к памяти. Иными словами, при решении задач взаимодействия с периферией роль центрального процессора остается одной из решающих.
Отсюда решение увеличить перечень исполнительных устройств, выполняющих роль FPU, конечно же прекрасен, но вопрос о "сферичности в вакууме" подобных вычислений при ограничении потенциала подкачки данных остается открытым.
ivanovlev
04.03.2016 10:51-1О каких еще "широких" массах обычных пользователей вообще можно говорить при полном отсутствии 3D ускорения? Это даже не смешно
mwaso
04.03.2016 12:22+2Выше в комментах приводили примеры. Служебные ПК в любых гос.учреждениях, где не предполагаются 3D поигрульки. О домашних ПК речь не идет.
JerleShannara
05.03.2016 20:34+1Кхем, ээээ, а вы статью точно внимательно прочитали? Ну и там это, ролик на ютубе, видели, ну тот, где один чел на компутере похожем на эльбрус производит действия, похожие на игру, в приложение, похожее на doom?
cyberkarma
07.03.2016 20:08+1Не doom, а Doom 3 BFG Edition 2012 года с софтовыми тенями. А это две большие разницы.
lax_laxity
04.03.2016 11:19Как по мне это все выглядит жалковато "ну мы пытаемся, работа кипит, ну вы понимаете, мы так старались, ну купите"
potan
07.03.2016 00:29Планируется поддержка каких-либо дополнительных языков программирования, например Haskell или Rust?
Когда-то утверждалось, что в процессорах "Эльбрус" есть специальные средства защиты указателей. Пытаетесь ли вы их использовать для поддержеки динамических языков, как Lisp, Ruby, для оптимизации динамической типизации и сборки мусора?Agat-Aquarius
07.03.2016 20:34Попробую предположить:
- Поддержка интерпретируемых языков (тех, для кого это единственный или один из возможных режимов) возможна «из коробки» — если оно, конечно, соберётся, но это на любой платформе так. При этом технология защищённого исполнения программ будет применяться к интерпретатору данного языка, поскольку ваша интерпретируемая программа обращается к памяти не сама по себе, а через интерпретатор.
- Поддержка компилируемых [в нативный код] языков возможна, только если компилятор умеет транслировать исходную программу в код на C/C++ или Fortran. Ведь, чтобы генерировать машинный код, по сути необходимо выполнить портирование компилятора на новую архитектуру — а это процесс сложный в общем случае. Более того, если схема кодирования машинных команд будет оставаться закрытой, то получить машинный код можно будет только через компилятор ассембера.
- Поддержка интерпретируемых языков, использующих компиляцию в машинный код для ускорения работы, возможна либо за счёт отключения этой самой компиляции, либо путём портирования, — на примере с Java и JavaScript мы увидели, что первый релиз был сделан по пути наименьшего сопротивления, но теперь МЦСТ работает над повышением производительности.
Насчёт автоматической сборки мусора — тут мне сложно даже предположения строить; постараюсь провентилировать этот вопрос, если/когда дело дойдёт до написания отдельной статьи о технологии защищённого исполнения (по идее, у меня она первая на очереди).
kxlab
09.03.2016 12:00У меня вопрос к автору статьи. Скажите у вас есть информация о то как планируется предоставлять ядро и загрузчик?
Хотелось бы увидеть открытый репозиторий на собственном сайте или на каком-либо открытом ресурсе типа GitHub. Ведь это даст большой стимул в развитии рынка сбыта железа. Вот я, например (https://radix.pro), пытаюсь получить исходники ядра и загрузчик от Baikal Electronics, но процесс этот настолько не быстрый, что кажется только на следующий год удастся получить необходимые материалы. Конечно, если у них купить отладочную плату, то они все дадут, но тратить 170 000 руб на железку где еще нет графического ускорителя, для меня лично и весьма накладно и неразумно.
Wicron
09.03.2016 12:56+2По ходу они пишут сюда в полудуплексном режиме. Видимо наши комментарии им не видны. Уважаемая компания МЦСТ, здесь находятся разработчики и потребители в одном лице. Их мнение часто берут в основу состава изделия, особенно когда есть нормальный коммерческий суппорт. Эти статьи напоминают мне первые уроки информатики в далеком начале 90х годов, когда вместо компьютера мы писали код на листочке бумаги. Так и тут вместо того, чтобы дать юзеру компьютер, вы описываете его свойства на бумаге. В идеале, вы должны раздать разработчикам ваши компьютеры хотя бы в виде отладочных плат практически бесплатно вместе с ядром, загрузчиком, мануалом, а лучше даже SDK ну хотя бы на том уровне, что есть у китайцев, так вы получите первую кагорту людей, которые не только проверят то, что вы тут написали, но и станут вашим фундаментом в виде консалтинга и интеграции в изделия заказчиков, а еще вы получите тест и фокус группу. Вы хотите задвинуть ваше изделие на потребительский рынок, тогда читайте и делайте то, что тут написано особенно в отношении примеров таких компаний как freescale. Ваша цена в почти 200 000 рублей четко ставит барьер и как бы свое отношение к нам. Ваше решение не стоит 200 000 рублей, скорее всего вы обманываете нас или сами себя, вам стоит провести ревизию процесса вашей деятельности и не размывать стоимость 1000 чипов — такого малого количества на партию, так себестоимость не считают. У вас не хватило денег на большую и соответственно более дешевую партию — вот в чем ошибка (наверное), и не нужно перекладывать свои ошибки на плечи потребителя. Стоит вспомнить, что когда-то проект Raspberry Pi смог заказать на заводе Sony первую партию в 10 000 изделий, которую тут же раскупили и да тогда они признавали, что деньги были только на такое количество, зато потом процесс стал масштабнее и дешевле, но успех был очевиден заранее — по ценнику, возможностям, и тому как это преподносилось. По сути вы сейчас пытаетесь свое положение выправить за счет продажи ограниченной партии компьютеров, которые удалось заставить работать на той ограниченной партии комплектующих, что были куплены или/и изготовлены на Тайване. Это не бизнес, а решение насущных проблем и скорее всего вам хабр тут не поможет. Мое мнение, что если компания действительно находится в 2016 году в таком положении, то про амбиции стоит забыть, решить текущие проблемы и открыть новое направление, а старое сводить по той же модели. Рынок трогался порциями последние 30 лет, каждые 5-6 лет по новому сегменту. Куда собрались вы?
Тема сложная, но не нужно тут истерить про закрыть всё. МЦСТ можно сравнивать с АвтоВАЗ в каком-то смысле — и там и тут нет глобального мышление и анализа рынка. У компаний нет визионера и идеолога, нет стратегии развития с выходом на мировой рынок. Есть бесконечные отмазы, боязнь, что слишком мало денег и ограниченный коллектив. Если бы было видение и понимание, то можно было бы выделить очень маленькую но потребную нишу и зайти туда. Вам стоит найти ее. Есть например достаточно противоречивая ниша очень мощных процессоров для IoT с прокаченным дистрибутивом и ядром в плане инфобеза, на кристале нужно средство беспроводной связи, можно и на подложке. Можно попробовать сделать промышленный модуль по стандарту и выложить для него документацию по ядру, загрузчику и общий мануал с схемотехникой. Можно пойти по пути IBM образца начала 80х и выложить в открытый доступ все и завернуть это в стандарт в ту отрасль, где его нет. Тогда вы сможете продать больше чипов, заработать на поддержке. В основе всего этого является стремление дать что-то обычным людям, а их много и становится еще больше, а денег в стране меньше. И процесс уже необратим.Agat-Aquarius
11.03.2016 20:21+2В вашем комментарии читается некое противоречие: «У вас не хватило денег на большую и соответственно более дешевую партию? — Попробуйте выпустить ещё over 9000 других нишевых устройств, наготовьте кучу документации и SDK, раздайте всё это бесплатно куче людей и сидите ждите — авось какой-нибудь проект да выстрелит!» Чем-то напоминает совет в стиле «Если нет хлеба, пусть едят пироги». То есть мысль понятна, но не ясно одно: где денег-то изначально взять на эти недешёвые эксперименты?
qw1
12.03.2016 12:55Противоречие из серии "я не такой богатый, чтобы покупать дешёвые вещи".
Если цель выпустить устройство за минимальную цену, исполняется такой сценарий:
Бюджет — 1 млн (все цены в примерах условные).
500 тыс — R&D, выпускаем 5 устройств ручной сборки по 100 тыс.
Если цель — завоевать нишу, нужно действовать в других масштабах.
Бюджет — 10 млн.
500 тыс — R&D, 4.5 млн. — реклама, PR, документация
5 млн — 250 устройств по 20 тыс.
Покупатель получет не только сниженную цену, но и понимание, что он не один с новым устройством, что его партия не единственная, а будет ещё много. А также сообщество, блоги/форумы/соцсети.
Риски конечно выше. Как я понял предыдущий комментарий, видение рынка — это понимание, что с 1 млн. денег бессмысленно даже начинать.
mephizik
10.03.2016 14:11+2По поводу отечественности «Байкала». Есть основания полагать, что процессор разрабатывается широкой международной командой, и российским компаниям принадлежат отнюдь не все права на интеллектуальную собственность, а также, возможно, контроль над поставкой готовой продукции. Косвенно об этом свидетельствует текст соглашения о неразглашении, которое необходимо подписать, например, при покупке отладочной платы:
6. Экспортный контроль и ограничения
6.1. Стороны признают и соглашаются, что конфиденциальная информация может подпадать под действие законодательства США и других стран по экспортному контролю. Раскрывающая сторона до любого раскрытия соответствующей конфиденциальной информации, подлежащей экспортному контролю в соответствии с Правилами Экспортного Контроля Бюро промышленности и безопасности Министерства торговли США, действующими в настоящий момент и впоследствии, предоставляет Получающей стороне подробное описание такой технологии, технических данных, программного обеспечения, в том числе соответствующий номер ECCN, статус ENC, если это применимо. Сторона настоящего Соглашения соглашается следовать всем экспортным законам и правилам и подтверждает, что она не будет экспортировать или реэкспортировать конфиденциальную информацию другой Стороны, прямо или косвенно,
- в любые страны, на которые распространяются экспортные ограничения США (включая в настоящее время, но не обязательно ограничиваясь, Кубу, Иран, Ливию, Северную Корею, Судан и Сирию);
- любому конечному пользователю, в отношении которого известно или имеются основания полагать, что он будет использовать конфиденциальную информацию в разработке, проектировании, изготовлении, строительстве, эксплуатации, техническом обслуживании, тестировании или складировании, связанными с какой-либо ядерной деятельностью, ракетами (в том числе ракетными системами и беспилотными летательными аппаратами), химическим и биологическим оружием, или проектами морских ядерных энергетических установок (в том числе связанных с ними объектов, опытных образцов и оборудованием); в области разработки, производства или использования изделий военного назначения или для любого военного использования / использования в военных целях;
- любому конечному пользователю, которому запрещено участвовать в экспортных операциях США любым федеральным агентством / ведомством правительства США.
Если только это не касается исключительно отладочной платы, подобный подход ставит жирный крест на использовании процессоров «Байкал» в околовоенных и околоядерных проектах, — то есть как раз там, где и востребована экономическая и информационная безопасность и независимость.
Rumlin
Просто представляю как крупный заказчик покупает 200 машин и… не знаю что с ними делает.
Обычное "широкое применение" подразумевает офисное применение, введение в уже существующую инфраструктуру компании, Active Directory, иначе я не представляю какие мучения будут испытывать IT отдел…
Если не принудят, то необходима очень серьезная причина, некое преимущество чтобы добровольно покупать.
ZyUbRa
Не AD единым как говориться) Давайте порассуждаем на правах фантазии)
У нас сейчас на обслуживании организация, в которой практически вся инфраструктура на linux с LTSP, организация не большая, 30 пользователей, но вполне себе коммерческая. Сейчас в процессе замены оборудования, новые сервера, новые клиенты и т.д. По большому счету, мне не принципиально на чем будет крутиться KVM, сейчас это Интел, но с таким же успехом может быть и Эльбрус, так же как и клиентские места, сейчас покупаем nuc + монитор, а могли бы вполне использовать Таволги из недавней публикации. Принципиальных ограничений для этого нет.
Остается только вопрос цены, если бы сервер с парой Эльбрусов 4С или одним 8С, 32 гигами памяти и парой SSD помещался бы в 150 т.р. то вай нот? Так же как и терминалы Таволга, при цене 25-30 т.р. становятся очень интересными (в эту сумму сейчас обходится приличный ТК и монитор FHD).
А если в качестве поддержки отечественных производителей, государство под приобретение таких решений обеспечит например вычет НДС в двойном размере, то интерес к ним станет еще шире.
Т.е. вот конкретный пример возможного применения отечественных решений в самой простой коммерческой, торговой компании.
Второй пример, эльбрусы хорошо считают математику? Значит кластеры для университетов можно делать на их базе. Я не говорю сейчас о суперах, пусть это будут небольшие и не сильно дорогие решения на 50-100 ядер, такие что бы можно было на факультет пачку поставить и разные группы студентов/аспирантов могли одновременно решать кучу небольших задач и параллельно учиться работать с этими системами.
Что нужно что бы получились приемлемые цены? Нужны объемы, измеряемые десятками тысяч. Для этого нужны инвестиции, в принципе не такие и страшные, 100к. комплектов мать+процессор по цене $1к, это один инстаграмм) У нас в стране есть достаточное количество людей и компаний которые подобные инвестиции потянут. Но инвестициям нужна возвратность, а значит нужен обеспеченный спрос. Влупить миллиард, притащить 100 тысяч материнских плат и ждать когда они продадутся никто не будет. Чем можно обеспечить такой спрос? Например внедрением в гос. организациях, которые по свой специфике либо изначально не привязаны к винде, либо относительно легко с нее перейдут. Посмотрите на ту же почту, 42 тысячи отделений! Или здравоохранение, там тоже десятки тысяч учреждений. С образованием сложнее, там от винды и x86 не уйти, но в высшем образовании тоже есть варианты. Это один из самых разумных вариантов гос. поддержки, гораздо эффективнее чем просто дат денег.
Так что рынок есть, главное его правильно раскрыть (с этим у нас чаще всего проблемы:))
Что нужно помимо инвестиций? Нужны партнерские программы, мало произвести 100 к. процессоров, надо что бы их кто-то в сервера/ПК превратил. Тут тоже есть варианты, по решениям для образования те же Т-платформы, опыт в кластерах у них более чем достаточный. По гражданскому сектору, например Етерго, тоже прекрасный пример отечественного производителя серверов и сетевого оборудования, причем не тупые сборщики супермикры, а реально свои платформы разрабатывают и производят.
И когда эта схема отработает на первых крупных заказах, она вполне выйдет на самообеспечение, за счет налаженных производства и логистики, за счет организованного сервиса и поддержки и т.д. И коммерсы тоже подтянутся.
Так что каких то сверх сложных материй не требуется, нужна определенная совокупность факторов, и если производитель сможет их обеспечить, то будет вполне себе «широкое потребление»
Alexsandr_SE
Заманчиво, но ведь по сути нуэно будет переписывать все ПО для организаций, решить тяжелый вопрос совместимости документов (если нужно). Получается, м ожно, но будет требовать весьма не малых вложений. А еще вопросы ремонта всплывут. В обычном магазине то не купить запчастей.
Agat-Aquarius
Во-первых, опять же, можно запускать Windows с его Microsoft Office в придачу. Во-вторых, если я правильно понял, LibreOffice на Эльбрусе уже либо есть прямо сейчас, либо всё равно так или иначе будет рано или поздно. В-третьих, если вы до сих пор сидите «на игле» Microsoft Word, вместо того чтобы оформлять документы по ГОСТ Р ИСО/МЭК 26300, — то это уже к вам вопрос, зачем поощряете закрытые форматы, особенно если вы государственная / бюджетная организация.
Так для этого МЦСТ и прощупывает почву с сервисными компаниями, потому что самостоятельно поддерживать хоть сколь-нибудь серьёзное количество компьютеров по всей стране совершенно точно не реально. Или вы правда думаете, что они этого не понимают?
Alexsandr_SE
Заказные продукты могут быть весьма специфические, код там не поможет зачастую. внутренний документооборот хоть в txt, не проблема. А внешние документы?
Пока почву прощупывают, срок ремонта будет исчисляться сроком доставки деталей. Это и недели могут быть.
Merzavets
В-третьих, если вы до сих пор сидите «на игле» Microsoft Word, вместо того чтобы оформлять документы по ГОСТ Р ИСО/МЭК 26300, — то это уже к вам вопрос, зачем поощряете закрытые форматы
Форматы файлов MS Office — давным давно открыты, а уж docx, xlsx и иже с ними — были открыты изначально, с версии MS Office 2007, и абсолютно совместимы с вышеупомянутым ГОСТом/ISO. Поэтому словесный оборот «вместо того» здесь просто неприменим :-)
Если честно, аргументация подобного типа (фраза «на игле», полурелигиозно-подспудное стереотипичнео порицание использования продуктов конкретного производителя) воспринимается как… эммм… отговорка :-)
Agat-Aquarius
Но проблема с технической точки зрения не в этом, а в том, что продукты Microsoft по факту не соответствуют тому стандарту, который сама же компания когда-то пропихнула. Поэтому нормальный импорт-экспорт из других офисных пакетов чаще всего невозможен, так как разъезжаются таблицы и прочие элементы вёрстки, нарушается автоматическая нумерация (особенно многоуровневая); даже простой текст может поплыть, приобретя странные межстрочные интервалы. Да что там — проблемы есть даже при взаимодействии ближайших версий Word: мне просто фантазии не хватает понять, как они добились такого уровня «совместимости», что при обмене документами между 2007 и 2010 могут пропадать пробелы между некоторыми словами на разных языках, причём очень рандомно и по-разному в разных направлениях, то есть из 2007 в 2010 и из 2010 в 2007.
Проблема же с организационной точки зрения — в том, что фактически почти никто не принимает документов в форматах, отличных от MS Office classic / XML. Попробуйте какому-нибудь заказчику прислать отчётную документацию в ODF, к примеру, — вам просто скажут: «У нас это не открывается. Переделайте в нормальном виде». Даже если вы издадите всё в PDF/A (по идее, самое то для законченных документов долгосрочного пользования), с вас всё равно затребуют «нормальный формат». Про всякие там TeX вообще молчу.
Ничего не имею против Windows и MS Office как таковых, активно ими пользуюсь и считаю, что они и поныне остаются лучшими и наиболее дружественными к пользователю продуктами, несмотря на старательные попытки разработчиков угробить юзабилити, начиная с Office 2007 и Windows 8. Однако мне очень не нравится, что меня по сути вынуждают ими пользоваться, даже если мне было бы вполне достаточно LibreOffice под Linux. Ведь только по вышеобозначенной причине я и многие коллеги вынуждены держать на компьютере Windows + Office — иначе генерировать годный контент попросту невозможно в сложившейся обстановке.
Rumlin
Всё так, но насколько широкое это применение? Я знаю еще один пример большого количества машин на Linux в одном небольшом call-центре платформы интернет магазинов. После полугода мучений они нашли способ заменить AD. Из глюков — у них периодически отпадают USB-гарнитуры.
Я бы еще предложил применение — школьные компьютерные классы.
ZyUbRa
«Широта» применения это понятие относительное, нет задачи обогнать Интел, есть задача занять свою стабильную нишу. Если МЦСТ для комфортного существования и стабильного развития будет достаточно продавать 100к. процессоров в год, то значит это достаточно «широкое» применение, если нужно больше, значит нужно думать как продать больше.
На тему AD, не знаю что там пол года искали… AD это просто одна из реализаций LDAP, хорошая и годная реализация, но в реальности 90% функционала AD не используются никем, а остальные 10% заменяются элементарно.
А вот с компьютерными классами вопрос не однозначный. Мое мнение (а я все таки больше 10 лет так или иначе с образованием работаю, да и вообще из педагогической династии), этого делать не стоит. Поясню почему.
Во первых уже пытались, и все попытки радостно провалились, потому что школ ну просто ооочень много (около 50 к.), и найти на каждую более менее годного спеца, который это сможет настроить и потом еще учить детей на этом работать, задача сравнимая с колонизацией Плутона. Пытались создать структуру в которой будет один грамотный спец на несколько школ (в рамках одного муниципального образования), даже на это не нашли нужного количества людей. Сейчас есть примеры удачный реализаций, но все они на личном энтузиазме, вот это надо поощрять (ну или по крайней мере не мешать).
Во вторых, образование все таки должно готовить людей которые потом смогут эффективно взаимодействовать в обществе, в т.ч. в рамках трудовой деятельности. Можно посмотреть на рыночную долю Linux в сегменте персональных компьютеров, что бы понять что учить работать на примере этой ОС, достаточно странно. Что безусловно не отменяет изучения Linux в рамках расширения кругозора и общего представления об ИТ.
Поэтому мое мнение, поощрять такие проекты надо, но делать их обязаловкой даже не глупо, а просто бесполезно (не взлетит).
Rumlin
Имелось ввиду использование Linux как гостевой ОС для запуска Windows на VM. Очень удобно — препод в один клик запускает необходимую ОС на всех машинах. Сегодня Windows с Office, завтра DOS c Pascal. Дети поотрывались на системе, урок закончился, образ уничтожился, на его место скопировал новый чистый образ системы. Никакого обслуживания, вирусов.
Но нужны машины на которых виртуальная машина нормально побежит.
Hellsy22
Для таких целей обычно используется загрузка по сети.
Rumlin
Это уже другой уровень инфраструктуры. Это с точки зрения обслуживания сисадмином — он уже есть, есть должность и обязанности. А так каждый ПК относительно независим — можно привезти в школу один и сразу использовать, можно привезти 10 на целый класс. Для учителя использование никак не отличается.
ZyUbRa
Это все равно достаточно сложно для большинства школ)
Rumlin
Информатикой обычно занимаются математики, их обычно глупыми нельзя назвать. Разобрались бы. В любом случае им бы дали методички.
Agat-Aquarius
ZyUbRa
«доля *nix низкая, потому что людей со школьной скамьи приучают к Windows»
Не только. Доля *nix низкая, потому что там зоопарк, что в самих ОС, что в прикладных программах. Вы можете внедрить что-то в учебный процесс, а через пол года это что-то перестанут писать, потому что комьюнити переключилось на другой более интересный с их точки зрения проект.
«Так что сейчас мешает-то влить новую кровь?»
Вышесказанное. В экосистеме Linux нет места специалистам «ниже среднего». Что бы понимать как это все работает, какое направление выбрать в текущий момент, на что переключиться когда это направление умрет и т.д. требуется достаточно высокий проф. уровень.
«Было бы желание — и сверху, и снизу.»
Я же говорю, «сверху» было пару попыток, провалились с треском, даже при условии некоторой обязаловки (типа рекомендаций «сверху»). Можно конечно поступить жестче, и ввести обязаловку тотальную, но думаю вы понимаете насколько это будет глупо и бесполезно.
VerdOrr
А разве это имеет значение? На мой взгляд, задача учебного процесса — сформировать некие навыки и
алгоритмымодели поведения для достижения поставленных целей/задач, что в случае ИТ, априори, подразумевает гибкость в выборе инструментов, выход наболее высокийдругой уровень абстракций. И для этого, как мне кажется, совершенно нет необходимости "бежать со всех ног чтобы оставаться на месте" — детей не учат читать по последним диссертациям — для осознания того, что буквы это не "просто картинки", а еще "они могут складываться в слова" вполне хватает букваря.ZyUbRa
«задача учебного процесса — сформировать некие навыки и алгоритмы модели поведения для достижения поставленных целей/задач»
Красиво звучит) Подобное любят писать в аннотациях к образовательным стандартам и программам) К реальности имеет слабое отношение.
Система образования так же как и все остальные работает в сложившемся рынке труда, реальность этого рынка такова, что Linux специалисты среднего и низкого уровня не нужны практически от слова совсем, в этом сегменте господствует Windows просто потому что никто не предложил для этого рынка ничего лучше. Например в серверном сегменте Linux теснит не только Windows, но и энтерпрайз Unix системы, а в настольном сегменте этого не происходит. Грубо говоря никто так и не сделал Android для ПК.
Так вот вернемся к рынку труда, суть в том, что не имея широкого распространения какой либо системы, вы не имеете достаточного количества более-менее грамотных ее пользователей, которые смогли бы работать в образовании и учить других. С Windows такой проблемы нет.
Если же вы захотите внедрить подобную систему методом обучения всех имеющихся работников (что уже неоднократно проваливалось), то помимо кучи организационных трудностей (в связи с масштабом) и финасовых затрат, вы столкнетесь в т.ч. с проблемой софтварного зоопарка внутри этой системы. Т.е. обучив людей работать с чем-то и преподавать это, может оказаться что к концу внедрения это будет уже неактуально, и как говориться на колу мачало, начинай сначала.
Agat-Aquarius
Вещи, о которых вы говорите во всех своих комментариях, — сущности сиюминутные: «рыночная доля», «экосистема», «зоопарк», «перестанут писать», «направление умрёт», «сложившийся рынок труда», «специалисты по %s». Индикаторами тут являются ваши же слова «полгода», «конец внедрения» и даже «10 лет» — это всё момент в истории, хоть и составляет существенную долю человеческой жизни и ещё более существенную долю типичной трудовой карьеры.
Школьное образование закладывает основы. Нас в своё время на уроках по предмету «Основы информатики и вычислительной техники» учили именно основам — что такое циклы и ветвления, функции и переменные, булева алгебра, как нарисовать блок-схему алгоритма. Эти знания не потеряют своей актуальности никогда, даже если компьютеры станут квантовыми, не говоря уже о том, какая операционная система или какой язык программирования будет в тренде в тот или иной момент времени.
Нас в школе не учили пользоваться конкретными программными продуктами. Разумеется, программы писались на реальных языках, и поэтому синтаксис, конечно, изучался — но смысл был не в том, чтобы овладеть каким-то конкретным языком, а в том, чтобы опробовать все те же общие концепции. А вот в институте, напротив, мне не очень повезло, и курсы функционального и логического программирования, например, свелись к тупому изучению Лиспа и Пролога — настолько приземлённому, что даже я так и не понял, в чём фишка этих парадигм и чем они отличаются от традиционного императивного стиля. Про курсы Паскаля, Си и C++, которые в расписании тоже как-то красиво назывались, я уж вообще молчу. Это было именно «ремесленное» изучение, место которому скорее в ПТУ, — как раз то, о чём вы говорите:
сегоднявчера этот Паскаль или FoxPro на коне, а завтра о них уже никто не помнит, и с трудом зазубренные студентом накануне экзамена названия функций нужны чуть менее, чем вообще нигде.Но возвращаясь к операционным системам. Пользованию DOS или NC нас тогда тоже никто не учил, просто показали более-менее, куда тыкать — и этого было достаточно, потому что учить там действительно особо нечему. А вот то, что Linux обошли вниманием не только в школе, но и в институте, — это серьёзное упущение. Ведь смысл изучения *nix (именно Unix-семейства в целом) на академическом уровне — не в том, какой дистрибутив выбрать, какую команду применить для запуска текстового редактора и какой последовательностью клавиш выйти из этого редактора, а в понимании фундаментальных концепций, на которых всё строится. Простор для изучения там необъятный: при желании, можно для любой технической (околокомпьютерной) специальности найти свои темы, в которые следует углубиться дополнительно.
Насколько я понимаю, сейчас в школах учат запускать Windows и набирать тексты в Word. При таком подходе, даже если заменить эти продукты на Linux и OpenOffice соответственно, толку не прибавится ни капельки. Учить в школе и институте надо не тому, что актуально, а тому, что никогда потеряет своей актуальности в принципе.
ZyUbRa
«Вещи, о которых вы говорите во всех своих комментариях, — сущности сиюминутные»
Давайте сначала)
Я описал концепцию, в которой привлечение инвестиций для массового производства систем на Эльбрусе, возможно под объемные государственные заказы, в тех областях, где такое внедрение разумно делать. В качестве примера привел почту, они работают с очень узким набором ПО, который можно относительно легко и быстро портировать на новую платформу, ибо заполнять бланк почтового отправления можно под любой ОС, главное что бы интерфейс не менялся, тогда и переучивать никого не придется.
В одном из ответов, другой участник предложил в качестве еще одного примера внедрения, школьные компьютерные классы. Вот с тем, что бы рассматривать их как один из вариантов я и не согласен. Я не считаю что это удачное поле для таких внедрений. Т.е. я не против линукса, не против его использования в учебном процессе и т.д. Я против того, что бы это делалось массово и централизованно, именно потому что «даже если заменить эти продукты на Linux и OpenOffice соответственно, толку не прибавится ни капельки», а вот проблем появится выше крыши.
Поэтому внедрять linux в образовательные программы и стандарты (но тоже с головой), пожалуйста, проводить учебные семинары для учителей, курсы повышения квалификации и т.д., сколько угодно. Но просто одномоментно всем поставить по эльбрусу с линуксом, вот этого делать не надо.
«Насколько я понимаю, сейчас в школах учат запускать Windows и набирать тексты в Word»
От школы конечно зависит, но вообще так же учат и алгоритмам и основам программирования и системам счисления. Но если учителю в данный момент удобнее это делать в среде windows, то не надо его насильно переводить, качество обучения от этого точно не повысится.
А вот варианты мотивации, в которых учитель сам начнет рассматривать альтернативы, это предмет для обсуждения, с этим пока не очень.
Agat-Aquarius
Страшилки о добровольно-принудительном внедрении уже который год обязательно проскакивают в комментариях к каждой статье про «Эльбрусы» и тому подобную продукцию, — и что-то до сих пор не видать такого внедрения: МЦСТ давно бы лопнула от притока денег, будь оно действительно так. Что же до очередной инициативы, то даже если это окажется не уткой, то лично мне во фразе «Вполне вероятно, что вскоре российским компаниям придётся закупать ПЭВМ отечественного производства в приоритетном порядке» ключевым видится словосочетание «отечественное производство» — под этот термин могут подпадать любые товары, поставляемые на рынок под местным брендом (даже если от бренда там только шильдик, и тот наклеен ещё в Китае). Есть также мнение, что продукт может считаться имеющим отечественное происхождение, если местный «производитель» разработал к нему техническую документацию.
На мой сугубо технический взгляд, таким преимуществом может считаться технология защищённого исполнения программ. Если она действительно позволяет отлавливать ошибки обращения к памяти ещё на этапе разработки (причём максимально прицельно указывая на местоположение бага, а не заставляя гоняться за блохами по всему коду), а также приводит к аварийной остановке уязвимой программы вместо удалённого исполнения кода, то это очень серьёзный плюс практически во всех сферах применения.
Rumlin
Судя по предыдущим статьям быстродействие в Windows не идеальное, а если еще туда поставят Касперского, то комфорта не будет.
Agat-Aquarius
То, что я видел, по ощущениям было похоже на пресловутый Atom (куда я как-то раз временно переставлял свой системный диск), — ну да, по сравнению с i7-2600 всё не вот прям летает как привык, но работать-то можно, особенно если ничего сложнее офиса и пасьянса в круг ваших производственных задач не входит.
Rumlin
Больше всего "грузят" антивирусы. Офис тоже разный бывает, попадались как-то гигантские таблицы Excel — очень тяжело открывались на машинах Pentium 2GHz/512Mb/XP.
Alexsandr_SE
Поверьте. Есть довольно большие файлы офиса, к примеру порядка сотни вкладок в экселе со связями и формулами. Время такого документа весьма заметно. Есть документы с макросами на 4-х листах, но при редактировании тормоза еще те получаются из-за формул. Офис он тоже разный бывает.
Agat-Aquarius
Сам использовал Excel в качестве СУБД (тысячи записей с кучей «подзапросов» в каждой, а иногда ещё и запросы к внешним файлам) лет пять назад, причём на Duron 1600 — да, тормозило порядочно, но работать можно было: затраты оператора на ввод данных всё равно больше, чем машинное время на обновление связей. Наверное, я просто очень терпеливый человек. :-)