Эльбрус 8 – «Эльбрус-8С в суперкомпьютерных приложениях вычислительной газовой динамики» в блоге «Электроника и электротехника»

Содержание

СХД AERODISK на отечественных процессорах Эльбрус 8С / AERODISK corporate blog / Habr

Привет, читатели Хабра. Хотим поделиться крайне приятной новостью. Мы, наконец-то, дождались реального серийного выпуска нового поколения российских процессоров Эльбрус 8С. Официально серийный выпуск должен был стартовать аж в 2016 году, но, по факту, именно массовое производство началось только в 2019 году и на текущий момент выпущено уже около 4000 процессоров.

Практически сразу после старта серийного производства данные процессоры появились и у нас в Аэродиске, за что хотим отдельно поблагодарить компанию НОРСИ-ТРАНС, которая любезно предоставила нам свою аппаратную платформу Яхонт УВМ, поддерживающую процессоры Эльбрус 8С, для выполнения портирования программной части СХД. Это современная, отвечающая всем требованиям МЦСТ универсальная платформа. На данный момент платформа используется спец.потребителями и операторами связи для обеспечения выполнения установленных действий при проведении оперативно-розыскных мероприятий.

На текущий момент портирование успешно завершено, и уже сейчас СХД AERODISK доступна в варианте с отечественными процессорами Эльбрус.

В этой статье мы расскажем о самих процессорах, об их истории, архитектуре и, конечно же, о нашей реализации СХД на Эльбрусе.

История

История процессоров Эльбрус берет свое начало во времена Советского союза. В 1973 году в Институте точной механики и вычислительной техники им. С.А. Лебедева (имени того самого Сергея Лебедева, который ранее руководил разработкой первого советского компьютера МЭСМ, а позже БЭСМ) стартовала разработка многопроцессорных вычислительных комплексов под названием «Эльбрус». Руководил разработкой Всеволод Сергеевич Бурцев, также активное участие в разработке принимал Борис Арташесович Бабаян, который являлся одним из заместителей главного конструктора.

Всеволод Сергеевич Бурцев

Борис Арташесович Бабаян

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

Первый компьютер «Эльбрус» был завершен в 1978 году. Он обладал модульной архитектурой и мог включать в себя от 1 до 10 процессоров на базе схем средней интеграции. Быстродействие данной машины достигало 15 миллионов операций в секунду. Объем оперативной памяти, которая была общей для всех 10 процессоров, составлял до 2 в 20 степени машинных слов или 64 Мб.

Позже выяснилось, что многие используемые при разработке «Эльбруса» технологии в это же самое время исследовались в мире, и ими занималась компания International Business Machine (IBM), но работы по данным проектам, в отличие от работ по «Эльбрусу», так и не были завершены и не привели в итоге к созданию законченного продукта.

По словам Всеволода Бурцева, советские инженеры старались применять самый передовой опыт как отечественных, так и зарубежных разработчиков. На архитектуру компьютеров «Эльбрус» повлияли также компьютеры компании Burroughs, разработки Hewlett-Packard, а также опыт разработчиков БЭСМ-6.

Но при этом множество разработок были оригинальными. Самым интересным в «Эльбрусе-1» была именно его архитектура.

Созданный суперкомпьютер стал первой в СССР ЭВМ, которая применяла суперскалярную архитектуру. Массовое применение суперскалярных процессоров за рубежом началось только в 90-х годах прошлого века с появлением на рынке доступных процессоров Intel Pentium.

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

Эльбрус-2

В 1985 году «Эльбрус» получил свое логическое продолжение, был создан и отправлен в серийное производство компьютер «Эльбрус-2». По архитектуре он мало чем отличался от своего предшественника, но применял новую элементную базу, что позволило почти в 10 раз увеличить общую производительность – с 15 млн. операций в секунду до 125 млн. Объем оперативной памяти компьютера увеличился до 16 млн. 72-разрядных слов или 144 МБ. Максимальная пропускная способность каналов ввода-вывода «Эльбруса-2» составляла 120 МБ/с.

«Эльбрус-2» активно применялся в ядерных исследовательских центрах в Челябинске-70 и в Арзамасе-16 в ЦУПе, в системе ПРО А-135, а также на других военных объектах.

Комплекс СПРУТ С1200 на базе процессоров Эльбрус

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

Награды эти более чем заслуженные, Борис Бабаян позднее говорил:

«В 1978-ом году мы сделали первую суперскалярную машину, Эльбрус-1. Сейчас на Западе делают суперскаляры только такой архитектуры. Первый суперскаляр на Западе появился в 92-ом году, наш в 78-ом. Причем тот вариант суперскаляра, который сделали мы, аналогичен Pentium Pro, который Intel сделал в 95-ом году».

Эти слова об историческом первенстве подтверждают и в США, Кит Дифендорфф, разработчик Motorola 88110, одного из первых западных суперскалярных процессоров, писал:

«В 1978 году, почти на 15 лет раньше, чем появились первые западные суперскалярные процессоры, в Эльбрус-1 использовался процессор, с выдачей двух команд за один такт, изменением порядка исполнения команд, переименованием регистров и исполнением по предположению».

Эльбрус-3

Шёл 1986 год, и почти сразу после завершения работ над вторым «Эльбрусом» в ИТМиВТ начали разработку новой системы «Эльбрус-3», используя принципиально новую процессорную архитектуру. Этот подход Борис Бабаян назвал «постсуперскалярным». Именно эту архитектуру, названную потом VLIW/EPIC, в будущем (в середине 90-х годов) стали использовать процессоры Intel Itanium (а в СССР эти разработки стартовали в 1986, а завершились в 1991).

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

В 1991 году был выпущен первый и, к сожалению, единственный компьютер «Эльбрус-3», который не смогли наладить до конца, а после развала Советского Союза он стал никому не нужен, и разработки и планы так и остались на бумаге.

Предпосылки к новой архитектуре

Коллектив, работавший в ИТМиВТ над созданием советских суперкомпьютеров, не распался, а продолжил работу как отдельная компания под именем МЦСТ (Московский Центр СПАРК-Технологий). И в начале 90-х годов стартовало активное сотрудничество МЦСТ с Sun Microsystems, где коллектив МЦСТ принимал участие в разработке микропроцессора UltraSPARC.

Именно в этот период возник проект архитектуры E2K, который первоначально финансировался компанией Sun. Позднее проект стал полностью независим и вся интеллектуальная собственность на него осталась у коллектива МЦСТ.

«Если бы мы и дальше работали с Sun в этой области, то все принадлежало бы Sun. Хотя 90% работы было выполнено еще до появления Sun». (Борис Бабаян)

Архитектура E2K

Когда мы обсуждаем архитектуру процессоров «Эльбрус», очень часто от наших коллег по ИТ-индустрии мы слышим следующие заявления:

