Начало
. Необходимо было ответить на ряд существенных вопросов: как сделать задания понятными для ЭВМ, как управлять процессом решения на ней задач, как сделать представление способов решения задач приемлемым для пользователя и, разумеется, как, собственно, организовать процесс решения на ЭВМ с учетом взаимодействия всех заинтересованных участников. Тех, с кем связывали ответ на первые два вопроса, обычно называли программистами, на третий — математиками, а на четвертый — вычислителями. Стало понятно, что достичь эффективной эксплуатации возможно, лишь объединив всех участников в особую организационную структуру, названную вычислительным центром (ВЦ). Особый интерес сегодня ВЦ вызывает потому, что в последнее время, в условиях бума в развитии ИТ, компьютеры выступают главным образом в качестве устройств, поддерживающих обработку информации и действующих по принципу: бери больше, кидай дальше. Поэтому и ВЦ придают современную форму ЦОД (центра обработки данных).
А.А. ДородницынНастоящий рассказ об одном из первых в нашей стране ВЦ для читателей «Мира ПК» может представлять интерес не только с исторической точки зрения, но и как пример неизбежного развития ЦОД.
Несколько более полувека назад, а точнее в 1955 г., Вычислительный центр им. А.А. Дородницына РАН, известный как ВЦ АН СССР, был создан под вывеской Всесоюзного головного ВЦ и предназначался для проведения масштабных вычислений на ЭВМ. Его организатором и первым директором был академик Анатолий Алексеевич Дородницын, известный ученый в области аэро- и гидромеханики, разработчик методов расчета для задач метеорологии и аэродинамики, который в самом начале 50-х годов входил в состав комиссии АН СССР, принимавшей ЭЦВМ МЭСМ в эксплуатацию.
ВЦ был выделен из ИТМ и ВТ АН СССР, где разрабатывались ЭВМ БЭСМ. Поэтому в качестве первых ЭВМ, установленных в ВЦ АН СССР, были БЭСМ, получившая в дальнейшем №1, и «Стрела-3», разработанная в СКБ-245. Тогда в связи с колоссальным дефицитом ЭВМ в стране, чтобы поработать на этих машинах, в первое время было необходимо получить разрешение в Совете министров СССР.
Что же собой представлял ВЦ АН СССР в конце первого десятилетия существования ЭВМ? Возможности ЭВМ по решению задач были более чем скромными, если сравнивать с современными суперкомпьютерами. Так, несмотря на возрастание на три порядка скорости счета с помощью ЭВМ по сравнению с ручным, объем обрабатываемых данных при решении задач мало отвечал реальным потребностям, да и программирование не очень удалилось от их составления в кодах машинных операций. Что касается алгоритмической стороны решаемых задач, то понимание особенностей вычислительных схем алгоритмов для конкретных ЭВМ было в подавляющем большинстве случаев, как у первопроходцев, и в дальнейшем привело к появлению специалистов по вычислительному процессу.
В первые годы ВЦ становится не только полигоном по освоению новых ЭВМ, среди которых «Стрела-М», БЭСМ-2, БЭСМ-3М, М-20. В его деятельности значительное внимание уделяется разработке ПО, в частности компиляторов с языков высокого уровня с соответствующими библиотеками на входных языках, например на Алголе-60. Появляются собственные версии ряда пакетов прикладных программ, в том числе для решения задач линейного программирования симплекс-методом, доступных широкому кругу пользователей, и издаются соответствующие библиотеки программ на Алголе.
Очень важное место в структуре ВЦ занимают подразделения, занимающиеся исследованием численных методов решения различных классов задач. Вот три основных направления, представленные в деятельности ВЦ в этот период. Вычислительная практика этих лет стояла перед необходимостью численного решения следующих классов задач: по аэро- и гидромеханике в связи с интенсивным развитием авиа- и ракетостроения, а также атомного и водородного оружия; по управлению различного рода объектами в сложных условиях их движения; по оптимизации выбора конструкции или принимаемого решения в различных ситуациях, на основе решения многомерных экстремальных задач. Таким образом, в структуре ВЦ в самом начале был представлены отделы: теоретический, таблиц и номограмм, а также их библиотек, эксплуатации универсальных ЭВМ, специальных машин и приборов, в том числе счетно-аналитические и клавишные машины. Все это отвечало задачам, поставленным перед ВЦ при его образовании: проведение НИР в области разработки, обобщения и внедрения методов решения математических задач с применением современных средств вычислительной техники (ВТ); выполнение крупных вычислительных работ, в первую очередь для учреждений АН СССР; изучение эксплуатационных качеств и освоение новых средств ВТ; руководство планированием и вычислением математических таблиц в СССР.
Академик А.А. Дородницын, выступая по поводу 25-летия ВЦ, сравнил первые десять лет в его деятельности с «победоносным шествием вычислительных методов». В самом деле, рост за это время быстродействия ЭВМ на четыре порядка привел к тому, что стало возможным решение практически важных задач, а это потребовало развития вычислительных методов. Появилась быстро растущая ветвь науки — прикладная математика, в значительной мере способствовавшая эффективному использованию ЭВМ. А.А. Дородницын там же отметил: «Машинные расчеты вошли в практику и приобрели доверие даже самых консервативных конструкторов, которые стали больше верить расчетам, чем эксперименту». Также интересным событием стало то, что появление универсальных методов расчета позволило перейти с классов задач, имевших формальные постановки задач и по сути математических, на решение задач «описательных» наук, например экономических, отличных от чисто бухгалтерских или финансовых, а также из области биологии, медицины, геологии и др.

