Сайт о телевидении

Сайт о телевидении

» » Операционная система Эльбрус и микропроцессоры серии Эльбрус в бортовых системах реального времени Евгений Кравцунов, Константин Трушкин. Краткое описание архитектуры эльбрус

Операционная система Эльбрус и микропроцессоры серии Эльбрус в бортовых системах реального времени Евгений Кравцунов, Константин Трушкин. Краткое описание архитектуры эльбрус

Российская компьютерная индустрия способна поставлять решения, которые вполне могут быть конкурентными в отношении продукции ведущих мировых брендов. Так, в сегменте микропроцессоров - одном из самых технологичных и характеризующихся очень высоким порогом входа - отечественная компания МЦСТ готова в качестве альтернативы чипам от Intel и AMD предложить рынку процессоры российские. Компьютер «Эльбрус» в любой из модификаций, которые представлены в самом широком спектре, — пример функциональной системы на базе таких чипов. При этом рассматриваемого типа девайсы могут работать под управлением ОС «Эльбрус», которая также создана МЦСТ. Какова специфика программных и аппаратных решений, разработанных российским брендом?

История компьютеров «Эльбрус»

Прежде чем изучать специфику ОС «Эльбрус» и соответствующего типа процессоров, изучим ключевые моменты истории отечественного компьютерного бренда. Впервые ЭВМ, положившие начало технологической линейке «Эльбрус», появились в 70-х годах. Их разработкой занимался Институт точной механики и В 80-е и 90-е годы возможности вычислительных комплексов совершенствовались. С советских времен ключевой потребитель систем «Эльбрус» - ВПК. Процессоры соответствовали самым строгим критериям, что вполне объяснимо в силу оборонного их использования. Известно, например, что комплексы «Эльбрус» задействовались в структуре системы ПРО типа А-135.

В 1991 году была завершена работа над комплексом «Эльбрус-3». В связи с экономическими сложностями после «перестройки» осуществить необходимую наладку комплекса не удалось. В 1992 году разработчики компьютеров линейки «Эльбрус» создали компанию МЦСТ и стали работать над реализацией особой микропроцессорной архитектуры. Им удалось успешно решить поставленную задачу. Созданная архитектура позволила объединить в компьютерах энергоэффективность и производительность.

Совместимость с алгоритмами Intel и AMD

Также была решена задача по обеспечению совместимости процессоров «Эльбрус» с алгоритмами чипов архитектуры x86, на базе которой работают решения от Intel и AMD.

Благодаря данной возможности, современные на базе процессоров «Эльбрус» могут функционировать под разными операционными системами, включая некоторые версии ОС Windows.

Вычислительные модули

На базе чипов «Эльбрус» создано несколько вычислительных модулей. Рассмотрим их специфику. Под модулем в компании МЦСТ понимается системная плата, которая оснащена необходимыми интерфейсами. В принципе, это готовый компьютер, который только нужно подключить к источнику питания, а также оснастить требуемого типа дисковыми накопителями. Вычислительная система на кристалле «Эльбрус» выстроена в следующих модулях:

МВКУБ/С;

Модуль «Монокуб»;

Модуль МВ3S/С-К.

В модуле МВКУБ/С — два процессора «Эльбрус», в остальных установлен один чип. В системе типа МВ3S/С-К присутствует дополнительный модуль флеш-памяти, предназначенный для двоичной трансляции.

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

Вычислительные комплексы

Другая категория девайсов, созданных на базе процессоров «Эльбрус», - вычислительные комплексы. К ним относятся готовые компьютеры, которые компания МЦСТ также разработала в широком спектре. Рассмотрим основные решения, созданные российским брендом.

Ноутбук

В линейке вычислительных комплексов присутствует ноутбук, название которого звучит как «Носимый терминал НТ-Эльбрус S».

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

Десктоп

Интересная модель - «Монокуб-PC», который можно классифицировать как десктоп. В нем установлено 4 Гб ОЗУ и жесткий диск объемом в 500 Гб — вполне среднерыночные показатели. Их к тому же всегда можно увеличить. К данному вычислительному комплексу можно подключить любой монитор, поддерживающий интерфейсы VGA или DVI.

Моноблок

Моноблок "КМ4-Эльбрус" представляет собой универсальный компьютер, он в некоторой степени схож по конфигурации с известными решениями от Apple. Устройство интересно тем, что его экран — сенсорный, а также обладающий приличным разрешением — 1600 на 900 пикселей. Моноблок "КМ4-Эльбрус" также можно использовать с другим монитором.

Сервер

Комплекс «Эльбрус-3С» - это мощный сервер. Он оснащен 16 процессорами. В нем установлено 128 ГБ оперативной памяти. В данном комплексе используются диски твердотельного типа, а также контроллер сети оптического типа. Конструкция комплекса «Эльбрус-3С» - модульная. Благодаря этому его можно конфигурировать в соответствии со спецификой требований заказчика.

Процессор «Эльбрус-4С»