«Эльбрус – это же RISC-архитектура»

«Эльбрус – это же EPIC-архитектура»

«Эльбрус – это же SPARC-архитектура»

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

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

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

Теперь ещё немного о названии архитектуры, в отношении которого тоже есть непонимание.

В разных источниках можно встретить следующие названия данной архитектуры: «E2K», «Эльбрус», «Эльбрус 2000», ELBRUS («ExpLicit Basic Resources Utilization Scheduling», т.е. явное планирование использования основных ресурсов). Все эти названия говорят об одном и том же – об архитектуре, но в официальной технической документации, а также на технических форумах для обозначения архитектуры используется название E2K, поэтому в дальнейшем если мы говорим о процессорной архитектуре, мы используем термин «E2K», а если про конкретный процессор, то используем название «Эльбрус».

Технические особенности архитектуры E2K

В традиционных архитектурах типа RISC или CISC (х86, PowerPC, SPARC, MIPS, ARM) на вход процессора поступает поток инструкций, которые рассчитаны на последовательное исполнение. Процессор может обнаруживать независимые операции и запускать их параллельно (суперскалярность) и даже менять их порядок (внеочередное исполнение). Однако динамический анализ зависимостей и поддержка внеочередного исполнения имеет свои ограничения в количестве запуска и анализа команд за один такт. Кроме того, соответствующие блоки внутри процессора потребляют заметное количество энергии, и сложнейшая их реализация порой приводит к проблемам стабильности или безопасности.

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

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

Текущие возможности архитектуры E2K:

  • 6 каналов арифметико-логических устройств (АЛУ), работающих параллельно.
  • Регистровый файл из 256 84-разрядных регистров.
  • Аппаратная поддержка циклов, в том числе с конвейеризацией. Повышает эффективность использования ресурсов процессора.
  • Программируемое асинхронное устройство предварительной подкачки данных с отдельными каналами считывания. Позволяет скрыть задержки от доступа к памяти и полнее использовать АЛУ.
  • Поддержка спекулятивных вычислений и однобитовых предикатов. Позволяет уменьшить число переходов и параллельно исполнять несколько ветвей программы.
  • Широкая команда, способная при максимальном заполнении задать в одном такте до 23 операций (более 33 операций при упаковке операндов в векторные команды).

Эмуляция х86

Еще на этапе проектирования архитектуры у разработчиков было понимание важности поддержки программного обеспечения, написанного для архитектуры Intel х86. Для этого была реализована система динамической (т.е. в процессе исполнения программы, или «на лету») трансляции двоичных кодов х86 в коды процессора архитектуры E2K. Эта система может работать как в режиме приложения (на манер WINE), так и в режиме, аналогичном гипервизору (тогда возможно запустить целиком гостевую ОС для архитектуры х86).

Благодаря нескольким уровням оптимизации удается достичь высокой скорости работы оттранслированного кода. Качество эмуляции архитектуры х86 подтверждается успешным запуском на вычислительных комплексах «Эльбрус» более 20 операционных систем (в том числе несколько версий Windows) и сотен приложений.

Защищенный режим исполнения программ

Одна из самых интересных идей, унаследованных от архитектур Эльбрус-1 и Эльбрус-2 – это так называемое защищенное исполнение программ. Его суть заключается в том, чтобы гарантировать работу программы только с инициализированными данными, проверять все обращения в память на принадлежность к допустимому диапазону адресов, обеспечивать межмодульную защиту (например, защищать вызывающую программу от ошибки в библиотеке). Все эти проверки осуществляются аппаратно. Для защищенного режима имеется полноценный компилятор и библиотека runtime-поддержки. При этом надо понимать, что налагаемые ограничения приводят к невозможности организации выполнения, например, написанного на C++ кода.

Даже в обычном, «незащищенном» режиме работы процессоров «Эльбрус» имеются особенности, повышающие надежность системы. Так, стек связующей информации (цепочка адресов возврата при процедурных вызовах) отделен от стека пользовательских данных и недоступен для таких применяемых в вирусах атак, как подмена адреса возврата.

Эти разработки позволяют не только догнать и в будущем превзойти конкурирующие архитектуры в плане производительности и масштабируемости, но и обеспечить защиту от ошибок, которыми страдают x86/amd64. Закладок типа Meltdown (CVE-2017-5754), Spectre (CVE-2017-5753, CVE-2017-5715), RIDL (CVE-2018-12126, CVE-2018-12130), Fallout (CVE-2018-12127), ZombieLoad (CVE-2019-11091) и им подобных.

Современная защита от найденных уязвимостей в архитектуре х86/amd64 базируется на заплатках на уровне операционных систем. Именно поэтому падение производительности на текущих и предыдущих поколениях процессоров данных архитектур настолько заметно и составляет от 30% до 80%. Мы как активные пользователи x86-процессоров об этом знаем, страдаем и продолжаем «есть кактус», а вот наличие решения этих проблем на корню для нас (и в итоге для наших заказчиков) несомненное благо, тем более если решение российское.

Технические характеристики

Ниже приведены официальные технические характеристики процессоров «Эльбрус» прошлого (4С), актуального (8С), нового (8СВ) и будущего (16С) поколений в сравнении с аналогичными процессорами Intel x86.

Даже беглый взгляд на данную таблицу показывает (и это очень радует), что технологическое отставание отечественных процессоров, которое 10 лет назад казалось непреодолимым, уже сейчас кажется совсем небольшим, а 2021 году с запуском «Эльбрус-16С» (который, ко всему прочему, будет поддерживать виртуализацию) сократится до минимальных дистанций.

СХД AERODISK на процессорах Эльбрус 8С

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

Теперь детали…

Аппаратная часть

Аппаратная часть СХД реализована на базе универсальной платформы Яхонт УВМ компании НОРСИ-ТРАНС. Платформа Яхонт УВМ получила статус телекоммуникационного оборудования российского происхождения и включена в единый реестр российской радиоэлектронной продукции. Система представляет из себя два отдельных контроллера СХД (по 2U каждый), которые соединены между собой интерконнектом 1G или 10G Ethernet, а также с общими дисковыми полками, используя SAS-подключение.

Конечно, это не так красиво, как формат «Cluster in a box» (когда контроллеры и диски с общим бэкплейном установлены в одном шасси 2U), который мы используем обычно, но уже в ближайшем будущем он также будет доступен. Тут главное, чтобы работало хорошо, а о «бантиках» подумаем позже.

Под капотом каждый контроллер имеет однопроцессорную материнскую плату c четырьмя гнёздами под оперативную память (DDR3 для процессора 8С). Также на борту каждого контроллера имеется по 4 порта 1G Ethernet (два из которых используются ПО AERODISK ENGINE как служебные) и по три PCIe-разъема для Back-end (SAS) и Front-end (Ethernet или FibreChannel) адаптеров.

