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

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

  1. Научный руководитель: Прангишвили И. В., генеральный конструктор Резанов В. В.; ответственные исполнители: Игнатущенко В. В., Трахтенгерц Э. А. (ИПУ), Борисенко В. М., Щербаков Е. В. (НИИУВМ).
  2. Организации-разработчики: Институт проблем управления Минприбора и АН СССР, НИИ управляющих вычислительных машин (НПО "Импульс") Минприбора СССР; завод-изготовитель - Северодонецкий приборостроительный завод Минприбора СССР.
  3. Год окончания разработки: 1982.
  4. Год начала выпуска - 1984.
  5. Год прекращения выпуска - 1987.
  6. Области применения: верхний уровень иерархических систем управления сложными технологическими процессами и производствами, прямое цифровое управление сложными объектами в реальном масштабе времени, моделирование сложных объектов и др.
  7. Число выпущенных комплексов: 14.

Описание комплексов.

МВК ПС-3000 относятся к вычислительным системам со многими потоками команд и данных (МКМД). В состав МВК входят: до четырех центральных (скалярных) процессоров (СП); до двух однородных решающих полей (векторных процессоров - ВП), каждое из которых доступно двум СП и состоит из восьми однотипных, автономно и асинхронно функционирующих процессорных элементов (ПЭ); до четырех модулей общей параллельной оперативной памяти (по 4 Мб в каждом); до 16 системных субкомплексов (периферийных процессоров - ПП). Все ЦП и ПП имеют прямой доступ ко всей оперативной памяти. Все процессоры и решающие поля МВК ПС-3000 могут функционировать одновременно и асинхронно по отношению друг к другу.

Скалярный процессор СП реализует функции считывания и обработки программы (задачи или ее фрагмента - ветви) в конвейерном режиме; одновременно на различных стадиях обработки в СП могут находиться до восьми команд. Помимо традиционных функций обработки команд и адресов СП обеспечивает:

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

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

Каждый модуль общей оперативной памяти (ОП) состоит из четырех параллельных блоков, работающих в режиме интерливинга. Пропускная способность ОП, состоящей из четырех модулей по четыре блока в каждом, достигает в режиме чтения 100 Мб/c.

Обмен информацией между оперативной памятью и центральными процессорами осуществляется через специальный коммутатор - внутрисистемный интерфейс (ВИ), который содержит автономные радиальные каналы связи между каждым модулем ОП и каждым СП и организован по принципу распределенной буферной памяти: буферная память для заявок от данного СП равномерно распределена по всем модулям ОП, а буферная память каждого модуля ОП оказывается равномерно распределенной на автономные секции между центральными процессорами. Такая организация ВИ обеспечивает: резкое уменьшение числа конфликтов в системе коммутации и повышение ее пропускной способности по сравнению с традиционными радиальными коммутаторами; полную децентрализацию управления пересылками между ОП и центральными процессорами, автоматическую локализацию неисправностей в ВИ и ОП; конвейеризацию обменов информацией между ОП и центральными процессорами.

Другим важным компонентом системы коммуникаций МВК ПС-3000 являются мультиплексоры ввода-вывода, каждый из которых конструктивно интегрирован с соответствующим центральным процессором, имеет восемь каналов для подключения ПП и обеспечивает обмен данными и управляющей информацией между скалярными процессорами (это активно используется при переключении ветвей задач), между данным ПП и любым модулем ОП, любым СП, любым другим ПП.

Общение вычислительного ядра МВК ПС-3000 с внешним миром, в частности с объектами управления, осуществляется через периферийные процессоры ПП - системные субкомплексы. Каждый из них построен на базе процессора СМ 50/60, который совместно с подключенной к нему оперативной памятью (64 Кб) и микропрограммной памятью представляет собой микро-ЭВМ с универсальным интерфейсом ИУС для подключения различных устройств ввода-вывода, терминалов, каналов связи с объектом управления. Введением того или иного набора микропрограмм системные субкомплексы функционально ориентируются на различные типы системных применений.

