«Звезды» вычислительной техники

Важнейшей задачей является разработка и массовое производство современной электронно-вычислительной техники.
Резолюция XXVII съезда КПСС по Политическому докладу ЦК КПСС

Академик В. А. МЕЛЬНИКОВ, директор Института проблем кибернетики АН СССР, отвечает на вопросы нашего корреспондента К. ЛЕВИТИНА о проблемах создания и использования самых мощных вычислительных машин, получивших название «супер-ЭВМ».

Супер-ЭВМ... Приставка, не совсем обычная для русского научного языка, которая тем не менее о чем-то здесь говорит. «Новые возможности!» — с надеждой подумает пользователь. «Наверняка стоит бешеных денег»,— уныло заметит главный бухгалтер. И оба не ошибутся, хотя используют разные единицы измерений.

— Владимир Андреевич, вами написано предисловие к переводу на русский язык тематического выпуска трудов американского Института инженеров по электротехнике и радиоэлектронике, на обложке которого написано: «Супер ЭВМ: воздействие на развитие науки и техники». Не могли бы вы прокомментировать это название?

— Как явствует из названия, новейшие высокопроизводительные вычислительные машины уже применяются, притом достаточно широко. Именно появление супер-ЭВМ открывает новый этап в развитии человеческого общества — этап компьютеризации. В этом утверждении нет преувеличения. Во многих областях науки мы подошли к тем пределам, когда использование прямых методов исследования становится либо нецелесообразно, либо неприемлемо дорого, а то и попросту невозможно. И вот именно в таких ситуациях на помощь науке приходит созданная ее же радением сверхскоростная, обладающая гигантским объемом памяти вычислительная машина. Это уже не устройство для обычной обработки данных опыта, а совершенный инструмент исследования, точный и надежный прибор.

Супер-ЭВМ открывают новые, ранее не доступные нам возможности, связанные с математическим моделированием исследуемых процессов и явлений в фундаментальных науках, с вычислительным экспериментом при проектировании сложных технических систем. Что такое супер-ЭВМ? Точного определения этого класса машин не существует. Иногда, правда, говорят, что в каждом времени была своя супер-ЭВМ, то есть вычислительная машина с рекордной производительностью. Но дело не в имени, оно условно, а в том, что нынешние «звезды» вычислительной техники по своим возможностям отличаются от их предшественниц. В стремлении подчеркнуть это особое отличие — единственный смысл нового названия.

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

Вот, к примеру, что пишет Кеннет Вильсон, американский физик, получивший Нобелевскую премию за выяснение природы глубоких скачкообразных структурных изменений в массе вещества, так называемых фазовых переходов: «Отказ от использования больших ЭВМ во всем мире привел бы к значительному сокращению исследований в таких важнейших областях, как теория элементарных частиц, астрофизика, поверхностные эффекты, теория турбулентности и т. д. ...В рамках нынешнего этапа мирового экономического соревнования намечается мероприятие ошеломляющего размаха, цель которого состоит в том, чтобы заключить все знания и опыт, накопленные за четырехсотлетний период становления мировой науки, в программы ЭВМ, содействующие решению задач исследования природных ресурсов, разработки и производства промышленной продукции».

— Что, кроме развития элементной базы, обусловило рождение этих замечательных машин?

— Они появились на свет, как мне кажется, благодаря предельному развитию двух в общем-то достаточно очевидных и известных идей. Первая называется «конвейерная организация вычислений», вторая — «векторная обработка данных». Как станет ясно из дальнейшего, обе эти идеи связаны между собой самым тесным образом, более того, одна из них — порождение другой.

Идея конвейера чрезвычайно проста, и столь же просто можно рассказать о ней. Но сначала — несколько слов о том пути, который прошла вычислительная техника в последние годы и который привел в конце концов к конвейеризации вычислений.

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

— А могут ли и дальше схемы становиться все более компактными?

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

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

Поэтому дальнейшая борьба за увеличение производительности ЭВМ разворачивается сейчас на другом направлении.

Вот я и подошел вплотную к идее конвейера, которую мой учитель, академик Сергей Алексеевич Лебедев, конструктор первых советских электронных вычислительных машин, формулировал как «принцип водопровода». По трубе льется вода. С какой скоростью она вытекает? Естественно, с той же, с какой и втекает. Теперь представим себе, что вычислительная машина выполняет некоторые операции, состоящие из элементарных действий, причем каждое действие поручено одному из узлов аппаратуры машины, а все они соединены в цепочку так, что выход каждого из них служит входом следующего, совершающего очередное элементарное действие. Тогда, как только подобный конвейер окажется загруженным (труба заполнится водой), результаты станут появляться на его выходе в темпе поступления входных данных.

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

