Секретный параллелизм

Секретный параллелизм

Наталия Дубова

В 1972 году завершилось создание новой ЭВМ для структуры СПРН.

В СССР оборонные задачи всегда занимали особое место в спектре применений ВТ. Государственная военная машина была самым влиятельным и надежным заказчиком для разработчиков. Исаак Брук, создатель одной из советских школ ЭВМ, в этом отношении повел себя довольно непрактично, уверовав в необходимость развивать ВТ как самостоятельное научное направление, не привязывая его к определенным, в том числе военным применениям. Его ученик, Михаил Карцев, понимал, что в СССР это мало реально. Интереснейшие машины Карцева до начала 90-х были засекречены, поскольку на них базировалась советская система слежения за искусственными объектами в околоземном пространстве и раннего предупреждения о ракетном нападении (СПРН). В 1972 году завершилось создание новой ЭВМ для структуры СПРН, которую разработчики, продолжая бруковские традиции, называли М–10, а заказчик обозначал как 5Э66.

Сложная и разветвленная структура СПРН предъявляла особые требования к мощности вычислительных машин. C середины 60-х Карцев занят напряженными поисками возможностей повышения производительности ЭВМ. Он приходит к выводу, что при сохранении традиционной структуры быстродействие машины в конце концов достигнет определенного предела, за которым дальнейший рост производительности окажется невозможен. Причина — в ограниченной скорости распространения электрических сигналов, даже при использовании все более совершенной элементной базы. Выход Карцев видел в создании многопроцессорных систем, которые могут параллельно выполнять различные части вычислительных задач. Карцев развил целую теорию параллелизма, показав, что большинство задач, связанных с обработкой массивных потоков информации, допускают распараллеливание в том или ином виде. А ключ к эффективному решению особо крупных задач лежит в создании комбинированных вычислительных комплексов, которые будут сочетать многопроцессорность и объединение нескольких автономных машин в единую систему.

В 1967 году Карцев предложил смелый проект такого комплекса — М9. Система должна была состоять из нескольких крупных блоков — «связок», объединенных мощными магистральными соединениями. Центральная роль предназначалась «функциональной связке» — матрице элементарных вычислителей с общим потоком команд (архитектура класса SIMD), которая должна была выполнять операции не над числами, как в традиционных машинах, а над функциями одного или двух операндов, определенных в дискретных точках. Реализация алгоритмов с меньшим параллелизмом возлагалась на другой, линейный блок элементарных вычислителей — «числовую связку», фактически векторную машину. Еще одна, «ассоциативная связка», предназначалась для выполнения операций сравнения. 

Помимо распараллеливания с помощью матричных и векторных процессоров проект М-9 предусматривал синхронное объединение нескольких машин в одну систему. По оценкам разработчиков, реализация всех этих идей должна была обеспечить быстродействие в миллиард операций в секунду. Доклад о М-9 на симпозиуме Академии наук в Новосибирске, подкрепленный тщательным изложением технических решений и принципов ПО, произвел большое впечатление на слушателей. Ведь это был 1967 год, когда еще не пошла в эксплуатацию БЭСМ-6 с максимальной производительностью в миллион операций в секунду. 

Проекту, однако, не суждено было воплотиться в жизнь. Для 60-х это было слишком смелое решение доступного на тот момент уровня технологий и элементной базы. Кроме того, возникли организационные сложности — проектом заинтересовались разработчики новой системы ПРО, а не традиционные заказчики Карцева. В результате отдел под руководством Михаила Александровича был фактически изгнан из ИНЭУМ. С 1967 года ведет свою историю НИИ вычислительных комплексов, хотя статус института коллектив Карцева получил только в 1975 году. 

Однако часть проекта М-9 все-таки стала реальной машиной. Первая советская векторно-параллельная многопроцессорная ЭВМ М-10 — это не что иное, как «числовая связка» М-9. В конце 60-х началась работа над проектом сплошного поля надгоризонтального наблюдения за космическими объектами, который предусматривал развертывание новых радиолокационных станций и существенное расширение возможностей командного пункта для всей системы. Если первая очередь советской СПРН базировалась на машине М4-2М, то теперь перед Карцевым была поставлена задача создать новую суперпроизводительную ЭВМ, адекватную резко возросшим требованиям к интенсивности обработки данных. И Карцев с успехом ее решает, реализуя свои идеи комплексного параллелизма. М-10 представляла собой многопроцессорную вычислительную систему на микросхемах с возможностью распараллеливания на уровнях команд (длинное командное слово с двумя кодами операций для одновременного выполнения на разных арифметических устройствах) и данных (векторные операции). Кроме того, несколько машин могли комплексироваться в единую систему — таким образом распараллеливание расширялось и на уровень задач. 

До начала 80-х М-10 с быстродействием порядка 5 млн. операций в секунду, емкостью внутренней памяти 5 Мбайт и пропускной способностью мультиплексного канала 6 Мбайт/с превосходила все советские машины. А реальный выигрыш в быстродействии на конкретных задачах иногда был просто фантастическим — в определенных физических расчетах М-10 оказывалась быстрее БЭСМ-6 более чем в 20 раз, и в 45 раз превышала одну из старших моделей ЕС. В этой ЭВМ Карцев еще в начале 70-х реализует базовые принципы RISC-системы — длинное командное слово для задания операций, сокращенный набор команд и выполнение большинства операций за один такт. Операционная система с разделением времени позволяла одновременно работать на машине с восьми терминальных пультов.