Блог о том, как я пытаюсь в чём-нибудь разобраться

Блог о том, как я пытаюсь в чём-нибудь разобраться

среда, 10 апреля 2013 г.

В популяризацию микропроцессоров и вычислительных систем "Эльбрус"

Почему вдруг я решил написать об этом? За последнее время было несколько новостей, которые мне напомнили об изделиях, носящих это гордое название, и передовой процессорной архитектуре, получившей развитие в процессорах "Эльбрус".

Сначала я увидел фоторепортаж на новостном сайте ВЗГЛЯД про обновлённую РЛС «Дон-2Н» и в подписи к одной из них увидел, что она управляется с помощью суперкомпьютера "Эльбрус-2" образца середины 1980-х.

Минобороны показало будни системы ПРО Москвы

Я тогда ещё, прочитав, сначала с досадой подумал, неужели поновее нельзя было ничего использовать? Ведь есть же более новые Эльбрус-3, Эльбрус-2000 (E2K), Эльбрус-90микро, Эльбрус-2С+. Но почитав и разобравшись, решил, что всё достаточно логично.


Во-первых, вариант Эльбрус-90микро по-видимому отпал, так как это вычислительный комплекс (ВК) на микропроцессорах архитектуры SPARC, а не архитектуры Эльбрус. Хотя это тоже надёжные ВК, прошедшие государственные испытания, всё же архитектура Эльбрусов изначально проектировалась как более защищённая и безопасная. Под этими словами подразумевается, что в этой архитектуре не только сложно совершать информационные атаки, но и даже сложно написать неверно работающую программу. Разработка всей экосистемы Эльбрус включала в себя и микропроцессор, и вычислительные комплексы на его основе, и компилятор, и операционную систему, и язык программирования, и файловую систему.

О том, какие идеи в части защищённости были заложены и реализованы при разработке Эльбрусов 1, 2, 3, E2K можно прочитать в этой книге Бориса Бабаяна, имевшего непосредственное к этому отношение:

Защищенные информационные системы. Б. А. Бабаян, 2003 (pdf) [1,1 Мб]

Системность и глубина подхода к решению вопроса вызывает уважение. В книге рассказывается, что именно было реализовано в первом поколении (системы Эльбрус 1, 2) и во втором (системы Эльбрус 3М, Е2К). И всё это не в отрыве от реальности, а с учётом и мировых практик программирования, разработки операционных систем и защищённых вычислительных систем.
К сожалению книга не совсем закончена, т.е это какой-то редакторский вариант. Например есть ссылки на рисунки, а самих рисунков нет.

Далее, Эльбрус-3, насколько я понимаю, в серию запущен так и не был. Практика его применения отсутствует или почти отсутствует. Поэтому для военного применения на такой важной РЛС он, пожалуй, не подходит.

Архитектура Эльбрус-2000 стала развитием архитектуры Эльбруса-3. На его основе создаётся вычислительный комплекс Эльбрус-3М1 - как раз для применения в оборонных системах. Пожалуй, E2K мог бы стать более подходящим претендентом на применение в новой РЛС. Однако не в его пользу сыграли следующие факторы:
1) Насколько я понимаю, ранее - до модернизации - на этой РЛС уже использовались те же Эльбрусы-2. Конечно, более старые (станция была принята на вооружение в 1989 г., а Эльбрус-2 - сдан в 1985 году) Поэтому при таком апгрейде стало воможно значительно сэкономить на переработке и тестировании программного обеспечения. Обновили процессоры (т.е. перешли на более совершенную схемотехнику и техпроцесс), обновили сам вычислительный блок (т.е. матплаты, чипсет и прочие контроллеры, память), возможно перешли на более скоростные межсоединения.
2) Также не уверен, есть ли достаточный опыт использования Эльбрус-2000 в таких крупных комплексах, т.е. когда много таких машин трудится одновременно над одной задачей. Из описания на сайте МЦСТ следует, что Эльбрус-3М1 - это 2-хпроцессорная ЭВМ. В то время как с Эльбрусом-2 такого опыта навалом.
3) Кроме того, я нашёл информацию, что E2K да и вообще все разработки МЦСТ по современным технологическим нормам производят на Тайване. Например, об этом честно говорится в новой книге (этого года) «Микропроцессоры и вычислительные комплексы семейства “Эльбрус”» [6,2 Мб], на странице 18. Книга  написана сотрудниками ЗАО "МЦСТ", ОАО "ИНЭУМ" им. И.С.Брука, МФТИ и Военно-космической академии им. А.Ф.Можайского. Видимо в России отладить требуемый техпроцесс не удалось. В то время как по Эльбрусу-2 наработок гораздо больше, и наверняка где-то у нас есть линия по его производству. Может техпроцесс и более старый, но зато отработанный. Понятно, что с точки зрения военной приёмки это значительный критерий.

Эльбрус-2С+ в свою очередь, хоть и довольно хорошо подходит для применения в радиолокации (6-ядерный гетерогенный микропроцессор (СнК) - содержит 2 универсальных ядра «Эльбрус» и 4 ядра DSP с архитектурой Мультикор, производительность 28 Гфлопс), но является очень свежей разработкой. В 2011 году прошел успешные государственные испытания.

Другая новость, которая натолкнула меня на эти размышления, случилась совсем недавно.

Компания «Т-Платформы», осуществлявшая успешную экспансию на мировом рынке, попала в американский черный список

Т-Платформы - разработчик и производитель суперкомпьютеров. Суть запрета в том, что теперь Т-Платформы не смогут покупать электронные компоненты, произведенные с помощью американских технологий, а также не смогут производить даже свои компоненты, если при этом используются американские технологии. Это практически полный запрет на использование тех компонентов (процессоры, чипсеты, платы,...), которые Т-Платформы уже много лет используют в производстве своей продукции. Просто потому, что все современные фабрики по производству электронных компонентов содержат американские технологии. Будь они хоть в Европе, хоть на Тайване. И, насколько понимаю, все такие фабрики достаточно плотно контрлируются. Что под этим подразумевается, я нигде достаточно чётких объяснений не видел, но насколько понимаю, как минимум нужна очень плотная техподдержка поставщика как на этапе ввода в эксплуатацию, так и в последующем при различных перенастройках и доработках техпроцесса. То есть просто дать много денег, купить фабрику и сказать "идите все нафиг, что хочу, то здесь и делаю" - не получится.
Более подробно про трудности, с которыми прходится сталкиваться при заполучении микроэлектронного завода, можно прочитать здесь:

Микроэлектронная индустрия в России (2012)

И вот, соединив эти две новости, я подумал: а ведь это неплохая возможность для России, чтобы дать толчок развитию собственной микроэлектронной промышленности, а также придать большую известность разработкам ЗАО "МЦСТ". А ведь эти разработки как нельзя кстати подходят для суперкомпьютерной промышленности.
Во-первых, эти вся идеология Эльбрус (процессорная архитектура, ОС, вычислительные комплексы, компиляторы...) изначально разрабатывались под высокопроизводительные вычисления.
Во-вторых, специалисты МЦСТ немало работали и над архитектурой SPARC - тоже применяемой в мире высокопроизводительных вычислений. А именно они же приложили руку к её разработке и совершенствованию (МЦСТ - это аббревиатура от слов Московский Центр Спарк Технологий), сначала по контрактам с Sun, потом в работе над собственными разработками.
В-третьих, они всё это время не стояли на месте. Можно зайти на сайт МЦСТ и увидеть, что никакого застоя там нет и не было. Постоянно ведутся исследования и (особенно в последние годы) осваивается выпуск новых изделий. Компания участвует в выставках и профильных семинарах. Пишется много статей, написанных, в том числе, студентами и аспирантами. То есть научная школа сохранена и действует. Это замечательно.
Обзорно о результатах деятельности МЦСТ можно прочитать в этих двух статьях, выложенных на их сайте:

А.К.Ким «Российские универсальные микропроцессоры и ВК высокой производительности: результаты и взгляд в будущее (к 20-летию ЗАО «МЦСТ»)

А.К.Ким, И.Н.Бычков, В.Ю.Волконский, В.В.Воробушков, Ф.А.Груздов, М.С.Михайлов, Ю.Н.Парахин, Ю.Х.Сахин, С.В.Семенихин, М.В.Слесарев, В.М.Фельдман «Архитектурная линия “Эльбрус” сегодня: микропроцессоры, вычислительные комплексы, программное обеспечение»