Развитая система команд МВК ПС-3000 включает команды управления созданием и объединением фрагментов (ветвей) задачи, широкий спектр команд работы с векторными операндами с использованием масок, команды обработки логической информации (8- и 32-разрядных логических кодов и векторов кодов), чисел с фиксированной запятой (8-, 16- и 32-разрядных) и с плавающей запятой (32- и 64-разрядных), широкий набор команд адресной арифметики, пересылок, преобразования форматов, различные привилегированные команды и пр. Архитектура МВК характеризуется также представительным набором средств адресации к памяти, включающим непосредственную адресацию, прямую, относительную, многоуровневую, косвенную, индексацию и автоиндексацию с заданным шагом, а также сочетания этих способов адресации. Для размещения операндов и их адресов в центральном процессоре предусмотрены 24 скалярных 64- и 32-разрядных регистров общего назначения, 256-разрядные регистры векторных масок, а также ряд других регистров - для хранения состояния системы, состояния программы, масок прерываний, режимов отладки и пр. В каждом векторном процессоре предусмотрено восемь 32-элементных векторных регистров (V-регистров). Каждый элемент V-регистра - 64-разрядный. Эти восемь V-регистров могут также использоваться в программах как четыре 64-разрядных регистра, как два 128-элементных регистра, как один 256-элементный регистр.

Организация памяти - сегментная. Для адресации операндов и команд внутри задачи используется 28-разрядный виртуальный адрес, определяющий номер сегмента (непрерывную область памяти, в которой скомпонованы или только программы, или только данные, или программы и данные одной задачи) и адрес внутри сегмента. Минимальной адресуемой единицей памяти является байт. Максимальный размер сегмента - 1 Мб, максимальное число сегментов, предоставляемых одной задаче, - 255, т. е. максимальное адресное пространство, предоставляемое одной задаче, составляет 255 Мб.

Элементная база

Серийные ИМС средней степени интеграции серии К531 (с диодами Шоттки), ОЗУ - серии К565 РУ5 и РУ6.

Конструкция

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

Технология производства и изготовления.

Платы четырехслойные по 4 классу, материал - гальваностойкий стеклотекстолит СФ или стеклопластик СТЭК толщиной 1,5 мм, с шагом координатной сетки 1,25 мм. Изготовление - с использованием автоматизированных процессов литья, штамповки, монтажа радиоэлементов.

Программное обеспечение.

Программное обеспечение МВК ПС-3000 включает одну из версий операционной системы Unix, собственную многофункциональную операционную систему ОС ПС-3000, средства программирования на языках Макроассемблер, Паскаль, Фортран-77, Си (разработана также первая очередь системы программирования на базе языка Ада), библиотеки и пакеты прикладных программ.

Основные особенности операционной системы ОС ПС-3000:

  • инициация и завершение параллельно выполняемых процессов пользователей с аппаратурной поддержкой этих функций, сокращающей временные потери на запуск и останов процессов и повышающей реактивность системы при управлении параллельными процессами;
  • каждый процесс может создать один или несколько новых процессов, которые могут выполняться параллельно с исходным процессом (разумеется, при наличии соответствующих вычислительных ресурсов); новые процессы, в свою очередь, могут создавать другие процессы и т. д.;
  • управление параллельно выполняемыми процессами пользователей и, в частности, синхронизация;
  • часть функций ОС ПС-3000 реализуется на периферийных процессорах СМ 50/60 (функции супервизора ввода-вывода, обработка прерываний от схем контроля всех процессоров, в том числе центральных, и пр.).

Макроассемблер обеспечивает максимальное использование средств и возможностей МВК ПС-3000 и в то же время предлагает многие свойства языков высокого уровня (в частности - блочную структуру).

Компилирующая система на базе языка Фортран-77 обеспечивает компиляцию и отладку программ на уровне входного языка Фортран-77 (ANSI X 3.9-1978), расширенного средствами организации параллельных векторных вычислений, асинхронного распараллеливания задач на отдельные ветви вычислений, а также средствами взаимодействия между ними. Имеются также средства автоматического распараллеливания и оптимизации результирующих программ, написанных на стандартных языках Фортран-77 и Фортран-4.

Подготовка программ может осуществляться как на МВК ПС-3000, так и на инструментальных вычислительных комплексах СМ-2 или СМ-2М.

Первая очередь прикладного ПО МВК ПС-3000 включает в себя:

  • библиотеку программ реализации стандартных численных методов - программ алгебры (матричная арифметика, решение систем линейных уравнений, обращение матриц, нахождение собственных значений матриц и пр.), программ линейного и целочисленного программирования и пр.;
  • пакет программ для создания реляционных БД, поддержанный операционной системой ОС ПС-3000;
  • пакет программ углубленной обработки геофизической информации (программ решения задачи трехмерной миграции, вычислений и ввода кинематических поправок и др.);
  • пакеты программ управления взаимодействием процессов на верхних уровнях управления сложными объектами типа ядерных реакторов и пр.

Технико-эксплуатационные характеристики МВК ПС-3000.

Максимальная суммарная производительность, млн. операций/с:
на скалярных вычислениях (четыре центральных процессора):

сложение с фиксированной запятой 8
умножение с фиксированной запятой 2,2
сложение с плавающей запятой 2,9
умножение с плавающей запятой 2,6

Длительность, нс

машинного такта процессоров 160
цикла оперативной памяти по чтению 640

Максимальная пропускная способность, Мб/с

оперативной памяти 100
каналов ввода-вывода 48

на векторных вычислениях (два векторных процессора по восемь ПЭ)

сложение с фиксированной запятой 20
умножение с фиксированной запятой 4
сложение с плавающей запятой 12
умножение с плавающей запятой 5

Габариты и другие количественные характеристики МВК ПС-3000 (приводятся для конфигурации Регионального вычислительного комплекса РГВК К143-14 с двумя центральными и одним векторным процессором)

Число шкафов СМ ЭВМ в комплексе 7
Число отдельно стоящих механизмов 19
Масса комплекса, kg 6436
Площадь, занимаемая комплексом, м2 120
Потребляемая комплексом мощность по сети 380/220 V, кВ·А 27
Стоимость РГВК К143-14, тыс. руб. (на 1984 г.) 720

Концептуальные особенности МВК ПС-3000

Основными архитектурными и структурными принципами организации МВК ПС-3000 являются: динамическая перестраиваемость его структуры по текущим требованиям параллельных вычислительных процессов; распараллеливание вычислительных процессов на уровнях задач, параллельных фрагментов (ветвей) каждой задачи, параллельных скалярных и векторных крманд каждой ветви; децентрализация и аппаратурная поддержка управления вычислениями на уровнях команд и ветвей.

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

В части организации параллельных вычислений в МВК ПС-3000 разработаны и реализованы новые механизмы распараллеливания вычислительных процессов по ветвям и по командам внутри ветвей.

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

В организации параллельных вычислений на уровне скалярных и векторных команд каждой ветви применяются два взаимосвязанных механизма: нетрадиционный аппарат векторных операторов, поддержанный аппаратурно и позволяющий вычислять сложные арифметические выражения над векторными операндами без обращения к оперативной памяти за промежуточными результатами вычислений, с использованием циклов и условных переходов по векторам признаков; глубокая конвейеризация обработки программы ветви с динамическим анализом готовности скалярных и векторных команд к выполнению (реализация элементов потоковой обработки данных - data flow).

Другие принципы построения МВС серии ПС, широко реализуемые и в современных многопроцессорных вычислительных комплексах:

  • иерархия управления вычислительными поцессами, децентрализация управления вычислениями и обменами информацией;
  • модульность и регулярность структуры системы;
  • использование специальных программных и аппаратных средств распараллеливания и конвейеризации как вычислений, так и управления ими.

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

Литература

  1. А. с. 1168960 (CCCP). Многопроцессорная вычислительная система. Прангишвили И.В., Резанов В.В., Игнатущенко В.В. и др. Опубл. в Б. И., 1985, № 27. Приоритет от 21.12.1982.
  2. Трапезников В. А., Прангишвили И. В., Новохатний А. А., Резанов В. В. Многопроцессорный УВК с перестраиваемой структурой типа ПС-3000. Приборы и системы управления, 1984, № 1, с. 3-5.
  3. Игнатущенко В. В. Организация структур управляющих многопроцессорных вычислительных систем. М.: Энергоатомиздат, 1984. 184 с.
  4. Структурная организация и программное обеспечение многопроцессорных вычислительных комплексов с перестраиваемой структурой ПС-3000. Сб. трудов. М.: ЦПУ, 1987. 52 с.

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