Рекурсивные вычислительные системы. Из прошлого через настоящее в будущее

РЕКУРСИВНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

Из прошлого через настоящее в будущее

Прошло 25 лет с того времени, когда в 1979 году на кафедре вычислительных систем и сетей Ленинградского института авиационного приборостроения был запущен первый в мире экспериментальный образец рекурсивной многопроцессорной вычислительной машины высокой производительности и надежности. Рассказывает основатель этой кафедры и ее заведуюш,ий в течение 30 лет доктор технических наук, профессор, лауреат Государственной премии СССР М. Б. Игнатьев

Я окончил электромеханический факультет Ленинградского политехнического института (ЛПИ) по специальности «Автоматика и телемеханика» в 1955 году и был распределен на работу на предприятие Министерства среднего машиностроения, в атомную промышленность, где я впервые встретился с роботами-манипуляторами для работы в активных зонах. Тогда они так не назывались, ведь в начале пятидесятых годов кибернетика была в СССР объявлена лженаукой. За годы учебы в Политехническом институте мы ни разу не слышали слово «кибернетика», но заведующий кафедрой автоматики и телемеханики ЛПИ профессор Б. И. Доманский так организовал учебный процесс, что мы были полностью готовы к восприятию идей кибернетики и на предприятиях сразу включились в решение проблем автоматизации очень сложных объектов. Проблема создания все более совершенных роботов захватила меня полностью, и с тех пор я занимаюсь этой проблемой, несмотря на различные перипетии моей жизни. Несколько раз я менял место работы, но как только в Ленинградском институте авиационного приборостроения (ЛИАП) открылась возможность вплотную заняться проблемой роботов, я начал там работать. К 1972 году нами был создан спектр различных робототехнических систем - от адаптивных манипуляторов до шестиногой шагающей машины.

В 1972 году я был назначен заместителем главного конструктора по робототехнике, но об этой стороне моей деятельности я расскажу в другой публикации. Робот - это синтез трех систем: во-первых, сенсорных систем, которые поставляют информацию об окружающей среде, во-вторых, системы движителей, которые могут манипулировать с различными предметами в окружающей среде и перемещать робот, в-третьих, системы принятия решений, управляющей системы, которая является как бы аналогом «мозга» робота. Развитие робототехники тесно связано с развитием вычислительной техники, и возможности роботов определяются возможностями вычислительных структур разного уровня. Поэтому после организации кафедры вычислительных систем и сетей в ЛИАП в 1972 году важным направлением ее деятельности кроме робототехники стало создание развивающихся вычислительных систем нетрадиционной архитектуры. Чтобы понять логику такого решения, необходимо рассказать о состоянии мировой вычислительной техники в начале семидесятых годов.

В это время господствующее положение занимала фирма IВМ, грубо нарушающая законы о моно-

полиях и ведущая судебные процессы во многих штатах внутри США и других странах. Этот монополизм проявился и в компьютерной литературе - там описывались машины 1ВМ и почти ничего не говорилось о машинах других фирм, таких как «Контрол Дейта Корпорейшен», «Бэрроуз» и др., которые выступали конкурентами 1ВМ. В машинах фирмы 1ВМ реализовывалась классическая фон-Неймановская архитектура, которая уже не могла удовлетворить потребителей. В Советском Союзе шла борьба двух тенденций: развитие своих собственных разработок, таких как БЭСМ, Урал и другие, и копирование зарубежного опыта, прежде всего копирование машин 1ВМ. В этой ситуации наша молодая кафедра, выделившаяся из кафедры технической кибернетики ЛИАП в феврале 1972 года, решила развивать нетрадиционные многопроцессорные вычислительные системы, которые в перспективе обеспечивали высокую производительность и надежность. Для меня это решение было продолжением моих работ в области цифровых дифференциальных анализаторов, которые являлись многопроцессорными специализированными рекурсивными структурами с обратными связями, высокопроизводительными и надежными за счет введения избыточности методом избыточных переменных, разработанным мною ранее1. Важный шаг был сделан нашим доцентом В. А. Торгашевым, который предложил распрост-

1 ВороновА. А., Гарбузов А. Р., Ермилов Б. Л., Игнатьев М. Б. и др. Цифровые аналоги для систем автоматического управления. - М.: Изд-во АН СССР, 1960.

Игнатьев М. Б. Голономные автоматические системы. - Л.: М.: Изд-во АН СССР, 1963.

