Страницы биографии Академика А.П. Ершова: создание системы разделения времени АИСТ-0
История отечественной информатики и программирования в последнее время интенсивно формируется как направление исторической науки. Но некоторые отечественные программистские проекты еще не получили достаточного освещения. В частности, это первые системы разделения времени, к которым принадлежит проект создания программно-аппаратного комплекса АИСТ-0 — Автоматической Информационной Станции. Проект выполнялся в Вычислительном центре СО АН СССР в 1966-1972 гг. под руководством д.ф.-м.н. А.П. Ершова.
Помимо многочисленных отчетов , подготовленных в период выполнения этого проекта, были опубликованы доклады участников проекта в материалах Весенней объединенной вычислительной конференции Американской федерации обществ по обработке информации (AFIPS) и в материалах Второй Всесоюзной конференции по программированию (ВКП-2) . Анализ программного обеспечения АИСТа-0 дал один из его создателей д.ф.-м.н. И.В. Поттосин . Еще один участник проекта, д.ф.-м.н. А.В. Замулин подготовил тезисы доклада о проекте АИСТ-0 для Международной конференции по истории вычислительной техники в России и станах СНГ (Петрозаводск, июль 2006 г.), но, к сожалению, этот доклад так и не был представлен . Настоящая статья является попыткой восстановить хронологию создания системы АИСТ-0, воссоздать исторический фон событий и проанализировать проблемы, с которыми сталкивался коллектив программистов и инженеров, работая над большим проектом. Статья подготовлена по материалам архива академика А.П. Ершова, который хранится в Институте систем информатики СО РАН и доступен в интернете (http://ershov.iis.nsk.su/russian/).
В начале 60-х годов на Западе, а через несколько лет и в Советском Союзе начались работы по созданию операционных (управляющих) программных систем для ЭВМ с аппаратной поддержкой многозадачности и управления параллельной работой устройств. В 1961 году в США уже начали работать первые макеты экспериментальных систем разделения времени (СРВ) малой мощности. В середине 1960-х гг. во всем мире насчитывалось около 200 универсальных и специализированных СРВ. В СССР несколько коллективов вели разработку операционных систем: Объединенный институт ядерных исследований в Дубне, Институт кибернетики АН Украины, Институт прикладной математики АН СССР в Москве и др. В Новосибирском Академгородке под научным руководством А.П. Ершова была проведена работа по созданию архитектуры таких вычислительных комплексов и их программного обеспечения.
Это направление было тесно связано с проблемой поиска новых путей использования вычислительных средств, в частности, с созданием Единой государственной сети вычислительных центров (ЕГСВЦ). Концепции Общегосударственной автоматизированной системы (ОГАС) и Единой государственной системы вычислительных центров (ЕГСВЦ) были предложены академиком В. М. Глушковым еще в 1963 г. . Создание ЕГСВЦ было определено как одно из важнейших направлений и включено в пятилетний план научных исследований СССР на 1966-1970 г. Разработка системы АИСТ находилась в русле этих исследований, она вошла в планы ГКНТ СМ СССР как научно-техническая проблема № 0.80.551 «Создать автоматизированную высокопроизводительную вычислительную систему на базе Вычислительного центра СО АН СССР» (Постановление СМ СССР № 900 от 27 сентября 1967 г.) . Проект АИСТ-0 выполнялся в тот период, когда уже было принято решение об аппаратной и программной совместимости отечественных ЭВМ и системы IBM/360 .
До того как создание СРВ стало государственной программой, в Вычислительном центре СО АН СССР была проведена исследовательская работа в области мультипрограммирования. Первой диссертацией, защищенной по этой проблематике, стала работа заведующего лабораторией логического проектирования ВЦ СО АН СССР Г.П. Макарова . В работе были изложены результаты исследований 1961-1967 годов в области использования некоторых серийных ЭВМ для организации мультиобработки (ЭВМ М-20, Минск-22) . Проблема адаптации уже существующих вычислительных машин к новым условиям их использования всегда была актуальной инженерной задачей, успешное решение которой позволяло продлить жизнь этих машин, расширить область применения и накопить опыт проектирования новых ЭВМ. В значительной мере на базе этих исследований ВЦ СО АН приступил к разработке и реализации автоматической информационной станции АИСТ-0.
А.П. Ершов вел активную исследовательскую и пропагандистскую работу в этой области. В январе 1965 года он был командирован в Москву в ГК КНИР для подготовки перспективного плана исследований по созданию систем математического обеспечения ЭВМ . В мае 1965 года он участвовал в работе Конгресса IFIP в Нью-Йорке и подготовил обстоятельный отчет, изданный в Москве тиражом в 310 экземпляров. Более 40 страниц этого отчета было посвящено системам разделения времени . 18-21 марта 1966 года, еще до выхода в свет правительственных постановлений, А.П. Ершов подготовил записку "О содержании и организации работ по проекту АИСТ" . Он коротко изложил мотивы и цели проекта АИСТ, сформулировал основные проблемные направления, предложил некоторую организацию работ и перечень первоочередных задач. Предполагалось создание прототипа системы на машинах среднего класса (АИСТ-0) с последующим построением (с учетом полученного опыта) более совершенной системы (АИСТ-1) на машине с большим быстродействием. Планировалось базирование системы АИСТ-0 на трех машинах: Минск-22 как управляющей машине и двух М-220 как рабочих процессорах. Для объединения этих трех машин в единую систему и подключения внешних каналов потребовалась разработка дополнительного оборудования: селектора внешней памяти, селектора внешних каналов, коммутатора и т.п.
Программное обеспечение системы включало диспетчер (работавший на управляющей машине) и несколько системных и прикладных программ (в частности, программа сбора статистики, система пультовой отладки, пошаговый транслятор с Алгола, диалоговая программа для выполнения аналитических преобразований и информационно-поисковая система), выполнявшихся на рабочих процессорах . На АИСТ-0 возлагались задачи проверки теоретических положений проекта и сбора данных, которые бы позволили сформулировать техническое задание на расширение системы разделения времени.
Актуальность разработки системы среднего класса А.П. Ершов основывал на сделанном им прогнозе длительной массовой эксплуатации вычислительных машин М-220 и их модификации — примерно до 1980 г. Обладатели этих машин были заинтересованы в использовании своей техники в соответствии с современными тенденциями. Академик Г.И. Марчук, который поддержал проект, и д.ф.-м.н. А.П. Ершов были дальновидны в своих прогнозах и считали, что промышленное производство дополнительных устройств комплексирования машин М-222 (модернизация М-220) в многомашинную систему типа АИСТ-0, допускающую работу как в комплексе, так и в режиме разделения времени, позволит до некоторой степени удовлетворить острые потребности народного хозяйства в такого рода системах .
Новосибирскую команду активно поддерживал профессор Стэндфордского университета (США) Дж. Маккарти, давний друг А.П. Ершова .
В одном из писем Андрей Петрович писал Дж. Маккарти о начальном периоде: «Наша работа по проекту АИСТ идет, хотя, может быть, и медленнее, чем мне хотелось бы, но, вероятно, в целом нормально. Нам обеспечено адекватное финансирование (порядка 6,5 млн. рублей не считая БЭСМ-6), и мы надеемся получить в начале следующего года машины для АИСТА-0. Мы еще не преодолели полностью периода сомнений и колебаний, но группа понемногу набирает кинетическую энергию. Сейчас мы заканчиваем спецификацию функций и определение структуры диспетчера и уточняем перечень системных программ. Я стараюсь, как можно тщательнее анализировать Ваши предостережения и надлежащим образом балансировать общий стиль работы» .
Система АИСТ явилась прообразом современных разветвленных информационных сетей. Она опережала свое время по многим параметрам: это и более удобные возможности методов взаимодействия «человек-машина», и расширение круга пользователей, и новая система учета и сбора данных. Но, как выяснилось уже в процессе создания системы, наша промышленность не в состоянии была обеспечить потребности проекта необходимым объемом оборудования, особенно периферийного. Работа над системой АИСТ-0 выявила еще одну важную проблему: нехватку квалифицированных кадров системных программистов (обеспеченность ими составляла в целом по стране 30%). С присущей А.П. Ершову широтой мышления государственного человека он обращал внимание вышестоящих руководителей на этот факт .
Работа по проекту АИСТ-0 шла по девяти направлениям: центральные процессоры, организация внутренней циркуляции информации, сопряжение с внешними каналами, линии связи и терминалы, подключение реальных объектов, внутреннее программное хозяйство, языки и процессы общения со станцией, анализ и моделирование, информация и документация. Руководители направлений образовали научный совет, который на своих еженедельных заседаниях как принимал принципиальные решения, так и решал текущие проблемы управления проектом. Разработчики поддерживали научные контакты с зарубежными организациями, ведущими работы по разделению времени. С ними был налажен обмен технической документацией. Серийный АИСТ должен был стать совместной разработкой ВЦ СО АН и Специального конструкторского бюро Казанского завода ЭВМ, на котором создавались и модернизировались ЭВМ М-220.
Материально-техническое обеспечение работ по проекту АИСТ было сложным. В связи с недостатком оборудования уже работы по АИСТ-0 были разделены на два этапа: создание пускового варианта и доведение пускового варианта до проектной мощности в ходе опытной эксплуатации. Отставание от графика, составленного в начале 1967 г. достигло к концу 1968 года 4-5 месяцев, и продолжало увеличиваться. Заявки на оборудование в течение 2-х лет ни разу не удовлетворялись в требуемых размерах. Порой приходилось прибегать к помощи Председателя СО АН СССР академика М.А. Лаврентьева, который обращался в Госплан СССР, чтобы дело сдвинулось с мертвой точки. Особенно катастрофическим было обеспечение периферийным оборудованием и оперативной памятью .
Что касалось математического обеспечения (МО), то, по воспоминаниям одного из участников проекта И.В. Поттосина, оно было богатым и разнообразным, «…его создатели хотели использовать все представившиеся им возможности. Существовал ряд специализированных операционных систем пакетного режима, которые могли образовать несколько потоков задач, исполняемых по различным дисциплинам обслуживания, учитывающих важность, срочность и прочие пользовательские требования. Были созданы многопользовательские системы диалоговой отладки и редактирования, системы диалогового программирования как для стандартных языков (Алгол 60), так и для специальных диалоговых языков (известный в то время ДЖОСС). Как пример применения диалога в прикладных программах были разработаны система аналитических преобразований и интеллектуальный пакет для линейной алгебры. Было создано несколько информационно-поисковых систем (ИПС-0, Информатор). По-видимому, впервые в стране было разработано несколько диалоговых игровых программ» .
В это время в отделе программирования, руководимом А.П. Ершовым, шла работа над созданием языка программирования Эпсилон и системы программирования Сигма. По словам одного из создателей И.В. Поттосина, «…к 1968 году система "вышла на простор". Она использовалась и в ВЦ СО АН СССР, и в других организациях. С ее помощью были написаны многие системы: и языковые процессоры… Особую роль она играла как основной инструмент написания программного обеспечения системы коллективного пользования АИСТ-0: все это программное обеспечение размером в несколько сотен тысяч команд — и операционные системы, и трансляторы, и информационные системы, и системы компьютерной алгебры, и игровые программы (кроме ядра ОС, который работал на Минске-22 и был написан в мнемонике Минска) — было написано на Эпсилон» .
В 1968 году была начата разработка АИСТа-1 — второго этапа работ по проекту № 0.80.551 — в частности, совместного эскизного проекта комплексации БЭСМ-6 и Урала-14, универсального селектора внешних каналов и диспетчера. На основе эскизного проекта должно было быть проведено моделирование станции, что позволило бы в соответствии с планом начать разработку оборудования и МО в 1969 г. Работа на этом направлении была отягощена проблемами с оборудованием, в частности, затянувшимся приведением в рабочее состояние ЭВМ Урал-14 и дефицитом, в связи с этим, машинного времени у программистов .
Руководство ГКНТ и Госплана СССР внимательно следило за ходом работ по проекту АИСТ.
В докладе, подготовленном А.П. Ершовым для Госплана, он постарался обрисовать преимущества системы АИСТ: «…любой источник или приемник информации – будь то исследователь, нуждающийся в математических расчетах, установка для проведения физического эксперимента, студент, желающий пройти курс программированного обучения, телеметрическая линия связи, экономист, разрабатывающий оптимальный план, или руководитель, желающий принять обоснованное решение, — может простым подключением устройств ввода-вывода к развитой сети линий связи получить в любое время потребные информационные и вычислительные мощности» . А.П. Ершов считал, что наступило время начать работы по проектированию автоматических информационных станций для будущих ЭВМ 3-го поколения. Эти работы должны включать как разработку специального МО, позволяющего использовать стандартные модели ряда ЭВМ в качестве АИСТов, так и создание новой модели ЭВМ, специально приспособленной для работы в режиме разделения времени. Было заявлено, что Вычислительный центр готов принять на себя функции головной организации, ответственной за разработку логического проекта типовых моделей АИСТов и за разработку специального математического обеспечения для таких станций на основе технических заданий промышленности. Предполагалось, что такие модели в ряду ЭВМ 3-го поколения могли бы появиться вместе с необходимым математическим обеспечением в 1975 году . Для разработки МО АИСТов и стандартных ЭВМ 3-го поколения предлагалось, в том числе, организовать в Академгородке подразделение Министерства радиопромышленности СССР .
Доклад А.П. Ершова был заслушан на Коллегии ГКНТ в феврале 1969 года. Затем последовало постановление Госкомитета по науке и технике СМ СССР, в соответствии с которым для СО АН СССР предусматривалось увеличение объема затрат на научно-исследовательские работы в 1969 году . Кроме того, появилось Постановление ГКНТ «О мерах по улучшению организации работ в области создания и внедрения в народное хозяйство устройств сопряжения ЭВМ с каналами связи, а также аппаратуры передачи данных, коммутации сообщений и коммутации каналов связи» . Этот документ свидетельствовал о стремлении обеспечить единую техническую политику в перечисленных направлениях, что было немаловажно для внедрения систем, подобных АИСТу.
Планировалось завершение комплексной наладки системы АИСТ-0 к началу 1970 года, чтобы продемонстрировать ее работу во время Второй Всесоюзной конференции по программированию (ВКП-2), которая проходила в Новосибирске в феврале. Но из-за очередного срыва поставок оборудования демонстрация не состоялась. Первая «живая» выдача АИСТа-0 была получена 24 марта 1971 года. Сохранился небольшой фрагмент ленты, на котором рукой А.П. Ершова написано: «ОП и ООС — съезду КПСС!» .
В середине 1969 года наметился поворот в идеологии технической политики СССР, который не обошел и производство отечественных ЭВМ и их программного обеспечения. Но на первых порах это не предвещало полного отказа от собственных разработок. На совещании Временной рабочей группы по разделению времени, которое состоялось в Болгарии в ноябре 1969 года, проект АИСТ фигурировал как составная часть вычислительных систем коллективного пользования, которые предполагалось реализовать в Единой системе ЭВМ (ЕС ЭВМ). В марте 1970 года в адрес Отдела вычислительной техники и автоматизированных систем управления ГКНТ СМ СССР из ВЦ СО АН СССР был направлен план работ по доведению АИСТ-0 до проектной мощности, созданию новых систем программирования и т.д. для включения в план народнохозяйственного развития СССР на 1971-1975 год со сметой в 15 млн. рублей. Но эти планы так и остались на бумаге.
«Внутренняя сдача» АИСТа-0 состоялась летом 1971 года. Приемная комиссия под председательством начальника Конструкторского бюро системного программирования М.И. Нечепуренко убедилась в общей работоспособности системы, но отметила ряд недостатков: недостаточную стабильность работы оборудования, недоработку системной программы РЕДАКТОР, неполноту технической документации и т.п. 19-26 декабря 1972 года с опозданием на 2 года состоялась приемка экспериментальной системы АИСТ-0 комиссией Президиума СО АН СССР под председательством заместителя главного ученого секретаря СО АН СССР к.т.н. А.К. Романова. В заключении комиссии, в частности, отмечалось, что причиной несвоевременной сдачи системы явились нарушения сроков поставки оборудования, отсутствие соответствующей технологии, необходимого производства и организации работ . Оценка разработки в целом была положительной. Было признано целесообразным организовать производственную эксплуатацию системы АИСТ-0 в ВЦ СО АН СССР в интересах отдельных институтов Сибирского отделения.
В 1973 году система АИСТ-0 была передана в Кемеровский государственный университет . На ее основе был создан Вычислительный центр КГУ (ныне Центр новых информационных технологий). На этом завершилась история проекта АИСТ. Наступали другие времена, времена Единой системы ЭВМ (ЕС ЭВМ), о которых А.П. Ершов с горечью писал как о периоде, когда «реальное ускорение …было трагически растеряно в близорукой погоне за дешевым успехом копирования прототипов» . Однако опыт, приобретенный в ходе разработки архитектуры и программного обеспечения системы АИСТ-0, в дальнейшем положительно сказался на других проектах новосибирской школы программирования.