Предмет особой гордости российской компьютерной индустрии — новый 4-ядерный микропроцессор «Эльбрус-4С». Рассмотрим его основные особенности. Он относится к категории 64-разрядных. Каждое из его ядер работает на частоте 800 МГц и может взаимодействовать с 3 каналами ОЗУ типа DDR3-1600. Возможно объединение до 4 процессоров в систему с общим комплексом модулей памяти. Произведен процессор в соответствии с технологией 65 нм. Энергопотребление чипа — порядка 45 ватт.

Общая производительность процессора при задействовании всех ядер — порядка 50 гигафлопс при одинарной точности или же 25 гигафлопс — при двойной. Чип «Эльбрус-4С» совместим с двоичной трансляцией кодов ведущих мировых производителей процессоров — Intel и AMD. Что касается сопоставления скорости работы российского процессора и решений от Intel и AMD, то многое зависит от конкретного режима работы чипов. Безусловно, по номинальному показателю частоты процессор «Эльбрус» уступает микросхемам от ведущих мировых производителей. И потому он, как полагают эксперты, может быть не вполне оптимален для запуска популярных компьютерных игр. Но он работает по иным алгоритмам, предполагающим преимущества в его задействовании при выполнении иного типа операций.

Процессор «Эльбрус 8С»

В числе новейших решений от МЦСТ — процессор «Эльбрус 8С». Он обладает 8 ядрами. Базируется чип на технологическом процессе 28 нм — на уровне ведущих мировых разработок. Процессор обладает 4 МБ кэш-памяти второго уровня, 16 МБ — третьего. Чип совместим с модулями ОЗУ типа DDR3-1600. Производительность новейшего процессора от МЦСТ — 250 гигафлопсов. Этот показатель превосходит цифры, которые показывает чип Intel Core i7 типа 4930K. Его скорость работы - порядка 130-140 гигафлопсов. Известно, что для новейшего процессора от МЦСТ создается отдельный тип материнской платы.

На компьютерах, выпускаемых компанией МЦСТ, установлена операционная система «Эльбрус». Рассмотрим специфику российской ОС более подробно.

ОС «Эльбрус»: общие сведения

Операционная система «Эльбрус» базируется на ядре Linux в версии 2.6.33, однако есть сведения, что планируется модернизация соответствующего до версии 3.10.

Основной дистрибутив для российской ОС — Debian, зарекомендовавший себя как надежное серверное решение. Операционная система «Эльбрус» включает порядка 4 тыс. различных программных пакетов. Дистрибутив включает широкий спектр инструментов для обеспечения работы серверов, а также решения задач, актуальных для пользователя. Так, в структуре ОС «Эльбрус» присутствуют:

Графический интерфейс;

Браузер;

Программы для работы с текстами;

Мультимедийные проигрыватели;

Веб-сервер.

Можно отметить, что ПО, которое предполагается задействовать на ОС «Эльбрус», проходит сертификацию.

Структура «ОС Эльбрус»

Операционная система «Эльбрус» выстроена при одновременном использовании общедоступных мировым разработчикам алгоритмов с открытым кодом, а также средств разработки, созданных специалистами компании МЦСТ. В числе компонентов второго типа — компилятор, способный работать с несколькими компьютерными языками. ОС «Эльбрус», подобно другим распространенным пользовательским операционным системам, может обеспечивать многозадачный режим функционирования ПК.

Специально для данной ОС разработаны концепции управления программными процессами, прерываниями, синхронизацией и т. д. С целью оптимизации ядра Linux под задачи вычислительных комплексов «Эльбрус» была изменена стандартная библиотека, отвечающая за потоки вычислений — libpthread. Вместо нее разработчики ОС создали библиотеку elpthread.

В состав операционной системы «Эльбрус» входят также следующие полезные модули:

Командная строка, которая позволяет пользователю работать с вычислительным комплексом с помощью текстовых команд и взаимодействовать соответствующим способом с различными приложениями;

Инструменты для комплексной с целью повышения удобства их передачи или хранения;

Комплекс средств разработки: компиляторы, редакторы связей, отладчики, ассемблеры, редакторы, трансляторы, различные библиотеки, инструменты документирования и т. д.

В числе ключевых библиотек ОС — Glibe, которая используется также и на других ОС, созданных на базе Linux.

Таковы общие сведения об операционной системе МВК «Эльбрус». Можно отметить, что даннная ОС во многом рассчитана на пользование военными структурами, поэтому в общем доступе, подобно иным дистрибутивам Linux, ее найти трудно.

Операционная система «Эльбрус» и отечественный процессор типа 4С — в числе флагманов компании МЦСТ. Однако российский разработчик, конечно же, не ограничивается выпуском и поддержкой соответствующих решений. Рассмотрим, какие сегодня программные и аппаратные продукты выпускает бренд.

Известно, что ЗАО «МЦСТ» разрабатывает две базовые линейки микропроцессоров — с архитектурой типов VLIW и SPARC. Что касается первой архитектуры, то на ее базе выпускаются процессоры серий МЦСТ-R, а также МЦСТ-4R. Чипы «Эльбрус» относятся к тем, что базируются на архитектуре VLIW. Однако компьютеры серии «Эльбрус» могут оснащаться процессорами обоих типов.

