Проект вычислительного комплекса М-9
Ю.В. Рогачев
С 1965 года М.А.Карцев сосредоточил свою творческую деятельность на теоретических исследованиях, целью которых были поиски возможностей повышения производительности вычислительных средств. Он понимал, что дальнейшее значительное повышение производительности даже при увеличении быстродействия элементов на ЭВМ со структурой, ставшей к этому времени традиционной, будет проблематичным из-за ограниченной скорости распространения электрических сигналов. Многопроцессорная структура вычислительной системы, которая может обеспечить одновременное (параллельное) решение отдельных частей задачи (если эта задача допускает разделение на такие части) - вот реальная возможность получить более высокую производительность, чем может обеспечить обычная вычислительная машина при одинаковом уровне элементной базы. Он показал четыре вида возможностей распараллеливания вычислений и определил для каждого вида возможную аппаратную реализацию. Особо крупные задачи, которые, как правило, и требуют высокой производительности вычислительных средств, обладают обычно в той или иной степени всеми видами параллелизма. Поэтому наиболее универсальный путь создания вычислительных систем с максимально возможной производительностью представляют многопроцессорные комбинированные вычислительные системы.
Завершающим этапом работы М.А.Карцева по исследованиям вопросов построения многопроцессорных вычислительных систем была функциональная проработка структуры многомашинного вычислительного комплекса М-9, способного обеспечить производительность в 1 миллиард операций в секунду и представляющего собой именно многопроцессорную комбинированную вычислительную систему.
В мае 1969 года он направил в сборник «Вопросы радиоэлектроники» (серия ЭВТ) статью, в которой показал пути реализации указанных в проекте ВК М-9 технических характеристик.
«С точки зрения организации управления в системе и связей между обрабатывающими устройствами (процессорами) можно разделить многопроцессорные системы на четыре типа, различающиеся степенью связанности входящих в них устройств обработки информации.
I. Асинхронная система вычислительных машин – система с наиболее слабыми связями. Для нее характерны наличие отдельной программы (и, следовательно, отдельного устройства управления) для каждого из процессоров и независимый ритм работы процессоров. Обмен информацией между процессорами возможен либо через их внешние каналы, либо через общую память, либо по специальному каналу связи; однако в любом случае требуется предварительная синхронизация процессоров (которая осуществляется, например, через системы прерывания, или через устройство организации очереди при обращениях к общей памяти, или путем выполнения специальных операций) и ожидание одними процессорами готовности других процессоров.
Асинхронными являются, например, системы машин CDC-3600 и CDC-6600, возможные объединения машин IBM-360, однородные вычислительные системы, рассматриваемые в книге Э.В.Евреинова и Ю.Г.Косарева.
II. Синхронная система вычислительных машин, как и асинхронная, предусматривает отдельные программы и отдельные устройства управления для каждого процессора, но имеет общий для всех процессоров ритм работы, определяемый единым задающим генератором.
На отдельных участках программы синхронная система может работать так же, как асинхронная. Однако, когда это необходимо, между прохождением команд в различных процессорах устанавливается синхронизм (через системы прерывания, или путем выполнения групповой передачи управления, или каким-либо другим способом), после чего программа работы системы может быть представлена в виде «партитуры», в которой указано, какие операции выполняются в каждом такте в различных процессорах. Обмен информацией между процессорами может при этом производиться в каждом такте без какой-либо дополнительной синхронизации (либо по специальным каналам связи, либо путем обращений к общей памяти, но без устройства организации очереди); никаких сигналов запроса от одних процессоров к другим и ответов о готовности не требуется, так же, как нет необходимости в ожидании одними процессорами других.
III.Система с общим управлением представляет собой следующий шаг на пути усиления связей между процессорами по сравнению с синхронной системой. Арифметические и запоминающие устройства процессоров связаны с одним устройством управления и управляются общими командами; раздельный (асинхронный) режим работы процессоров, когда каждый из них выполняет свой относительно независимый участок алгоритма, здесь невозможен.
Известна такая разновидность системы с общим управлением, в которой устройство управления прочитывает команды быстрее, чем их может выполнить каждый отдельный процессор; прочитав очередную команду, устройство управления проверяет, не требуются ли для ее выполнения результаты предыдущих, еще не законченных операций и, если возможно, передает ее исполнение свободному процессору. Программа при этом однолинейная – такая же, как для обычной однопроцессорной машины.
Однако такая система использовалась бы более эффективно, если бы в одной команде имелось одновременно несколько кодов операций, предназначенных каждый для своего процессора, а относительно каждого такта было бы заранее известно, какую операцию должны выполнять в нем все имеющиеся процессоры. Исследование программ и распределение работы между процессорами при этом нужно не к этапу исполнения программы, а к этапу ее трансляции на машинный язык, либо еще раньше – к этапу программирования.
IV. Система с общим кодом операции связана еще сильнее, чем система III. Несколько процессоров соединены с общим устройством управления так, что все они выполняют одновременно одну и ту же команду – каждый над своими операндами.
Системами такого типа являются, например, разработки SOLOMON и ILLIAC 1V, ведущиеся в США.
Некоторое усовершенствование этого принципа состоит в том, что имеется дополнительное «геометрическое» управление, которое может отключать часть процессоров, либо подключать каждый процессор к одной из нескольких команд, передаваемых одновременно в каждом такте устройством управления.
Системы SOLOMON и ILLIAC 1V могут быть эффективно использованы в тех и, пожалуй, только в тех случаях, когда решение задачи сводится, в основном, к выполнению крупных групповых операций.
Однако возможности подобной системы могут быть значительно расширены следующим образом. Наличие общего для всех процессоров кода операции в команде не означает, что на все процессоры при исполнении данной команды обязательно должны поступать одинаковые управляющие сигналы. Небольшое усложнение в устройстве управления позволит при расшифровке некоторых кодов операций формировать раздельные сигналы управления для различных процессоров – подобно тому, как в обычной вычислительной машине параллельного типа устройство управления, расшифровав, например, код операции «умножение», формирует различные сигналы управления для старших, промежуточных и младших разрядов арифметического устройства.
При этом система процессоров может рассматриваться как единый процессор, оперирующий не с отдельными числами, а с более сложными объектами: многомерными векторами, представленными своими компонентами, или функциями, представленными значениями в отдельных точках. Некоторые операции - например, сложение или вычитание функций (векторов) – выполняются независимо и однотипно по всем ординатам (компонентам вектора) и по существу не отличаются от групповых операций над отдельными числами; при других операциях - например, сдвиг функции по абсциссе, численное дифференцирование и интегрирование, отыскание наибольшего (наименьшего) значения и др. – выполнение их различными процессорами несколько отличается друг от друга…
… Различие в характере затруднений, возникающих при реализации четырех описанных выше принципов организации многопроцессорных систем, приводит к идее использования для построения системы комбинации этих принципов.
В системе, изображенной на рисунке, показывающем структуру построения трехуровневой многопроцессорной вычислительной системы, процессоры П сгруппированы в линии по i процессоров. Каждая такая линия связана с одной группой управляющих сигналов устройства управления У и при этом, аналогично предыдущему, не обязательно, чтобы все i процессоров линии были одинаковы между собой и чтобы они получали от устройства управления одинаковые управляющие сигналы; список операций для каждой из линий может включать как групповые операции над массивами, содержащими по i чисел, так и операции над i-мерными векторами и над функциями, заданными i значениями.
Далее, каждые j линий сгруппированы в связку. Все линии связки соединены с общим устройством управления, каждая команда для которого содержит j кодов операции (по одному для каждой линии), аналогично тому, как в системе типа 111 имелись раздельные коды операций для каждого из процессоров, присоединенных к общему управлению. Необязательно при этом, чтобы все j линий, входящих в одну связку, были одинаковы между собой и состояли из одинакового количества процессоров.
Структура построения трехуровневой многопроцессорной вычислительной системы
Затем k связок образуют синхронную систему, аналогичную синхронной системе машин типа II. (Это соединение показано на рисунке сплошной линией)
Наконец, синхронные объединения связок могли бы соединяться между собой в асинхронную систему типа I; на рисунке условно (штрихпунктирной линией) показано асинхронное присоединение только одного процессора По со своим индивидуальным управлением Уо к синхронному объединению k связок. Предполагается, что процессор По соединен с внешними каналами связи, через которые информация поступает в систему или выводится из нее. Если бы внешние связи были присоединены непосредственно к процессорам синхронной системы, то выполнение однократного обмена какого-либо процессора с внешним абонентом требовало бы приостановки всей системы (иначе был бы потерян синхронизм в работе процессоров). Процессор По, работающий в независимом ритме, может произвести накопление, предварительное редактирование и подготовку информации, не останавливая всю систему.
Система, изображенная на рисунке, содержит (ijk+1) процессоров и при этом позволяет получить значительно больший коэффициент загрузки, чем любая система, содержащая такое же количество процессоров, но построенная по какому-нибудь из крайних принципов (тип I или IV). В то же время она требует меньшей избыточности информации в программе и выдвигает меньшие трудности перед программистом (или транслятором), чем системы промежуточного типа (II или III)…»
Именно эти идеи были положены в основу разработанного в 1965-1966 годах в инициативном порядке аванпроекта вычислительного комплекса М-9, представляющего собой многопроцессорную вычислительную систему, в которой показывалась возможность на существующей элементной базе получить производительность до одного миллиарда операций в секунду.
В марте 1967 года М.А.Карцев выступил с сообщением на симпозиуме по вычислительным системам и средам в Сибирском отделении Академии наук СССР в Новосибирске, в котором подробно изложил не только идеи, но также многие технические решения создания такого вычислительного комплекса. Для того времени это было смелое выступление: еще не было создано вычислительных машин с производительностью в миллион операций, а здесь прозвучала заявка на миллиард! Но глубина проработки, конкретные схемы и их взаимодействие убеждали в реальности такого комплекса. Дополнительное выступление Е.В.Гливенко о математическом обеспечении такой многопроцессорной системы еще больше укрепляло эту убежденность.
Идеей создания вычислительного комплекса М-9 заинтересовался генеральный конструктор системы ПРО чл.-корр. АН СССР Г.В.Кисунько. Состоялось несколько технических совещаний у М.А.Карцева, в которых приняли участие зам. генерального конструктора И.Д.Омельченко и ряд ведущих специалистов ОКБ «Вымпел». Они детально ознакомились с материалами по М-9 и решили использовать этот вычислительный комплекс в проекте комплексной системы ПРО «Аврора».
М.А.Карцев (1967)
Ю.В.Рогачев (1967)
В апреле 1967 года автору довелось быть участником совещания у заместителя председателя ВПК Л.И.Горшкова, на котором присутствовали зам. генерального конструктора И.Д.Омельченко, ответственные представители Министерства радиопромышленности, Министерства электронной промышленности, Министерства приборостроения и др. Присутствовал на этом совещании и академик С.А.Лебедев – главный конструктор вычислительных средств системы ПРО. Рассматривался вопрос обеспечения вычислительными средствами системы «Аврора». И.Д.Омельченко доложил о принятом решении генерального конструктора Г.В.Кисунько использовать вычислительный комплекс М-9, проработка которого выполнена в ИНЭУМе Минприбора главным конструктором М.А.Карцевым. В процессе обсуждения было предложено высказать свое мнение по М-9 и академику С.А.Лебедеву. Сергей Алексеевич воздержался давать конкретную оценку идее многопроцессорных вычислительных систем, сославшись на то, что сейчас у нас в СССР такие разработки неизвестны, но подтвердил, что на Западе что-то подобное делается, и назвал систему «СОЛОМОН». Это не было активной поддержкой ВК М-9, но прямо и не отрицалась возможность создания такого комплекса.
На совещании проявились и разногласия между Министерствами приборостроения и радиопромышленности. Предложение поручить производство ВК М-9 Загорскому электромеханическому заводу заместитель Министра радиопромышленности Богданов встретил резко отрицательно, заявив, что это разработка Минприбора, у которого имеются свои заводы, пусть они и осваивают это производство. В свою очередь, представитель Министерства приборостроения заявил, что вообще эта разработка является тематикой Минрадиопрома, пусть ее там и выполняют, а ИНЭУМ перегружен работами по тематике своего министерства.
Хотя на этом совещании конкретного решения принято не было, однако через некоторое время ИНЭУМ получил указание разработать эскизный проект вычислительного комплекса М-9 для системы «Аврора». Началась напряженная работа над оформлением книг эскизного проекта М-9. К работе подключились ведущие специалисты отдела спецразработок. Активно в этой работе участвовали конструкторы проектно-конструкторского отдела и сотрудники других служб ИНЭУМа.
Но руководство Министерства приборостроения продолжало противиться включению этой работы в план ИНЭУМа. В результате 3 мая 1967 года вышло постановление Правительства о передаче отдела спецразработок из ИНЭУМа в Министерство радиопромышленности. В августе того же года приказом Министра радиопромышленности на базе отдела спецразработок был образован Филиал №1 ОКБ «Вымпел». Директором этого Филиала назначался М.А.Карцев, главным инженером - Ю.В.Рогачев
В августе же была завершена и разработка эскизного проекта ВК М-9.
Структура комплекса состояла из четырех крупных блоков, названных связками:
- функциональная связка,
- числовая связка,
- ассоциативная связка,
- внешний вычислитель.
Функциональная связка представляла собой матрицу из 32х32 элементарных вычислителя. На матрице с общим потоком команд должны были выполняться операции над функциями одной или двух переменных, определенных в дискретных точках.
Числовая связка обеспечивала реализацию алгоритмов с меньшим параллелизмом, чем на функциональной связке. Она представляла собой линии элементарных вычислителей с общим управлением.
Линия элементарных вычислителей ассоциативной связки ориентирована на выполнение сравнений.
Пояснительная записка эскизного проекта содержала три книги.
- Книга 1.
- Глава 1. Общие сведения.
- Глава 2. Принцип решения задач системы на ВК М-9.
- Глава 3. Аппаратура стыковки ВК-М9 с системой.
- Книга 2.
- Глава 1. Система логических элементов.
- Глава 2. Структура и основные устройства ВК М-9.
- Глава 3. Функциональное арифметическое устройство.
- Глава 4, Устройство управления.
- Глава 5. Числовая связка.
- Глава 6. Ассоциативная связка.
- Глава 7. Оперативное ЗУ.
- Глава 8. Долговременное ЗУ.
- Глава 9. Картинное устройство.
- Глава 10.Внешний вычислитель.
- Глава 11.Внешние устройства общего назначения.
- Глава 12.Система питания.
- Глава 13.Конструкция.
- Книга 3.
- Глава 1. Процесс программирования.
- Глава 2. Стандартные программы.
- Глава 3. Решение типовых математических задач.
Оформленные книги этого проекта были предъявлены Заказчику для предварительной экспертизы. В рассмотрении проекта принимали участие специалисты ряда научных институтов Заказчика, которые дали работе положительную оценку.
29 сентября 1967 года директор Филиала №1 М.А.Карцев издал приказ №1, которым 171 сотрудник отдела спецразработок были зачислены в штат Филиала №1 ОКБ «Вымпел» с сохранением должностей и окладов. 30 сентября этот коллектив начал осваивать производственные площади по новому адресу.
В отличие от руководства ИНЭУМа, которое недружелюбно проводило коллектив М.А.Карцева, многие работники института желали этому коллективу новых успехов, а более 50 человек по собственному желанию уволились из ИНЭУМа и перешли работать в Филиал №1 к М.А.Карцеву. Это были сотрудники, связанные с работами отдела спецразработок, которых руководство института передавать не соглашалось.
Вместе с Е.И.Цибулем перешли в Филиал №1 и образовали конструкторский отдел 30 конструкторов, в том числе ведущие специалисты В.В.Грязнов, А.В.Гольдберг, А.И.Дементьев, Ю.И.Ларионов, Ю.П.Самойлов, В.Н.Никулин, В.М.Гажеев, Т.Н.Добромыслова, Р.Н.Ермакова, А.Г.Давыдов, О.П.Крюченкова, З.З.Уразаева, Л.В.Антипова, Г.Г.Бабкина. Перешли в Филиал №1: Л.М.Амлинский из технического отдела, Г.Д.Савельева из БНС, И.Я.Гойхман из ОНТИ, Е.И.Ржеутская, Л.А.Боднарь, М.И.Наумова, В.С.Котляр, Т.Н.Нырнова из ОТД, копировщицы Л.В.Кривенкова, В.А.Дергачева, М.В.Маркова, Е.Д.Решетникова, В.С.Ханина, В.И.Уколова. Все они составили ядро соответствующих служб в Филиале №1. Л.М.Амлинский организовал и возглавил технический отдел, Г.Д.Савельева - отдел нормализации и стандартизации, И.Я.Гойхман - патентную группу ОНТИ, Л.В.Кривенкова - копировальное бюро. Успешно справился с организацией работы отдела технической документации В.Я.Рожавский. Несколько позднее перешел на работу в Филиал №1 на должность заместителя директора по общим вопросам Л.М.Чернин.
Для организации работ коллектива в новых условиях в Филиале №1 ОКБ «Вымпел» была утверждена структура научных подразделений и созданы необходимые службы.
В целом структура выглядела следующим образом:
Директор - д.т.н. М.А.Карцев.
Главный инженер – к.т.н. Ю.В.Рогачев.
Зам. директора по общим вопросам - Л.М.Чернин.
Главный бухгалтер - С.Э.Гетлинг.
Лаборатория №1 - разработка арифметических устройств. Руководитель - к.т.н. В.А.Брик.
Лаборатория №2 - решение общемашинных вопросов. Руководитель - Л.З.Либуркин.
Лаборатория №3 - разработка оперативных запоминающих устройств. Руководитель - к.т.н. Л.В.Иванов.
Лаборатория №4 - разработка постоянных запоминающих устройств. Руководитель - к.т.н. Р.П.Шидловский.
Лаборатория №5 - разработка программного обеспечения. Руководитель - д.т.н. Е.В.Гливенко.
Лаборатория №6 - разработка методов и устройств обмена информацией. Руководитель - к.т.н. Ю.Н.Мельник.
Лаборатория №7 - разработка внутренних ЗУ большого объема. Руководитель - к.т.н. А.А.Крупский.
Лаборатория №8 - разработка пультов, источников вторичного питания, схем электропитания и защиты. Руководитель - Е.С.Шерихов.
Лаборатория №9 - разработка устройств управления. Руководитель - Г.И.Смирнова.
Группа №1 - разработка внешних устройств. Руководитель - В.П.Кузнецова.
Конструкторский отдел. Руководитель - Е.И.Цибуль.
Технический отдел. Руководитель - Л.М.Амлинский.
ОТД - руководитель В.Я.Рожавский.
ОНС - руководитель Г.Д.Савельева.
ОНТИ - руководитель - Р.Ю.Зеликина.
Бухгалтерия - главный бухгалтер С.Э.Гетлинг.
Отдел снабжения – руководитель В.М.Лаптев.
Служба кадров и режима - руководитель С.Я.Бабахин.
Первый отдел. Руководитель - А.А.Некроенко
Министерством обороны при Филиале №1 ОКБ «Вымпел» было образовано представительство заказчика (ПЗ N4893). Руководитель - полковник Ю.Н.Тондрик, военпреды - В.К.Калачев, Е.С.Кленцер, В.А.Кудряшов.
Этот состав в основном и принял на себя всю тяжесть первых шагов становления и развития предприятия: все лаборатории и службы Филиала, а также представительство заказчика предстояло разместить на выделенных 590 кв. метрах производственных площадей.
Под председательством командующего войсками ПРО генерал-полковника Ю.В.Вотинцева была создана межведомственная комиссия по рассмотрению новых проектов системы ПРО и ее средств. В состав комиссии входили крупные ученые, главные конструкторы, видные специалисты Министерства обороны и оборонных отраслей промышленности. В их числе были М.Г.Мымрин, Б.В.Бункин, Р.А.Валиев, В.М.Глушков, П.Д.Грушин, Г.В.Кисунько, С.А.Лебедев, Г.С.Легасов, А.Л.Минц, Ю.Б.Харитон. Предстояло рассмотреть несколько проектов: Г.В.Кисунько, А.Л.Минца, Ю.Г.Бурлакова.
В октябре 1967 года этой комиссией все представленные проекты были отклонены, в том числе и основной комплексный проект генерального конструктора Г.В.Кисунько на систему ПРО "Аврора". Таким образом, отпадала потребность в вычислительном комплексе М-9, и работы по его созданию приостанавливались.
Так начал свою деятельность в Министерстве радиопромышленности коллектив М.А.Карцева с наименованием Филиал №1 ОКБ «Вымпел», практически не связанный с этим ОКБ никакими работами. В этих условиях Филиал №1 получил юридически полную самостоятельность и прямую подчиненность 14-му ГУ МРП по выполняемой тематике и финансированию.
Из книги Вычислительная техника от М-1 до М-13. (1950 - 1991). 1998 г.