История отечественной вычислительной техники

Многопроцессорная вычислительная система ПС-2000

Принципы универсальных машинных вычислений (по фон Нейману) легли в основу компьютеров первых поколений. На их основе работает и большая часть нынешних компьютеров. Но эти аксиомы существенно ограничивают способы реализации машинного счета. Они диктуют последовательную (команда за командой) реализацию. Такое ограничение сильно сужает разнообразие архитектурных решений и лишает их перспектив к наращиванию производительности за счет увеличения числа одновременно работающих над одной задачей процессоров.

Вычислительный комплекс ПС-2000

Вычислительный комплекс ПС-2000

Искусство творения компьютеров имеет свои вершины мастерства. Многопроцессорные высокопараллельные архитектуры, выходя за пределы юрисдикции классической модели последовательного счета, требуют от создателей нестандартного, многомерного, но очень здравого мышления. (Здесь мысли могут взлетать очень высоко, чтобы затем разбиться о жесткие реалии.) В этой запредельной, рекордной области компьютеростроения архитектурных тайн и сегодня остается значительно больше, чем найдено решений. И тем ценнее достижения, прошедшие проверку практикой. Через положительный опыт открывается путь к новейшим многокомпонентным архитектурам, способным к полному погружению в микромир новых СБИС-технологий и обладающим за счет этого огромным вычислительным потенциалом.

Создание вычислительных систем для эффективной обработки массовой информации к середине 70-х годов стало важной народнохозяйственной задачей. Такие системы были необходимы для обработки массовой геофизической информации, при обработке в реальном времени изображений, поступающих со спутников Земли, в интересах сельского хозяйства, поиска полезных ископаемых, картографии, метеорологии и т. п. Еще более мощные системы требовались при обработке акустической и радиолокационной информации. Особенностью таких задач является то, что они хорошо описываются параллельными алгоритмами, а исходные потоки данных имеют ограниченную разрядность, что позволяет значительно ускорить их обработку.

Многие из этих задач не удавалось решить на имеющихся ЭВМ третьего поколения из-за недостаточной производительности. Только для полномасштабной обработки данных сейсморазведки в геофизике суммарная вычислительная мощность парка ЭВМ должна была составлять 10-100 млрд. операций в секунду, т. е. в сотни и тысячи раз больше по сравнению с имевшейся. Увеличения производительности на порядки нельзя достичь за счет простого наращивания количества машин.

Для решения перечисленных классов задач в 1972-1975 гг. в Москве, в Институте проблем управления АН СССР (ИПУ РАН) была предложена структура и архитектура ПС-2000 - мультипроцессора с одним потоком команд и многими потоками данных. Ее авторам удалось найти оригинальное структурное решение, которое соединило относительную простоту управления одним потоком команд с высокой гибкостью программирования высокопараллельной обработки информации. Найденные в ИПУ РАН структурные решения впервые сориентировали конструкторов на проектирование для таких задач недорогих высокопараллельных компьютеров с высокой производительностью в расчете на единицу стоимости. Предварительные исследования и расчеты подтвердились. Производительность серийных комплексов ПС-2000 достигла 200 млн. операций в секунду.

За период с 1975 по 1980 гг. ИПУ РАН (И. В. Прангишвили) и НИИУВМ НПО "Импульс" (В. В. Резанов) Министерства приборостроения и средств автоматизации СССР выполнили полный комплекс ОКР по созданию вычислительных комплексов ПС-2000 (ЭГВК ПС-2000). Решающий вклад в создание и развитие собственно мультипроцессора ПС-2000 внесли И. Л. Медведев (архитектура), И. И. Итенберг (проектирование), С. Я. Виленкин (матобеспечение) со своими сотрудниками [1-5].