Всего российский разработчик создал три основные ОС. Во-первых, это операционная система типа OSL_3M1, оптимизированная для комплексов «Эльбрус-3М1». Во-вторых, это OSL_90, которая создана для комплекса «Эльбрус-90 микро». В-третьих, это OS_E90, которая базируется на операционной системе Solaris в версии 2.5.1. Первые две ОС часто объединяются под единым названием — ОС «Эльбрус». Также известно, что разрабатывается специальная версия ОС под новейший процессор типа 8С, о котором мы сказали выше.

Интересен тот факт, что название процессоров, готовых решений и ОС, разрабатываемых компанией МЦСТ, практически идентично системе локализации "ЭльбРУС", популярной в 2000 годы среди пользователей компьютеров на базе ОС EPOC. Данная согласно некоторым данным, стала прототипом Symbian. Возможности системы локализации «ЭльбРУС» импонировали многим энтузиастам соответствующего типа девайсов. Однако данные, которые бы свидетельствовали о преемственности двух брендов, в распоряжение широкой общественности не поступали.

Перспективы использования ОС «Эльбрус»

Ключевой потребитель разработок МЦСТ сегодня — это, как мы отметили в начале статьи, ВПК. Поэтому программные и аппаратные решения, созданные российским брендом, вероятнее всего, в первоочередном порядке будут закупаться военными структурами. Рассматриваемые разработки компании МЦСТ способны содействовать процессу импортозамещения в ряде IT-сегментов. Это может быть актуально для систем, в которых требуется обеспечить высокий уровень безопасности.

В данном аспекте вычислительные модули, разработанные МЦСТ, имеют отличительную особенность: ключевые компоненты, которые входят в их структуру, обладают необходимой документацией, проходят при необходимости проверки в компетентных структурах. Ожидается, что компьютеры на базе чипов «Эльбрус» серий 4С и 8С будут востребованы не только в военной сфере, но также и в среде гражданских потребителей.

Реального времени.

ОС «Эльбрус» создана компанией МЦСТ для компьютеров с архитектурой SPARC и «Эльбрус » на ядре Linux 2.6.33. ОС обеспечивает многозадачный и многопользовательский режимы работы. Для неё разработаны особые механизмы управления процессами, виртуальной памятью, прерываниями, сигналами, синхронизацией, поддержка тегированными вычислениями.

В составе ОС «Эльбрус» базовые средства поддержки интерфейса пользователей:

  • Средства поддержки интерфейса командной строки (консоль). Обеспечивают оператору возможность работы с ВК в текстовом режиме с помощью набора команд и получения текстовых сообщений от операционной системы и запускаемых приложений;
  • Средства архивации для объединения ряда файлов в единый архив или серию архивов (в том числе со сжатием данных), что обеспечивает удобство передачи через каналы связи или хранения;
  • Средства разработки программного обеспечения. Обеспечивают процесс разработки и поддержки программного обеспечения. Это – ассемблеры, трансляторы, компиляторы, компоновщики (редакторы связей), сборщики, препроцессоры, отладчики, текстовые редакторы, библиотеки подпрограмм, средства управления версиями, средства документирования;
  • Средства планирования заданий - позволяют указать операционной системе, какие действия, в какое время и с какой периодичностью необходимо выполнить.

Помимо базовых в интерфейс пользователя введён ряд средств, поддерживающих создание функционального программного обеспечения.

Средства поддержки графического пользовательского интерфейса содержат базовые компоненты графической системы Xorg, а также набор различных вспомогательных библиотек, в том числе GTK+ и .

Основа ОС - библиотека Glibc – (GNU C Library) – свободно распространяемая библиотека С. Обеспечивает системные вызовы и основные функции, такие как open, malloc, printf и т.д. Библиотека C используется для всех динамически скомпонованных программ. Glibc используется в системах, на которых работает много разных ОС, и на разных архитектурах. Наиболее часто Glibc используется на x86-машинах с ОС Linux . Также официально поддерживаются архитектуры SPARC и «Эльбрус».

Библиотека glibc, поставляемая в составе ОС Эльбрус, сформирована на основе GNU glibc версии 2.7. Она состоит из двух частей:

  • заголовочные файлы, которые определяют типы и макрокоманды и объявляют переменные и функции;
  • фактическая библиотека или архив, который содержит определения переменных и функций. Состоит из нескольких файлов, функции в которых объединены по какому то признаку (например, libm.a – архив математических функций).

Для поддержки программ, работающих в защищённом режиме, поставляется компактная библиотека libmcst, обеспечивающая функции работы с памятью и поддержку ввода-вывода на уровне базовой библиотеки libc.

О необходимости форсированного развития отечественного рынка ПО, обеспечения максимальной независимости от иностранных разработок в сфере высоких технологий и сохранения информационного суверенитета впервые на высшем уровне заговорили в 2014 году, когда санкции США и Евросоюза резко повысили риски, связанные с применением зарубежного софта в бизнесе и государственных организациях. Именно тогда в Министерстве связи и массовых коммуникаций РФ всерьёз озадачились решением этого стратегически значимого, по мнению чиновников, вопроса вместе со стимулированием спроса на национальные продукты и проработкой соответствующих мер поддержки отечественных разработчиков. Как результат — в кратчайшие сроки на законодательном уровне были утверждены ограничения на допуск иностранного ПО при осуществлении государственных и муниципальных закупок, а также правила формирования и ведения единого реестра российских программ. Всё это положительным образом отразилось на рынке программного обеспечения в России, который за последнее время пополнился множеством интересных проектов и разработок. В том числе и в области операционных систем.