В качестве загрузочных дисков используются российские SATA SSD диски компании GS Nanotech, которые мы неоднократно тестировали и использовали в проектах.

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

Операционная система

В качестве ОС используется версия ОС Альт 8СП для сертификации. В скором времени мы планируем создание подключаемого и постоянно обновляемого репозитория для ОС Альт c ПО СХД Аэродиск.

Данная версия дистрибутива построена на текущей стабильной версии ядра Linux 4.9 для Е2K (ветка с долговременной поддержкой портирована специалистами МЦСТ), дополненной патчами по функциональности и безопасности. Все пакеты в ОС Альт собраны непосредственно на «Эльбрусах» с использованием оригинальной транзакционной сборочной системы проекта ALT Linux Team, что позволило уменьшить трудозатраты на сам перенос и уделить больше внимания качеству продукта.

Любой выпуск ОС Альт для Эльбрус можно существенно расширить в плане функциональности, воспользовавшись доступным для него репозиторием (от примерно 6 тысяч исходных пакетов для восьмой версии до примерно 12 – для девятой).

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

ПО Системы хранения данных

При портировании мы сразу отказались от идеи использовать поддерживаемую в E2K эмуляцию x86, а стали работать с процессорами напрямую (благо Альт уже имеет необходимые для этого средства).

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

По факту в реализации AERODISK ENGINE на E2K поддерживается большая часть существующего функционала СХД, который есть в x86. В качестве ПО системы хранения используется актуальная на текущий момент версия AERODISK ENGINE (A-CORE версия 2.30)

Без особых проблем на E2K были заведены и протестированы для использования в продуктиве следующие функции:

  • Отказоустойчивость до двух контроллеров и многопутевой ввод-вывод (mpio)
  • Блочный и файловый доступ с тонкими томами (пулы RDG, DDP; протоколы FC, iSCSI, NFS, SMB включая интеграцию с Active Directory)
  • Различные уровни RAID до тройной чётности (включая возможность использования конструктора RAID)
  • Гибридное хранение (совмещение SSD и HDD в рамках одного пула, т.е. кэш и тиринг)
  • Варианты экономии пространства с помощью дедупликации и компрессии
  • ROW-снэпшоты, клоны и разные варианты репликации
  • И другие маленькие, но полезные функции, такие как QoS, global hotspare, VLAN, BOND и т.п.

По факту на E2K нам удалось завести весь наш функционал, кроме многоконтроллерности (больше двух) и планировщик многопоточного ввода-вывода, который позволяет увеличивать производительность all-flash пулов на 20-30%.

Но эти полезные функции мы, естественно, тоже добавим, вопрос времени.

Немного о производительности

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

К примеру, на двухконтроллерной СХД (2xCPU E8C 1.3 Ghz, 32 GB RAM + 4 SAS SSD 800GB 3DWD), в которой был отключен RAM-кэш, мы создали два пула DDP с основным уровнем RAID-10 и два LUN по 500G и подключили эти LUN-ы по iSCSI (10G Ethernet) к Linux-хосту. И выполнили один из базовых часовых тестов на небольшие блоки последовательной нагрузки с помощью программы FIO.

Первые результаты оказались вполне позитивными.

Нагрузка на процессоры в среднем была на уровне 60%, т.е. это базовый уровень, на котором СХД может спокойно работать.

Да, это далеко не highload и под высокопроизводительные СУБД какого-нибудь биллинга этого явно не хватит, но, как показывает наша практика, этих характеристик достаточно для 80% общих задач, под которые используются СХД.

Чуть позже мы планируем вернуться с детальным отчетом о нагрузочных тестах Эльбруса как платформы для СХД.

Светлое будущее

Как мы писали выше, массовое производство Эльбруса 8С по факту стартовало буквально недавно – в начале 2019 года и к декабрю уже было выпущено около 4000 процессоров. Для сравнения, процессоров предыдущего поколения Эльбрус 4С за весь период их производства было выпущено всего 5000, так что прогресс налицо.

Понятное дело, что это капля в море, даже для российского рынка, но дорогу осилит идущий.

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

Такие производственные планы — это заявка на очень значимую долю всего отечественного рынка серверных процессоров.

В итоге уже здесь и сейчас мы имеем хороший и современный российский процессор с понятной и на наш взгляд верной стратегией развития, на базе которого есть максимально защищенная и сертифицированная система хранения данных российского производства (а в будущем и система виртуализации на Эльбрус-16С). Система российская настолько, насколько сейчас это физически возможно в современных условиях.

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

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

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

На этом пока все, пишите, пожалуйста ваши комментарии, вопросы и, конечно, критику. Мы всегда рады.

Также от лица всей компании Аэродиск хочу поздравить всё российское ИТ-сообщество с наступающим Новым годом и Рождеством, пожелать 100% аптайма – и чтобы бэкапы в новом году никому не пригодились))).

Используемые материалы

Статья с общим описанием технологий, архитектур и персоналий:
https://www.ixbt.com/cpu/e2k-spec.html

Краткая история компьютеров под именем «Эльбрус»:
https://topwar.ru/34409-istoriya-kompyuterov-elbrus.html

Общая статья об архитектуре e2k:
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_2000

Статья именно о 4-м поколении (Эльбрус-8С) и 5-м поколении (Эльбрус-8СВ, 2020 год):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-8%D0%A1

Спецификации следующего 6-го поколения процессоров (Эльбрус-16СВ, 2021 год):
https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-16%D0%A1

Официальное описание архитектуры Эльбрус:
http://www.elbrus.ru/elbrus_arch

Планы разработчиков аппаратно-программной платформы «Эльбрус» по созданию суперкомпьютера экзафлопсной производительности:
http://www.mcst.ru/files/5a9eb2/a10cd8/501810/000003/kim_a._k._perekatov_v._i._feldman_v._m._na_puti_k_rossiyskoy_ekzasisteme_plany_razrabotchikov.pdf

Российские технологии «Эльбрус» для персональных компьютеров, серверов и суперкомпьютеров:
http://www.mcst.ru/files/5472ef/770cd8/50ea05/000001/rossiyskietehnologiielbrus-it-edu9-201410l.pdf

Старая статья Бориса Бабаяна, но до сих пор актуальная:
http://www.mcst.ru/e2k_arch.shtml

Старая статья Михаила Кузьминского:
https://www.osp.ru/os/1999/05-06/179819

Презентация МЦСТ, общая информация:
https://yadi.sk/i/HDj7d31jTDlDgA

Информация об ОС Альт для платформы Эльбрус:
https://altlinux.org/эльбрус

https://sdelanounas.ru/blog/shigorin/

8-ядерный микропроцессор Эльбрус-8С запущен в производство