В 1980 г. Госкомиссия приняла опытные образцы и санкционировала серийное производство ЭГВК. Сразу восемь экземпляров ЭГВК ПС-2000, демонстрировавшихся перед комиссией на геофизических задачах (пакет программ в составе СОС-ПС (НПО "Геофизика", Москва), давали суммарную производительность около миллиарда операций в секунду. Столь высокая производительность проблемно-ориентированных ЭГВК ПС-2000 достигалась на хорошо распараллеливаемых задачах, которые характерны для многих практических применений. При решении таких задач на ЭГВК ПС-2000 достигался рекордный "гражданский" показатель "производительность/стоимость" [6-9].

С 1981 по 1988 гг. Северодонецким приборостроительным заводом Министерства приборостроения и средств автоматизации СССР (М. С. Шкабардня) было выпущено около 180 ЭГВК ПС-2000, мультипроцессоров ПС-2000 - 242 шт. Высокопроизводительные и недорогие вычислительные комплексы ПС-2000 работали в различных областях народного хозяйства во всех регионах страны и на специальных объектах.

Отечественное компьютеростроение впервые в мире большим тиражом выпустило высокопроизводительную многопроцессонрую вычислительую систему.

В состав ЭГВК ПС-2000 (рис.1) входит собственно мультипроцессор, мониторная подсистема (МПС) и от одной до четырех подсистем внешней памяти (СВП). Мультипроцессор включает в себя 1, 2, 4 или 8 устройств обработки (УО), каждое из которых содержит 8 процессорных элементов (ПЭ), обрабатывающих множество потоков данных по программам, находящимся в общем устройстве управления (ОУУ).

Структура ЭГВК ПС-2000

Рис. 1 Структура ЭГВК ПС-2000

Мониторная подсистема на базе малой ЭВМ СМ-2М взяла на себя функции операционной системы, а также трансляцию, редактирование текстов, счет по вспомогательным программам, управление СВП и средствами отображения. При работе с физическими объектами в реальном времени возможно подключение потоков информации к мультипроцессору как через СВП, так и через специальные высокоскоростные каналы.

Мультипроцессор ПС-2000 ориентирован на высокопроизводительную обработку больших массивов информации по хорошо распараллеливаемым регулярным алгоритмам. Он обеспечивает однозадачный режим работы с одним потоком команд и многими потоками данных (SIMD-архитектура). Особенностью SIMD-архитектуры ПС-2000 является наличие значительных объемов регистровой памяти, в которой и протекают массовые вычисления и межпроцессорные обмены, а также выполняется адресация распределенной оперативной памяти.

Мультипроцессор ПС-2000 (рис. 2) состоит из структурированной совокупности однотипных ПЭ и общего устройства управления. Конструктивно восемь ПЭ объединяются в УО. Каждый ПЭ содержит арифметико-логическое устройство с набором регистров общего назначения S, память M, устройство локальной адресной арифметики L, устройство активации ПЭ - T, фрагменты регулярного В и магистрального каналов. ОУУ содержит арифметико-логическое устройство с набором регистров общего назначения W, память данных Н, адресную арифметику HL, память микрокоманд G.

Структура мультипроцессора ПС-2000

Рис. 2 Структура мультипроцессора ПС-2000

Устройство S за 0,32 мкс выполняет операции с фиксированной запятой над 24-разрядными регистровыми операндами, в нем также имеется аппаратная поддержка, обеспечивающая выполнение операций с плавающей запятой (сложение/вычитание за 0,96 мкс, умножение за 1,6 мкс). Объем памяти М и Н - 16 384 24-разрядных слова каждая, операции считывания или записи выполняются за 0,96 мкс. Объем памяти G - 16 384 64-разрядных слова. Время выдачи микрокоманды - 0,32 мкс, время выполнения команды ветвления от 1,28 до 1,92 мкс.

Регулярный канал обеспечивает массовый обмен данными между соседними ПЭ, за 0,32 мкс производится передача и прием N 24-разрядных чисел, где N - количество ПЭ в ЭГВК ПС-2000. Магистральный канал обеспечивает широковещательную передачу всем ПЭ одного 24-разрядного слова либо из ОУУ за 0,32 мкс, либо из любого ПЭ за 0,64 мкс. Регулярный и магистральный каналы могут программно сегментироваться на несколько не связанных между собой одинаковых фрагментов размером 8, 16, 32 или 64 ПЭ.

ОУУ обеспечивает прием и хранение программы мультипроцессора, генерацию и передачу общих для всех ПЭ управляющих сигналов, синхронизацию процессов обработки и ввода-вывода, связь с МПС, тестирование ПЭ.

Микрокоманда мультипроцессора ПС-2000 отражает его структуру, что позволяет обеспечить одновременную работу различных устройств ПЭ и ОУУ. Микрокоманда содержит 64 разряда и состоит из двух полей по 32 разряда. В первом поле задается управление устройством Т и S или В, во втором поле задается управление устройствами М и L или W, H и HL или G (рис. 3).

Программист по своему усмотрению может задавать одновременную работу различных устройств, организуя эффективный вычислительный процесс, позволяющий выполнять вспомогательные операции (подготовку настроек, модификацию адресов операндов, считывание операндов, запись результатов, управление конфигурацией решающего поля и т. п.) одновременно с выполнением массовых вычислений в устройствах S ПЭ. Таким образом, ПС-2000 характеризуется высокой степенью распараллеливания на уровне отдельных микроопераций.

Все это позволяет мультипроцессору ПС-2000 с 64 ПЭ работать с эффективной производительностью 200 млн. операций в секунду при выполнении расчетов с фиксированной запятой и 50 млн. операций в секунду при выполнении одновременно нескольких вычислительных задач, содержащих операции с плавающей запятой. Таким образом, 64-процессорный ПС-2000, имея тактовую частоту 3 МГц, для пользователя работает с частотой 200 МГц.

Таков эффект высокопараллельной хорошо сбалансированной архитектуры. На современной элементной базе архитектура ПС-2000 при тактовой частоте 200 МГц могла бы обеспечить производительность 20 млрд. операций в секунду при многократном снижении габаритов и энергопотребления.

Элементная база мультипроцессора ПС-2000 - интегральные микросхемы средней степени интеграции типа К531 (с диодами Шоттки), К155, ОЗУ - К565 РУ5, К565РУ6.

Устройства ПС-2000 реализованы на базе унифицированных конструкций СМ ЭВМ. Блоки элементов - на основе печатных плат типа Е2 (233 х 220 мм).

Платы четырехслойные по 4-му классу, материал - гальваностойкий стеклотекстолит СФ или стеклопластик СТЭК толщиной 1,5 мм, с шагом координатной сетки - 1,25 мм. Число интегральных микросхем на плате Е2 - 54 шт. Соединители СНП 59 - низкочастотный прямоугольный.

Изготовление с использованием автоматизации процессов литья, штамповки, монтажа радиоэлементов.

Мультипроцессор ПС-2000 компонуется из модулей трех типов, каждый из которых размещается в одном шкафу:

  • модуль базовый - одно УО (8 ПЭ) и одно ОУУ;
  • модуль наращивания 1 - одно УО (8 ПЭ);
  • модуль наращивания 2 - два УО (16 ПЭ).

Размеры шкафа 1800х1000х450 мм. Минимальная конфигурация (8 ПЭ) состоит из одного шкафа (рис. 4, а.). Максимальная конфигурация (64 ПЭ) состоит из пяти шкафов, размещенных в виде "звезды" (рис. 4, г).

Модульное конструктивное построение, неприхотливая элементная база, не требующая специальных условий охлаждения, и система программирования с гибкой системой настроек, позволяющая писать программы, не зависящие от числа ПЭ в ЭГВК ПС-2000, обеспечили высокую живучесть и ремонтопригодность мультипроцессора ПС-2000, что позволило в условиях экспедиций обеспечить работу ЭГВК ПС-2000 более 20 ч в сутки.

Программное обеспечение ЭГВК ПС-2000 использует агрегатную систему программного обеспечения (АСПО) СМ ЭВМ, расширенную программными средствами управления мультипроцессором ПС-2000 и СВП, системой подготовки микропрограмм , тестово-диагностической системой и пакетами прикладных программ мультипроцессора ПС-2000 (рис. 5).

Основным языком программирования мультипроцессора ПС-2000 стал МИКРОКОД ПС-2000 [10-12], который в мнемонической форме отражает систему микрокоманд мультипроцессора ПС-2000. Достаточно мощная команда МИКРОКОДА ПС-2000, состоящая из структурированной совокупности операторов, похожих на команды универсальных ЭВМ третьего поколения, удобная мнемоническая запись операторов и возможность создания эффективных микропрограмм обеспечили его популярность. На МИКРОКОДЕ ПС-2000 работало более 500 программистов в различных городах СССР (Москва, Новосибирск, Рязань, Калинин, Северодонецк, Ереван, Таллин и др.).

Примеры команд МИКРОКОДА ПС-2000

PUL: SA(B=R5+A); MR(L5)! Команда помечена меткой PUL, далее сложить содержимое регистров R5 и А, результат поместить в регистр В, далее произвести считывание (R) из памяти данных М по адресу, находящемуся в регистре L5.

СA12L;G(PUL)/ U>I5! Команда не помечена, выполнить арифметический (А) сдвиг на 12 разрядов влево (L) в регистре С, далее осуществить переход по метке PUL при условии, что содержимое регистра U больше содержимого регистра I5.

Трудности программирования на МИКРОКОДЕ ПС-2000, связанные с необходимостью распараллеливания алгоритмов, часто компенсировались использованием простых многоканальных алгоритмов, а нетривиальное распараллеливание сложных алгоритмов требовало от программистов творческого подхода. Отсутствие возможности автоматического распределения памяти данных М и Н компенсировалось однозадачным режимом работы мультипроцессора и широкими возможностями косвенной регистровой адресации.

Разработка параллельных программ для ЭГВК ПС-2000 требовала особого искусства. Эффективность использования машинных ресурсов мультипроцессора удивляла самих разработчиков. Ощущение прорыва в будущее испытали многие программисты, имевшие прототипы программ на обычных машинах. На некоторых задачах время счета ускорялось в сотни раз [13]. Повышенное напряжение творческих сил, которого требовала высокопараллельная машинная среда от программиста, как правило, компенсировалось профессиональным удовлетворением результатами работы.

Языки программирования более высокого уровня (алголоподобный Вектор, параллельный Фортран, Ассемблер ПС-2000 и многие другие) не имели достаточной популярности у программистов ПС-2000, поскольку приводили не только к снижению производительности в 2-8 раз, но и в соответствующее число раз увеличивали объем памяти микропрограмм, что приводило к исчерпанию памяти G, а динамическая подзагрузка микропрограмм настолька усложняла программирование, что сводила к нулю преимущества языков более высокого уровня. Возможно, для создания хорошего языка программирования высокого уровня на параллельной архитектуре не хватило времени и технических возможностей элементной базы.

Областью широкого использования ЭГВК ПС-2000 стала геофизика, которая объективно нуждалась в компьютерах такого класса. Быстрорастущие стеллажи из внушительных катушек магнитных лент (размером с большую тарелку каждая) с записями данных сейсморазведки, годами безмолвно хранивших нефтяные и газовые секреты, предопределили успех ПС-2000. Уже в 70-е годы сейсмическая разведка настолько успешно "просвечивала" и записывала на ленты километровые глубины недр Родины, что, буквально, с головой засыпала катушками вычислительные центры. В год удавалось расшифровывать лишь несколько процентов того, что поступало за один сезон разведки.

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

ЭГВК ПС-2000 создавался в соответствии с требованиями Министерство геологии и являлся единственным в стране проблемно-ориентированным вычислительным комплексом, полностью оснащенным всем необходимым оборудованием для обработки данных сейсморазведки. ЭГВК ПС-2000 не требовал большой площади, имел по тем временам сравнительно малое энергопотребление, низкие эксплуатационные расходы, обеспечивал высокую надежность при работе в условиях геофизических экспедиций. Применение ЭГВК ПС-2000 позволило отказаться от импорта дорогостоящих зарубежных вычислительных комплексов. Подтвержденный экономический эффект от использования ЭГВК ПС-2000 только в области геофизики составил около 200 млн. Руб., при этом на его разработку было затрачено10 млн. руб.

На базе нескольких комплексов ПС-2000 были созданы высокопроизводительные (до 1 млрд. операций в секунду) системы обработки гидроакустической и телеметрической информации в реальном масштабе времени. Каждая система содержит три - четыре ЭГВК ПС-2000, соединенных в единый конвейер, а для быстрого ввода и вывода гидроакустической, спутниковой информации для таких систем создавались специализированные высокоскоростные каналы.

Телеметрический вычислительный комплекс центра управления космическими полетами (ЦУП) использовал с 1986 г. вплоть до 1997 г. года систему предварительной обработки телеметрической информации на базе ЭГВК ПС-2000, связанную в единый комплекс с центральной системой обработки на базе многопроцессорного вычислительного комплекса "Эльбрус-2". Высокий параллелизм обработки информации в ПС-2000 позволил реализовать новые алгоритмы обработки телеметрической информации. Первые комплексы ПС-2000 поступили в ЦУП в 1982 г., последние - в 1988 г. Всего было задействовано восемь 32-процессорных комплексов. К одной центральной системе "Эльбрус-2" подключена пара 32-процессорных ЭГВК ПС-2000 для обработки восьми полных потоков телеметрии. С целью дублирования параллельно работали два телеметрических комплекса, а на динамических участках полета космических объектов - три.

По откликам зарубежных источников ПС-2000 - один из самых продвинутых и самый быстродействующий серийный советский компьютер [14,15].

В Институте проблем управления существенный вклад внесли:

  • в разработку мультипроцессора ПС-2000: Трапезников В. А., академик; Прангишвили И. В., академик - научный руководитель; Медведев И. Л., д. т. н.; Виленкин С. Я.; д. т. н., Затуливетер Ю. С.; к. т. н., Фищенко Е. А., к. т. н.;
  • в разработку программного обеспечения и внедрение мультипроцессора ПС-2000:Лазебник Е. Р.; Паишев И. И., к. т. н.; Багров В. Б.; Сухов Е. Г., к. ф.-м. н; Гришина И. М, Лапшенкина О. И., Куприянов Б. В. к. т. н.; Разбегин В. П.
  • Разработчики НИИУВМ:Итенберг И. И., к. т. н. - руководитель темы; Набатов А. С. , к. т. н.; Пивоваров Г. Ю., к. т. н.; Голован Н. И., к. т. н.; Данильченко С. И., Сергенко В. А., Ларгин В. А., к. т. н.; Власенко Л. Я., Белильщикова Н. В., Жадлун Н. Ф., Костелянский В. М., к. т. н.

Литература

  1. А.с. 751238 (СССР). Многопроцессорная вычислительная система (А. Я. Бирюков, С. Я. Виленкин, В. А. Жуков, Ю. С. Затуливетер, И. Л. Медведев, И. В. Прангишвили, Н. И. Голован, И. И. Итенберг, В. М. Костелянский, А. С. Набатов, Г. Ю. Пивоваров, В. В. Резанов, Е. А. Фищенко). Опубл. в Б. И., 1983, № 22.
  2. Медведев И. Л. Принципы построения многопроцессорных вычислительных систем с общим потоком команд. В кн.: Многопроцессорные вычислительные системы с общим потоком команд. М., ИПУ, 1978, вып.19, с. 5-21.
  3. Бирюков А. Я., Голован Н. И., Медведев И. Л., Набатов А. С., Фищенко Е. А. Решающие поля многопроцессорных вычислительных систем. В кн.: Многопроцессорные вычислительные системы с общим потоком команд. М., ИПУ, 1978, вып.19, с. 22-32.
  4. Фищенко Е. А . Выбор системы команд для многопроцессорной вычислительной системы с общим потоком команд. В кн.: Многопроцессорные вычислительные системы с общим потоком команд. М., ИПУ, 1978, вып.19, с. 33-39.
  5. Затуливетер Ю. С., Медведев И. Л. О групповом параллелизме и двойственной реализации параллельных вычислений. В кн.: вопросы кибернетики. Вып. 48. Вычислительные машины и системы с перестраиваемой структурой. М., Н. С. по комплексной проблеме "Кибернетика" АН СССР, 1978, с. 44-63.
  6. Экспедиционные геофизические комплексы на базе многопроцессорной ЭВМ ПС-2000. / В. А. Трапезников, И. В. Прангишвили, А. А. Новохатный, В. В. Резанов. - Приборы и системы управления, 1981, № 2, с. 29-31.
  7. Прангишвили И. В., Виленкин С. Я., Медведев И. Л. Многопроцессорные вычислительные системы с общим управлением. - М., Энергоатомиздат, 1983. 312 с.
  8. Вычислительные комплексы ПС-2000. Проспект. Ротапринт. г. Северодонецк, НПО "Импульс", 1981. 30 с.
  9. Медведев И. Л. Проектирование ядра структуры параллельных процессоров. М., Институт проблем управления, 1992 (препринт). 60 с.
  10. Фищенко Е. А. Принципы построения мнемокода многопроцессорных вычислительных систем с общим управлением. В сб.: Всесоюзное научно-техническое совещание "Проблемы создания и использования высокопроизводительных машин". М., ИПУ, 1979, с.108-110.
  11. Медведев И. Л., Фищенко Е. А. Об одном способе описания программно-доступных средств параллельного процессора. В кн.: Вопросы кибернетики. Вып. 92. М., НС по комплексной проблеме "Кибернетика" АН СССР, 1982, с. 43-67.
  12. Микрокод ПС-2000. Руководство программиста. 3.400.027-013301. Ротапринт. Северодонецк, НПО "Импульс", 1983.
  13. Амелина Е. Т., Затуливетер Ю. С., Лазебник Е. Р., Медведев И. Л., Нейман А. В., Фищенко Е. А. Миграция временного разреза земли на параллельной ЭВМ ПС-2000 (Быстрое сейсмоголографическое преобразование Кирхгофа). Препринт М., ИПУ, 1992. 36 с.
  14. Wolcott P., Goodman S. E. High-Speed computers of the Soviet Union. Computer, September, 1988.
  15. Wolcott P., Goodman S. E. Computing under the stress of economic reform: the case of high perfomance computing in the former Soviet Union. Communications of the ACM, October, 1993, p. 25-29.

Здесь приведены лишь краткие сведения о многопроцессорной вычислительной системе ПС-2000 и ее создателях. Многие области применения остались неупомянутыми. Одна из целей данной публикации - поиска всех специалистов, внесших вклад в создание различных приложений. Мы будем признательны всем, кто пришлет свои воспоминания, дополнения об этих людях.

Контактные адреса, e-mail:

Институт проблем управления РАН
117806, ГСП-7, Москва, ул. Профсоюзная, 65.

Прангишвили Ивери Варламович, академик, e-mail: prangi@ipu.rssi.ru
Затуливетер Юрий Семенович, к. т. н., e-mail: zvt@ipu.rssi.ru
Фищенко Елена Алексеевна, к. т. н., e-mail: fish@ipu.rssi.ru

ИИУВМ НПО "Импульс",
Северодонецк, Украина.

Пивоваров Григорий Юрьевич, к. т. н.
Набатов Александр Сергеевич, к. т. н.