Мальцев А. И. Алгоритмы и рекурсивные функции. - М., 1965. Игнатьев М. Б. О совместном использовании принципов введения избыточности и обратной связи для построения ультраустойчивых систем//Тр. III Всесоюзного совещ. по автоматическому управлению. Т. 1. - Изд-во АН СССР, 1968. Игнатьев М. Б. Метод избыточных переменных для функционального кодирования цифровых автоматов // Теория автоматов. N9 4. - Киев: Изд-во ИК АН УССР, 1969.

Игнатьев М. Б. О лингвистическом подходе к анализу и синтезу сложных систем//Тез. Межвузовской научно-технич. конф. «Техническая кибернетика». - М.: Изд-во МВТУ, 1969. Игнатьев М. Б. Избыточность в многоцелевых системах//Тр.

IV симпозиума по проблеме избыточности. - Л., 1970. Игнатьев М. Б., Кулаков Ф. М., Покровский А. М. Алгоритмы управления роботами-манипуляторами. - М.: Машиностроение, 1972 (США, Вирджиния пресс, 1973, 3-е издание 1977). Бритов Г. С., Игнатьев М. Б., Мироновский Л. А., Смирнов Ю. М. Управление вычислительными процессами. - Л.: Изд-во ЛГУ, 1973.

INFORMATION PROCESSING 74 - NORTH-HOLLAND PUBLISHING COMPANY

RECURSIVE MACHINES AND COMPUTING TECHNOLOGY

V. M GLUSHKOV*, M. B. IGNATYEV**, V. A. MYASNIK0V*** and V. A. TORGASHEV**

*U$SR Academy of Sciences Institute of Cybernetics, Ukrainian Academy of Sciences Kiev, USSR

** Leningrad Institute of Aviation Instrument Making Leningrad, USSR

***Main Department of Computing Engineering and Control Systems State Committee of the USSR Council of Ministers for Science and Technology Moscow, USSR

The paper analyzes disadvantages of traditional computers. It shows that partial revision of von Neusaann principles fails to provide a leap in the development of computing technology. Mew principles of program- and structural organization of digital computers are offered. Their name, "recursive computers’' (RC), stems fro» the recursive method of defining their internal language and structure. The main features of their Internal language and their tentative architecture are considered, and their capabilities are evaluated.

Рис. 1. Титул к историческому докладу на конгрессе ИФИП в Швеции

ранить и развить эти принципы на универсальные вычислительные машины. В итоге родилась концепция рекурсивных машин, которая получила поддержку Государственного комитета по науке и технике в Москве и Института кибернетики во главе с академиком В. М. Глушковым в Киеве. Сложился коллектив из москвичей, которых представлял В. А. Мясников, из киевлян, которых представлял В. М. Глушков, и ленинградцев с общим центром в ЛИАПе. В наиболее ярком виде эта концепция была представлена в нашем докладе на международном конгрессе ИФИП в Стокгольме в 1974 году1 (рис. 1). Доклад в Стокгольме делал я, советская делегация отнеслась ко мне очень холодно, зато иностранцы приветствовали доклад, который ниспровергал компьютерные авторитеты и традиционную архитектуру и провозглашал нетрадиционную рекурсивную, которая потом завоевала весь мир в виде систем клиент-сервис. Впервые советская компьютерная разработка была анонсирована на международной арене, что привлекло внимание с разных сторон. Итогом этой акции было, во-первых, включение работы в программу ГКНТ и выделение финансов на создание экспериментального образца рекурсивной машины, во-вторых, соглашение с фирмой «Контрол Дейта Корпорейшен» по созданию рекурсивной машины на основе наших архитектурных решений, в-третьих, предоставление самой лучшей для того времени элементной базы и средств отладки. Я стал руководителем рабочей группы по сотрудничеству с фирмой «Контрол Дейта Корпорейшен» и в этом качестве развивал как проект по рекурсивной машине, так и другие проекты, в числе которых была покупка машины Сай-бер для Ленинградского научного центра АН СССР.

’GlushkovV., Ignatyev M., Miasnikov V., Torgashev V. Recursive machines and computing technology. Proceedings IFIP-74, computer hardware and architecture, p. 65-70, Stockholm, August 5-10, 1974.

На базе этой машины организовался сначала Ленинградский научно-исследовательский вычислительный центр, а потом Ленинградский институт информатики и автоматизации АН СССР. Следует отметить, это было время некоторого потепления в советско-американских отношениях, именно в это время реализовывался проект Союз-Апполон. Таким образом, в результате стечения благоприятных обстоятельств нам удалось развернуть работу по реальному созданию рекурсивной машины. Закипела работа, в которой принимали участие многие сотрудники нашей кафедры: В. А. Торга-шев, В. И. Шкиртиль, С. В. Горбачев, В. Б. Смирнов, В. М. Кисельников, А. М. Лупал, Ю. Е. Шейнин и многие другие. В результате были изготовлены многие блоки машины, и осенью 1979 года экспериментальный образец рекурсивной машины был предъявлен государственной комиссии во главе в академиком А. А. Дородницыным. В специальном Постановлении ГКНТ СССР и Комиссии Президиума Совета Министров СССР от 14.09.1979 г. за № 472/276 отмечалось, что запуск первого в мире экспериментального образца многопроцессорной рекурсивной машины высокой производительности и надежности является достижением мирового уровня. Были разработаны планы дальнейшего развития этой работы, но в декабре 1979 года советские войска вошли в Афганистан и правительство США разорвало все научно-технические связи с СССР, в том числе и по линии фирмы «Контрол Дейта Корпорейшен», что нанесло нам большой ущерб. Но работа продолжалась, хотя наш коллектив разделился - часть сотрудников в январе 1980 года во главе с В. А. Торгашевым перешла в Ленинградский научно-исследовательский вычислительный центр АН СССР, другая часть продолжала работать на нашей кафедре над созданием различных модификаций многопроцессорных систем. В Институте кибернетики в Киеве был создан отдел рекурсивных машин. Таковы внешние контуры этой пионерской работы.

Принципы организации рекурсивных машин и систем

В математике существует большой раздел - рекурсивные функции1. Долгое время термин «рекурсия» употреблялся математиками, не будучи четко определенным. Его приблизительный интуитивный смысл можно описать следующим образом. Значение искомой функции Ф в произвольной точкеХ( под точкой подразумевается набор значений аргументов) определяется, вообще говоря, через значения этой же функции в других точках Н, которые в каком-то смысле предшествуют X. Само слово «рекурсия» означает возвращение2. Рекурсивные функции -это вычислимые функции. По сути дела, все вычислимые на компьютерах функции - это рекурсивные функции, но разные компьютерные архитектуры по-разному ведут вычислительные процессы. Чем лучше соответствует структура компьютера структуре задач, тем меньше затраты памяти и времени. Так что когда мы говорим о рекурсивных машинах, мы говорим о соответствии структур машины и задач, а так как задачи бывают разные, то структура машин должна гибко подстраиваться к структурам задач. Математика в настоящее время погружена в программирование, и в программировании рекурсивные операции распространены.

ЭВМ выступает как средство материализации ло-гико-математических преобразований. ЭВМ являет собой иллюстрацию концепции потенциальной осуществимости, поскольку при отсутствии ограничений на время работы и емкость памяти любая ЭВМ в состоянии провести любые вычисления. Конкретное же протекание процессов вычисления проявляется лишь на уровне организации преобразований информации (задействуются конкретные регистры, коммутаторы, процессоры, линии передачи данных в определенном порядке и сочетании и т. д.). С этой точки зрения «архитектура ЭВМ» - это ее структура в состоянии (процессе) реализации алгоритма, т. е. как бы ожившая структура. Философской основой такого представления является теория отражения, раскрывающая отображение категорий и явлений одной природы (числа, алгоритмы) на объекты другой природы (физические элементы, сигналы). Причем это отображение взаимно неоднозначно - алгоритму ау может соответствовать множество архитектур {А} и обратно - архитектуре Д/ непосредственно не соответствует какой-либо алгоритм ау. Специфика взаимодействия {а} и {/А} раскрывает глубинные свойства диалектического процесса развития математики и вычислительной техники как частного случая взаимодействия абстрактного и конкретного. Как отмечает С. А. Яновская, «лицо машинной математики все более зависит от развития философских и логических оснований математики»3. Не представляется возможным непротиворечивая формализация

1 Мальцев А. И. Алгоритмы и рекурсивные функции. - М., 1965.

2 Математическая энциклопедия. Т. 4. (статья «Рекурсия») -С. 962-966. - М., 1984.

3 Яновская С. А. Методологические проблемы науки. - М., 1972.

отображения {а} а {>4} из-за его неоднозначности. Поэтому построить соответствующую аксиоматическую теорию проектирования ЭВМ не представляется возможным4.

