Рекурсивная ЭВМ и макроконвейер
Ю.В. Капитонова, А.А. Летичевский
Проблемы архитектуры вычислительных машин интересовали В.М. Глушкова с начала исследований. Уже в 1959 г. на Всесоюзной конференции по вычислительной технике в г. Киеве он высказал идею мозгоподобных структур, которые станут реальностью, когда конструктор сможет объединить в единую систему не тысячи, а миллиарды элементов практически без каких-либо ограничений на число соединений между элементами. В таких структурах может быть осуществлено слияние памяти с обработкой данных, т. е. такое функционирование системы, при котором данные обрабатываются по всей памяти с максимально возможной степенью распараллеливания всех операций. В 1970-х годах в связи с существенным прогрессом в радиоэлектронике и развитием изготовления больших интегральных схем (БИС) появилась возможность построения вычислительных систем большой сложности и существенного повышения производительности за счёт применения новых архитектурных идей и организации параллельных вычислительных процессов.
В 1974 г. на конгрессе IFIP В.М. Глушков выступил с докладом о рекурсивной ЭВМ, основанной на новых принципах организации вычислительных систем (соавторы Мясников В.А., Игнатьев И.Б., Торгашев В.А.). Виктор Михайлович высказал мнение, что только разработка принципиально новой неймановской архитектуры вычислительных систем, базирующаяся на современной технологии, позволит решить проблему построения суперЭВМ с неограниченным ростом производительности при наращивании аппаратных средств.
Дальнейшие исследования показали, что полная и бескомпромиссная реализация принципов построения рекурсивных ЭВМ и мозгоподобных структур при имеющемся уровне электронной технологии пока преждевременна: «Необходимо было найти компромиссные решения, определяющие переходные этапы к мозгоподобным структурам будущего путём разумного отступления от принципов фон Неймана » (из доклада В.М. Глушкова на конференции в Новосибирске в 1979 г.). Такие решения были найдены и положены в основу оригинальной структуры высокопроизводительной ЭВМ, названной макроконвейером.
В 1978 г. Виктор Михайлович предложил идею усовершенствованной системы коммутации с включением функции управления. Такая система позволяет динамически перестраивать связи между процессорами во время решения задачи.
Ещё одна базовая идея В.М. Глушкова в этом направлении состояла в том, чтобы, используя специальный вариант проблемно-ориентированного структурированного языка, применять управляющие процессоры для предварительного анализа последовательных гнезд циклов структурированной программы. В результате этого анализа с помощью нового математического аппарата (алгебры структур данных) система иерархии управляющих процессоров осуществляет такое распределение данных для каждого очередного гнезда циклов между ОЗУ рабочих процессоров и дополнительными ЗУ, подсоединенными через периферические процессоры, так чтобы в максимально возможной степени минимизировать обмены, используя систему иерархической коммутации. При этом для большинства задач удается получить прогрессивное уменьшение скоростей обмена по мере повышения уровня иерархии. Данный результат имеет принципиальное значение, поскольку позволяет устранить опасность снижения быстродействия системы за счёт дальних связей. Кроме того, освобождая архитектурные решения от сложных конструктивно-технических вопросов, связанных с высокочастотной связью, он значительно облегчает наладку системы и делает возможным практически неограниченно наращивать уровень иерархии (вплоть до выхода на уровень сетей территориально распределенных вычислительных систем).
Следующая идея состоит в том, чтобы в иерархическом управлении вычислительным процессом использовать все уровни описания программного продукта, полученные в процессе его проектирования и кодирования. Современные системы, реализующие на всех уровнях управления лишь окончательное машинное представление программного продукта, уподобляются администрации завода, которая осуществляет управление на основе первичной (самой подробной) технологической документации без всяких вторичных, (обобщающих) документов. Разумеется, при таком подходе технология программирования должна в максимальной степени соответствовать принципам архитектуры систем, на которых предполагается реализация готовящегося с ее помощью программного продукта.
Основные принципы позволяют организовать своеобразный «макроконвейер», направленный на распараллеливание циклов и гнезд циклов. Распараллеливание линейных участков программы эта идея в чистом виде не предусматривает. Поскольку каждый такой участок в структурированной программе выполняется лишь один раз, то потерей времени на их «однопроцессорное» прохождение в сложных задачах можно всегда пренебречь, так как основные затраты приходятся на реализацию циклов. Впрочем, как уже отмечалось выше, любой из изложенных в данной работе принципов может комбинироваться с иными, так что при желании можно обеспечить и распараллеливание и линейных участков программ (это может оказаться необходимым в некоторых задачах обработки данных в реальном режиме времени).
Отметим, что предлагаемые архитектура и принципы управления предполагают «мягкую» архитектуру рабочих процессоров. Таким образом, в задачу упреждающего планирования прохождения гнёзд циклов входит планирование настройки на нужные операторы привлекаемых к вычислениям рабочих процессоров.
Относительно методов решения задач отметим еще, что рассматриваемый метод распараллеливания циклов оказывается эффективным не всегда. Трудным случаем является, например, классический метод решения краевой задачи для обыкновенных дифференциальных уравнений путем «пристрелки». Однако, стоит лишь изменить метод, и задача распараллеливается. При этом на каждой итерации приближенное решение точно удовлетворяет краевым условиям, но не удовлетворяет исходным дифференциальным уравнениям. Разбивая очередную траекторию (приближение решения) системой параллельных гиперплоскостей на участки, можем вычислить векторную невязку для каждого такого участка (с точки зрения отличия её от подходящего отрезка решения системы). Смещая в соответствии с этой невязкой точки данного участка траектории, получаем новое приближение искомой траектории. Этот процесс можно построить так, что он будет сходится к истинному решению задачи.
Таким образом, в полной мере возможности нового макроконвейерного инструмента можно будет использовать при соответствующем развитии методов решения задач. Проведенные исследования показывают, что для большинства трудных задач, которые встречаются в различных областях науки и техники, метод макроконвейера работает без существенной переработки метода их решения.
Развитие архитектуры ЭВМ происходит особенным путем, потому что новые идеи (первоначальный замысел) пока исходят от человека. Система машинного проектирования позволяет уточнять, оптимизировать схемы ЭВМ по тому или иному критерию, чаще всего комбинированному, что вручную не удается даже при хороших архитектурных идеях.
В основу дальнейшей работы по архитектуре машин Виктор Михайлович положил последовательный отказ от хорошо известных принципов фон Неймана. Последовательная структура языка, т. е. выполнение команд одна за другой; командно-адресный принцип. Иными словами, в команде содержатся адреса операндов, и команды хранятся так же, как и операнды в памяти; максимальная простота системы команд, т. е. максимальная простота машинного языка. Появление именно таких принципов неудивительно. В эпоху ламповых машин, когда каждый разряд арифметического устройства — это минимум один триод, необходима простая машина с простыми командами.
Однако, уже в то время, Виктор Михайлович предвидел прогресс микроэлектроники и то обстоятельство, что конструктивные элементы будут изготавливаться в едином технологическом процессе и их стоимость будет незначительна. Ещё тогда он сформулировал такую цель для физиков: композиционное конструирование твердого тела для создания машинной среды.
В этом случае принципы фон Неймана были неприемлемы. В.М. Глушков в качестве одного из новых принципов предложил усложненный машинный язык. Так как компилирующие системы усложнялись, то нужно было упрощать программирование, как с точки зрения языков, так и компиляторов. Эта идея, реализованная частично в ЭВМ серии МИР, стала развиваться дальше в соответствии с принципом постепенного усложнения машинного языка, причём не просто усложнения, а приближения к человеческому языку. Пределом Виктор Михайлович поставил разговор с машиной на естественном языке (и выдачу заданий). Для того чтобы выполнить эту задачу, т. е. вести разговор с машиной на естественном языке, необходимо, конечно, прежде всего, автоматизировать логические рассуждения. Арифметические, символические вычисления и логические рассуждения — вот предмет для дальнейшего совершенствования машин.
Основным принципом новой многопроцессорной машины является принцип макроконвейерной обработки данных, суть которого заключается в том, что каждому отдельному процессору на очередном шаге вычислений задается такое задание, которое позволяет ему длительное время работать автономно без взаимодействия с другими процессорами.
Мобилизовав усилия коллектива, и использовав большой задел уже выполненных работ, В.М. Глушков смог в короткие сроки осуществить разработку проекта новой ЭВМ, установить связь с промышленностью и сделать все для того, чтобы новая отечественная ЭВМ — «Макроконвейер Глушкова» — была выпущена в нашей стране к середине 1990-х годов. Реализация макроконвейерных вычислений в многопроцессорных ЭВМ потребовала разработки нового математического аппарата параллельных вычислений, которому В.М. Глушков уделял много внимания в последние годы своей жизни. Эти исследования велись в двух взаимно дополняющих друг друга направлениях. Одно из направлений — это разработка сложных операций над большими структурами данных (массивы, файлы, составные объекты и т. п.) и изучение методов их параллельной реализации. Это направление оказалось тесно связанным с теорией периодически определенных функций, разработанной В.М. Глушковым в 1960-х годах для описания параллелизма на уровне микроопераций. Развитие аппарата периодически-определенных преобразований привело к созданию новой алгебры структур данных, которая позволила разработать общую теорию операций над массивами и создать эффективную технологию программирования для многопроцессорных ЭВМ. Каждая из таких машин была шагом вперед в направлении построения разумной машины, как осуществление одной из концептуальных идей.
Кроме машинного языка, было стремление перейти от последовательного принципа исполнения команд, предложенного фон Нейманом, к мультикомандному. Пришлось много потрудиться, пока не пришла в голову идея макроконвейера и не удалось, если не для каждого арифметического устройства, то для системы в целом, сделать мультикомандную со многими потоками команд и данных машину.
В.М. Глушков привлек к новой работе, кроме сотрудников своего отдела, также отделы И.Н. Молчанова, А.А. Летичевского, В.С. Михалевича и др., коллектив СКВ математических машин и систем. Сам постоянно проводил научные семинары с обсуждением основных вопросов архитектуры и программного обеспечения, добился выпуска постановлений, обязывающих осуществить снабжение института необходимыми техническими средствами, финансированием и обеспечить промышленный выпуск новой ЭВМ, что было далеко не так просто. Главным конструктором макропроцессорной ЭВМ был назначен С.Б. Погребинский.
В 1981 г. Институт кибернетики АН Украины посетил известный физик-атомщик академик Ю.Б. Харитон, которого заинтересовала необычная макроконвейерная машина, позволяющая увеличить во много раз скорость вычислений, а следовательно, сократить сроки важнейших в то время работ. В.М. Глушков понимал важность такого визита для дальнейшей судьбы макроконвейерной ЭВМ и института в целом. Он был уже очень болен, с трудом говорил, речь прерывалась кашлем. И, тем не менее, он сам принял академика, вселил в него свой энтузиазм, веру в то, что мощная отечественная суперЭВМ обязательно появится и поможет физикам.
Глушков не смог увидеть, созданные по его идеям макроконвейерные ЭВМ ЕС 2701 и ЕС 1766, не имеющие аналогов в мировой практике (по оценке Государственной комиссии, принимавшей работы), самые мощные вычислительные системы в период начала 1990-х годов. Производительность ЕС 1766 при использовании полного комплекта процессоров (256 устройств) оценивались в два миллиарда операций в секунду! Производство этих машин было передано на завод ВЭМ (г. Пенза), в 1984 и 1987 г. соответственно. К сожалению, столь мощные (соперничающие с лучшими американскими) и столь нужные науке и технике, машины были выпущены на заводе лишь малой серией.
Из книги Ю.В. Капитоновой и А.А. Летичевского
«Парадигмы и идеи академика В.М. Глушкова» (Киев, «Наукова думка», 2003, стр. 155-160).
Публикуется с разрешения авторов.
Статья помещена в музей 28.05.2008