Компания ЗАО «МЦСТ» запустила в производство опытную партию универсальных микропроцессоров Эльбрус-8С. Расчётная рабочая частота чипа — 1.3 ГГц, технология производства – 28 нм, вычислительная мощность составляет 250 гигафлопс. Получение готовых образцов микросхем ожидается в октябре 2014 года.

Микропроцессор Эльбрус-8С — полностью российская разработка. Кристалл микропроцессора спроектирован по технологии 28 нм, имеет 8 процессорных ядер с улучшенной 64-разрядной архитектурой Эльбрус 3-го поколения, кэш-память 2-го уровня общим объёмом 4 мегабайта и 3-го уровня объёмом 16 мегабайт.

Узнайте о нем подробнее …

На базе микропроцессора Эльбрус-8С планируется организовать массовое производство серверов, рабочих станций и других средств вычислительной техники, предназначенных для применения в государственных учреждениях и бизнес-структурах, предъявляющих повышенные требования к информационной безопасности, а также для применения в области высокопроизводительных вычислений, обработки сигналов, телекоммуникации. Инженерные образцы 4-процессорного сервера на базе процессоров Эльбрус-8С с производительностью 1 терафлопс будут изготовлены в конце 2014 года.

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

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

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

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

Базовой операционной системой для платформы Эльбрус является ОС «Эльбрус», построенная на базе ядра Linux. Система программирования платформы поддерживает языки С, С++, Java, Фортран-77, Фортран-90.

 

Основные характеристики разрабатываемого микропроцессора:

Параметр Значение Примечание
Архитектура процессора «Эльбрус» Количество вычислительных устройств с плавающей запятой увеличено с 4 до 6
Количество ядер 8
Кэш-память 2го уровня 8 * 512 КБ Отдельная кэш-память для каждого ядра
Кэш-память 3го уровня 16 МБ Разделяемая между всеми ядрами
Рабочая частота 1.3 ГГц Расчётное значение
Производительность ~250 ГФлопс На операциях с одинарной точностью (FP32)
Тип контроллеров памяти DDR3-1600 С поддержкой ECC
Кол-во контроллеров памяти 4
Поддержка многопроцессорных систем До 4 процессоров В системе поддержки кэш-когерентности реализована фильтрация снупирования
Каналы межпроцессорного обмена (пропускная способность) 3 (16 ГБ/с) Каналы дуплексные (пропускная способность в каждую сторону — 8 ГБ/с)
Технологический процесс 28 нм

Разрабатываемый микропроцессор совместим с разрабатываемым южным мостом КПИ-2.

Ожидаемый год завершения работы: 2015

 

 

Все привыкли к тому, что на рынке микропроцессоров балом правят три крупных американских производителя: Intel, AMD и IBM. Это действительно так! Однако это не означает, что микропроцессоры больше никто не производит. Как правило, в большинстве развитых стран есть собственные «государственные» производители интегральных схем. Не стоит думать, что они пытаются каким-то образом составить конкуренцию «большой тройке» — вовсе нет. Причина локальной разработки и производства процессоров кроется несколько в другом, а именно в необходимости выпуска собственных решений для оборонной отрасли, где использование иностранной электронной базы запрещается из соображений национальной безопасности.

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

Однако для начала мы вернемся в прошлое и взглянем, как зарождалась архитектура «Эльбрус».

Процессор «Эльбрус» производства МЦСТ

 

Трудиться над архитектурой «Эльбрус» начали более 40 лет назад, а именно в 1973 году. Работы велись в стенах «Института точной механики и вычислительной техники имени Лебедева» (ИТМиВТ) под руководством академика Всеволода Сергеевича Бурцева — известного ученого в области систем управления и конструирования универсальных ЭВМ. Конечно же, «заказ» на подобного рода компьютерную технику поступил от военных.

Всеволод Бурцев — человек, стоящий у истоков архитектуры «Эльбрус»

Выпуск первого поколения компьютеров с архитектурой «Эльбрус» состоялся в 1980 году. Их особенностью являлась масштабируемая архитектура: они поддерживали параллельную работу до 10 процессоров одновременно. Объем оперативной памяти составлял 64 Мбайт (или 220 машинных слов), а быстродействие такого компьютера достигало отметки в 12 миллионов операций в секунду.

Компьютер «Эльбрус»

Однако главной инновацией «Эльбруса» была его суперскалярная архитектура — в компьютерах она применялась впервые. Как выяснилось позднее, на то время компания IBM уже имела некоторые разработки в этой области, однако довести суперскалярную архитектуру до массовых решений по разным причинам они так и не смогли. Поэтому американские производители начали использовать суперскалярную архитектуру лишь в 1990-х годах. Первыми массовыми устройствами с такой архитектурой стали процессоры Intel Pentium.

Процессор Pentium стал первой разработкой Intel, использующей суперскалярную архитектуру

Спустя пять лет после выхода первого поколения процессоров завершилась разработка компьютера «Эльбрус-2». Архитектурно он несильно отличались от «Эльбрус-1», однако в них применялась другая элементная база, что позволило поднять производительность новых процессоров более чем в 10 раз — до 125 млн операций в секунду. Также был увеличен объем оперативной памяти компьютера: с 64 Мбайт до 144 Мбайт, а пропускная способность каналов ввода/вывода составила 120 Мбайт/с.

«Эльбрус-2», как и его предшественник, был предназначен для использования в оборонной отрасли. В итоге компьютер эксплуатировался в Центре управления космическими полетами, а также в ядерных исследовательских центрах в Арзамасе-16 и Челябинске-70. Помимо этого, существовала и другая версия «Эльбрус-2», оптимизированная под более простые задачи. Она носила название «Эльбрус 1-КБ» и пришла на смену устаревающей системе БЭСМ-6, которая к тому времени использовалась уже на протяжении двух десятков лет. Разработчики сохранили программную совместимость между «Эльбрус 1-КБ» и БЭСМ-6, поэтому переход на новые компьютеры оказался вполне безболезненным.

Компьютер «Эльбрус-2»

После успешного выпуска «Эльбрус-2» полным ходом шла разработка нового компьютера, который ожидаемо получил название «Эльбрус-3». В третьем поколение устройств планировалось огромное количество архитектурных изменений. Разработчики из ИТМиВТ именовали новую архитектуру «постсуперскалярной». Данный принцип лежал в основе архитектуры будущих процессоров Intel Itanium. Поэтому, как бы это странно ни звучало, но отечественные инженеры вновь в плане внедрения инноваций опережали своих западных коллег.

