В 1977 году завершилась разработка многопроцессорного комплекса «Эльбрус-1»
«Эльбрус-2» применялся не только для оборонных нужд, но и в крупных ВЦ, работавших на науку и промышленность |
Суперпроизводительные системы — всегда ноу-хау разработчика и всегда были и будут действовать строгие ограничения на их экспорт, потому что такие машины ускоряют прогресс во многих важных для государства областях, позволяя моделировать различные процессы. Одна из основных сфер применения суперЭВМ, безусловно, военная, а у нас в стране она была приоритетной. В конце 70-х, несмотря на усиливающееся отставание от Запада по технологиям элементной базы, в Советском Союзе появляются сверхбыстродействующие ЭВМ с оригинальной архитектурой, которые во многом предвосхищали западные разработки. Речь идет о знаменитых «Эльбрусах», рожденных в колыбели советских высокопроизводительных ЭВМ, Институте точной механики и вычислительной техники. В 1977 году завершается создание многопроцессорного вычислительного комплекса «Эльбрус-1» и развертывается проект МВК «Эльбрус-2».
В ИТМиВТ работы всегда шли по двум направлениям: быстродействующие ЭВМ для универсальных применений и спецмашины для комплексов противоракетной обороны. Главный конструктор первого и второго «Эльбрусов», ныне академик Всеволод Сергеевич Бурцев с самого начала фактически возглавил второе направление; в конце 50-х он разрабатывал М-40, ламповую еще машину для первых вычислительных комплексов системы ПРО.
М-40 продемонстрировала, что вычислительная машина — мозг всего комплекса. Самые незначительные отклонения от нормы в работе ЭВМ чреваты опасными ситуациями для системы в целом. Значит, необходимо уделять особое внимание устойчивости работы машины при сбоях и отказах. С учетом этих требований в ИТМиВТ появилась первая многопроцессорная машина для ПРО — 5Э92Б. В этой системе связка из двух процессоров позволяла решить проблему надежности — все одиночные сбои обнаруживались аппаратурой и второй процессорный модуль выполнял роль резерва на случай выхода из строя основного процессора.
Создание комплексов ПРО на основе 5Э92Б было завершено к 1968 году. Сразу после этого генеральный конструктор советской системы ПРО Григорий Васильевич Кисунько выдвинул новое требование — создать вычислительный комплекс с быстродействием ни много ни мало 100 млн. операций в секунду. Было очевидно, что при существующем уровне элементной базы достичь такого быстродействия на одном процессоре абсолютно невозможно. И разработчики делают ставку на многопроцессорность.
Кажущееся теперь очевидным решение тогда требовало теоретического обоснования и наглядного практического доказательства. Дело в том, что целый ряд западных фирм-разработчиков в своем стремлении реализовать многопроцессорность для высокой производительности терпели неудачу: увеличение числа процессоров провоцировало спад производительности. Поэтому делались машины на двух-трех процессорах и преимущественно для того, чтобы обеспечить работу вычислительной системы без сбоев. Создатели «Эльбрусов» впервые в мире показали, что восемь процессоров могут работать без потери производительности, превышающей 3-4%. Всего же и «Эльбрус-1» и «Эльбрус-2» могли включать до десяти центральных процессоров плюс несколько модулей ввода/вывода и более десятка спецпроцессоров передачи данных для сопряжения с линиями связи.
Как удалось решить проблему? Есть два основных фактора, ограничивающих производительность многопроцессорной системы: пропускная способность коммутатора между процессорами и оперативной памятью и организация работы кэш-памяти. В «Эльбрусе-2» быстродействие коммутатора достигало 1 Гбайт/с. А для того чтобы обеспечить корректность кэша, он был разбит на несколько частей, каждая со своим алгоритмом работы — сверхоперативная память команд, массивов, локальных данных, буфер быстрых регистров, буфер глобальных данных.
Высочайшая производительность многопроцессорного комплекса достигалась за счет оригинальных архитектурных решений. Идеолог архитектуры «Эльбрусов», заместитель главного конструктора Борис Арташесович Бабаян и сегодня с большим воодушевлением рассказывает о тех новациях, которые несли в себе первый и второй «Эльбрусы». Это были первые в мире коммерческие (то есть вышедшие за рамки научных лабораторий) суперскалярные машины со всеми характерными признаками — перестановкой операций, динамическим назначением регистров, спекулятивным выполнением, генерацией более одной команды за такт. Большинство из этих свойств будут реализованы в западных компьютерах значительно позже.
А такая интересная возможность, как защищенное программирование, по утверждению Бабаяна, до сих пор так и не появилась ни в одной разработке. Каждое слово в «Эльбрусе» имело дополнительный разряд — тег, описывающий тип данных. Механизм тегов гарантировал, что за правильностью операций будет следить сама машина. Такой динамический контроль во время счета позволял обнаруживать множество самых коварных ошибок в момент их возникновения, тем самым значительно ускоряя процесс отладки программ.
Конечно, высокое быстродействие не означало отказ от необходимости обеспечить устойчивую работу многопроцессорной системы. Сильная архитектура позволила не только достичь предельной производительности, но и добиться высокого уровня надежности на не самой надежной элементной базе. Каждый компонент комплекса полностью контролировался аппаратурой, которая в случае любой одиночной ошибки выдавала сигнал неисправности. По этому сигналу операционная система через аппаратно реализованную систему реконфигурации исключала неисправный модуль из работы. Не позже чем через сотую долю секунды подключался резервный модуль, а неисправный переходил в ремонтную конфигурацию, восстанавливался и возвращался в рабочее состояние.
«Эльбрус-1» и «Эльбрус-2» были идентичны по архитектуре, но второе поколение строилось на более совершенной элементной базе. «Эльбрус-1» послужил полигоном для обкатки новых архитектурных принципов и программного обеспечения многопроцессорного вычислительного комплекса. Затем все это было перенесено на новые БИСы, и прошедший государственные испытания в 1985 году «Эльбрус-2» смог обеспечить быстродействие до 125 млн. операций в секунду. Его предшественник обладал производительностью 15 млн. операций в секунду.
Разработчики «Эльбрусов» гордятся тем, что в годы, когда у нас занимались преимущественно воспроизведением западных архитектур, им удалось сохранить присущую лебедевскому коллективу творческую атмосферу и создать полностью самостоятельный, оригинальный проект. Работа над «Эльбрусами» начиналась еще при жизни Сергея Алексеевича, и поговаривают, что именно ему принадлежала идея названия новой машины.
Хотя «Эльбрусы» создавались для нужд советской системы ПРО, эти машины считались универсальными и могли применяться не только для оборонных нужд, но и в крупных вычислительных центрах, работающих на науку и промышленность. Однако основными пользователями столь высоких технологий оставались ВПК и советские атомщики. У них по сию пору стоят и работают МВК «Эльбрус».