— Неужели столь простая идея не приходила в голову создателям вычислительных машин?

— Конечно, в той или иной форме она высказывалась и использовалась и раньше. Но тут, видимо, мне следует сделать некоторое отступление, своего рода краткий экскурс в историю попыток распараллеливания вычислений, в противном случае, боюсь, не все из ваших читателей полностью разберутся в сути дела.

Пусть нам доступна некоторая элементная база, созданная трудом специалистов по микроэлектронике. Каждый вентиль работает с максимально достижимой на данном этапе развития техники скоростью. Как создать на ее основе эффективно работающую вычислительную структуру?

В машине есть устройство, своего рода внутренние часы, которое заставляет все многочисленные узлы работать строго синхронно, по тактам. Такт — это машинная единица времени. За один такт в машине выполняются содержательные элементарные действия. При прохождении сигнала каждый из переключательных элементов, вентилей, на очень короткое время задерживает его. Поэтому есть определенное соотношение между временем задержки на одном вентиле и длительностью машинного такта. Соотношение это в разные периоды развития элементной базы менялось, и сейчас его можно считать приблизительно равным Г. 10, то есть если время задержки в каждом вентиле схемы равно одной наносекунде (одной миллиардной доле секунды, сокращенно «нс»), то машинный такт при использовании таких схем может составить 10 нс. Тогда, чтобы ЭВМ обладала производительностью в 100 миллионов операций в секунду, надо, чтобы на каждом такте был всегда получен результат выполнения очередной операции. Еще совсем недавно такое требование считалось бы, безусловно, невыполнимым.

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

В памяти хранятся команды и данные (их называют «операндами»), а процессор обращается к ней, чтобы получать и то, и другое и производить все диктуемые программой операции. Результаты действий процессора вновь отсылаются в память, вновь извлекаются из нее, и так далее. Даже столь примитивная модель компьютера позволяет сделать следующее наблюдение: оба устройства имеют различные скорости работы, и потому производительность машины будет определять наиболее медленное из них. В устранении этого дисбаланса заключена, пожалуй, одна из главных проблем повышения производительности ЭВМ.

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

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

Буферы постоянно подкачиваются — одни команды и операнды удаляются из них, другие загружаются.

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

— Но как обеспечить такую постоянную загрузку? Ведь это чрезвычайно непросто...

— Проблем в вычислительной технике вообще хватает. И расслоение памяти и буферизация, о которых я вам говорил, тоже ведь повлекли за собой массу проблем. Образовались общие ресурсы, отсюда — возможные конфликты. Потребовалось ввести специальные схемы управления и синхронизации.

Так и с конвейером. Желание эффективно использовать конвейерную организацию вычислений привело к мысли о векторной обработке.

Идея состоит в том, чтобы распознать в программе действия, которые могут быть выполнены одновременно с помощью одной команды. При этом конвейер начинает загружаться огромным числом данных, подвергаемых однотипной обработке. Если ввести Несколько конвейерных устройств для выполнения различных операций и связать их друг с другом, то возникает возможность работы в режиме «зацепления»: образуется своего рода суперконвейер, и на каждом машинном такте возможным оказывается получить уже не один, а несколько результатов.

Ну а дальше... Дальше в параллель Может быть включено несколько процессоров, однотипных или, возможно, разных. Они, естественно, работают с общей памятью — и тут возможны два режима для подобного комплекса: мультипрограммный, когда каждый процессор выполняет одну из независимых программ, и режим мультиобработки, при котором процессоры вступают в кооперацию, трудясь над одной и той же Программой. Конечно, с точки зрения ускорения работы машины интересен второй режим.

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

— В последнее время то разгорается, то тихо тлеет дискуссия о том, следует ли строить машины универсальные, способные справиться с любой задачей, или же специализированные, заранее рассчитанные на тот или иной класс задач. Другими словами, что к чему «тащить» — машину к задаче или задачу к машине. С чем ваши супер ЭВМ готовы вступить в этот спор?

— А они его попросту снимают. Да, супер-ЭВМ — всегда машина универсальная в том смысле, что она способна выполнять все обычные вычислительные операции, вдобавок еще с гигантскими скоростями. В то же время она еще и специализированная машина, поскольку на ее основе строят различные комплексы, нацеленные на эффективное выполнение разного рода задач — логических, распознавания образов, комбинаторных и других, процессоры для решения которых встроены й Машину с целью разгрузить ее центральную часть. Они позволяют сделать машину проблемно-ориентированной, приспособленной к решению задач определенного класса. Конечно, в таком режиме часть, и быть может существенная, машинных блоков будет простаивать. Однако в наше время изменилось само понятие экономичной работы машины. Теперь несравненно важнее скорость решения задачи, нежели максимальная загрузка отдельных устройств машины. Цена решения задачи в большинстве случаев столь велика, что стоимость избыточных аппаратных средств ЭВМ может отойти на второй план.

— Владимир Андреевич, так в каких же областях сегодня наиболее целесообразно применение супер-ЭВМ?

— На этот вопрос я хочу ответить в самом общем виде: всюду, где решение вопроса не под силу другим машинам. Я ограничусь всего двумя краткими примерами, одним - - сугубо народнохозяйственным, другим — близким к искусству.

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

Второй пример. Информации, выводимая из ЭВМ, может быть представлена в наглядной форме: в виде графиков, таблиц и даже фигур, например, общего вида деталей, конструкций и т. п. Но изображения эти до последнего времени носили схематический характер — в них не было светотени, они не походили на реальные предметы, на произведения живописи или хотя бы на хорошую фотографию. Современные же сверхбыстродействующие компьютеры умеют рисовать целые сцены и «оживлять» их. Нынешние супер-ЭВМ могут очень многое, а завтра им под силу станет еще больше, ведь грядет новая элементная база, основывающаяся на использовании последних достижений в области микроэлектроники, оптоэлектроники, криогенной техники, что потребует развития новых структурных идей и схемотехнических решений.

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

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

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

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

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

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

И вновь я хочу возвратиться к традициям Лебедева, которые мы, его ученики, стараемся поддерживать и распространять. Идея сетей, объединяющих многие вычислительные машины, была близка его сердцу,— быть может, потому, что он вступал в науку в то время, когда развертывалась реализация плана ГОЭЛРО, страна покрывалась сетью электростанций, соединенных друг с другом, и ему надо было обеспечить их совместную работу и безусловное снабжение электроэнергией самых важных ее потребителей. Благодаря импульсу, полученному от Сергея Алексеевича, у нас получили развитие вычислительные структуры, объединяющие разнородные вычислительные машины с общей операционной системой, которая позволяет в нужный момент отдать максимум ресурса задаче с наивысшим приоритетом. С начала семидесятых годов мы научились создавать такие многомашинные комплексы. Сначала они состояли из компьютеров второго поколения, построенных на транзисторах, а теперь машины строятся из БИСов, СБИСов и даже ССБИСов, то есть не только сверхбольших, но и сверхбыстрых схем. Мы убедились в правильности выбранных архитектурных решений и сделали новые шаги в этом направлении. Можно в определенном смысле сказать, что нынешние супер ЭВМ — это тоже комплексы, объединяющие в себе и разные машины, и разные идеи их использования.

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

Но и построить хорошую машину — не значит получить право почивать на лаврах. Сложную комплексную машину надо и создавать, и использовать комплексно. Наш лозунг «От сверхчистых материалов - - до сверхсложных алгоритмов!» на практике означает, что весь процесс, начиная от совершенствования элементной базы, должен быть продолжен в конструкторском бюро вычислительных машин и завершен в кабинетах программистов и создателей новых математических методов и алгоритмов решения задач. Нужны новые методы и алгоритмы, позволяющие сразу реализовать трехмерные, а то н многомерные задачи. Не стоит забывать, что компьютеры — это только инструменты, и если уподобить ЭВМ, например, скрипке, то сама по себе — без таланта композитора и виртуозности исполнителя — она нема. А учитывая, что возможности нынешних супер-ЭВМ, как учит нас история развития вычислительного дела, через несколько лет станут достоянием настольных, а то и карманных персональных машин, надо уже сегодня позаботиться о том, чтобы для них была написана в достаточных количествах отвечающая духу времени «музыка», то есть качественные программы, и чтобы все мы, а особенно сегодняшние школьники и дошкольники, научились исполнять ее приобрели опыт общения с компьютерами, умели использовать их сильные стороны с помощью главного дара, полученного нами от природы,— интеллекта.

Как видите, о чем бы ни шла речь, в том числе, конечно, и о вычислительной технике, в итоге вопрос всегда упирается в эти прекрасные свойства человеческой натуры — умение мыслить и стремление творить.