ВВЕДЕНИЕ
Работа посвящена вычислительным суперсистемам. Этот термин был
предложен автором в 1996 г. [1]. Он отражал тот факт, что суперкомпьютеры, или суперЭВМ, как было принято говорить, не только становились мультипроцессорными и мультикомпьютерными, но и объединяли целый ряд подсистем или самостоятельных функциональных систем, таких как многоуровневая система памяти, система функцио-
нально-специализированных машин, система каналов и распределенная операционная система. Кроме того, в соответствии с предложенной концепцией построения неоднородных вычислительных систем в их состав входили подсистемы с различной архитектурой [2]. В дальнейшем был предложен термин «мультиархитектурные вычислительные суперсистемы» [3].
С технической точки зрения основные проблемы, связанные с созданием
таких систем, а именно повышение тактовой частоты, увеличение степени парал-
лелизма, изменение соотношения скорости процессора и памяти, а также энер-
гетические вопросы снижения потребляемой энергии и отвода тепла, всегда оста-
ются актуальными. Основным инструментом повышения производительности
является использование новых физических принципов и совершенство-
вание технологии. Другим инструме нтом является повышение эффек-
тивности использования аппаратуры, что может быть получено за счет
таких факторов, как использование более совершенных алгоритмов, оп-
тимизации программ, взаимной адаптации аппаратных и программных
средств за счет создания новой архитектуры.
Большое влияние на разработку вычислительных систем с новой ар-
хитектурой оказывает требование совместимости имеющихся программ
с новой архитектурой. Важным фактором является влияние экономиче-
ских и коммерческих соображений и связанная с ними монополизация.
В настоящей работе подведены итоги исследований, начатых в на-
чале 90-х годов. Исследования явились продолжением работ по системе
«Электроника СС БИС». На каждом этапе ставилась задача разработки
оптимальной архитектуры вычислительной суперсистемы для текуще-
го состояния технологической базы. Однако фундаментальные прин-
ципы построения системы актуальны и в настоящее время. Целый ряд
предложенных концепций опередил зарубежные разработки, при этом
опережение доходило до 10 лет.
Данный проект является концептуальным, поскольку для перехода
на этапы НИР и ОКР в силу известных причин не было никаких усло-
вий. Важной особенностью проекта является его свобода от ограниче-
ний совместимости, поэтому он сбалансирован и оптимален. Проект
может быть основой для разработки отечественной элементной базы и
архитектуры отечественных вычислительных суперсистем.
Во второй главе приведена предыстория исследований и проанали-
зированы основные принципы создания вычислительных суперсистем.
Наиболее важным аспектом при этом является комплексный подход,
при котором разработка архитектуры, аппаратных средств и программ-
ного обеспечения, включая системные и прикладные программы, долж-
ны выполняться параллельно.
В третьей главе рассмотрена архитектура суперсистемы. В ее осно-
ве лежат концепции мультиархитектуры, взаимной адаптации архитек-
туры и программ, проблемной ориентации основных вычислительных
средств, функциональной специализации вспомогательных вычисли-
тельных средств, специализации внутрисистемных сетей и иерархиче-
ского построения системы.
В четвертой главе описана архитектура и система команд масшта-
бируемой основной машины. Набор модулей для построения процес-
соров позволяет компоновать структуры, ориентированные на различ-
ные формы параллелизма. Количественный состав модулей позволяет
получать различные степени параллелизма в рамках одного процессора.
Приведена архитектура и система команд отдельных модулей и процес-
соров на основе их объединения. Следует отметить, что описание систе-
мы команд носит эскизный характер, кодировка операций приведена
для иллюстрации.
В пятой главе описана архитектура и система команд функциональ-
но-специализированных машин, предназначенных для обеспечения
функционирования мониторно-моделирующей подсистемы, сети па-
мяти, сети управления, межузловой сети и периферийной подсистемы.
Функционально-специализированные процессоры, входящие в состав
системы, существенно отличаются от масштабируемых процессоров
прежде всего из-за сокращения числа форматов данных за счет исклю-
чения операций с плавающей запятой, а также благодаря более простым
схемам выполнения операций и меньшей глубине конвейерных схем.
Основой для построения функционально-специализированных машин
является базовый процессор. Индивидуальные функции, необходимые
для той или иной машины, реализуются в виде модулей расширения.
В шестой главе проведено сравнение проекта с зарубежными разра-
ботками. Показано, что на всех этапах проведения исследований имел
место концептуальный приоритет, достигавший в ряде случаев 10 лет.
В заключении проанализировано современное состояние исследо-
ваний и разработок в области вычислительных суперсистем, рассмотре-
ны перспективы развития и предложены этапы для реализации проекта.
Исследования были поддержаны грантами РФФИ и проводились
в рамках проектов ОНИТ РАН.
Автор выражает благодарность большому числу сотрудников, с кото-
рыми он имел счастье работать на протяжении более 50 лет.
ГЛАВА 2.
ОСНОВНЫЕ ПРИНЦИПЫ
КОНЦЕПТУАЛЬНОГО ПРОЕКТА
2.1. Предыстория
2.1.1. Электронная вычислительная машина БЭСМ-6
Электронная вычислительная машина БЭСМ-6 была разработана в се-
редине 60-х годов и сдана Госкомиссии в 1967 году. Главный конструктор
академик С.А. Лебедев заложил в основу структуры машины два основ-
ных принципа – принцип «водопровода», в настоящее время обычно
называемый конвейером, и принцип специализации, обеспечивающий
высокую эффективность при выполнении аппаратных или программ-
ных функций.
Машина БЭСМ-6 предназначалась для решения крупных научно-
технических задач, что, естественно, отразилось как на ее архитектуре,
так и на выборе системы элементов и конструкции [4].
Элементная база машины включала диодные логические схемы и
усилители на переключателях тока с подвешенным источником пита-
ния. Важными особенностями системы элементов являлись высокая
скорость переключения и очень высокая нагрузочная способность как
по входу, так и по выходу. Диодные и усилительные схемы размещались
в специальных блоках, которые, в свою очередь, устанавливались в стой-
ку с двух сторон.
Система синхронизации обеспечивала возможность функциониро-
вания конвейера на тактовой частоте 10 МГц, что использовано в боль-
шинстве схем, в частности в арифметическом устройстве и в устройстве
управления. На следующем уровне темп конвейера определялся циклом
работы буферной памяти, который равен трем тактам. Этот цикл соот-
ветствует и максимальному темпу поступления команд. В арифметиче-
ском устройстве использовался асинхронный конвейер, темп получения
результатов зависел от типа операции и от операндов. Средний темп со-
ставлял 10 тактов, что соответствует производительности 1 млн опера-
ций с плавающей запятой в секунду (1 Mflops).
Для согласования пропускных способностей процессора и опера-
тивной памяти применялось расслоение памяти и буферная память, ра-
ботающая в режиме кэш-памяти. Ее объем составлял 8 команд и 8 слов
данных.
Важной особенностью машины были аппаратные и программные
средства для обеспечения мультипрограммного режима. К ним относят-
ся виртуальная адресация памяти со страничной организацией, система
прерывания, наличие нескольких режимов выполнения команд в про-
цессоре и соответствующие программы операционной системы.
При реализации подсистемы ввода-вывода ставилась задача обе-
спечения высокой пропускной способности при обмене с устройствами
памяти на внешних магнитных носителях и обслуживания достаточного
числа электромеханических устройств ввода и вывода. В машине было
реализовано 7 быстрых направлений обмена (в современных терминах –
7 селекторных каналов) и набор медленных направлений, аппаратура
для которых ограничивалась минимальным набором согласующих эле-
ментов и схем связи этих элементов с процессором. Функционирование
медленных направлений (образующих мультиплексный канал) обеспе-
чивалось программами работы с каждым конкретным типом устройства.
Указанные выше аппаратные средства обеспечили создание много-
пользовательской операционной системы. За время эксплуатации ма-
шины было разработано несколько вариантов операционных систем,
а также трансляторы с автокода и распространенных языков высокого
уровня.
2.1.2. Система обработки данных АС-6
Установка и эксплуатация БЭСМ-6 в вычислительных центрах, где вы-
полнялась обработка больших объемов данных, поступающих от боль-
шого числа абонентов, в частности в Центре управления полетами, по-
служила стимулом создания системы АС-6. В этих центрах узким местом
являлось небольшое число внешних устройств и низкая пропускная спо-
собность подсистемы ввода-вывода БЭСМ-6. Разработка началась с соз-
дания аппаратуры сопряжения для БЭСМ-6 (отсюда и название АС-6).
На первом этапе ставились задачи стыковки БЭСМ-6 с АС-6, которая
должна была обеспечить подключение большого числа телеграфных
и телефонных каналов, каналов приема телеметрической информации,
а также увеличения объема памяти на магнитных дисках и существенное
увеличение числа периферийных устройств. Однако по мере накопле-
ния опыта по использованию оборудования первого этапа стало оче-
видно, что в системе необходимы более мощные средства для обработки
данных и, главное, необходимо наличие возможности наращивания си-
стемы за счет подключения дополнительных машин и устройств. Все эти
обстоятельства привели к постановке задачи разработки многомашин-
ной системы с развитыми средствами реконфигурации.
В основу реализации системы легли идеи специализации подсистем
и устройств и унификации в рамках системы каналов обмена.
Кроме БЭСМ-6 в систему входили центральный процессор АС-6,
периферийная машина ПМ-6, дополнительные устройства оперативной
памяти, контроллеры магнитных дисков, контроллер приема телеметри-
ческой информации. Все эти устройства объединялись в систему в каче-
стве абонентов канала 1-го уровня. Этот канал предназначался для пере-
дачи сообщений, содержащих 50-разрядное слово и 23-разрядный адрес.
Периферийная подсистема состояла из периферийных машин
ПМ-6 и ряда контроллеров-мультиплексоров, подключенных к ПМ-6
с помощью канала 2-го уровня. Канал 2-го уровня предназначался для
передачи сообщений, состоящих из произвольного числа однобайто-
вых посылок. Для осуществления коммутации каналов использова-
лись коммутаторы канала 2-го уровня. Общее число подканалов – 256.
Основные контроллеры, рассчитанные на 32 подканала, – это мульти-
плексоры телефонных и телеграфных каналов и мультиплексор преоб-
разования сопряжения, обеспечивавший подключение устройств, име-
ющих выход на интерфейс ввода-вывода ЕС ЭВМ.
Программное обеспечение системы АС-6 состояло из операционных
систем БЭСМ-6, ЦП АС-6, ПМ-6, соответствующих систем программи-
рования, тестовых и обслуживающих программ.
Система АС-6 с 1973 г. находилась в опытной эксплуатации, при
этом продолжались работы по ее развитию. В 1975 г. она использовалась
при проведении работ по программе совместного советско-американ-
ского проекта «Апполон» – «Союз». Сдача системы в полном объеме
была проведена в 1979 г.
В системе АС-6 были впервые реализованы новые идеи, явившие-
ся основой разработок суперЭВМ и фундаментальных исследований
по архитектуре перспективных вычислительных систем. Прежде всего
необходимо отметить следующие особенности:
• АС-6 – это неоднородная многомашинная вычислительная система;
• проблемная ориентация ЦП АС-6 на решение задач по управле-
нию сложными объектами и эффективную трансляцию;
• функциональная специализация периферийной машины ПМ-6 и
других вспомогательных устройств;
• специализация внутрисистемных каналов;
По мере создания и эксплуатации системы стало очевидным несоот-
ветствие новых архитектурных идей и возможностей элементной базы.
В целях дальнейшего развития этого направления в 1973 г. был разрабо-
тан проект системы БЭСМ-10, в котором на основе задела, полученного
при создании АС-6, и использования высокоскоростных интегральных
схем типа ЭСЛ планировалось создание перспективной вычислитель-
ной системы. Однако этот проект не был поддержан Министерством
радиопромышленности СССР.
2.1.3. Вычислительная система «Электроника СС БИС»
Продолжение работ в этом направлении было осуществлено под руко-
водством заместителя Главного конструктора БЭСМ-6 и Главного кон-
структора АС-6 академика В.А. Мельникова. В соответствии с совмест-
ным решением Министерства электронной промышленности СССР и
Академии наук СССР в 1978 г. была поставлена задача создания системы
с предельной производительностью на основе проведения широкого
фронта исследований по микроэлектронике, оптоэлектронике и другим
направлениям. Система предназначалась для решения наиболее круп-
ных задач в области ядерной физики, метеорологии, геологии, авиастро-
ения, космонавтики, микроэлектроники и др.
Разработка суперкомпьютерной системы «Электроника СС БИС-1»
базировалась на том научном багаже, который был накоплен при созда-
нии БЭСМ-6 и АС-6 [5, 6, 7]. Однако для достижения производитель-
ности, на два порядка величины большей, чем в этих машинах, было
необходимо освоение нового технологического уровня и разработки со-
ответствующей ему архитектуры.
В рамках создания системы были разработаны и освоены следующие
компоненты и узлы [8]:
14 Глава 2. Основные принципы концептуального проекта
• высокочастотные интегральные схемы типа ЭЛС с задержкой на
один логический уровень 0,5 нс и матричные БИС;
• БИС памяти типа ЭСЛ и КМОП;
• керамические безвыводные корпуса и контактирующие устрой-
ства для них;
• многослойные высокочастотные печатные платы;
• микрокабель;
• высокочастотные соединители с контактными парами, имеющи-
ми согласованный импеданс;
• блоки и стойки вторичного электропитания;
• низкотемпературные тепловые трубки и тепловые разъемы;
• стойки фреонового и водяного охлаждения;
• установки функционального контроля.
В первоначальном проекте системы рассматривались возможности
включения в ее состав следующих проблемно-ориентированных под-
систем:
• основная машина с векторно-конвейерным процессором;
• матричная машина;
• машина для логической обработки данных.
Кроме того, рассматривались возможности включения следующих
функционально-специализированных подсистем:
• периферийная машина;
• контроллер внешней полупроводниковой памяти;
• контроллер дисковой памяти;
• внешние машины;
• управляющие машины.
С учетом имевшихся ресурсов и первоочередных задач было приня-
то решение отложить разработку матричной, логической и периферий-
ной машин. В качестве внешних и управляющих машин использовались
ЭВМ типа «Электроника-79», «Электроника-82» [9].
В центральном процессоре и контроллерах внешней полупровод-
никовой и дисковой памяти использовались схемы типа ЭСЛ средне-
го уровня интеграции и матричные БИС. Корпуса ИС устанавливались
в контактирующие устройства, которые также обеспечивали их прижим
к теплоотводящей трубке с фреоном. В каждом из 50 блоков процессора
могло быть установлено до 144 БИС. Общее число вентилей – около
1 миллиона. Тактовая частота – 100 МГц. В оперативной памяти также
были использованы схемы ЭСЛ. БИС памяти и ИС управления уста-
навливались на тепловых трубках, закрепленных в тепловых разъемах
блоков, которые, в свою очередь, контактировали с тепловой плитой,
охлаждаемой фреоном. Во внешней полупроводниковой памяти были
использованы схемы типа КМОП.
При выборе архитектуры центрального процессора рассматривал-
ся вариант ЦП АС-6, развитый в проекте БЭСМ-10, а также изучались
суперкомпьютеры Cray 1 фирмы Cray Research [10] и Cyber 205 фирмы
CDC [11]. Достижение максимальной производительности было воз-
можно только при использовании синхронных конвейерных схем,
обеспечивающих получение по крайней мере одного результата в такт.
Система команд ЦП АС-6 была ориентирована на асинхронные конвей-
ерные схемы, содержала большой набор форматов команд и данных, что
усложняло ее реализацию на синхронных конвейерных схемах. Наибо-
лее перспективной была признана архитектура Cray-1, что подтверди-
лось в дальнейшем. Однако архитектура процессора основной машины
системы «Электроника СС БИС-1» отличалась от Cray-1 рядом усовер-
шенствований. Так, удалось повысить темп выполнения операции вы-
числения обратной величины до 1 такта вместо 3, обеспечить одновре-
менное выполнение векторных и скалярных операций с плавающей
запятой за счет добавления соответствующих функциональных
устройств, увеличить объем буфера команд [12]. Пиковая производи-
тельность процессора равна 250 Mflops. Система команд процессора
трехадресная, ориентирована на использование адресуемых скалярных,
векторных и адресных регистров.
Подсистема внешней полупроводниковой памяти отличалась на-
личием интеллектуального контроллера, предназначенного для реали-
зации различных методов доступа к внешней памяти со стороны основ-
ной машины. По заданию-директиве от основной машины программа
специализированного процессора параллельно с управлением пересыл-
кой данных осуществляла формирование адресов этих данных во внеш-
ней памяти по заданному алгоритму. Возможно вычисление адресов по
любому закону или выборка их из списка. В отличие от аналогичных
устройств, в которых память работает по алгоритмам дискового нако-
пителя (Cray X-MP Solid-state Disk), в данном случае пересылке в опе-
ративную память подлежали только полезные данные, что приводило
к экономии оперативной памяти и снижению загрузки канала обмена
с основной машиной. Наличие двух портов в контроллере позволяло по-
строить двухпроцессорную систему с производительностью 500 Mflops
[13, 14].
Подсистема дисковой памяти в двухпроцессорной системе обе-
спечивала подключение до 8 контроллеров с общим объемом памяти
20 Гбайт. Контроллер обеспечивал обмен между оперативной памятью
основной машины и управляющим устройством накопителя, контроль и
исправление ошибок с помощью кода Рида – Соломона.
Программное обеспечение состояло из операционных систем ос-
новной и внешних машин, систем программирования на языках макро-
ассемблера, «Фортран 77», «Паскаль», «Си». Компиляторы включали
средства оптимизации программ с учетом особенностей векторной ар-
хитектуры (векторизация циклов и планирование потока команд).
В 1991 г. были проведены испытания системы «Электроника СС БИС-1»,
изготовлены и налажены 4 образца, началась их установка у заказчиков.
В том же году был разработан проект системы «Электроника СС БИС-2»,
направленный на создание многопроцессорной системы с производи-
тельностью до 10 Gflops. Кроме многопроцессорных основных машин
планировалось включить в систему мониторные машины для управле-
ния системой и подготовки задач, а также подсистему с массовым па-
раллелизмом.
В программе фундаментальных исследований в области вычисли-
тельной техники, элементной базы и программного обеспечения Отде-
ления информатики, вычислительной техники и автоматизации РАН,
разработанной в 1992 г., планировались исследования архитектуры не-
однородных сверхвысокопроизводительных вычислительных систем,
включающих суперЭВМ с традиционной векторно-конвейерной архи-
тектурой, подсистему с массовым параллелизмом и спецализированные
процессоры, исследования методов распределения и распараллеливания
вычислений на таких системах, а также комплексные исследования эле-
ментно-конструкторской базы суперЭВМ, в том числе систем питания и
охлаждения, и исследования методов автоматизированного проектиро-
вания, наладки, диагностики, тестирования и эксплуатации суперЭВМ.
В рамках этой программы планировалось создание неоднородной
системы «Электроника СС БИС-3». В системе «Электроника СС БИС-3»
предусматривалось объединение до 64 процессоров с архитектурой, со-
вместимой с системой «Электроника СС БИС-1», со специализированной
подсистемой, имеющей архитектуру массового параллелизма. Общая
производительность системы – более 100 GFlops.
Однако в 1993 г. было принято решение о прекращении работ. Есте-
ственно, что это привело к разрушению всех коллективов, организован-
ных за более чем 10 лет работы. Были утеряны научные и технологиче-
ские заделы по многим направлениям, в том числе по решению больших
задач на векторно-конвейерной машине.
Опыт разработки, производства и наладки системы «Электро-
ника СС БИС-1» показал необходимость широкой кооперации акаде-
мических институтов и промышленности. Только благодаря этой коо-
перации удалось организовать разработку и производство всех комплек-
тующих, что выполнялось одновременно с разработкой и подготовкой
производства всех устройств системы и с разработкой программного
обеспечения [15, 16].