«Альт Линукс СПТ» представляет собой унифицированный дистрибутив на базе Linux для серверов, рабочих станций и тонких клиентов со встроенными программными средствами защиты информации, который может быть использован для построения автоматизированных систем по класс 1В включительно и информационных систем персональных данных (ИСПДн) по класс 1К включительно. ОС позволяет одновременно хранить и обрабатывать на одном персональном компьютере или сервере конфиденциальные данные, обеспечивать многопользовательскую работу с разграничением доступа к информации, работать с виртуальными машинами, а также использовать средства централизованной авторизации. Выданный ФСТЭК России сертификат подтверждает соответствие продукта требованиям следующих руководящих документов: «Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищённости от несанкционированного доступа к информации» — по 4 классу защищённости; «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню отсутствия недекларированных возможностей» — по 3-му уровню контроля и технических условий. Техническая поддержка пользователей «Альт Линукс СПТ » осуществляется компанией «Свободные программы и технологии» через партнёра-разработчика «Базальт СПО».

Разработчик: компания «Базальт СПО»

Платформа «Альт» — это набор Linux-дистрибутивов уровня предприятия, позволяющих развернуть корпоративную IT-инфраструктуру любого масштаба. В состав платформы входят три дистрибутива. Это универсальный «Альт Рабочая станция», включающий в себя операционную систему и набор приложений для полноценной работы. Второй — серверный дистрибутив «Альт Сервер», который может выступать контроллером домена Active Directory и содержит максимально полный набор служб и сред для создания корпоративной инфраструктуры (СУБД, почтовый и веб-сервер, средства аутентификации, группой работы, управления виртуальными машинами и мониторинга и прочие инструменты). Третий — «Альт Образование 8», ориентированный на повседневное использование при планировании, организации и проведении учебного процесса в учреждениях общего, среднего и высшего образования. Помимо этого, в серии продуктов компании «Базальт СПО» представлены упомянутый выше сертифицированный дистрибутив «Альт Линукс СПТ» и операционная система для домашних пользователей Simply Linux.

Разработчик: Национальный центр информатизации (входит в госкорпорацию «Ростех»)

Российский проект по созданию экосистемы программных продуктов на базе дистрибутива Linux, предназначенных для комплексной автоматизации рабочих мест и IT-инфраструктуры организаций и предприятий, в том числе в дата-центрах, на серверах и клиентских рабочих станциях. Платформа представлена в вариантах «ОСь.Офисная» и «ОСь.Серверная». Они различаются наборами включённого в дистрибутив прикладного ПО. Офисная редакция продукта содержит собственно операционную систему, средства защиты информации, пакет программ для работы с документами, почтовый клиент и браузер. В состав серверной версии включены операционная система, средства защиты информации, инструменты мониторинга и системного управления, сервер электронной почты и СУБД. В числе потенциальных пользователей платформы фигурируют федеральные и региональные органы власти, органы местного самоуправления, компании с государственным участием и государственные корпорации. Предполагается, что экосистема на основе «ОСи» в ближайшем будущем станет полноценной альтернативой западным аналогам.

Разработка научно-производственного объединения «РусБИТех», представленная в двух вариантах: Astra Linux Common Edition (общего назначения) и Astra Linux Special Edition (специального назначения). Особенности последней версии ОС: развитые средства обеспечения информационной безопасности обрабатываемых данных, механизм мандатного разграничения доступа и контроля замкнутости программной среды, встроенные инструменты маркировки документов, регистрации событий, контроля целостности данных, а также прочие обеспечивающие защиту информации компоненты. По заверениям разработчиков, Astra Linux Special Edition — единственная программная платформа, сертифицированная одновременно в системах сертификации средств защиты информации ФСТЭК России, ФСБ, Минобороны РФ и позволяющая обрабатывать в автоматизированных средствах всех министерств, ведомств и других учреждений Российской Федерации информацию ограниченного доступа, содержащую составляющие государственную тайну сведения с грифом не выше «совершенно секретно».

ROSA Linux

Разработчик: ООО «НТЦ ИТ РОСА»

Семейство операционных систем ROSA Linux включает внушительный набор решений, предназначенных для домашнего использования (версия ROSA Fresh) и применения в корпоративной среде (ROSA Enterprise Desktop), развёртывания инфраструктурных IT-служб организации (ROSA Enterprise Linux Server), обработки конфиденциальной информации и персональных данных (РОСА «Кобальт»), а также составляющих государственную тайну сведений (РОСА «Хром» и «Никель»). В основу перечисленных продуктов положены наработки Red Hat Enterprise Linux, Mandriva и CentOS с включением большого количества дополнительных компонентов — в том числе оригинальных, созданных программистами научно-технического центра информационных технологий «РОСА». В частности, в составе дистрибутивов ОС для корпоративного сегмента рынка представлены средства виртуализации, ПО для организации резервного копирования, инструменты для построения частных облаков, а также централизованного управления сетевыми ресурсами и системами хранения данных.