Однако дальше проектирования дело не дошло. В 1994 году был создан тестовый образец процессора «Эльбрус-3», но серийное производство так и не было налажено по достаточно глупой причине: устройство оказалось совсем не востребованным. Спустя 6 лет уже инженеры компании МЦСТ пытались воплотить в жизнь идеи «Эльбрус-3» в новом процессоре «Эльбрус-2000» (также известного как Е2К), который теоретически мог стать конкурентом анонсированному процессору Intel Itanium. Однако массовое производство «Эльбруса-2000» требовали значительных финансовых вливаний, а найти инвестора разработчикам так и не удалось.

Создание МЦСТ и ее разработки

Стоит сделать небольшое отступление и сказать пару слов о МЦСТ, которая со времен «Эльбрус-3» и занимается разработкой подобных решений. Компания была основана 2 марта 1992 года как Товарищество с ограниченной ответственностью (ТОО) «Московский центр SPARC-технологий» (МЦSТ). Наличие аббревиатуры SPARC в названии связано с тем, что на тот момент компания МЦСТ рассматривала в качестве основного партнера американскую корпорацию Sun Microsystems, которая продвигала свои вычислительные машины с архитектурой SPARC. И наличие этой аббревиатуры в названии предоставляло ей существенные льготы при сотрудничестве. Например, МЦСТ получила доступ к передовым технологиям проектирования микропроцессорной техники, операционным системам, системам программирования и другим технологиям. На период развития компании это было очень существенной поддержкой. И если поначалу компания работала в тесном сотрудничестве с такими гигантами, как Sun Microsystems, Avanti, Compass, Synopsys, то вскоре инженеры МЦСТ, набравшись опыта, полностью переключились на разработку устройств по государственным заказам.

Эльбрус-8С

Микропроцессор «Эльбрус-8С» (1891ВМ10Я) — высокопроизводительный процессор общего назначения с улучшенной архитектурой Эльбрус, позволяющей выполнять до 25 операций за один такт в каждом ядре — 250 млрд операций с плавающей запятой в секунду. Спроектирован и изготовлен по технологическим нормам 28 нм, позволяющим снизить энергопотребление.

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

Эльбрус-8С

Наличие 4 каналов доступа к памяти и 3 каналов межпроцессорного обмена позволяет строить масштабируемые вычислительные комплексы, обеспечивающие высокую скорость обработки и передачи информации.

Особенности

  • Оригинальная архитектура Эльбрус, обеспечивающая высокую производительность в математических расчётах, криптографии, цифровой обработке сигналов.
  • Аппаратная поддержка защищенных вычислений. Отдельный стек вызовов, дающий преимущества с точки зрения информационной безопасности.
  • Исполнение двоичных кодов в системе команд Intel х86 и х86-64 с помощью динамической трансляции без перекомпиляции программ.
  • Расширенный температурный диапазон от −60 до +85 градусов.

Технические характеристики

Серия микросхемы 1891ВМ10Я
Модельный ряд 1891ВМ10АЯ — с тактовой частотой до 1300 МГц
1891ВМ10БЯ — с тактовой частотой до 1000 МГц
Технические характеристики
Архитектура Эльбрус, версия 4
Масштабируемость 8 ядер в процессоре
4 процессора в модуле (16 Гбайт/с попарные связи)
2 модуля в машине
Тактовая частота 1300 МГц (1891ВМ10АЯ)
1000 МГц (1891ВМ10БЯ)
Пиковая производительность 25 операций в такт в каждом ядре (8 цел., 12 веществ.)
250 GFLOPS одинарной точности, 125 GFLOPS двойной точности
Кэш-память L1: 64 Кбайт данные + 128 Кбайт команды в каждом ядре
L2: 512 Кбайт в каждом ядре, 4 Мбайт суммарно
L3: 16 Мбайт в процессоре
Оперативная память 4 канала DDR3-1600 registered ECC, до 51,2 Гбайт/с
64 Гбайт на процессор
1 Тбайт адресное пространство машины
Периферия 1 канал ввода-вывода, до 16 Гбайт/с
совместимый контроллер — КПИ-2
Технологические параметры
Топология 2,73 млрд. транзисторов
28 нм техпроцесс, 321 мм² площадь кристалла
Корпус 59,5×43,0×4,6 мм, 32,0 г
2028 контактов FCBGA
Электропитание 0,9 В, 1,0 В, 1,15 В, 1,5 В, 1,8 В
80 Вт (1891ВМ10АЯ)
60 Вт (1891ВМ10БЯ)
Условия эксплуатации −60…+85 °C
−40…+90 °C
Доступность серийный выпуск с 2016 года
Документация ТВГИ.431281.016

2018

Сервер с погружным охлаждением на «Эльбрус-8С»

24 сентября 2018 года в России появилось серверное решение на основе отечественных восьмиядерных процессоров «Эльбрус-8С». В ходе его создания четыре таких процессора были объединены между собой российским интерконнектом «Ангара», разработанным в Научно-исследовательском центре электронной вычислительной техники (НИЦЭВТ). Размер общей для всех процессоров оперативной памяти составил 256 ГБ.

Данный сервер был объединен в кластер с аналогичным сервером на основе четырех четырехъядерных процессоров «Эльбрус-4С» — также с «Ангарой». После этого данный кластер был для охлаждения погружен в жидкость — в серверный бокс, созданный российской компанией Immers, известной на рынке именно своими серверными решениями с погружным охлаждением.

Сервер на восьмиядерных процессорах при этом работает на ОС Windows, на четырехъядерных — на AltLinux. В целом на кластер были портированы российские софтверные технологии компаний:

Блейд-сервер на базе «Эльбрусов»

В феврале 2018 года стало известно о планах российской суперкомпьютерной компании РСК в конце года представить на рынке коммерческое блейд-серверное решение на базе отечественных процессоров «Эльбрус».

Блейд-серверное решение РСК на «Эльбрусах». Фото: CNews.ru

По словам Олега Горбачева, в 2017 году было создано, протестировано и отлажено решение РСК на базе «Эльбрус-4С», однако коммерческие планы компании связаны с серверным процессором «Эльбрус-8С».

Коллективом специалистов РСК, МЦСТ и ИНЭУМ им. И. С. Брука уже разработана материнская плата под него и выпущены первые опытные образцы, — рассказал CNews Горбачев. — В данный момент (по состоянию на середину февраля 2018 года — прим. TAdviser) идет процесс разработки решения РСК на базе этой платформы.

Планируется, что в создаваемом решении будут использоваться собственные разработки РСК, в том числе система жидкостного охлаждения на «горячей воде», система мониторинга и управления, интегрированный стек ПО «РСК базис», электропитание (блоки и пр.) и управление серверными фермами.

По оценкам специалистов РСК, теоретическая производительность одного вычислительного узла (блейд-сервера или лезвия) на базе четырех процессоров «Эльбрус-8С» будет превышать 0,5 ТФЛОПС (в двойной точности).[2]

Примечания