Дальнейшая жизнь ВЦ
На аудиенции у понтификаИстория ВЦ, по мнению А.А. Дородницына, «отражает историю информатики вообще». В качестве подтверждения этих слов он ссылается на то, что в момент образования ВЦ в его структуре было всего четыре прикладных лаборатории, отвечавших возможностям ЭВМ того времени, в которых занимались решением задач для наук «физического цикла» (аэродинамика, механика систем, электродинамика, квантовая физика), а также разработкой математических методов решения задач этого класса. За четверть века количество лабораторий не только выросло до 12, но наряду с шестью «классическими», занимавшимися задачами физического цикла, появилось шесть «неклассических», в которых сотрудники работали над нетрадиционными применениями вычислительной математики.
Рассмотрим на примере деятельности нескольких подразделений ВЦ, как же складывалась его история на фоне истории информатики. К сожалению, из-за терминологических трудностей не будет уделено должного внимания очень интересным работам таких подразделений, как отделы вычислительных методов, прикладной математической физики по разработке высокоточных вычислительных технологий, механики сплошных сред, механики и методов нелинейного анализа. Остановим свое внимание на тех подразделениях, чья работа доступна освещению на страницах «Мира ПК».
Начнем с лаборатории программирования, созданной из сотрудников, перешедших в ВЦ из ИТМ и ВТ; в дальнейшем на ее базе был организован отдел систем математического обеспечения (СМО). Его возглавил Владимир Михайлович Курочкин, один из разработчиков системы команд для БЭСМ. При нем лаборатория активно участвует в создании новой дисциплины «программирование» и способствует образованию других организаций в системе АН СССР, например ВЦ Сибирского отделения и Центрального экономико-математического института.
Одним из направлений исследования в лаборатории ВЦ становится проблема автоматизации программирования, в частности создание программирующих программ (ПП), в разработке которых активное участие приняли А.П. Ершов, Л.Н. Королев, В.М. Курочкин, Л.Д. Панина и В.Д. Поддерюгин, а затем языков программирования и трансляторов. ПП для БЭСМ объединяла схему и спецификацию операторов в одном тексте, а также в ней был введен первый структурный оператор, а именно оператор цикла, соответствующий современным циклам с параметром. В лаборатории была выполнена значительная работа по исследованию фундаментальных алгоритмов трансляции, таких как программирование арифметических выражений, реализация условий переходами и т.п. Это позволило развить деятельность по ПП и для других ЭВМ, в том числе для «Стрелы». Так, для «Стрелы-3» был создан транслятор программирующей программы, в котором были реализованы новые методы, известные сейчас как «табличный подход к синтаксическому анализу» и оптимальное (по числу рабочих переменных) программирование арифметических выражений. Еще в 1958 г. А.П. Ершов, заведующий отделом автоматизации программирования в лаборатории программирования ВЦ, опубликовал книгу «Программирующая программа для Быстродействующей электронной счетной машины». Это была первая в мировой литературе монография по автоматизации программирования, и уже через год в Англии вышел ее перевод. В своей работе А.П. Ершов отправлялся от операторных схем, предложенных А.А. Ляпуновым, им был открыт метод хеширования, который применялся к экономичному размещению арифметических выражений в памяти. Глубокие исследования по хеш-функциям выполнил В.Д. Поддерюгин, что нашло свое отражение в известном труде Д. Кнута «Искусство программирования».
Кроме того, В.М. Курочкиным была разработана оригинальная, широко применявшаяся компилирующая и интерпретирующая система (КИС) и транслятор с Алгола для БЭСМ-2.  Одним из значительных достижений В.М. Курочкина и его сотрудников стало создание транслятора с Алгола-60 для БЭСМ-6 интерпретирующего типа, который включал в себя использование стандартных программ транслятора языка Фортран; среди усовершенствований теперь присутствовала ускоренная выборка из массива.
Значительное участие сотрудники ВЦ приняли в национальной космической программе. В частности, расчеты орбит искусственных спутников Земли (ИСЗ) выполнялись по методике, разработанной под руководством В.М. Курочкина. Используя установленную в ВЦ аппаратуру, принимавшую замеры параметров летящего спутника (скорость, ускорение, зенит, азимут и др.), было необходимо найти наилучшие начальные условия для системы дифференциальных уравнений, описывающих его движение. Были составлены программы: обработки данных, вводимых по коду Хемминга; краевая задача решения 43 уравнений движения спутника — нахождение наилучших начальных условий; выдача координат спутника для пунктов наблюдения при первых запусках для пунктов в СССР, а затем и для зарубежных; нахождение координат точки приземления космонавта.
ЭВМ «Стрела» (фото Дм. Бальтерманца)В 1966 г. отдел СМО возглавил член-корреспондент АН СССР Святослав Сергеевич Лавров, который вместе с сотрудниками выполнил многие работы по трансляторам с языков обработки символьной информации для БЭСМ-6, например Снобол-А и Лисп. В это же время в отделе выполнялись работы по расширению Лиспа и созданию геометрического языка Геомал, а также исследования по компьютерной алгебре. С.С. Лавров одним из первых предложил язык АБВ как экспериментальный расширяемый язык программирования в качестве альтернативы Алголу-68, а в рамках рабочей группы WG2.1 IFIP он предложил тезис о необходимости интеграции языков программирования со средствами взаимодействия с операционной средой, ставший прообразом современной концепции API (Application Program Interface, прикладной программный интерфейс).
Разработка трансляторов в ВЦ привлекла внимание В.М. Курочкина к проблемам автоматизации этого процесса, а также формализации описания языков программирования. В ее основу был положен аппарат атрибутных грамматик. Используя их обобщения в целях более эффективного определения языков программирования, В.М. Курочкину удалось построить оригинальный асинхронный алгоритм вычисления семантических атрибутов, который был реализован в разработке системы построения трансляторов Супер. В ней было расширено определение атрибутов, данное Д. Кнутом, путем введения глобальных и структурных атрибутов. В качестве синтаксического анализатора использовался LR(1)-анализатор, а атрибуты вычислялись с помощью универсального алгоритма.
Следует сказать, что с эксплуатацией БЭСМ-6 в ВЦ для отдела СМО связана громадная работа по созданию и поддержке системного ПО. Так, одних лишь трансляторов с языков программирования было создано 10: Алгол-60, Паскаль, APL, Алгол-W, АБВ, Снобол-А, Лисп, Модула-2, система построения трансляторов Супер, Геомал.
Для ускорения процесса создания и отладки программ была разработана и внедрена система Пульт, поддерживающая коррекцию, запуск и отладку программ с выносных терминалов. В отделе СМО была также разработана система Дилос для взаимодействия с ЭВМ на естественном языке.
Разумеется, в деятельности отдела наступил период активных занятий СУБД. Еще в конце 60-х годов для БЭСМ-6 была разработана интерпретирующая система Диалог, в которую пользователь обращался в интерактивном режиме сначала через телетайпы, позже и через дисплеи. Затем была создана «архивная система» Марс-6 для БЭСМ-6, представляющая собой интерпретируемый «микрокод» основных и вспомогательных операций обращения к БД, широко использовавшаяся для реализации систем хранения и СУБД различных моделей. Далее последовали разработки СУБД Альма-1 с доступом через Алгол-60, а в 1980 г. — сетевой СУБД Компас с доступом через Паскаль БЭСМ-6, а также реляционной СУБД Сурна и интерактивной реляционной СУБД Дисур. Популярность СУБД Компас в странах СЭВ была связана с тем, что она была перенесена на различные платформы машин серии СМ и ЕС ЭВМ и позволяла строить на ее основе информационно-поисковые системы (ИПС). В ней же на языке Паскаль для имевшихся типов ЭВМ была реализована возможность форматирования текстов, учитывающего перенос слов и автоматическое составление оглавления.


Полную версию статьи см. на «Мир ПК-диске».