Когда мы формулировали принципы организации рекурсивных машин, мы исходили из потребностей развития вычислительных машин и систем, получили множество авторских свидетельств5. Это был интересный творческий процесс, и с точки зрения достоверности сделанного тогда, в 1974-1979 годах, стоило бы полностью воспроизвести наш доклад на конгрессе ИФИП в Стокгольме. Этот доклад содержал анализ недостатков машин традиционной архитектуры, ревизию принципов фон Неймана, принципы архитектуры рекурсивных машин, основные особенности языка рекурсивных машин, фрагментарное описание рекурсивной машины. В качестве иллюстрации рекурсивной структуры можно привести систему ЗМ - модульную микропроцессорную систему6. Система ЗМ строится из модулей трех типов - операционных, коммуникационных и интерфейсных (рис. 2, рис. 3). Операционные модули выполняют основную работу по обработке данных, реализации объектов математической памяти, процессов определения готовности и выполнения операторов программы на внутреннем языке. Коммуникационный модуль предназначен для реализации коммуникационной системы - установления логического соединения между модулями, обмена информацией между модулями, поиска в системе ресурсов запрошенного типа. Интерфейсные модули подключаются к внешним устройствам своими блоками ввода-вывода. Вопросы организации обмена информацией с внешним миром имеют большое значение для существенно многопроцессорных систем, оказывают значительное влияние на их фактические характеристики. Различные классы задач требуют различной интенсивности обмена с внешними устройствами. Вычислительная система должна обеспечивать построение таких ее конфигураций для каждого конкретного применения, которые бы обладали оптимальными для этого применения характеристиками по вводу-выводу. Система ЗМ обеспечивает инкрементное наращивание вычислительной мощности до любого необходимого

4Суворова П. Г. Диалектика абстрактного и конкретного в понятии «архитектура ЭВМ // Новые идеи в философии науки и научном познании / Под ред. Ю. И. Мирошникова. -Екатеринбург, 2002.

5 Игнатьев М. Б., Кисельников В. М., Торгашев В. А., Смирнов В. Б. Ассоциативное запоминающее устройство. А. С. № 4844562. Бюлл. изобретений № 34, 1975.

Бекасова А. А., Горбачев С. В., Игнатьев М. Б., Мясников В. А., Торгашев В. А. Процессор с микропрограммным управлением. А. с. № 814118 с приоритетом от 1 8.10.1979. Горбачев С.В., Игнатьев М.Б., Кисельников В.М., Мясников В. А., Торгашев В.А. Многопроцессорная вычислительная система. А. с. № 962965 с приоритетом от 27 августа 1974 г. Бюлл. изобретений № 36, 1982.

6 Игнатьев М. Б., Кочкин А. И., Шейнин Ю. Е. Микропроцессорные ситемы - архитектура, программирование и отладка. - М.: Изд-во Атомэнергоиздат, 1983.

а) б) в)

ш Рис. 2. Система ЗМ:а) комумуникационный модуль; б) интерфейсный модуль; в) вычислительный модуль

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

Рис. 3. Модуль системы ЗМ в собранном виде

Перспективы развития вычислительных систем

В связи с изложенным хотелось рассмотреть проблемы развития вычислительной техники. Вычислительные машины предназначены для решения задач. Общая схема решения задач имеет вид

Ячел —^ Яос ~* ^пр Ямаш ^рез>

где Ячел - формулировка задачи на естественном языке; Яос - формулировка задачи на языке основных соотношений; Япр - формулировка задачи на языке программирования; Ямаш - формулировка задачи на машинном языке; Ярез - формулировка задачи на языке результата в виде графиков, таблиц, изображений, текстов, звуков и т. п. К сожалению, для большинства задач имеется только формулировка на естественном языке, большинство задач плохо формализованы. Поэтому актуальным является переход от описания на естественном языке на язык основных соотношений, лингво-комбинатор-ное моделирование является одним из способов такой формализации1. В результате такой формализации порождаются рекурсивные структуры со структурированной неопределенностью. Таким образом, рекурсивная структура машин должна включать три составляющих - явления, смыслы и структурированную неопределенность, которые наличествуют в любой задаче.

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

М, Б. Игнатьев

1 Игнатьев М. Б. Лингво-комбинаторное моделирование плохо формализованных систем // Информационно-управ-ляющие системы, 2003. - № 6. - С. 34-37.