«Эльбрус-8С в суперкомпьютерных приложениях вычислительной газовой динамики» в блоге «Электроника и электротехника»

Камрад krom63 нашел в сети документ «Производительность процессора Эльбрус-8С в суперкомпьютерных приложениях вычислительной газовой динамики» и поделился ссылкой на него на тематическом форуме сайта ixbt.com.

В статье приводятся результаты тестирования процессора Эльбрус-8С в составе компьютера Эльбрус-801 по сравнению с микропроцессорами Интел и AMD.

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

(статья приводится с сокращениями, полный вариант статьи по ссылке ниже)

Программный комплекс NOISEtte

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

Программный комплекс Tapir

Предназначен для расчета дозвуковых и сверхзвуковых течений вязкого сжимаемого газа. Дискретизация уравнений Навье-Стокса выполняется на основе метода конечного объема с определением значений сеточных функций в центрах масс элементов гибридной неструктурированной сетки.

Особенности архитектуры процессора Эльбрус-8С

Восьмиядерный процессор Эльбрус-8С принадлежит семейству архитектур VLIW. Каждое ядро может исполнять до 25 различных элементарных операций в одном такте. Структура широкой команды (ШК) позволяет разместить:

— 1 команду передачи управления: переход, вызов, возврат;

— 3 команды предикатной логики;

— до 6 арифметико-логических операций: целочисленная, побитовая, сдвиговая и вещественная арифметика (в том числе комбинированная), обращения к памяти, сравнения, пересылки и тернарные операторы;

— 4 команды обращения к линейно-регулярным данным, включая инкремент соответствующего указателя;

— 1 команду управления цикловым счетчиком;

— 16 байт константных данных;

— команды управления регистровым окном.

Для вещественной арифметики имеется 6 арифметико-логических устройств с полностью конвейеризированными устройствами умножения и сложения формата FP32 и FP64, позволяющих запускать и завершать исполнение fmul*, fadd*/fsub*, комбинированные (состоящие из двух операций) fmul_add*/sub*/rsub* каждый такт.

Также имеется одно частично конвейеризированное устройство деления и квадратного корня, позволяющее запускать одну из операций fdiv*, fsqrt* один раз в 2 такта. Более подробно описание архитектуры представлено в [13, 14].

Подсистема памяти посредством 4 каналов DDR3 1600 обеспечивает предельный темп работы 51.2 GB/s. Иерархия кэш-памяти представлена

— кэшем данных первого уровня на каждое ядро, 64 KB, 4-way;

— кэшем инструкций первого уровня на каждое ядро, 128 KB, 4-way;

— кэшем второго уровня на каждое ядро, 512 KB, 4-way;

— инклюзивным общим для 8 ядер кэшем третьего уровня, 16 MB, 16-way.

Процессоры можно объединять в NUMA-систему до 4 процессоров, для связи между которыми используются линки пропускной способностью до 8 GB/s в каждом направлении.

Для сравнительного тестирования выбраны несколько западных аналогов процессора Эльбрус-8С. Среди них два близких по характеристикам процессора, также работающих с памятью DDR3 и выполненных по техпроцессу 22 нм и более: AMD Opteron 6276, ядро Interlagos; Intel Xeon E5- 2650v2, ядро Ivy Bridge. Также присутствуют процессоры Intel из числа наиболее современных на данный момент, работающих с памятью DDR4 и сделанных по техпроцессу 14 нм: Intel Xeon E5-2683v4, ядро Broadwell, и Intel Xeon Platinum 8160, ядро Skylake. В таблице 3 приведены количество ядер, тактовая частота (ГГц), пиковая производительность (GFLOPS), пропускная способность памяти (GB/s), энергопотребление (Вт), техпроцесс (нм).

Параллельное ускорение.

Данное измерение показывает, во сколько раз ускоряется расчет на многоядерном процессоре в многопоточном режиме с OpenMP распараллеливанием относительно последовательного исполнения на том же процессоре. Результаты ускорения на 8 ядрах представлены в таблице 4. Ускорение на процессоре Эльбрус-8С, 5-6 раз, в целом хорошо соответствует западным аналогам. У большинства процессоров можно отметить слабое ускорение операций с низкой вычислительной интенсивностью, ограниченных пропускной способностью памяти (SpMV, Grad). При этом Skylake демонстрирует одинаково высокое ускорение на всех операциях, благодаря более мощной подсистеме памяти, имеющей 6 каналов DDR4.

Сравнение одиночного ядра.

В этом тесте сравнивается производительность вычислений в последовательном режиме. Результаты, представленные в таблице 5, показывают соотношение производительности с процессором Эльбрус-8С, скорость работы которого принята за единицу. На коде NOISEtte разница с процессорами Intel составила около 3 раз. В пересчете производительности на такт это соответствует разнице около полутора раз (поскольку у процессоров Intel частота примерно вдвое выше). Относительно AMD проигрыш составил около 1.4 раз. Важно отметить, что NOISEtte имеет существенно более сложную реализацию и логику работы (вычислительная часть порядка десятка тысяч строк), чем Tapir (порядка тысячи строк). Для большинства ресурсоемких операций NOISEtte не выполнялось никакой специальной адаптации к архитектуре Эльбрус. Для Tapir была выполнена сравнительно несложная адаптация вычислений под архитектуру Эльбрус, описанная выше в разделе 3. На коде Tapir разница с Intel составила всего около полутора раз. Таким образом, на данном приложении Эльбрус-8С демонстрирует более высокую производительность на такт, чем аналоги Intel. Ядро AMD оказалось медленнее Эльбруса примерно в полтора раза.

Сравнение производительности на 8 ядрах.

В этом тесте сравнивается производительность вычислений в многопоточном режиме на одинаковом с Эльбрус-8С числе ядер. В параллельном режиме уже существенное влияние на результат оказывает производительность подсистемы памяти, поскольку 8 потоков могут полностью исчерпывать пропускную способность памяти. Результаты по соотношению с Эльбрусом показаны в таблице 6. Сравнивая с таблицей 5, можно отметить, что на коде NOISEtte соотношение изменилось в пользу Эльбруса. В этом тесте Эльбрус обгоняет AMD на обоих кодах. Для кода Tapir разница с Intel составила около 2 раз.

Сравнение всего процессора.

В этом тесте сравнивается производительность вычислений в многопоточном режиме на всех ядрах процессора. Результаты приведены в таблице 7.

Процессор AMD смотрится заметно слабее Intel. 8-ядерный Эльбрус-8С обгоняет на коде Tapir этот 16- ядерный процессор. 16- и 24-ядерные процессоры Intel за счет высокого OpenMP ускорения заметно прибавили относительно 8-ядер, разница с Эльбрусом составила уже примерно 3-7 раз.

Производительность вычислений.