Разработчик: компания «Калкулэйт»

Calculate Linux представлен в редакциях Desktop, Directory Server, Scratch, Scratch Server и создан с прицелом на домашних пользователей и организации малого и среднего бизнеса, предпочитающие использовать ПО с открытым исходным кодом вместо проприетарных решений. Особенности платформы: полноценная работа в гетерогенных сетях, механизм перемещаемых профилей пользователей, инструментарий централизованного развёртывания программного обеспечения, простота администрирования, возможность установки на портативные USB-накопители и поддержка бинарных репозиториев обновлений Gentoo. Важно, что команда разработчиков доступна и открыта для любых замечаний, предложений и пожеланий пользовательской аудитории, о чем свидетельствует огромное количество способов принять участие в сообществе Calculate Linux и развитии платформы.

«Ульяновск. BSD»

Разработчик: Сергей Волков

Операционная система, которая построена на основе свободно распространяемой платформы FreeBSD и содержит необходимый набор прикладных программ для домашних пользователей и выполнения офисных задач. По словам единственного разработчика ОС Сергея Волкова, «Ульяновск.BSD» полностью адаптирована к потребностям именно русскоязычных пользователей. «Наша сборка максимально облегчена и идеально подходит для использования как на домашних компьютерах, так и на рабочих станциях сотрудников различных организаций, а также для использования в образовательных заведениях», — утверждает автор проекта, не вдаваясь в подробности того, чем конкретно скомпилированный им продукт отличается от оригинала. Солидности проекту добавляют не только наличие распространяемого на коммерческих условиях дистрибутива и платная техническая поддержка, но и запись в реестре российского ПО. Это означает, что программная платформа «Ульяновск.BSD» на законных основаниях может применяться государственными организациями в рамках проектов по внедрению импортозамещающих технологий.

Сертифицированная и защищённая операционная система, позволяющая обрабатывать информацию в соответствии с ФЗ № 152 «О персональных данных» и реализовывать системы обработки информации ограниченного доступа, не относящейся к государственной тайне. ICLinux включает средства удалённого администрирования, имеет встроенный межсетевой экран, сертифицированный на соответствие РД МЭ по 3-му классу защищённости, поддерживает RDP, X-Windows System, SSH, Telnet, VNC, VPN, NX, ICA и прочие протоколы. Также в активе платформы значатся совместимость со средствами аутентификации компании «Аладдин Р.Д.» и модульная архитектура, которая позволяет гибко настраивать операционную систему под требования заказчика.

«Альфа ОС» (Alfa OS)

Разработчик: компания ALFA Vision

Ещё один клон Linux, снабжённый пользовательским интерфейсом а-ля macOS с набором привычных офисных приложений и наполненный глубоким философским смыслом. Без шуток, на сайте разработчика в разделе «О компании», так и сказано: «Операционная система — это особое явление, точка, в которой сходятся технологические, эстетические и гуманитарные концепции. Вершина, которая видна со всех сторон. Чтобы она засияла, стала тем, чем должна быть, необходим самый разнообразный осмысленный опыт. И он у нас есть ». Сколько экспрессии в этих словах, какая подача информации! Согласитесь, не каждый может так выразительно преподнести свой продукт широкой аудитории. В настоящий момент «Альфа ОС» представлена в виде десктопной версии для x86-совместимых систем. В будущем компания ALFA Vision намерена выкатить на рынок мобильную и серверную редакции ОС, а также сборку дистрибутива для устройств на базе процессоров ARM.

Программная платформа, разработанная специально для вычислительных комплексов с архитектурой SPARC и «Эльбрус». Особенностью системы является кардинально переработанное ядро Linux, в котором были реализованы особые механизмы управления процессами, виртуальной памятью, прерываниями, сигналами, синхронизацией, поддержка тегированных вычислений. «Нами была проделана фундаментальная работа по преобразованию ОС Linux в операционную систему, поддерживающую режим работы в реальном времени, для чего были реализованы актуальные оптимизации в ядре. В ходе работы в реальном времени можно устанавливать различные режимы обработки внешних прерываний, планирования вычислений, обменов с дисковыми накопителями и некоторые другие », — поясняют в компании «МЦСТ». Помимо этого, в ядро программной платформы «Эльбрус» встроен комплекс средств защиты информации от несанкционированного доступа, который позволяет использовать ОС для построения автоматизированных систем, отвечающих самым высоким требованиям информационной безопасности. Также в составе системы представлены средства архивации, планирования заданий, разработки ПО и прочие инструменты.

«Ред ОС»

Операционная система на основе ядра Linux, созданная с прицелом на обеспечение безопасности обрабатываемых данных. «Ред ОС» соответствует отечественным требованиям по защите информации, имеет преднастроенные конфигурации для каждой аппаратной архитектуры, использует алгоритмы ГОСТ 34.11-2012 в протоколах ssh и NX, а также поддерживает списки управления доступом. Помимо этого, ОС поддерживает сетевую аутентификацию с помощью подключаемых модулей аутентификации (PAM, Pluggable Authentication Modules) и имеет в своём составе специализированную подсистему распределённого аудита, которая позволяет отслеживать критичные события безопасности в корпоративной сети и предоставляет IT-администратору необходимые инструменты для оперативного реагирования на инциденты ИБ.

GosLinux («ГосЛинукс»)

Разработчик: компания «Ред Софт»

ОС GosLinux создана специально для нужд Федеральной службы судебных приставов Российской Федерации (ФССП России) и пригодна для использования во всех органах власти, государственных внебюджетных фондах и органах местного самоуправления. Платформа построена на базе дистрибутива CentOS 6.4, включающего наработки Red Hat Enterprise Linux. Система представлена в двух редакциях — для серверов и рабочих станций, содержит упрощённый графический интерфейс и набор преднастроенных средств защиты информации. Разработчик ОС — компания «Ред Софт», победившая в марте 2013 года в конкурсе на доработку, внедрение и сопровождение автоматизированных информационных систем ФССП России. В 2014 году система получила сертификат соответствия ФСТЭК России, подтверждающий, что «ГосЛинукс» имеет оценочный уровень доверия ОУД3 и соответствует требованиям руководящего документа Гостехкомиссии РФ по 4-му уровню контроля отсутствия недекларированных возможностей. Дистрибутив ОС GosLinux для органов государственной власти размещён в национальном фонде алгоритмов и программ по адресу nfap.minsvyaz.ru . В настоящий момент платформа GosLinux активно развёртывается во всех территориальных органах и подразделениях ФССП России. Также ОС передана на опытную эксплуатацию представителям властей Нижегородской, Волгоградской и Ярославской областей.

Разработчик: ООО «Алми»

Сайт продукта:

Ещё одна сборка Linux в нашем списке, которая определённо не страдает от недостатка хвалебных эпитетов в свой адрес со стороны разработчиков. «Уникальная, идеальная, простая, совмещающая в себе удобство операционной системы Windows, стабильность macOS и безопасность Linux » — такими возносящими AlterOS до небес фразами вдоль и поперёк прошит официальный сайт продукта. В чём именно заключается уникальность отечественной платформы, на сайте не сказано, зато представлена информация о трёх редакциях ОС: AlterOS «Волга» для государственного сектора, AlterOS «Амур» для корпоративного сегмента и AlterOS «Дон» для серверов. Сообщается о совместимости системы со множеством востребованных в бизнес-среде программных решений, в том числе с «1С» и «Консультант Плюс», а также отечественными средствами криптозащиты (например, «КриптоПро»). Отдельный акцент сделан на отсутствии в версии платформы для госорганизаций ПО, которое взаимодействует с иностранными серверами, — всё сделано по канонам максимального импортозамещения, заявляют разработчики.

Мобильная система Вооружённых Сил (МСВС)

Разработчик: Всероссийский научно-исследовательский институт автоматизации управления в непромышленной сфере им. В. В. Соломатина (ВНИИНС)

Защищённая операционная система общего назначения, предназначенная для построения стационарных и мобильных защищённых автоматизированных систем в Вооружённых Силах Российской Федерации. Принята на снабжение в ВС РФ в 2002 году. В основу МСВС положены ядро и компоненты Linux, дополненные дискреционной, мандатной и ролевой моделями разграничения доступа к информации. Система функционирует на аппаратных платформах Intel (x86 и x86_64), SPARC («Эльбрус-90микро»), MIPS, PowerPC64, SPARC64 и сертифицирована по требованиям безопасности информации Министерства обороны РФ. Реализованные в МСВС средства защиты позволяют создавать на базе платформы автоматизированные системы, которые обрабатывают составляющие государственную тайну сведения, имеющие степень секретности «СС» (совершенно секретно).

«Заря»

Разработчик: ФГУП «Центральный научно-исследовательский институт экономики, информатики и систем управления» («ЦНИИ ЭИСУ», входит в «Объединённую приборостроительную корпорацию»)

Семейство программных платформ на ядре Linux, которые представляют собой альтернативу зарубежным ОС, применяемым сейчас в силовых ведомствах, госсекторе и на оборонных предприятиях. Настольная операционная система «Заря» совместима с большинством традиционных офисных приложений и программ. Серверная платформа «Заря-ЦОД» позволяет организовать сервер приложений или сервер базы данных. Для построения центров обработки данных она предлагает стандартный набор серверного ПО, средства виртуализации, а также возможность работы на так называемом «большом железе», включая мейнфреймы. Для встраиваемых систем, работающих без участия человека, которые должны обрабатывать информацию в режиме реального времени, разработана специальная ОС «Заря РВ». Система соответствует третьему классу защиты от несанкционированного доступа и второму уровню контроля отсутствия недекларированных возможностей. Платформа разработана по заказу Минобороны России и, как ожидается, будет востребована силовыми ведомствами, оборонным комплексом, а также коммерческими структурами, работающими с государственной тайной и персональными данными.

Операционная система для терминальных станций. Создана на базе Linux и содержит только необходимый набор инструментов для организации рабочих мест с использованием тонких клиентов. Все функции, выходящие за эти рамки, исключены из дистрибутива. Kraftway Terminal Linux поддерживает множество сетевых протоколов прикладного уровня (RDP, VNC, SSH, NX, XWindow, VMWare View PCoIP и др.), позволяет настраивать права доступа на проброс USB-носителей, обеспечивает возможность использования сетевых и локальных принтеров, содержит средства восстановления конфигурации ОС при перезагрузке, а также инструменты дистанционного группового управления терминальными станциями и администрирования рабочих мест. Особенность системы — высокая защищённость. Kraftway Terminal Linux поддерживает и аппаратные средства аутентификации пользователей: USB-ключи eToken PRO и eToken PRO Java от ЗАО «Аладдин Р.Д.», а также RuToken S и RuToken ЭЦП от ЗАО «Актив-софт». Обновление ОС может осуществляться администратором через локальную сеть или с USB-накопителя. Возможна настройка автообновления как с локального сервера заказчика, так и с сервера компании Kraftway.

WTware

Разработчик: Андрей Ковалёв

Ещё одна программная платформа для развёртывания в IT-инфраструктуре предприятия рабочих мест с использованием недорогих терминальных решений. В дистрибутив WTware включены службы для загрузки по сети, инструменты для работы с принтерами, сканерами штрихкодов и прочим периферийным оборудованием. Поддерживается перенаправление COM- и USB-портов, а также аутентификация по смарт-картам. Для подключения к серверу терминалов используется протокол RDP, а для оперативного разрешения возникающих при настройке операционной системы вопросов к дистрибутиву прилагается подробная документация. WTware распространяется на коммерческих условиях и лицензируется по количеству рабочих станций. Для мини-компьютера Raspberry Pi разработчиком предлагается бесплатная версия ОС.

KasperskyOS

Разработчик: «Лаборатория Касперского»

Безопасная операционная система, предназначенная для использования в критически важных инфраструктурах и устройствах. Платформа «Лаборатории Касперского» может быть задействована в автоматизированных системах управления технологическими процессами (АСУ ТП), телекоммуникационном оборудовании, медицинских аппаратах, автомобилях и прочих гаджетах из мира Интернета вещей. ОС создана с нуля и в силу своей архитектуры гарантирует высокий уровень информационной безопасности. Основной принцип работы KasperskyOS сводится к правилу «запрещено всё, что не разрешено». Это позволяет исключить возможность эксплуатирования как уже известных уязвимостей, так и тех, что будут обнаружены в будущем. При этом все политики безопасности, в том числе запреты на выполнение определённых процессов и действий, настраиваются в соответствии с потребностями организации. Платформа будет поставляться в качестве предустановленного программного обеспечения на различных типах оборудования, применяемого в индустриальных и корпоративных сетях. В настоящее время безопасная ОС «Лаборатории Касперского» внедрена в маршрутизирующий коммутатор уровня L3, разработанный компанией Kraftway.

Операционная система реального времени (ОСРВ), написанная программистами «АстроСофт» с нуля, без заимствований чужого кода, и предназначенная прежде всего для Интернета вещей и встроенных устройств. Кроме того, она подходит для робототехники, медицинского оборудования, систем «умного дома» и «умного города», потребительской электроники и пр. Впервые ОС реального времени «МАКС» (аббревиатура расшифровывается как «мультиагентная когерентная система») была продемонстрирована широкой аудитории в январе 2017 года. Платформа не только реализует всю классическую функциональность продуктов данного типа, но и обладает рядом уникальных возможностей по организации взаимодействия множества устройств, позволяющих упростить создание необходимых во встраиваемых системах механизмов: резервирование, горячая замена оборудования и др. Одна из особенностей «МАКС» — поддержка разделяемой памяти на уровне устройств. Данный механизм обеспечивает автоматическую, устойчивую к сбоям отдельных компонентов синхронизацию информации между узлами распределённой системы. ОСРВ «МАКС» включена в реестр отечественного программного обеспечения. Кроме этого, продукт зарегистрирован в Федеральной службе по интеллектуальной собственности (Роспатент) и в настоящее время проходит сертификацию в Федеральной службе по техническому и экспортному контролю (ФСТЭК России) по четвёртому уровню контроля недекларированных возможностей (НДВ).

В качестве заключения

Существует два подхода к созданию российского софта. Первый заключается в написании исходного кода продуктов с нуля, полностью силами отечественных специалистов. Второй вариант предполагает создание национального ПО на основе доработки заимствованных исходных кодов. Именно его и придерживаются работающие на ниве импортозамещения ПО российские софтверные компании. Наш топ-20 операционных систем с шильдиком «Сделано в России» — яркое тому подтверждение. Хорошо это или плохо — большой вопрос, предмет отдельного разговора.

Швед из Финляндии.

Нет, нехорошо, в одиночестве возможно, но в беседе участвуют двое, поэтому и решают двое, права решать за обоих вам никто не давал.