Остальные статьи, как правило, посвящены конкретным техническим задачам, но эти две ценны именно тем, что являются обзорными. Поэтому позволю себе немного процитировать их, чтобы объяснить, почему разработки МЦСТ (а также ИТМиВТ и ИНЭУМ) должны заинтересовать современных производителей суперкомпьютеров.
... шансы на успех компаний, пытающихся поднять производительность путем создания новой архитектуры, заметно снижаются. Циклы разработки новых архитектур гораздо длиннее естественного периода обновления кремниевых технологий, которое приводит к ощутимому усовершенствованию доступной на рынках продукции.
К середине первого десятилетия ситуация изменилась, ибо вступили в силу ограничения по мощности. Экспоненциальный прирост мощности, необходимый для увеличения тактовой частоты процессора, достиг неприемлемых для компьютерной индустрии пределов, и разработки стабилизировались на уровне тактовой частоты ~3 ГГц и числа ядер до 16.
[...]
По этим причинам сейчас идет поиск пути повышения эффективности компьютерных систем со стандартной архитектурой при реализации высокопроизводительных вычислений.
То есть все эти годы (1990-е и 2000-е) мэйнстримовые разработчики процессоров улучшали производительность в основном экстенсивным путём: увеличение техпроцесса, увеличение количества ядер, увеличение частот процессора, памяти и интерфейсов с памятью и чипсетом. Увеличение же производительности именно за счёт архитектурных усовершенствований было сравнительно невелико. Более того, возникли проблемы. Программистам стало значительно сложнее распараллеливать свои программы на множество ядер. Попытка увеличить производительность использованием ускорителей (сейчас это GPU и FPGA) традиционны, но также привносят свои недостатки:
Прирост производительности может быть сокращен или вовсе потерян из-за накладных расходов на установку задачи в ускорителе, перемещение данных между процессором и ускорителем, координацию обоих блоков вычислений. Сложность программирования увеличивается, а производительность снижается и в тех случаях, когда универсальный процессор и ускоритель используют отдельные независимые устройства памяти, относительно которых возникает целый ряд проблем управления данными – от надлежащего расположения до эффективного перемещения.
Таким образом, сейчас закончился цикл, когда производительность вычислительных систем могла значительно повышаться экстенсивными методами. Теперь требуется улучшать именно архитектуру процессоров. И вот в этом ключе разработки МЦСТ смотрятся очень неплохо.

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

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

В-третьих, проблема с использованием ускорителей/сопроцессоров для высокпроизводительных вычислений, решается в процессорах компании МЦСТ собственным, насколько понимаю пока оригинальным, способом: разработан гетерогенный процессор Эльбрус-2С+, в котором сопроцессоры DSP находятся на одном кристалле, с обычным процессором. Это ключевой момент, отличающий от применения GPU и FPGA и облегчающий использование сопроцессоров для программиста. Также разрабатывается гетерогенный микропроцессор (СнК) «Эльбрус-1С+», в котором кроме универсального ядра «Эльбрус» будет реализовано графическое ядро.

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

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

P.S. Когда уже закончил писать, обнаружил вот эту прошлогоднюю новость: "Разработчик процессоров «Эльбрус» готовит мега-проект по суперЭВМ". Оказывается МЦСТ уже сами решили двигаться в этом направлении, не всё же для военных делать системы. Но ведь как бы всё заиграло новыми красками, если бы Т-Платформы и МЦСТ объединили свои силы!

1 комментарий:

  1. После того как поразбирался, хочу сам себя поправить.

    Эльбрус-1, Эльбрус-2 и Эльбрус-3 - это вычислительные комплексы. В них конечно были процессоры Эльбрус, но были ли у них какие-то отдельные общеизвестные названия - я не знаю.

    Эльбрус-2000 - по сути был только в разработке (впрочем, как и Эльбрус-3). Насколько я понимаю, так назывался микропроцессор.

    А вот в 2007 году была завершена разработка процессора "Эльбрус". Она включала в себя все наработки и принципы из предыдущих разработок, включая Эльбрус-2000 и Эльбрус-3. Одновременно с ним была завершена разработка вычислительного комплекса Эльбрус-3М1, в котором используются эти самые процессоры. При этом в каталоге на их сайте можно видеть много различных модификаций этого ВК (шкафные, настольные...). На тот момент это был самый производительный настольный универсальный отечественный компьютер.

    Так что, мне кажется в модернизации РЛС, о которой говорилось выше, использовались именно ВК Эльбрус-3М1 с процессорами Эльбрус. А про Эльбрус-2 в новости было написано либо для дезинформации, либо по незнанию. Но это, конечно, только мои предположения.

    Хотя возможно, что даже спутали Эльбрус-2 и Эльбрус-2С+, и на самом деле в РЛС используются самые последние процессоры МЦСТ - Эльбрус-2С+. Что очень даже неплохо на мой взгляд.

    А вообще, конечно, названия изделий линейки Эльбрус (и ВК, и микропроцессоры и вычислительные модули) такие, что в них запутаться [вероятному противнику] очень легко!

    ОтветитьУдалить