Для измерения фактической производительности было посчитано число арифметических операций в коде Tapir. Также в качестве примера операции, сильно ограниченной пропускной способностью памяти, была выбрана операция NOISEtte SpMV, имеющая наименьшую вычислительную интенсивность из рассматриваемых — около 0.2 FLOP на байт, что примерно в 10 раз ниже, чем у кода Tapir. Результаты представлены в таблице 8, в которой также приводится процент от теоретического пика устройств.

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

Также можно отметить низкий процент от пика у Skylake, который имеет учетверенное число операций на такт по сравнению с предшественником Broadwell. Можно сделать вывод, что на рассматриваемом типе алгоритмов, в основном в силу ограничений пропускной способности памяти, удвоение числа векторных арифметических устройств и расширение в 2 раза векторных регистров не дало прироста производительности.

Заключение

Производительность вычислений на многоядерных процессорах Эльбрус8С была исследована на реальных приложениях вычислительной газовой динамики. Использовались два программных комплекса для моделирования сжимаемых течений на неструктурированных сетках, NOISEtte [6] и Tapir [11].

Рассматривались несколько моделей процессоров Intel Xeon, от моделей 5- летней давности до наиболее современных. Чудес, конечно, не бывает, Эльбрус ожидаемо оказался медленнее процессоров Intel. Проигрыш по производительности ядра составил в среднем 2.6 раза для кода NOISEtte и 1.5 раза для кода Tapir. Это представляется достаточно хорошим результатом, учитывая, что тактовая частота Эльбрус-8С примерно вдвое ниже, т. е. в пересчете на такт Эльбрус не уступает Intel. Кроме того, проигрыш около двух раз на данном классе приложений является типичным даже для процессоров AMD, основного конкурента Intel. По производительности всего процессора проигрыш относительно Intel на коде NOISEtte составил от 2.5 раз против 8- ядерного Ivy Bridge до 6.8 раз против 24-ядерного Skylake, а на коде Tapir — от 2 до 5 раз, соответственно.

Для сравнения был рассмотрен 16-ядерный процессор AMD Opteron 6276 примерно 5-летней давности. Этот процессор проиграл соответствующему по времени 8-ядерному Intel Ivy Bridge примерно в 2 раза. На коде NOISEtte 8- ядерный Эльбрус-8С с частотой 1.3 ГГц оказался медленнее 16-ядерного процессора AMD с частотой 2.3 ГГц всего в 1.4 раза, а на коде Tapir Эльбрус обогнал AMD на 12%.

Также стоит отметить, что у процессоров Intel на данном типе приложений наблюдается отсутствие роста производительности ядра. Более того, современное ядро Intel Skylake оказалось на 20% медленнее ядра Intel Ivy Bridge 5-летней давности. Расширение векторных регистров и удвоение числа арифметических устройств не дало прироста производительности (с использованием только средств автоматической векторизации компилятора), в силу ограниченной пропускной способности памяти. Рост производительности современных процессоров связан в основном с увеличением числа ядер.

В то же время у процессора Эльбрус-8C производительность ядра относительно предыдущего поколения Эльбрус-4С выросла примерно в полтора раза. Это позволяет надеяться, что с выходом следующего поколения процессоров Эльбрус-16C отставание еще сократится. Ожидается, что следующая модель, выпуск которой запланирован на 2022 год, будет иметь 16 ядер, работающих на частоте 2 ГГц. Предполагается использование от 4 до 8 каналов памяти DDR4-2666, что может увеличить пропускную способность подсистемы памяти более чем в 3 раза. Также существенный вклад в рост производительности может внести дальнейшее совершенствование оптимизирующего компилятора.

Эльбрус-8С — Википедия

Материал из Википедии — свободной энциклопедии

Эльбрус-8С и Эльбрус-8СВ — 8-ядерный серверный процессор с архитектурой «Эльбрус» производства российской компании МЦСТ[1]. Опытный образец был разработан в 2014 году. В 2016 году планировалось серийное производство.[2][3] Дизайн процессора рассчитывался для решения высокопроизводительных задач. Заявленная производительность процессора равна 250 гигафлопс операций с числами с плавающей точкой.

Описание

Цель разработчиков процессора была достигнуть пиковой производительности в 250 Gflops[4].

Кристалл микропроцессора спроектирован по технологии 28 нм, имеет 8 процессорных ядер с улучшенной 64-разрядной архитектурой «Эльбрус» 3-го поколения, кэш-память 2-го уровня общим объёмом 4 мегабайта и 3-го уровня объёмом 16 мегабайт.

  • Основная особенность линейки отечественных процессоров «Эльбрус» — заложенный в архитектуру принцип явного параллелизма операций, он даёт возможность выполнять на каждом ядре до 25 операций за один машинный такт, что обеспечивает высокую производительность при умеренной тактовой частоте;
  • технология динамической двоичной трансляции, позволяющая обеспечивать эффективное исполнение приложений и операционных систем, распространяемых в двоичных кодах x86;
  • поддержка режима защищённых вычислений с особым аппаратным контролем целостности структуры памяти, которая позволяет обеспечить высокий уровень информационной безопасности использующих его программных систем.

Процессор стал частью политики Российского правительства по импортозамещению.[5][4]. Базовой операционной системой для платформы Эльбрус является ОС Эльбрус, построенная на базе ядра Linux. Система программирования платформы поддерживает языки С, С++, Java, Фортран-77, Фортран-90[6]. Также на платформе могут работать ОС ALT Linux[7] и ОСРВ QNX Нейтрино[8].

Как заявляется в компании: «Помимо создания традиционных вычислительных комплексов, прорабатываются и более масштабные проекты. В частности, производительность серверов на базе „Эльбрус-8С“ позволит в ближайшей перспективе приступить к практическому построению на их основе суперкомпьютера».

История

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

В июне 2014 года опытная партия микропроцессоров была запущена в производство[9][10][11], их изготовление ожидалось к октябрю[12], а в ноябре того же года первая партия инженерных образцов процессора и южного моста подготовлена к тестированию[13].

С середины 2014 идёт разработка новой модификации Эльбрус-8С под названием Эльбрус-8С2, в которой будет реализована поддержка ОЗУ стандарта DDR4 SDRAM и оптимизирована работа кэш-памяти процессора[14].

В январе 2016 года «ОПК» приступила к разработке первых устройств (настольные рабочие станции, ноутбуки и серверы) на базе процессора «Эльбрус-8С»[15].
Начало серийного производства планируется в первом полугодии 2016 года[16](стр. 15).

В октябре 2018 года концерн «Автоматика» госкорпорации «Ростех» начал серийное производство высокопроизводительных серверов «Эльбрус-804» в основе которого лежит четыре восьмиядерных процессора «Эльбрус-8С»[17].

Применение

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

Технические характеристики

