Недавно у нас проездом побывал интересный гость — отечественный персональный компьютер с 4?ядерным процессором «Эльбрус» оригинальной архитектуры, разработанной фирмой МЦСТ. После знакомства с его особенностями и проведения замеров производительности, хотелось бы поделиться впечатлениями и результатами.
Ввиду большого объёма, материал разбит на четыре части:
Приятного чтения!
Первым делом внесём ясность, кто такую технику покупает и зачем. Компьютеры отечественной разработки находят применение прежде всего в оборонной отрасли, а также везде, где предъявляются повышенные требования к информационной безопасности — туда, куда ставить зарубежные аналоги совсем нельзя или очень нежелательно. В последнее время также делаются осторожные шаги по внедрению этой продукции в гражданскую сферу, но из?за малых объёмов производства и соответственно «кусачих» цен позволить себе такое кроме военных мало кто может.
Конкретно наша фирма купила этот компьютер в рамках эксперимента. Мы конструировали и собирали небольшую серию операторских пультов для стенда имитации и отладки аппаратуры, и было решено один из пультов построить на базе нового «Эльбруса» — для оценки его производительности и программной совместимости. Надо заметить, что у нас уже имелся длительный опыт использования более ранних продуктов фирмы МЦСТ, и, честно сказать, ни аппаратное, ни программное обеспечение особо тёплых чувств никогда не вызывали (из четвёртой части статьи вы узнаете, почему). Однако новинка обещала быть очень интересной.
Итак, в конце сентября 2015 года наша компания обратилась с запросом к производителю — в Московский центр SPARC-технологий. На тот момент условия были следующими:
Для понимания, откуда берётся такой уровень цен, следует иметь в виду несколько факторов. Во?первых, помимо себестоимости выпуска микросхем, существенная доля приходится на возмещение научно-исследовательских затрат и сертификацию, — тем существеннее, чем меньше тиражи, а они пока ну очень маленькие. Во?вторых, устанавливаемая в персональный компьютер «Эльбрус 401?PC» модель процессора — та же самая микросхема 1891ВМ8Я («Эльбрус?4С»), что применяется и в 4-процессорных серверах МЦСТ «Эльбрус?4.4» и BitBlaze Elbrus 4400. То есть это кристалл уровня quad processor с каналами RDMA для межмашинного взаимодействия. Если посмотреть на аналогичные предложения Intel в линейке Xeon MP, пропуская ценники over 9000, то получится 1000–1500 долларов за младшие модели, — предположительно, цена «Эльбруса» для конечного покупателя точно такая же, исходя из того, что заявленная стоимость 4?процессорного сервера составляет 8000 долларов, и материнская плата с корпусом и прочей начинкой тоже не бесплатные. И это при том, что объёмы производства МЦСТ на пару-тройку порядков ниже, чем у всемирно известных брендов.
Вычислительный комплекс отгружается в аутентичной упаковке, теплота и скрепы которой исключают любые сомнения в происхождении и подлинности изделия.
Транспортный контейнер и его содержимое
Внутри ящика обнаруживаются:
Согласно документам, сборка компьютера выполняется на Ижевском радиозаводе, — всего в паре километров от производства автоматов Калашникова и других суровых вещей; что ж, это многое объясняет. А если серьёзно, то данное предприятие имеет богатую историю выпуска бортовых вычислительных машин и другой радиоаппаратуры для космической отрасли.
Внешний вид системного блока
Корпус системного блока «Эльбрус 401?PC» — обыкновенная мини-башня In?Win EMR034. И это, пожалуй, единственный эстетический недостаток: дело даже не в том, что отечественный труженик одет в дешёвую робу китайского пошива, а просто вид у этой одежонки никак не соответствует статусу 4000-долларового компьютера. Что мешало взять пусть тоже недорогой, но хотя бы внешне эффектный корпус, либо элегантно строгий (без нелепого сочетания глянцевого переда с матовыми боками), — для автора остаётся загадкой. Ведь хватило же у конструкторов чутья поставить внутрь системного блока вполне приличные компоненты, за которые как минимум не стыдно.
Внутренний вид системного блока
Гарантийных пломб на корпусе нет, поэтому можем снять стенку и убедиться, что внутренности в общем и целом соответствуют описанию:
Несущественные расхождения между спецификациями и реальностью возможны как результат естественного обновления рыночного ассортимента комплектующих: так, например, в документации была заявлена видеокарта на базе более старого процессора Radeon HD 6450, упоминались другие модели клавиатуры и мыши.
Схема расположения элементов на материнской плате
Сердцем компьютера «Эльбрус 401?PC», как следует из названия модели, служит один 4?ядерный процессор «Эльбрус?4С» (1891ВМ8Я), ранее известный как «Эльбрус?2S»: числовой индекс, видимо, по маркетинговым соображениям решено было переназначить равным количеству ядер, а роль буквы S, означавшей конструктив system-on-chip, теперь выполняет русская «С» («система на кристалле»; МЦСТ трактует этот термин по?своему). Существует несколько модификаций, отличающихся частотой: 800 МГц (1891ВМ8АЯ), 750 МГц (1891ВМ8БЯ), 600 МГц (1891ВМ8ВЯ), — в компьютере установлена первая из них. Переключатели на материнской плате позволяют устанавливать нештатные частоты:
Ещё несколько переключателей служат для повышения или понижения питающих напряжений, но экспериментировать с оверклокингом мы не стали, — кому очень хочется побыстрее, может подождать анонсированный «Эльбрус?8С»: там штатная частота будет 1300 МГц, и ядер вдвое больше.
Структурная схема материнской платы
Контроллер системного обмена («северный мост») встроен в микросхему процессора. Он содержит 3?канальный контроллер памяти DDR3?1066 (PC3?8500) с поддержкой коррекции ошибок. Компьютер поставляется с 8?гигабайтными планками регистровой памяти, организованными в виде двух банков. Максимальный объём локальной памяти каждого процессора составляет 48 Гбайт, но мы не проверяли, способна ли «десктопная» плата переварить более тех 24 Гбайт, что в неё установлены заводом-изготовителем. Одно ясно: поскольку это однопроцессорный компьютер, то каналы межпроцессорного взаимодействия остаются незадействованными, равно как и второй канал ввода-вывода IOLink, предназначенный либо для связи с контроллером периферийных интерфейсов, либо для удалённого доступа к памяти других машин.
Перечень устройств PCI (полностью на Pastebin)
Перечень устройств USB (полностью на Pastebin)
Контроллер периферийных интерфейсов («южный мост») на микросхеме 1991ВГ1Я реализует шины PCI и PCI Express, содержит контроллеры ATA 100 Мбайт/с и SATA 300 Мбайт/с, а также Ethernet 100/1000 Мбит/с. Внешними контроллерами реализуются интерфейсы USB 2.0 и RS?232, а также поддержка подключения дисплея, динамиков и микрофона. Обращает на себя внимание, что контроллер последовательных и параллельных портов реализует интерфейс IEEE 1284, но LPT-порт на плате отсутствует. Кроме того, разводка под GPIO есть, но сам коннектор не припаян.
Поскольку все прочие компоненты компьютера являются товарами широкого потребления, подробно рассматривать их нет смысла. Отметим только одну особенность: при общей демократичности всей конструкции и даже явном разрешении заменять внешние и внутренние компоненты на любые аналогичные, твердотельный диск прикручен к материнской плате и опломбирован: на гайки нанесена краска. Это существенно осложняет эксперименты, так как на этом диске расположены все файлы системы и пользовательских данных, — извлечь и сделать резервную копию на другом компьютере уже не выйдет, а воспользоваться каким-нибудь Live-диском для x86 у нас не получилось, равно как и запустить штатную систему в однопользовательском режиме с подключением дисков только на чтение.
Опломбированное крепление твердотельного накопителя
Дополнение от 09.02.2016. В комментариях напоминают о существовании ОСТ 107.460091.014 «Соединения резьбовые. Способы и виды предохранения от самоотвинчивания», высказывая предположение, что краскослой в первую очередь может служить дополнительным стопором для гаек. Не исключено, что так оно и есть, но ведь в мире крепежа имеются альтернативные решения, допускающие многоразовое использование.
Также критики заслуживает система охлаждения. С одной стороны, свою работу она выполняет: даже под длительной нагрузкой радиатор процессора не нагревается выше 33 °C (программные средства мониторинга внутренней температуры ядра, такие как mbmon или lmsensors, нами обнаружены не были), а вентиляторы южного моста и корпуса попросту не установлены — наверное, они требуются только в тяжёлых климатических условиях. С другой стороны, шума эта система издаёт не то чтобы много, но и на роль тихого компьютера претендовать не может. Мы не стали выяснять, кто больше виноват, — вентилятор в блоке питания или вентилятор на процессоре, — но заметим, что все разъёмы на материнской плате имеют 4 контакта (что намекает на импульсное управление частотой вращения вентилятора), а на процессоре установлен 3?контактный кулер.
Из совсем мелких недочётов: на материнской плате не подписано назначение контактов разъёма передней панели, к которому подключаются кнопки включения и сброса, а также индикаторы питания и активности дисков. Если отсоединить кабели, то разобраться без документации, что к чему, будет практически невозможно, — враг не сумеет включить компьютер, страна может спать спокойно.
Документация выполнена «по уставу»: исключительно в твёрдой копии, с обложкой из обёрточной бумаги, с пометками от руки, где полагается. Там довольно подробно описывается аппаратная часть, благодаря чему вы имели возможность ознакомиться с вышеприведёнными схемами. Но когда доходит до программной части — тут всё руководство по эксплуатации умещается на двух страничках и сформулировано в стиле «Дайте приказ на завершение работы, дождитесь завершения выполнения приказа и выключите вычислительный комплекс» (как поступать при отказе несознательной машины выполнять приказ, не сообщается; опущены даже такие подробности, какой командой или какими кнопками отдавать этот приказ, и кому конкретно его отдавать, — может, надо выпустить общий приказ по гарнизону?). Освещение большей доли вопросов сводится к отсылке на другие документы, которые, видимо, надо запрашивать отдельно, — в публичный доступ документация не выкладывается.
В следующей части статьи мы рассмотрим программное обеспечение — операционную систему «Эльбрус» с входящими в её состав приложениями.
Ввиду большого объёма, материал разбит на четыре части:
- обзор аппаратного обеспечения:
- обзор программного обеспечения:
- запуск операционной системы;
- штатное программное обеспечение;
- обзор средств разработки:
- особенности архитектуры;
- машинный язык;
- средства разработки;
- сравнительное тестирование производительности:
- описание соперничающих компьютеров;
- результаты бенчмарков;
- подведение итогов.
Приятного чтения!
Приобретение
Первым делом внесём ясность, кто такую технику покупает и зачем. Компьютеры отечественной разработки находят применение прежде всего в оборонной отрасли, а также везде, где предъявляются повышенные требования к информационной безопасности — туда, куда ставить зарубежные аналоги совсем нельзя или очень нежелательно. В последнее время также делаются осторожные шаги по внедрению этой продукции в гражданскую сферу, но из?за малых объёмов производства и соответственно «кусачих» цен позволить себе такое кроме военных мало кто может.
Конкретно наша фирма купила этот компьютер в рамках эксперимента. Мы конструировали и собирали небольшую серию операторских пультов для стенда имитации и отладки аппаратуры, и было решено один из пультов построить на базе нового «Эльбруса» — для оценки его производительности и программной совместимости. Надо заметить, что у нас уже имелся длительный опыт использования более ранних продуктов фирмы МЦСТ, и, честно сказать, ни аппаратное, ни программное обеспечение особо тёплых чувств никогда не вызывали (из четвёртой части статьи вы узнаете, почему). Однако новинка обещала быть очень интересной.
Итак, в конце сентября 2015 года наша компания обратилась с запросом к производителю — в Московский центр SPARC-технологий. На тот момент условия были следующими:
- сама фирма МЦСТ имеет дело только с юридическими лицами, но вполне готова отпускать товар поштучно;
- компьютеры собираются партиями: когда накапливается достаточное количество заявок от желающих, объявляется цена и заключаются контракты, — нам повезло успеть как раз к финалу приёма заказов на первую партию и попасть в план на октябрь–ноябрь, поэтому уже 1 декабря готовый компьютер оказался в нашем распоряжении; кроме того, некоторое количество единиц товара изготавливается прозапас, и кому?то посчастливится обойтись без ожидания и расплатиться по старой цене;
- системный блок «Эльбрус 401?PC» поставляется вместе с монитором, клавиатурой и мышью, — пока что придётся покупать весь этот «вычислительный комплекс», как его официально называет МЦСТ, даже если вам нужна только материнская плата с процессором (по неофициальным прикидкам, стоимость такого джентльменского набора может составлять 2/3 полной цены);
- цена за единицу — была около 250 тысяч рублей (4000 долларов, как и обещали ранее) на момент заказа; прогнозы на будущее пока очень осторожные, однако есть основания считать, что почти всё определяется валютными составляющими, а значит в рублях будет только дорожать, даже если ценник в долларах похудеет при росте объёмов производства.
Для понимания, откуда берётся такой уровень цен, следует иметь в виду несколько факторов. Во?первых, помимо себестоимости выпуска микросхем, существенная доля приходится на возмещение научно-исследовательских затрат и сертификацию, — тем существеннее, чем меньше тиражи, а они пока ну очень маленькие. Во?вторых, устанавливаемая в персональный компьютер «Эльбрус 401?PC» модель процессора — та же самая микросхема 1891ВМ8Я («Эльбрус?4С»), что применяется и в 4-процессорных серверах МЦСТ «Эльбрус?4.4» и BitBlaze Elbrus 4400. То есть это кристалл уровня quad processor с каналами RDMA для межмашинного взаимодействия. Если посмотреть на аналогичные предложения Intel в линейке Xeon MP, пропуская ценники over 9000, то получится 1000–1500 долларов за младшие модели, — предположительно, цена «Эльбруса» для конечного покупателя точно такая же, исходя из того, что заявленная стоимость 4?процессорного сервера составляет 8000 долларов, и материнская плата с корпусом и прочей начинкой тоже не бесплатные. И это при том, что объёмы производства МЦСТ на пару-тройку порядков ниже, чем у всемирно известных брендов.
Аппаратное обеспечение
Вычислительный комплекс отгружается в аутентичной упаковке, теплота и скрепы которой исключают любые сомнения в происхождении и подлинности изделия.
Транспортный контейнер и его содержимое
Внутри ящика обнаруживаются:
- системный блок («субблок» в терминологии производителя);
- монитор Dell E2314H;
- клавиатура Logitech K120 или аналогичная;
- мышь Logitech M100 или аналогичная;
- руководство по эксплуатации;
- формуляр на изделие;
- упаковочный лист с перечнем содержимого ящика.
Согласно документам, сборка компьютера выполняется на Ижевском радиозаводе, — всего в паре километров от производства автоматов Калашникова и других суровых вещей; что ж, это многое объясняет. А если серьёзно, то данное предприятие имеет богатую историю выпуска бортовых вычислительных машин и другой радиоаппаратуры для космической отрасли.
Внешний вид системного блока
Корпус системного блока «Эльбрус 401?PC» — обыкновенная мини-башня In?Win EMR034. И это, пожалуй, единственный эстетический недостаток: дело даже не в том, что отечественный труженик одет в дешёвую робу китайского пошива, а просто вид у этой одежонки никак не соответствует статусу 4000-долларового компьютера. Что мешало взять пусть тоже недорогой, но хотя бы внешне эффектный корпус, либо элегантно строгий (без нелепого сочетания глянцевого переда с матовыми боками), — для автора остаётся загадкой. Ведь хватило же у конструкторов чутья поставить внутрь системного блока вполне приличные компоненты, за которые как минимум не стыдно.
Внутренний вид системного блока
Гарантийных пломб на корпусе нет, поэтому можем снять стенку и убедиться, что внутренности в общем и целом соответствуют описанию:
- материнская плата MBE2S?PC v4 формата microATX с интегрированным процессором «Эльбрус?4С» и системой охлаждения Thermaltake Slim X3 II;
- три планки оперативной памяти Kingston ValueRAM DDR3?1600 registered ECC объёмом по 8 Гбайт каждая (KVR16R11D8/8);
- карта памяти Kingston CompactFlash ultimate 266X объёмом 16 Гбайт (CF/16GB-U2) — для нужд x86-трансляции;
- твердотельный диск Kingston SSDNow mS200 объёмом 120 Гбайт (SMS200S3/120G) — основной носитель данных;
- жёсткий диск WD Caviar Black объёмом 1 Тбайт (WD1003FZEX-00MK2A0) — дополнительный носитель данных, неиспользуемый по умолчанию;
- оптический привод Lite-On iHAS124;
- видеокарта Gigabyte Radeon R5 230 (GV-R523D3-1GL) — основное устройство вывода в дополнение к интегрированному контроллеру Silicon Motion SM718;
- блок питания PowerRebel (PowerMan) IP?S450HQ7?0 номинальной мощности 450 Вт.
Несущественные расхождения между спецификациями и реальностью возможны как результат естественного обновления рыночного ассортимента комплектующих: так, например, в документации была заявлена видеокарта на базе более старого процессора Radeon HD 6450, упоминались другие модели клавиатуры и мыши.
Схема расположения элементов на материнской плате
Сердцем компьютера «Эльбрус 401?PC», как следует из названия модели, служит один 4?ядерный процессор «Эльбрус?4С» (1891ВМ8Я), ранее известный как «Эльбрус?2S»: числовой индекс, видимо, по маркетинговым соображениям решено было переназначить равным количеству ядер, а роль буквы S, означавшей конструктив system-on-chip, теперь выполняет русская «С» («система на кристалле»; МЦСТ трактует этот термин по?своему). Существует несколько модификаций, отличающихся частотой: 800 МГц (1891ВМ8АЯ), 750 МГц (1891ВМ8БЯ), 600 МГц (1891ВМ8ВЯ), — в компьютере установлена первая из них. Переключатели на материнской плате позволяют устанавливать нештатные частоты:
- для ядер — 750, 800 (по умолчанию), 900, 1000 МГц;
- для процессорных каналов ввода-вывода — от 300 до 650 МГц с шагом 50 МГц (по умолчанию — 500 МГц);
- для системной шины — от 340 МГц до 500 МГц (по умолчанию) с шагом 33 МГц;
- для синхронизации ядер — 100 или 125 МГц (по умолчанию).
Ещё несколько переключателей служат для повышения или понижения питающих напряжений, но экспериментировать с оверклокингом мы не стали, — кому очень хочется побыстрее, может подождать анонсированный «Эльбрус?8С»: там штатная частота будет 1300 МГц, и ядер вдвое больше.
Структурная схема материнской платы
Контроллер системного обмена («северный мост») встроен в микросхему процессора. Он содержит 3?канальный контроллер памяти DDR3?1066 (PC3?8500) с поддержкой коррекции ошибок. Компьютер поставляется с 8?гигабайтными планками регистровой памяти, организованными в виде двух банков. Максимальный объём локальной памяти каждого процессора составляет 48 Гбайт, но мы не проверяли, способна ли «десктопная» плата переварить более тех 24 Гбайт, что в неё установлены заводом-изготовителем. Одно ясно: поскольку это однопроцессорный компьютер, то каналы межпроцессорного взаимодействия остаются незадействованными, равно как и второй канал ввода-вывода IOLink, предназначенный либо для связи с контроллером периферийных интерфейсов, либо для удалённого доступа к памяти других машин.
Перечень устройств PCI (полностью на Pastebin)
00:00.0 PCI bridge: MCST PCI-Express Bridge (rev 01) 00:01.0 PCI bridge: Intel Corporation Device e3e3 (rev 01) 01:00.0 PCI bridge: MCST PCI-Bridge (rev 05) 01:01.0 Ethernet controller: Intel Corporation Device 4d45 (rev 01) 01:02.0 IDE interface: Intel Corporation Device 4d49 (rev 80) 01:02.1 Multiport serial controller: Intel Corporation Device 0002 (rev 05) 01:02.2 Communication controller: Intel Corporation Device 8000 01:02.3 Multimedia audio controller: Cirrus Logic Crystal CS4281 PCI Audio (rev 01) 01:03.0 SATA controller: Intel Corporation Device 4748 01:04.0 USB controller: Intel Corporation Device 554f 01:04.1 USB controller: Intel Corporation Device 5545 02:03.0 VGA compatible controller: Silicon Motion, Inc. Device 0718 (rev a0) 03:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Caicos [Radeon HD 6450] 03:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Caicos HDMI Audio [Radeon HD 6400 Series]
Перечень устройств USB (полностью на Pastebin)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub" Bus 001 Device 003: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub" Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Контроллер периферийных интерфейсов («южный мост») на микросхеме 1991ВГ1Я реализует шины PCI и PCI Express, содержит контроллеры ATA 100 Мбайт/с и SATA 300 Мбайт/с, а также Ethernet 100/1000 Мбит/с. Внешними контроллерами реализуются интерфейсы USB 2.0 и RS?232, а также поддержка подключения дисплея, динамиков и микрофона. Обращает на себя внимание, что контроллер последовательных и параллельных портов реализует интерфейс IEEE 1284, но LPT-порт на плате отсутствует. Кроме того, разводка под GPIO есть, но сам коннектор не припаян.
Поскольку все прочие компоненты компьютера являются товарами широкого потребления, подробно рассматривать их нет смысла. Отметим только одну особенность: при общей демократичности всей конструкции и даже явном разрешении заменять внешние и внутренние компоненты на любые аналогичные, твердотельный диск прикручен к материнской плате и опломбирован: на гайки нанесена краска. Это существенно осложняет эксперименты, так как на этом диске расположены все файлы системы и пользовательских данных, — извлечь и сделать резервную копию на другом компьютере уже не выйдет, а воспользоваться каким-нибудь Live-диском для x86 у нас не получилось, равно как и запустить штатную систему в однопользовательском режиме с подключением дисков только на чтение.
Опломбированное крепление твердотельного накопителя
Дополнение от 09.02.2016. В комментариях напоминают о существовании ОСТ 107.460091.014 «Соединения резьбовые. Способы и виды предохранения от самоотвинчивания», высказывая предположение, что краскослой в первую очередь может служить дополнительным стопором для гаек. Не исключено, что так оно и есть, но ведь в мире крепежа имеются альтернативные решения, допускающие многоразовое использование.
Также критики заслуживает система охлаждения. С одной стороны, свою работу она выполняет: даже под длительной нагрузкой радиатор процессора не нагревается выше 33 °C (программные средства мониторинга внутренней температуры ядра, такие как mbmon или lmsensors, нами обнаружены не были), а вентиляторы южного моста и корпуса попросту не установлены — наверное, они требуются только в тяжёлых климатических условиях. С другой стороны, шума эта система издаёт не то чтобы много, но и на роль тихого компьютера претендовать не может. Мы не стали выяснять, кто больше виноват, — вентилятор в блоке питания или вентилятор на процессоре, — но заметим, что все разъёмы на материнской плате имеют 4 контакта (что намекает на импульсное управление частотой вращения вентилятора), а на процессоре установлен 3?контактный кулер.
Из совсем мелких недочётов: на материнской плате не подписано назначение контактов разъёма передней панели, к которому подключаются кнопки включения и сброса, а также индикаторы питания и активности дисков. Если отсоединить кабели, то разобраться без документации, что к чему, будет практически невозможно, — враг не сумеет включить компьютер, страна может спать спокойно.
Документация выполнена «по уставу»: исключительно в твёрдой копии, с обложкой из обёрточной бумаги, с пометками от руки, где полагается. Там довольно подробно описывается аппаратная часть, благодаря чему вы имели возможность ознакомиться с вышеприведёнными схемами. Но когда доходит до программной части — тут всё руководство по эксплуатации умещается на двух страничках и сформулировано в стиле «Дайте приказ на завершение работы, дождитесь завершения выполнения приказа и выключите вычислительный комплекс» (как поступать при отказе несознательной машины выполнять приказ, не сообщается; опущены даже такие подробности, какой командой или какими кнопками отдавать этот приказ, и кому конкретно его отдавать, — может, надо выпустить общий приказ по гарнизону?). Освещение большей доли вопросов сводится к отсылке на другие документы, которые, видимо, надо запрашивать отдельно, — в публичный доступ документация не выкладывается.
В следующей части статьи мы рассмотрим программное обеспечение — операционную систему «Эльбрус» с входящими в её состав приложениями.