Я уже вроде как ответил. Повторю еще раз: я имею в своем круге общения людей, которые занимаются системами защиты как в оборонке, так и в банковской среде. Мне все в один голос ответили, что сила атакующего систему всегда превосходит кратно силы защиты. У моего круга общения опыт от 5 лет до 40.

По поводу быстрого штудирования я приведу один из примеров реальных:

«В ядре операционной системы Linux был устранен баг, существовавший в течение девяти лет. Разработчики не обращали внимания на уязвимость, так как считали, что у нее нет никакого практического применения. Однако оказалось, что с ее помощью пользователь может получить root-права и поставить под угрозу безопасность всей системы. Об этом сообщает портал Github.

По словам разработчика Linux Линуса Торвальдса, уязвимость Dirty COW была обнаружена им около одиннадцати лет назад. Торвальдс устранил ее, однако в 2007 году ядро системы Linux было обновлено другим разработчиком и баг вернулся."

Ситуаций бесчисленное множество возможно. Косяк с баг_он был обнаружен и исправлен еще хуже, чем было при ошибке. Между обнаружениями проходит время, именно за это время можно использовать в корыстных целях систему. Повторюсь, открытость не мешает делать закладки.

Какой фонд? Linux Foundation.

Вы меня не знаете, поэтому ваше мнение обо мне не имеет значения.

За кем финальное решение после внесения изменений и высылки в репозитории, кто направляет дальнейшее развитие и продвижение Linux ? Да-да, за создателем и ключевыми фигурами.

Я промолчу про возможность создать корпоративный сговор, которые уже не раз были в истории. Наказание корпорации получали, но оно было всегда меньше той прибыли, которую они получили благодаря картельному сговору. Опять де всегда есть время до их обнаружения. Изучая биографию и поведение самого Линуса, можно понять, что он незаурядная и умная личность. Даже шутки у него нестандартные, но в каждой шутке есть доля шутки.

Последняя попытка обьяснить вам современную свободу. За свободой всегда кто-то следит и контролирует ее выполнение. Вот от этого кого-то и зависит реальность.

Вот в ООН имеет право любая страна выражать свои послания. Это свобода. Но здание ООН находится в штатах, а власть может запретить вьезжать в страну определенным нежелательным лицам по разным причинам. То есть свобода есть, но она ограничена и контролируема. Также вы сами видите, как на одну проблему могут смотреть по- разному и в упор ее не признавать частью лиц, в итоге лишая вас прав. Понимаете смысл? Может на примере религии обьясню. У христианства есть более древний прародитель, который заложил основы в виде догм, которые находят свое отражение почти в любой ветви христианства. Эти ветви — это как сборки Линукс под каждый социум, но основа там общая. А контролирует эту основу в рамках отдельной структуры ее закладчики. Есть другие течения религий с тоже не менее древней историей со своими ветвями.

Я понимаю, о чем вы мне пишете. Проблема в том, что вы не понимаете, о чем пишу я, называя это «бредом». Но это уже не моя проблема.

Обзор и сравнительное тестирование ПЭВМ «Эльбрус 401‑PC». Дополнение - вопросы и ответы

Пожалуй, главным результатом публикации этого обзора , - помимо собственно ознакомления общественности с первыми независимыми впечатлениями от нового компьютера, - стало желание самой фирмы МЦСТ раскрыть побольше подробностей, устранить возникшие недоразумения и ответить на вопросы, поднимаемые в статье и в комментариях к ней. Некоторые из этих вопросов настолько фундаментальны, что заслуживают по отдельной статье каждый, и потому требуют серьёзной проработки. Сейчас же мы рассмотрим те из них, которые лучше всего укладываются в формат интервью.

Общие моменты

Чтобы правильно понимать позицию фирмы МЦСТ по нижеизложенным воспросам, необходимо представлять себе её прошлое, настоящее и планы на будущее, - в отрыве от этого контекста некоторые факты могут выглядеть странно.

Исторически, основными заказчиками и потребителями продукции МЦСТ были силовые структуры. Ассортимент и объёмы производства были ограниченными, каждый компьютер был на учёте, каждого покупателя знали в лицо, образно говоря. При такой модели сбыта было необходимым и достаточным выпускать в оборот только хорошо отлаженные и сертифицированные системы, под которые прицельно затачивалось прикладное программное обеспечение. Каждый клиент требовал персонального подхода - квалифицированных консультаций при выборе оборудования и его последующей эксплуатации, в том числе с выездом сервисного инженера на место установки (в любую точку необъятной части суши, а также на море). То есть «махровый энтерпрайз», разве что со своей спецификой.

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

Очевидный разрыв между желаемым и действительным прекрасно понимают в МЦСТ на всех уровнях, - ни у кого нет радужных иллюзий, что можно в один момент сорваться с места в карьер, обгоняя маститых спринтеров и бывалых марафонцев, тем более что с такими соперниками необходимо, как в известной сказке, нестись со всех ног, просто чтобы остаться на месте. Сейчас на такой рывок нет ни денег, ни производственных мощностей, ни, элементарно, кадровых ресурсов, - штат сотрудников на три порядка меньше, чем у 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 или самописной функцией. Свои идеи оставляйте в комментариях.

Теги:

  • ELBRUS
Добавить метки