Основные характеристики микропроцессора «Эльбрус-8C»[4][18]
Тактовая частота 1300 МГц
Число ядер 8
Пиковая производительность микросхемы, Gflops (64 разряда, двойная точность) 125
Пиковая производительность микросхемы, Gflops (32 разряда, одинарная точность) 250
Кэш-память 2-го уровня 8 * 512 КБ
Кэш-память 3-го уровня 16 МБ
Организация оперативной памяти DDR3-1600 ECC
Количество контроллеров памяти 4
Возможность объединения в многопроцессорную систему с когерентной общей памятью До 4 процессоров
Каналы межпроцессорного обмена 3, Каналы дуплексные
Пропускная способность каждого канала межпроцессорного обмена 8 ГБ/сек
Площадь кристалла 321 mm2[19](стр. 2)
Число транзисторов 2.73 миллиарда[19](стр. 2)
Энергопотребление 75—90 Вт[20](стр. 9) ~100 Вт[21](стр. 4)

Эльбрус-8СВ

Эльбрус-8СВ — 8-ядерный микропроцессор серии «Эльбрус», разрабатываемый российской компанией МЦСТ. Производительность — 288 Гфлопс ДТ[22], 576 одинарной точности, заявленный техпроцесс — 28 нм[23]. Завершение ОКР планируется в 2018 году[24].

Процессор получит двукратный рост числа операций за такт над числами с плавающей запятой и оптимизированный кэш первого уровня[25][нет в источнике]. По планам МЦСТ, под названием Эльбрус-16С рассматривалась возможность выпуска 16-ядерной версии[22](стр. 10). Восьмиядерная версия также упоминается под названием Elbrus-8CV[26](стр. 15-16)(Эльбрус-СВ[27]). Разрядность блоков обработки чисел с плавающей запятой (FPU) будет увеличена с 64 до 128 бит. С учётом наличия в одном ядре 6 арифметико-логических каналов (АЛК), каждый из которых имеет в своём составе АЛУ и FPU, и способности FPU выполнять операции совмещённого умножения-сложения, одно ядро микропроцессора будет исполнять до 24 операций с плавающей запятой за такт (двойная точность).

Технические характеристики

Основные характеристики микропроцессора «Эльбрус-8CВ»[28]
Тактовая частота 1500 МГц
Число ядер 8
Пиковая производительность микросхемы, Gflops (64 разряда, двойная точность) 288
Пиковая производительность микросхемы, Gflops (32 разряда, одинарная точность) 576
Кэш-память 2-го уровня 8 * 512 КБ
Кэш-память 3-го уровня 16 МБ
Организация оперативной памяти DDR4-2400 ECC
Количество контроллеров памяти 4
Возможность объединения в многопроцессорную систему с когерентной общей памятью До 4 процессоров
Площадь кристалла 350 mm2
Число транзисторов 3.5 миллиарда
Энергопотребление 90 Вт

См. также

Примечания

Ссылки

«Первый Эльбрус-8СВ и защищенный ноутбук на Эльбрус-1С+ от компании «Аквамарин»»

Сотрудник ИНЭУМ Максим Горшенин представил с выставки «Нева», проходящей в Санкт-Петербурге, снимок защищенного ноутбука компании «Аквамарин» на микропроцессоре Эльбрус-1С+.

А так же снимок нового микропроцессора Эльбрус-8СВ (Эльбрус-8С2) из первой инженерной партии, недавно полученной с фаба TSMC.

Микропроцессор Эльбрус-1С+ имеет тактовую частоту 1 ГГц (1891ВМ11АЯ) и 750 МГц (1891ВМ11БЯ), выполнен по 40-нм техпроцессу. Оснащен встроенным двухканальным контроллером памяти с поддержкой DDR3-1600 ECC, а так же двумя ядрами графических ускорителей:

2D MGA2 разработки МЦСТ и 3D Vivante GC2500 с частотой 800 МГц. Микропроцессор имеет низкое энергопотребление не превышающее 10 Вт.

Новый 8-ядерный микропроцессор Эльбрус-8СВ (Эльбрус-8С2) является развитием микропроцессора «Эльбрус-8С». Он имеет тактовую частоту 1,5 ГГц. Встроенный 4-канальный контроллер памяти с поддержкой DDR4-2400 ECC. Изготовлен по 28-нм техпроцессу как и Эльбрус-8С.

Пиковая производительность 288 Гфлопс на 64-разрядных числах с плавающей точкой и 576 Гфлопс на 32-разрядных.

Микропроцессор Эльбрус-8СВ был подвергнут существенной модернизации на уровне физического дизайна. Разрядность всех шести векторных устройств обработки чисел с плавающей точкой в ядре была увеличена до 128 бит. Что позволило увеличить темп обработки до 24 операций за такт с двойной точностью и до 48 операций за такт с одинарной. Так же было принято решение отказаться от кластерной системы ядра. У всех предыдущих микропроцессоров с архитектурой «Эльбрус» ядро физически представляет из себя два кластера A и B.

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

Кэш 1 уроня тегов и данных был разработан с применением ячеек, спроектированных инженерами МЦСТ (full-custom design), что позволило уменьшить суммарное время задержек. Спроектированный вновь кэш тегов и данных может работать на частотах до 2-2,5 ГГц. Это задел на будущее, который будет использован в проектировании новейшего 16-ядерного микропроцессора Эльбрус-16С, которое уже началось.

На фото микропроцессора Эльбрус-8СВ можно увидеть число 1736.

Что означает 2017 год, 36 неделя. То есть сентябрь 2017 года!

В производство запущена опытная партия процессоров Эльбрус-8С / Habr

Сегодня в производство была запущена опытная партию универсальных микропроцессоров Эльбрус-8С, с расчётная рабочей частотой в 1.3 ГГц. Вычислительная мощность данного процессора 250 Гфлопс, а производится он по технологии – 28 нм. Получение готовых образцов микросхем ожидается в октябре 2014 года.

Микропроцессор Эльбрус-8С — полностью российская разработка, которой занимается ЗАО «МЦСТ». Его кристалл спроектирован по технологии 28 нм, имеет 8 процессорных ядер с улучшенной 64-разрядной архитектурой Эльбрус 3-го поколения, кэш-память 2-го уровня общим объёмом 4 мегабайта и 3-го уровня объёмом 16 мегабайт.

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

К концу 2014 года должны появиться опытные образцы 4-процессорного сервера на базе процессоров Эльбрус-8С с производительностью 1 терафлопс.

Отличительные особенности у отечественного процессора от своих конкурентов следующие:

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

Базовой операционной системой для платформы Эльбрус является ОС «Эльбрус», построенная на базе ядра Linux. Система программирования платформы поддерживает языки С, С++, Java, Фортран-77, Фортран-90.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *