00Задание, которое считали невозможным
В 1950 году Всеволод Бурцев пришёл на дипломную практику к Сергею Лебедеву в Институт точной механики и вычислительной техники. Там он работал над Быстродействующей электронной счётной машиной (БЭСМ), конкурировавшей с ЭВМ «Стрела» конструкторского бюро СКБ-245. БЭСМ была сдана позже, но на момент сдачи выдавала 12–15 тыс. операций в секунду против 2–3 тыс. у «Стрелы» — и выиграла негласное состязание. Дальше Лебедев переключил Бурцева на военную тематику: тот занимался съёмом данных с радиолокатора для НИИ-17 и в 1962 году защитил за эту работу докторскую степень.
Оборонный трек оказался решающим для карьеры ученого. Отдел Григория Кисунько, отвечавший за разработку противоракетного комплекса, прикомандировали к лаборатории Бурцева изучать дискретную вычислительную технику — вместе они довели до серии ламповую машину М-40 (до 40 тыс. операций в секунду) и её модернизацию М-50 с плавающей запятой. В 1961 году благодаря этим машинам страна впервые в истории сбила баллистическую ракету.
К 1968 году в Институте точной механики и вычислительной техники (ИТМиВТ) завершили работы по вычислительным комплексам подмосковной противоракетной обороны. Генеральный конструктор ПРО Григорий Кисунько потребовал для следующего поколения системы производительность не ниже 100 млн операций в секунду — лучшие специализированные суперЭВМ планеты тогда не превосходили 5 млн.
На роль главного конструктора Бурцева выдвинул Лебедев. Бурцев отбивался: убеждал Лебедева, что это ему стоит вести проект, однако глава ИТМиВТ был непреклонен.
Лебедев умело использовал финансовые и организационные возможности, открываемые военными заказами, для создания более дешёвых высокопроизводительных ЭВМ гражданского назначения, — рассказывал Бурцев В. С. «СуперЭВМ в России. История и перспективы»Интервью И. В. Шахновичу. Электроника: Наука, Технология, Бизнес, 2000, № 4.Открыть источник. При этом Лебедев больше уделял внимания мирному применению, а Бурцев концентрировался на военном. «Так и шли — step by step: Сергей Алексеевич был руководителем всех проводимых институтом разработок, я — основным исполнителем по военным применениям», — вспоминал конструктор.
«Эльбрус» наследовал линию разработок Лебедева, от МЭСМ до БЭСМ-6. Позже Бурцев подхватил руководящий пост в институте, когда Сергей Лебедев слег с тяжелым воспалением легких. Смена руководителя института произошла в 1973 году, а в 1974 году Лебедев скончался.
01Ступень С-300
К многопроцессорной архитектуре пришли не сразу. Ещё работая над системой ПРО Москвы, институт создал ЭВМ 5Э92б — 500 тыс. операций в секунду на полупроводниковой базе, в серии с 1966 года, и её модернизацию 5Э51 — с 1967-го. В 1968 году институт взял заказ на вычислительные средства для зенитного комплекса С-300: заказ дал деньги на перевооружение самого института — автоматизацию проектирования, производство многослойных печатных плат — и стал первым шагом к многопроцессорным решениям.
Для С-300 создали трёхпроцессорную ЭВМ 5Э26 — вместо резервирования целых машин здесь впервые аппаратным контролем охватили каждый процессор и каждый модуль памяти по отдельности: при сбое отключался не весь комплекс, а один узел. Комплекс объёмом около двух кубометров при производительности порядка 1 млн операций в секунду сдали государственной комиссии в 1972–1974 годах. Отработанные на нём конструкторские и технологические решения легли в основу «Эльбруса-1» — Бурцев называл это правилом, которому его научил Лебедев: «Основной принцип, который исповедовал Сергей Алексеевич и передавал своим ученикам,— вести работу шаг за шагом».
02Архитектура на годы вперёд
Саму машину заложили в 1970 году. Разработчики изучали лучшие достижения времени — проект Манчестерского университета MU-5, американскую ОС Multics корпорации General Electric, машины Burroughs и серию IBM.
Ключевой была ставка на масштабируемость. «Нам говорили, что это бесполезное дело — по данным исследований IBM, уже четвёртый процессор не давал прибавки производительности,— рассказывал Бурцев В. С. «СуперЭВМ в России. История и перспективы»О споре про масштабируемость: в «Эльбрусе» производительность росла и после четвёртого процессора.Открыть источник.— Однако в «Эльбрусе» заложены такие схемотехнические, архитектурные и конструкторские решения, благодаря которым производительность МВК практически линейно возрастает при увеличении числа процессоров до десяти».
Цели проекта Бурцев формулировал в следующих пунктах: предельная производительность на имеющейся элементной базе, высокая надежность комплекса и удобство программирования.
Другой особенностью стала Бурцев В. С. «Параллелизм вычислительных процессов и развитие архитектуры суперЭВМ. МВК „Эльбрус“»М., 1998. Разбор архитектурных решений комплекса самим главным конструктором. с аппаратной поддержкой типов данных: машина хранила вместе с данными их тип и проверяла корректность обращения к памяти схемотехникой, а не программой. Ставка в проекте была сделана на язык высокого уровня Эль-76 (изначально «Автокод Эльбрус»), на котором писалось даже системное программное обеспечение. Среди авторов — Борис Бабаян и математик Владимир Пентковский.
Государственные испытания системы программирования дали цифры в пользу этой ставки: объём текста транслятора с Эль-76 составил 43 тыс. строк против 17 тыс. у Фортрана и 22 тыс. у Алгола-60, а скорость трансляции — 60 тыс. строк в минуту против 55 тыс. и 30 тыс. соответственно. Комиссия отметила, что Эль-76 обеспечивает высокий уровень и надёжность программирования, эффективное использование аппаратуры и подходит для создания больших программных комплексов реального времени.
03«Эльбрус-1» и «Эльбрус-2»
«Эльбрус-1» полностью строился на элементной базе уже освоенной трехпроцессорной 5Э26, той самой, что предназначалась для зенитно-ракетного комплекса С-300.
«Эльбрус-2» строился уже на новой, более быстрой элементной базе — и это создало серьёзные проблемы.
Микросхемы для комплекса делали на разных заводах, и качество расходилось: продукция зеленоградского «Микрона» работала исправно, а у схем из Каунаса корпус давал разгерметизацию — пришлось вводить сплошной входной контроль.
Комплекс имел восемь процессоров, еще два считались резервными. «Эльбрус-2» сдали государственной комиссии в 1985 году, его производительность составляла до 125 млн операций в секунду.
Увеличение числа процессоров при этом усложняет архитектуру системы: необходимо обеспечивать их взаимодействие и доступ к памяти, растут задержки при обмене данными, энергопотребление и требования к охлаждению. Поэтому сегодня необходимую производительность можно получить при меньшем числе процессоров, избежав при этом дополнительного усложнения многопроцессорной системы.
Изменился и подход к резервированию: выделенные резервные процессоры внутри одного сервера сегодня практически не используются — отказоустойчивость обычно обеспечивается на уровне серверных узлов и инфраструктуры в целом.
04Инженерное чудо
Наиболее сильными сторонами мейнфреймов «Эльбрус» в МЦСТ — компании, основанной в 1991 году Борисом Бабаяном, одним из создателей этих компьютеров, — называют сочетание высокой производительности, безопасности и безотказности, при использовании имевшейся в то время в СССР довольно ненадёжной элементной базы.
Безотказность обеспечивал подход, при котором собственная операционная система «Эльбруса» для исполняемой программы регулярно создавала «контрольные точки», а специальная аппаратура отслеживала работоспособность всех основных узлов ЭВМ. В случае аппаратного сбоя (и даже выхода процессора из строя), операционная система переводила исполнение программы на исправный резервный процессор и возобновляла её исполнение с контрольной точки за гарантированный срок в 100 миллисекунд — необходимое время для того, чтобы не прекратить отслеживание вражеской боеголовки в полете.
Производительность была обеспечена высокой мощностью каждого отдельного процессора: ЭВМ поддерживала одновременную работу 8 основных процессоров и 2 резервных. А безопасность гарантировалась работой всего прикладного ПО под управлением аппаратного контроля, который реализован в современных серийных микропроцессорах «Эльбрус» и некоторых западных процессорах с технологией CHERI, пока ещё экспериментальных.
По сути, это был постоянно работающий аппаратный отладчик, который без потери скорости выявлял более 70% типовых ошибок программиста. Замдиректора МЦСТ по развитию Константин Трушкин говорит, что серию «Эльбрус» нельзя назвать иначе, как «инженерным чудом»:
Это, по словам Трушкина, стало возможным в первую очередь потому, что в МВК Эльбрус-2 все уровни стека технологий находились в руках наших разработчиков, и нестандартные инженерные решения можно было реализовывать самостоятельно и сразу на всех уровнях.
05Цена оригинальности
Специализированный американский комплекс Cray-1 (1976) шесть лет держал мировой рекорд, обрабатывая около 100–150 млн операций с плавающей запятой в секунду, и по этому показателю «Эльбрус» ему уступал.
Разработанный для «Эльбруса-2» векторный процессор должен был закрыть разрыв: расчётная производительность одного блока составляла 200–300 млн операций в секунду, а связка из трёх-четырёх блоков вывела бы комплекс на уровень около миллиарда операций в секунду — показатель одной из самых быстрых машин мира на тот момент.
До серии векторный процессор не дошёл: конструкторская документация уже была принята заводом-изготовителем, но дальнейшую работу остановили при переходе коллектива на принципиально новую архитектуру следующей машины серии — «Эльбрус-3». Его образец изготовили в 1988 году, но до реального производства он не дошел: по словам Бурцева, в 1994 году машину разобрали и пустили под пресс. Причина, по словам конструктора, заключалась «не в сложности эпохи». Бурцев называл «Эльбрус-3» «мертворожденным ребенком по многим причинам», но не исключено, что он был предвзят.
Бабаян же, напротив, настаивал, что причина неуспеха «Эльбрус-3» заключалась в отставании. Заводы остановили выпуск отечественных ЭВМ, которые просто не могли конкурировать с зарубежными машинами. В прессе Бабаян вспоминал приезд в ИТМ и ВТ в 1994 году президента Sun Microsystems Скотта Макнили: он привез первый кристалл процессора Ultra SPARC. В оборудовании содержалось несколько миллионов транзисторов, и огромный шкаф «Эльбрус-3», с эквивалентом в 15 млн транзисторов производил тяжелое впечатление.
Похожая судьба постигла и другие проекты той же школы. Модульный конвейерный процессор (МКП) конструктора Анатолия Соколова — участника разработки БЭСМ-6 и М-20 — позволял подключать несколько специализированных процессоров и вести до четырёх потоков команд одновременно на общем поле памяти, но недоведённый образец представили госкомиссии раньше срока, финансирование на доводку не выделили, и разработку свернули. Векторно-конвейерную суперЭВМ «Электроника ССБИС» — аналог Cray — довели до четырёх изготовленных машин в Институте проблем кибернетики, но и её пришлось разобрать за недостатком средств. Вычислительный центр коллективного пользования Академии наук, построенный на «Эльбрусах», со временем закрыли как основанный на устаревшей технике.
Мощность без тиража
«Эльбрус-2» вышел на уровень лучших машин мира и остался в считаных экземплярах: собственная архитектура и собственный язык держались на скопированной элементной базе.
- 1969Кисунько требует для системы ПРО 100 млн операций в секунду — вчетверо выше мирового уровня
- 1972—74Сдана трёхпроцессорная 5Э26 для С-300 — на её решениях вырастет «Эльбрус-1»
- 1980«Эльбрус-1» принят государственной комиссией
- 1985Сдан «Эльбрус-2» — 125 млн операций в секунду
- 1988—94Образец «Эльбруса-3» изготовлен, в 1994 году разобран и пущен под пресс
«В 1969 году это было практически невозможно. Мы работали на уровне около миллиона операций в секунду на один процессор, за рубежом не превзошли уровень трёх-пяти миллионов».
Всеволод Бурцев, главный конструктор «Эльбруса»
Что дал оборонный заказ
Заказ на вычислители для С-300 принёс институту деньги на собственное перевооружение — автоматизацию проектирования и производство многослойных плат. Военные позволяли разработчикам самим заказывать элементную базу — в гражданской части отрасли такого не мог себе позволить никто.
Куда ушли авторы
Язык Эль-76 и архитектуру создавали Борис Бабаян и Владимир Пентковский. Пентковский перешёл в Intel в 1993 году и работал над Pentium III; Бабаян с частью команды — в 2004-м, став первым неамериканцем со званием Intel Fellow.
06Оставшиеся и уехавшие
Сам Бурцев из отрасли не ушёл. В 1985 году он перешёл в лабораторию академика Гурия Марчука, где занялся принципиально новой архитектурой — оптической сверхвысокопроизводительной вычислительной машиной (ОСВМ). Проект защитили в 1994 году: по оценке автора, теоретически архитектура допускала производительность порядка 10 в пятнадцатой степени операций в секунду — на уровне задач, которые тогда только начинали ставить перед собой американские разработчики.
Конструкторская школа пережила и проект, и государство. В 1992 году Борис Бабаян основал компанию МЦСТ, в том же году заключившую соглашение с американской Sun Microsystems; в её недрах продолжилась разработка 64-разрядной архитектуры Эльбрус-2000 (E2K). В 2004 году Бабаян и часть сотрудников «МЦСТ-Эльбрус» перешли в Intel, где он стал первым учёным-неамериканцем, удостоенным звания Intel Fellow — это звание компания присваивает сотрудникам, которые внесли наибольший вклад в процветание компании.
Схожим путём прошёл и автор Эль-76 Владимир Пентковский: в 1993 году, в год выхода первого Intel Pentium, он устроился в компанию — и позже занимался разработкой архитектуры процессоров семейства Pentium, заложив основы современных суперскалярных микроархитектур Intel.
В сборнике интервью о судьбе ЭВМ «Эльбрус» Сборник интервью о судьбе ЭВМ «Эльбрус»Ю. С. Рябцев приводит данные о выпуске машин линейки Лебедева — Бурцева. приводит статистику произведенным суперЭВМ линейки Лебедева-Бурцева.
- БЭСМ-6 ~ 355 шт., производство с 1966 г., серийное с 1968 г.;
- Эльбрус-1К2 (СВС) ~ 60 шт., производство с 1978 г.;
- Эльбрус-2 (либо МВК 30) 20 комплексов (200 ЦП), производство с 1984 г.;
- Эльбрус-1КБ ~ 60 шт., производство с 1988 г.;
- Эльбрус-3 — отдельные блоки, Эльбрус 3-1 (МКП) — 2 шт., производство с 1989/90 г.
Сам Бурцев, оценивая полвека работы над отечественными суперЭВМ, говорил о важности этих проектов прямо: