Развитие архитектуры вычислительных комплексов серии «Эльбрус»
Вид материала | Документы |
- Развитие идей параллелизма в архитектуре вычислительных комплексов серии «эльбрус», 405.48kb.
- Проектирование вычислительных систем на основе микропроцессоров «Эльбрус», 24.16kb.
- Х вычислительных комплексов специального назначения определяет права доступа по комбинированному, 10.03kb.
- Принципы и решения по совершенствованию эффективности функционирования операционных, 337.67kb.
- Воробушков В. В., инженер-конструктор ОАО «инэум», Шмаев В. Б., инженер зао «мцст», 138.06kb.
- Новые эффективные методы энтропийного кодирования медиаданных 05. 13. 11 "Математическое, 217.67kb.
- Опд. Ф. 11 «Сети ЭВМ и Телекоммуникации», 48.27kb.
- В. Е. Логинов, П. А. Ишин, 111.9kb.
- Подготовка кадров для систем водоснабжения и водоотведения, 89.59kb.
- Учебная программа по дисциплине основы технической эксплуатации и защиты вычислительных, 119.22kb.
Развитие архитектуры вычислительных комплексов серии «Эльбрус»
А.К.Ким, Генеральный директор ЗАО «МЦСТ»
Отечественные суперкомпьютеры 70-х – 80-х годов
Начиная с 70-х годов прошлого века, обороноспособность страны в стратегических областях, требующих использования универсальных вычислительных средств максимальной производительности, обеспечивается разработкой и принятием на снабжение Вооруженных сил вычислительных комплексов серии «Эльбрус». Ее высшим достижением в советский период был разработанный в Институте точной механики и вычислительной техники многопроцессорный вычислительный комплекс (МВК) «Эльбрус-2», на базе которого в течение многих лет создавались и действовали стратегические системы ракетно-космической обороны (РКО) страны. Уникальные для того времени характеристики комплекса, в первую очередь его высшая производительность (более 120 млн. операций в секунду), были достигнуты, благодаря внедрению, развитию и оптимальной реализации передовых идей в области организации вычислительного процесса. Из самых значимых идей можно перечислить: многопроцессорную структуру на базе общей памяти с использованием когерентного протокола кэширования, аппаратную поддержку языков высокого уровня, суперскалярное исполнение операций, многоуровневую память, защищенное программирование, эффективные механизмы операционной системы, оптимизирующую компиляцию, полный аппаратный контроль, который обеспечивал достоверность вычислений и резервирование всех модулей системы, гарантирующее ее отказоустойчивость. Архитектура МВК «Эльбрус-2» не раз относилась к числу значительных результатов мирового компьютеростроения 70-х – 80-х годов ведущими зарубежными и отечественными специалистами.
Последним проектом того периода стал МВК «Эльбрус-3», который создавался в расчете на возросшие требования к эффективности отечественных систем РКО и, соответственно, производительности их вычислительных средств. В связи с этим, его разработчики, в полной мере используя и продуктивные идеи предыдущего проекта, первыми в мире сконструировали опытный образец сверхмощного промышленного компьютера, построенного в соответствии с глубоко проработанной и развитой концепцией, в существенной степени переносящей задачу анализа, оптимизации и планирования исполнения операций с аппаратуры на программное обеспечение. Она была реализована на основе архитектуры «широкой команды». Драматическая судьба этой не нашедшей продолжения разработки справедливо связывается с кризисом конца 80-х – начала 90-х годов, из-за отсутствия финансирования проект не был завершен.
Серия вычислительных комплексов (ВК) «Эльбрус-90 микро»
Уже в первой половине 90-х годов в связи с острой потребностью в обновлении информационно-вычислительных средств на объектах РКО специалисты МЦСТ приступили к созданию вычислительных комплексов с применением микропроцессорных технологий. Определяющее требование заказчика к технологической независимости проекта устанавливало, что все основные компоненты ВК «Эльбрус-90 микро» должны быть отечественной разработки. Прежде всего, имелся в виду микропроцессор, который определяет архитектуру комплекса, его производительность и, в конечном счете, эффективность применения, но аналогичное требование распространялось и на системные и периферийные контроллеры. Наряду с этим ставилось условие владения операционной системой, то есть наличие полной программной документации, включая тексты ОС, знание ее структуры и алгоритмов. Все эти требования при проектировании ВК «Эльбрус-90 микро» были выполнены.
Большое значение в итоговом успехе проекта имели условия его реализации. Действуя в рамках закрытого акционерного общества (ЗАО) «МЦСТ», коллектив смог дополнить посильное финансирование от Министерства обороны собственными средствами, полученными за исследовательскую работу для ведущих западных компьютерных фирм. (Такая работа очень пошла на пользу отечественным проектам). Благодаря этому, в годы кризиса удалось сохранить ядро, а затем существенно расширить состав высококвалифицированных специалистов, постоянно привлекать и вести профессиональную подготовку молодых сотрудников. Был приобретен современный инструментарий проектирования, позволяющий постоянно поддерживать высокие конструктивно-технологические нормы продукции, обеспечены международные юридические права новых разработок. Подготавливая промышленное производство микропроцессоров, компания организовала законченный цикл выпуска заводской документации для их изготовления на зарубежных фабриках и подготовилась к изготовлению на отечественных предприятиях. Было налажено производство разработанных вычислительных комплексов и модулей на российских заводах.
На основе этих стратегических решений эльбрусовский коллектив получил результаты, позволившие, начиная со второй половины 1990-х годов, до середины этого десятилетия сформировать и внедрить для снабжения Вооруженных сил РФ архитектурную платформу ВК «Эльбрус-90 микро». В основе своей было принято классическое решение с центральными процессорными модулями (полузаказные RISC-микропроцессоры, соответствующие 8-й версии системы команд SPARC), связанными с остальными модулями комплекса иерархией системных и периферийных шин.
При сохранении совместимости с аналогами с точки зрения системы команд и программной модели в структуру микропроцессоров «МЦСТ-R» было введено большое число усовершенствований, направленных на прирост производительности, в том числе, увеличение объема и ассоциативности модулей кэш-памяти команд и данных, встраивание в микропроцессор контроллера оперативной памяти, увеличение темпа обработки команд вещественной арифметики, введение буфера записи, увеличение объема буфера таблицы страниц и других.
В результате независимой разработки на основе ПЛИС был создан целый ряд приемлемых по стоимости и быстродействию системных и периферийных контроллеров, которые обеспечили полную совместимость с аналогами и позволили усовершенствовать систему шин комплекса без внесения изменений в программу раскрутки и принятые версии операционной системы.
В настоящий момент вычислительные комплексы «Эльбрус-90 микро» выпускаются на основе универсального микропроцессора «МЦСТ-R500» (технологический процесс – 0.13 мкм, тактовая частота – 500 МГц, количество транзисторов - 4.9 млн, площадь кристалла – 25 мм2). Тщательная проработка модульной структуры, шинной иерархии и конструкции комплекса позволила спроектировать его в различных исполнениях, соответствующих нескольким вариантам применения в системах заказчика, - многопроцессорной конфигурации (до 4-х процессоров) для стационарных систем, перебазируемых систем и АРМ оператора, а также - в вариантах персонального компьютера (одно и двух – процессорные конфигурации) и исполнения для встроенных и мобильных систем.
Основными компонентами программного обеспечения, поставляемыми с ВК «Эльбрус-90 микро», являются оптимизирующий компилятор с языков С/С++ и операционная система. Оптимизирующий компилятор используется как инструмент создания эффективного кода для машин со SPARC-совместимым микропроцессором. Обеспечивая высокое качество кода в однопроцессорной конфигурации, он поддерживает автоматическое распараллеливание программ для многопроцессорных систем с общей и многомашинных систем с распределенной памятью. Для комплекса созданы, сопровождаются и постоянно развиваются три операционные системы с интерфейсом Unix (Posix), базой каждой из которых является одна из операционных систем Solaris, Linux и ОС МСВС. Версии операционных систем ВК «Эльбрус-90 микро» поддерживают работу в реальном масштабе времени, содержат средства защиты от несанкционированного доступа. Для всех них разработан большой набор специальных драйверов и реализованы средства организации многомашинных комплексов
К настоящему времени заказчикам поставлено более 1000 вычислительных комплексов «Эльбрус-90 микро».
Реализация архитектуры «Эльбрус»
В силу многолетней ориентации на создание вычислительных комплексов максимальной производительности ключевой задачей наших новаторских проектов неизменно был поиск возможностей распараллелить вычислительный процесс во всех его составляющих. Каждый раз принципиальные решения принимались, исходя из оптимального соответствия двух факторов:
- уровня определенной для проекта конструктивно-элементной базы, - именно она, прежде всего, задавала количество одновременно задействованных аппаратных ресурсов определенного типа (исполнительных устройств, модулей памяти, коммуникационных шин), позволяющих реализовать параллелизм,
- базового принципа распараллеливания операций, с которым обычно ассоциируется архитектура процессоров комплекса.
Ввиду этой проблемы, коллектив специалистов под руководством Б.А.Бабаяна предложил новый подход (архитектура «Эльбрус»), основанный на статическом планировании, при котором определяющая часть работы по планированию выполняется компилятором, непосредственно проецирующим программный код на реальные аппаратные ресурсы процессора. Наличие большого числа ресурсов, способных использоваться одновременно, привело к выбору вычислительной архитектуры «широкого командного слова». При этом, чтобы предоставить пользователям возможность использовать программный багаж другой, широко распространенной платформы, была реализована технология двоичной компиляции применительно к целевой платформе Intel IA-32(х86), для эффективности поддержанная в аппаратуре.
Эти идеи стали принципиальной основой разработки микропроцессора «Эльбрус» и вычислительного комплекса «Эльбрус 3М-1». Они поддерживались рядом передовых решений в части аппаратуры и программного обеспечения, некоторые из которых были в той или иной мере уже апробированы в предыдущих эльбрусовских проектах. В их числе интеграция устройств, обрабатывающих целочисленные данные и данные с плавающей запятой на общем поле регистров, спекулятивный счет альтернатив в условных ветвлениях, реализация циклов путем проекции их элементов на широкую команду (без использования векторных операций), специальные средства предварительной подкачки данных и другие. В новой архитектуре скомпилированные фрагменты скалярных программ для своего исполнения, как правило, требуют время, равное длительности критического пути алгоритма. Если же в некоторых местах программы ощущается недостаток ресурсов, то все равно счет ведется так быстро, как это позволяет данный набор устройств. Таким образом, речь идет не просто о быстром счете, но о достижении практически предельных результатов по производительности при данном наборе аппаратных ресурсов.
Одним из свойств архитектуры «Эльбрус», в значительной мере проработанных уже в проекте МВК «Эльбрус-2», являются средства реализации защищенных вычислений. С их применением выполняется трансляция с языков С/С++, в которой с использованием аппаратной поддержки (типизация данных) фиксируются любые нарушения защиты памяти, воспринимаемые в обычных системах как «неопределенное поведение». Соответственно, выявляются опасные и сложные ошибки, отнимающие заметное время даже у опытных программистов. Таким образом обеспечиваются условия для создания надежного программного обеспечения при выполнении масштабных проектов с участием больших коллективов разработчиков и сжатыми сроками исполнения.
Определяющая стадия работы над реализацией оригинальной отечественной архитектуры завершилась в ноябре 2007 года успешными государственными испытаниями микропроцессора «Эльбрус» и двухпроцессорного вычислительного комплекса «Эльбрус-3М1» на его основе. Предъявленный на испытания универсальный 64-разрядный микропроцессор «Эльбрус» (технологический процесс - 0.13 мкм, тактовая частота - 300 МГЦ, количество транзисторов - 75.8 млн, площадь кристалла – 189 мм2 ) имеет командное слово, позволяющее выполнить до 23-х операций за такт. Архитектурный уровень разработки микропроцессора характеризуется показателем производительности 16 Гфлопс/Ггц, отношение производительности к мощности составляет 0.8 Гфлопс/вт.
Согласно заключению комиссии по проведению испытаний: «ВК «Эльбрус-3М1» является универсальной высокопроизводительной вычислительной машиной межвидового применения и предназначен для решения сложных вычислительных задач в интересах обеспечения безопасности и развития экономического и научного потенциалов России.
Вычислительный комплекс (ВК) «Эльбрус-3М1» обеспечивает:
- возможность работы в режиме жесткого реального масштаба времени;
- возможность создания больших программных комплексов повышенной надежности с высокой степенью защиты программ и данных;
- полную и эффективную совместимость с архитектурной платформой
Intel IA-32 (x86) путем двоичной компиляции, что позволяет использовать ВК вместо аналогичной импортной техники;
- высокую скорость исполнения программ, благодаря архитектуре микропроцессора «Эльбрус» с явным параллелизмом команд;
- возможность создания многопроцессорных систем с когерентной памятью..
Реализация всех перечисленных возможностей ВК обеспечивается специально разработанным общим программным обеспечением, включающим:
- операционные системы на базе Linux и ОС МСВС, поддерживающие режим реального времени и режим защищенного исполнения программ;
- оптимизирующий компилятор с языков C/C++;
- битовый компилятор, реализующий технологию эффективной совместимости с архитектурной платформой Intel IA-32 (x86).
В ходе испытаний была показана возможность эффективного исполнения на ВК «Эльбрус-3М1» программных систем Министерства обороны РФ, разработанных различными организациями. При прогоне задач было зафиксировано ускорение в среднем в 5.2 раза относительно ВК «Эльбрус-90 микро» (500 МГц) и в 1.44 раза относительно Pentium 4 (1.4 Ггц).
С использованием системы двоичной компиляции, продемонстрирована устойчивая работа ВК при использовании операционной системы MS Windows 2000. Под ее управлением были исполнены различные пользовательские приложения, включая MS Word, MS Excel и MS PowerPoint из состава пакета MS Office.
Благодаря режиму защищенного исполнения, ВК «Эльбрус-3М1» показал высокую эффективность в части обнаружения ошибок,
в том числе при переносе и исполнении задач пользователей, международного пакета SPEC95 и международного пакета SAMATE, который содержит собранные по всему миру фрагменты широко распространенных программ.
Завершающий вывод комиссии устанавливает: «Микропроцессор «Эльбрус» и ВК «Эльбрус-3М1» на его основе, их архитектура, общее программное обеспечение являются оригинальной отечественной разработкой, отражающей современные тенденции развития вычислительной техники. По архитектурно-логическим и программным решениям ВК «Эльбрус-3М1» находится на современном мировом уровне, а по ряду решений превосходит его.»
Реализация конструктивно-технологических ресурсов производительности
Сейчас развитие обоих архитектурных линий ВК серии «Эльбрус» в первую очередь направлено на создание многоядерных систем на кристалле и переходе на передовые нормы технологического процесса. Значительным шагом в этом направлении стали успешные государственные испытания в конце 2007-го года опытных образцов микросхемы «МЦСТ R-500S» и процессорного модуля МВС/С, разработанных ЗАО «МЦСТ».
Микросхема «МЦСТ R-500S» представляет собой двухядерную систему на кристалле с встроенной кэш-памятью второго уровня, контроллером оперативной памяти и контроллерами периферийных каналов, которая предназначена для создания одноплатных ЭВМ, используемых в носимых и встроенных применениях. Эта быстродействующая универсальная система с процессорными ядрами архитектуры SPARC (технологический процесс - 0,13 мкм, тактовая частота 500 МГц) имеет показатели производительности 1493 (в терминах DhryStone) MIPS/391 MFLOPS. Помимо уменьшения времени доступа к памяти и периферийным устройствам, реализация системы на кристалле позволила сократить количество дорогостоящих ПЛИС, необходимых для изготовления канального оборудования модулей, и стала существенным фактором с точки зрения обеспечения заданных параметров надежности и стоимости продукции.
Одноплатный четырехмашинный процессорный модуль МВС/С предназначен для создания высокопроизводительных ЭВМ и многомашинных комплексов военного и общегражданского применений, включая встроенные применения. В частности, предполагается его использование в составе ВК «Эльбрус-90микро» (форм-фактор Compact PCI) и в других средствах вычислительной техники, работающих в режиме реального масштаба времени. Входящие в состав модуля двухпроцессорные машины на базе микросхемы «МЦСТ-R500S» соединены дуплексными высокоскоростными каналами, хотя имеется возможность сопряжения машин по протоколу Fast Ethernet. Набор специальных и стандартных интерфейсов в системе на кристалле позволяет создавать на основе МВС/С вычислительные системы различной конфигурации и производительности.
Модуль разработки ЗАО «МЦСТ», поставляется с операционной системой ОС МСВС поддерживающей режим реального времени и режим защиты информации от несанкционированного доступа, и оптимизирующим компилятором с языков C/C++, который обеспечивает автоматическое распараллеливание компилируемых программ для исполнения в параллельном режиме процессорами микросхемы «МЦСТ R-500S». Программно-аппаратные средства МВС/С обеспечивают необходимый уровень совместимости с ВК “Эльбрус-90 микро».
В развитие этих разработок ведется проектирование четырехядерной системы на кристалле «МЦСТ-4R» (технологический процесс – 90 нм, тактовая частота – 1Ггц) и модулей МВС4/C, МВС4-РС на ее основе. В числе их перспективных применений особо отмечаются носимые компьютеры для использования при работе в полевых условиях, терминалы радиоэлектронных и связных систем, терминалы контрольно-проверочной аппаратуры на технических позициях и другие применения, требующие малогабаритных вычислительных средств при высоких показателях производительности (для микросхемы «МЦСТ R-500S» - 4 GIPS/1.6 GFLOPS).
В следующих поколениях микросхем этой архитектуры будут созданы 8- ядерные системы на кристалле с тактовой частотой 1.5 Ггц (технологический процесс 65 нм) и 16-ядерные системы на кристалле с тактовой частотой 2.0 Ггц (45 нм). Их в полной мере можно рассматривать как элементную базу перспективных отечественных вычислительных средств для стационарных АСУ, носимых и встроенных систем Заказчика, требующих высокой производительности.
Архитектурная линия «Эльбрус» представлена в составе текущих разработок системой на кристалле «Эльбрус-S» (технологический процесс – 90 нм, тактовая частота – 500 МГц). Ее основными особенностями являются:
- размещение в кристалле подсистемы обращения в оперативную память, включая два контроллера памяти DDR2),
- размещение в кристалле средств и каналов связи для формирования многопроцессорных комплексов, работающих на общей памяти,
- использование широкого спектра средств повышения производительности,
- исполнение двоичных кодов x86 посредством двоичной компиляции,
- аппаратная поддержка защищенного программирования.
Микросхема рассчитана на пиковую производительность 11.1 GIPS/4.0 GFLOPS при 64-разрядных данных. Для формирования многопроцессорных конфигураций в ее состав введены дуплексные каналы с пропускной способностью 2 GB/s в каждом направлении.
На базе этих результатов будут созданы многоядерные системы на кристалле с архитектурой «Эльбрус», основные показатели которых приведены в следующей главе. Они рассматриваются в качестве элементной базы следующих поколений отечественных суперкомпьютеров.
Архитектурная платформа «Эльбрус» для российского суперкомпьютера
Одной из тенденций, определяющих современную практику создания суперкомпьютеров, является использование микропроцессоров, разработанных лидерами мирового компьютеростроения, которые стали своего рода стандартом и выпускаются массовыми сериями для самых различных применений.. Среди критериев, определяющих выбор базового микропроцессора, помимо экономических соображений особое значение имеют:
- мощные вычислительные ресурсы (в первую очередь, высокая тактовая частота, позволяющая уменьшить общее количество микропроцессоров в системе),
- реализация нескольких поколений изготовления, дающая шансы неоднократно оптимизировать архитектуру, микроархитектуру и физическое исполнение микропроцессора, используя для этого заказное проектирование,
- и, естественно, возможность установить мощную современную операционную систему, предоставляющую программистам богатые сервисные возможности и самый широкий набор актуальных программных приложений.
Мировой опыт показывает, что по совокупности этих и других характеристик предпочтение, как правило, отдается микропроцессорам с архитектурой Intel IA-32 (x86) - более 80% суперкомпьютеров, представленных в списке top500 за ноябрь 2007 года, базируются на микропроцессорах с этой архитектурой (заметим, что 85% машин из этого списка используют операционную систему Linux). Следствием данного выбора является тот факт, что в последующие годы основной объем программного обеспечения, разработанного в мире для суперкомпьютеров, будет рассчитан на архитектурную платформу Intel.
Другой принципиальной проблемой является опережающий рост вычислительной мощности современных микропроцессоров по отношению ко времени обращения в память и особенно негативное влияние этого фактора на исполнение задач со слабым группированием данных в пространстве и обращений процессоров к памяти - во времени. До настоящего времени наиболее адекватное решение проблемы достигалось в многопроцессорных системах, работающих на общей памяти с когерентным протоколом кэширования и обеспечивающих мощный параллельной доступ к ней. В данном варианте суперкомпьютеры, собранные из высокопроизводительных многопроцессорных узлов с параллельным доступом к общей памяти, демонстрируют гораздо более высокую загрузку процессоров, чем системы с распределенной памятью, использующие для распараллеливания MPI интерфейс.
Эти ключевые факторы в высокой степени соответствуют решениям и результатам, полученным в процессе создания и усовершенствования платформы «Эльбрус». Имея высокую логическую скорость, особенно на приложениях, свойственных суперкомпьютерам, она гарантирует полную и эффективную совместимость с платформой Intel IA-32 (x86), в том числе, обеспечивая исполнение прикладных программ под управлением операционной системы Linux. В обоснование возможности использовать технологию двоичной компиляции применительно к суперкомпьютерам можно привести тот факт, что еще в 2002 году фирма Transmeta успешно ввела ее для обеспечения совместимости со стандартной платформой Intel при создании микропроцессора Crusoe. Хотя кластерная система на его основе, отличающаяся высокой надежностью, компактностью и малым энергопотреблением, не обладала достаточной производительностью на приложениях, активно использующих вещественные операции, из-за сравнительно небольшой производительности микропроцессора, надо учитывать, что микропроцессор «Эльбрус» показывает на вещественных операциях на порядок более высокую производительность, обеспеченную оптимизирующим компилятором. При этом он также характеризуется низким энергопотреблением. Существенно и то, что отечественная архитектура обеспечивает мощный параллельный поток обращений в память за данными за счет устройства предварительной подкачки данных, которое реализует темп подкачки равный двум байтам на одну вещественную операцию. Это соответствует характеристикам лучших самых современных суперкомпьютеров, таких как Cray BlackWidow (2 байта) или NEC SX-9 (2,5 байта – лидер по этому параметру).
Тщательная оценка наших возможностей показывает реальность выполнения программы по созданию серии отечественных микропроцессоров платформы «Эльбрус» и суперкомпьютеров на их основе, основные показатели которых приведены в таблицах 1и 2.
Если требования национальной безопасности заставят отказаться от создания и использования суперкомпьютеров, построенных на импортных компонентах (в первую очередь, это касается микропроцессоров), то архитектурная платформа «Эльбрус» и технология двоичной компиляции позволят выполнить «мягкий» переход на полностью российский суперкомпьютер. Как уже отмечалось, при необходимости ее принципиальные свойства могут обеспечить полную и достаточно эффективную совместимость с архитектурой IA-32(x86), которая в настоящее время используется в суперкомпьютерах. В этом случае открывается возможность для интегральных решений, позволяющих соединить в едином проекте наиболее перспективные отечественные разработки.
Название МП | Эльбрус | Эльбрус 2С | Эльбрус 4С | Эльбрус 8С | Эльбрус 16С |
год выпуска | 2007 | 2010 | 2012 | 2015 | 2018 |
Техн. норма (нм) | 130 | 90 | 65 | 45 | 32 |
Схемотехника | Полу-заказная | Полу-заказная | Полу-заказная или заказная | Заказная | Заказная |
Частота (мгц) | 300 | 600 | 1000 | 2000 | 3000 |
Производительность (Гфлп) | 4,8 | 19,2 | 64 | 256 | 768 |
Мощность (вт) | 6 | 16 | 25 | | |
Таблица 1. Развитие линии «Эльбрус» - микропроцессоры (МП)
Вычислительные Комплексы | Эльбрус 3М | Эльбрус 4 | Эльбрус 5 | Эльбрус 6 | Эльбрус 7 |
год выпуска | 2007 | 2011 | 2013 | 2016 | 2019 |
Производительность процессора (гфлп) | 4,8 | 19,2 | 64 | 256 | 768 |
Количество процессоров на сервере | 2 | 16 | 64 | 64 | 64 |
Производительность сервера (гфлп) | 9,6 | 300 | 4000 | 16000 | 49000 |
Количество серверов в комплексе | 64 | 64 | 64 | 64 | 64 |
Производительность комплекса (тфлп) | 0,6 | 19 | 256 | 1000 | 3000 |
Таблица 2. Развитие линии «Эльбрус» - серверы и комплексы