Страницы истории
История одной малоизвестной разработки - проект “Локон”
Ни для кого не секрет, что в бывшем СССР проводились работы по созданию высокопроизводительных компьютеров, и часть проектов, например такие, как “Эльбрус”, “ПС” и “ОВС”, хорошо известны программистам и инженерам этого времени.
Макет опытного образца модуля процессора “ЛОКОН”, выполненный в 1989 году
Разработка “Эльбруса” проводилась в ИТМВТ им. С. А. Лебедева (Москва) и воплотилась в серии реальных компьютерных систем, которые нашли применение как в военной сфере, так и в научных исследованиях. Это была одна из наиболее завершенных систем, применяемая до сих пор.
Второе направление - “ПС” (параллельная система) - разрабатывалась в ИПИ АН СССР (Институт проблем информации) и привело к созданию в конце 80-х годов действующей модели. Работы были связаны с МО и во многом ориентированы на специальные классы задач.
Третье направление - “ОВС” (однородные вычислительные среды) - представляет собой другой путь развития суперкомпьютеров: построение систем из большого числа простых процессоров, когда функции обработки и хранения информации совмещаются в одном элементе и все процессорные элементы такого компьютера одинаковы. Это направление развивалось в лаборатории ИНЭУМ (Институт электронных управляющих машин Минприбора) и в ЛЭТИ (Ленинградском электротехническом институте) и носило более фундаментальный характер.
Чтобы воссоздать тогдашнюю ситуацию в области, о которой мы говорим, наверное, лучше всего привести “исторический” документ, написанный в 1991 г., отражающий состояние дел в рассматриваемой области (естественно, с существенными сокращениями).
По заказу GF Supercomputing Technology Inc.
Russia, 1....., P.O.Box. ...
Разработка супер-ЭВМ в Советском Союзе
(анализ состояния и перспективы развития, краткие тезисы аналитического обзора по заказу корпорации GFST Inc.)
В процессе реализации Советских стратегических интересов в новой военной технике и в крупных научно-технических проектах начиная с 60-х годов в СССР возникает потребность в создании мощных вычислительных средств для решения следующих задач в интересах Министерства обороны:
- обслуживание полетов космических аппаратов и обработка получаемой информации (Советская космическая программа);
- сбор и обработка спутниковой, телеметрической, радиолокационной информации в военных и гражданских целях (коммуникационные системы и средства связи);
- оперативная обработка бортовой информации и управления подвижными и удаленными объектами (военно-морские и военно-воздушные силы);
- проведение научно-технических расчетов и моделирование при конструировании новых образцов военной техники (особенно летательных аппаратов и средств морского базирования);
- проведение научно-технических расчетов и управление сложными техническими комплексами и физическим экспериментом (термоядерный синтез и т. п.).
Развитие разработок в области средств вычислительной техники базировалось в СССР на военных заказах для реализации программ управления ракетными установками и расчетов стрельб для системы оперативно-тактических, стратегических ракет и ПВО страны. С самого начала работ электронные фирмы и Заказчики были ориентированы на использование собственной элементной базы и оригинальные разработки в области архитектур и программного обеспечения. В начале этих работ не было четкого разделения на классы ЭВМ и все машины были достаточно уникальными из разряда супер-ЭВМ для своего времени.
В это время (с 1962 по 1970 годы) были реализованы оригинальные отечественые разработки (проекты “Мир”, “БЭСМ” и т. п.) на элементной базе второго поколения (микромодули и микросборки). Был накоплен опыт разработки больших систем и их применения в указанных областях.
С появлением микропроцессоров (начало 80-х годов) ситуация резко изменилась и отечественная электронная промышленность, как основа разработок, пошла по пути копирования западных аналогов, в основном таких, как разработки фирмы DEC & HP. Однако в области супер-ЭВМ такое копирование оказалось неприемлемым, как по соображениям технической сложности, так и в силу ограничений COCOM.
В это время в СССР активно развиваются собственные проекты супер-ЭВМ, как универсального (“Эльбрус”, “ПС”), так и специального назначения (“МАРС”, “МДА”). Эти разработки положили начало двум основным линиям (“Эльбрус”, “ПС”), которые начали выпускаться сначала для военных Заказчиков, а затем и проникать в сугубо гражданские отрасли науки и техники. На эти два пути развития супер-ЭВМ были выделены основные средства и организованы работы, как в рамках Академии наук СССР, так и в отраслевых НИИ и КБ. Именно такая концентрация (достаточно сказать, что в разработке и изготовлении супер-ЭВМ “Эльбрус” одновременно участвовало до 1000 организаций и 20 000 человек) сил и средств привела к тому, что, с одной стороны, эти проекты оказались реализованными, а с другой стороны, существенно затормозили работы в области супер-ЭВМ в Советском Союзе. Были “пропущены” как новые направления в области архитектур и математического обеспечения, так и перспективные технологические решения в области микроэлектроники.
Так, в частности, массово-параллельные машины класса Loral MPP, FSP-T, многопроцессорные полносвязанные архитектуры класса Connection Mashins, транспьюттерные системы и RISC-процессоры оказались теми областями, для которых в Советском Союзе нет достаточного опыта ни в разработке архитектур, ни в математике. И здесь сказалось не столько технологическое отставание, которое традиционно было на 5 - 10 лет запрограммировано в начале 60-х годов в микроэлектронике, но, в большей степени, давление супер-ЭВМ, принятых за базовые (“ПС” и “Эльбрус”), на Заказчиков из Министерства обороны и конечных пользователей, связанное с практически нулевым финансированием конкурентных разработок и фундаментальных и поисковых работ в этой области.
Кроме чисто технических просчетов ведущих НИИ и КБ, отвечавших за все проекты супер-ЭВМ, есть более существенный фактор. Это вся система распределения заказов в части финансирования НИР и ОКР из бюджетов Министерства обороны и АН СССР. Эта система предполагает не конкурс проектов и систему экспертиз, а квотированное распределение средств между заказывающими управлениями МО и отделениями АН, которые в свою очередь “подпитывают” подведомственные НИИ и КБ через “своих” академиков. Такая система привела к тому, что большое число молодых и талантливых разработчиков, работающих в АН и вузах, были лишены возможности доводить свои идеи до реальных образцов. А общая коррумпированность и клановость в научном сообществе в качестве стимулов предлагала либо ученые звания, либо повышение по службе и загранкомандировки. В вузах приоритет отдавался не самым талантливым, а самым лояльным к политическому режиму.
В условиях сегодняшнего дефицита средств (на начало 1990 года) в стране сложилась критическая ситуация. С одной стороны, нет средств для финансирования фундаментальных исследований, с другой стороны, значительно сокращаются военные заказы (на 1991 год планируется снижение реальных затрат на НИОКР в министерстве обороны на 30 - 40%). Таким образом, к этому времени все работы по супер-ЭВМ потеряли поддержку и заказы, поскольку основные средства были использованы на поддержку текущей технологии и поддержку начатых разработок. Активное “копирование” на уровне процессоров и систем привело к тому, что большинство разработчиков вынуждено было переключиться на применение готовых решений в условиях отечественных технологических и производственных возможностей. Те немногие перспективные разработки, которые были начаты, сворачивались, а специалисты переключались на работу с ПК (персональными системами) или искали работу за рубежом.
Зарождающийся же негосударственный сектор экономики еще настолько слаб, что не смог поддержать ни науку, ни производство, да и в развитых странах поддержка стратегических НИР и ОКР - это прерогатива государственного заказчика: слишком велики риски и вложения в новые технологии. В этих условиях следует ожидать практически полного прекращения разработок супер-ЭВМ в СССР.
Можно сделать вывод, что появление в настоящих условиях проекта, обладающего ноу-хау в этой области, и тем более опытного образца на уровне законченного решения и соответствующего сервиса - маловероятно, если не сказать практически невозможно. Также маловероятно появление одного из аналогов западных супер-ЭВМ, поскольку даже изготовление процессоров типа Intel-386/486 или RTX-2000 (Harris, USA) является для российской электронной промышленности непреодолимой задачей. Не говоря уже о том, что супер-ЭВМ - это не просто процессор и не столько процессор. Ни одна организация в бывшем Союзе не в состоянии сегодня разработать и тем более изготовить аналог супер-ЭВМ или собственную систему с пиковой производительностью 10 GFLOPS без помощи западных фирм, обладающих опытом и высокими технологиями в этой области.
Предпосылки создания супер-ЭВМ “ЛОКОН”
Каким бы впечатляющим ни был прогресс в области персональных систем и как бы широко они ни распространялись по нашим учреждениям и квартирам, прогресс в области высоких технологий определяется новейшими решениями в архитектуре и технологии самых производительных компьютеров, т. е. супер-ЭВМ. Вчерашним рекордом производительности для компьютера сегодня обладает каждый ПК. Правда, это не имеет отношения к увеличению частоты процессора, поскольку большая часть этого ускорения в ПК тратится на обслуживание интерфейса пользователя, а не на реальные вычисления. Как уже было сказано, в бывшем Союзе велись разнообразные проекты в области высокопроизводительных компьютеров. Одной из таких разработок, мало известных широкой аудитории, да и специалистам, является проект “ЛОКОН”. Автор данной статьи был не только идеологом этого проекта, но и участвовал в нем в качестве главного конструктора от начала разработки и до создания опытного образца.
Сегодня любой студент политехнического вуза может объяснить вам, как работает компьютер. Он расскажет, что в основе всех вычислений лежит двоичная система счисления, что на уровне процессора и памяти программа превращается в язык процессора и что использовать компьютер удобно, если писать программы на языке высокого уровня типа Паскаля. И это будет правильно. Как и 50 лет назад, сегодня для создания компьютера и применения его для решения практических задач используются простые принципы построения фон-неймановских машин:
- процессор - это устройство для обработки единиц информации;
- память - это устройство для хранения единиц информации;
- программа - это способ описать, что должны делать процессор и память для решения конкретной задачи.
Все остальное, включая операционную систему Windows, - это изобретение программистов для вовлечения все большего числа пользователей в круг потребителей их продукции, с несомненно полезным результатом автоматизации многих видов деятельности - от бухучета до перевода с языка на язык.
Два принципиальных ограничения, известных специалистам в последние 10 лет, состоят в том, что существует физический предел микроэлектронных систем (0,3 мкм - сегодняшняя технология, предел лежит в районе 0,1 мкм), с одной стороны, и все большее несоответствие между мощностью процессора и сложностью решаемых им задач - с другой. Практика, при которой большие системы, в том числе и глобальные сети, ориентированы на такую архитектуру (процессор-память-программа), уже сегодня приводит к фатальным ошибкам в системах реального времени, поскольку от постановки задачи до отдельного бита информации - огромная пропасть портов, регистров, разъемов, ассемблеров, компиляторов, оболочек и прочего.
Сегодня нет систем, обладающих свойствами надежности, простоты программирования, расширяемости архитектуры и независимости от физических ограничений технологии.
Основные этапы разработки
1979 г. На основании исследований, проводимых на кафедре ВТ (вычислительной техники) ЛЭТИ, автором была защищена диссертация на тему “Системы автоматического ввода чертежно-графической информации в ЭВМ”. Основу работы составляли методы описания изображений и созданная архитектура специализированного процессора на дискретных элементах. В это же время вышла (одна из первых в СССР) работа автора по применению размытых множеств для обработки изображений. Уже тогда были известны работы по нетрадиционным подходам к решению задач распознавания: персептрон, неокогнитрон, системы искусственного интеллекта. Однако более сложные системы типа самоорганизующихся автоматов и теория коллективного поведения автоматов (работы Д. А. Поспелова и В. И. Варшавского) не нашли практического применения, и фундаментальные исследования Дж. фон Неймана были не востребованы вплоть до новой волны интереса к системам типа клеточных автоматов (работы американцев Улама и Уолфрема).
1980 - 1983 гг. Колоссальная сложность биологических систем и особенно мозга и нейронных процессов привели автора на кафедру биофизики ЛГУ (Ленинградского государственного университета), где он занимался исследованием биологических систем и моделированием биологических процессов на компьютерах. Тогда были сформулированы основные идеи по теории обобщенных клеточных автоматов. Апробация этих идей осуществлялась в рамках созданной на кафедре группы, в которую вошли студенты 3 - 4-го курсов.
1984 - 1991 гг. В этот период группа “вычислительной биологии”, в которую входило тогда семь человек, вела работы по межвузовской программе “Разработка нейрокомпьютеров” в содружестве с МИРЭА (Московским институтом радиоэлектроники и автоматики), НИИ нейрокибернетики РГУ (Ростовского государственного университета) и рядом институтов АН СССР. В результате теоретических и прикладных исследований были выполнены пионерские работы, результаты которых опубликованы более чем в 150 статьях и нескольких монографиях в России и за рубежом. Одновременно был начат проект “ЛОКОН” - локально-связанная машина. В основу проекта были положены принципы параллельной обработки информации с расширяемой архитектурой. К 1991 г. работа вышла на стадию проектирования опытного образца, для реализации которого был организован ИИТ АН СССР (Институт имитационных технологий). В рамках этой организации был создан опытный образец “ЛОКОН 9В51” и система параллельного программирования LOQON.
1992 - 1993 гг. По приглашению руководства ЛКТБ (Ленинградское конструкторско-технологическое бюро - бывшее КБ “Микроэлектроника”) работы по практической реализации ЭВМ “ЛОКОН” были продолжены в рамках проекта, финансируемого МО. Однако в связи с прекращением финансирования через год все работы по этой теме были свернуты и отдел “параллельных систем” был ликвидирован. Тем не менее в этот период были проведены пробные НИР по переводу архитектуры “ЛОКОН” на технологию суперкристалла, т. е. проработана возможность при технологической норме КМОП 1,5 мкм реализовать систему на 64 000 элементарных процессоров с повышенной отказоустойчивостью к дефектам технологии.
Параллельная система “ЛОКОН” (архитектура)
Тип процессора. В качестве ЭП (элементарного процессора) был выбран процессор с полной системой команд, что на этапе проектирования снимало проблему универсальности системы и исключало необходимость проектировать специализированное устройство. В качестве базовых ЭП для создания опытного образца были использованы Intel 8751, Harris RTX-2000, 1806BM2, в дальнейшем планировалось разработать собственный ЭП, ориентированный на архитектуру и представляющий собой “вычислительное” устройство, работающее по принципу обобщенного клеточного автомата:
- локальные связи поддерживаются на радиусе 1/10 размера поля вычислителей;
- загрузка информации и ее считывание происходит по каналам локального обмена между процессорами и по общей шине;
- система процессоров имеет глобальные характеристики, которые вычисляются за счет локальных связей и влияют на работу каждого процессора (принцип обобщенных клеточных автоматов);
- граничные условия системы процессоров зависят от типа решаемой задачи и заданного типа метрики (пространства решения).
Архитектура. Архитектура “ЛОКОН” относится к классу архитектур CLIP/ CAM (клеточно-автоматные машины), когда в качестве ЭП используется процессор с ограниченными функциями вычислений и передачи информации, а система строится на локально-связанных операциях с глобальной операцией загрузки-выгрузки данных в поле процессоров. Принципиальным отличием архитектуры “ЛОКОН” является то, что в качестве математической модели машины выбрана модель сети ОКА (обобщенных клеточных автоматов), которая позволила решить следующие задачи:
- проектирование системы из “неограниченного” числа локально-связанных процессоров;
- требования к отдельному процессору (на уровне системы команд, локальной памяти и интерфейса) могут быть изменены в процессе проектирования в зависимости от возможностей технологии без изменения системы программирования;
- возможность моделирования на архитектуре “ЛОКОН” вычислительных моделей как конвейерной архитектуры, так и векторных вычислений;
- совместимость архитектуры с большинством методов вычислительной математики - от матричных операций до решения систем в частных производных;
- независимость архитектуры от надежности отдельных элементов, что приводит к отказоустойчивости системы в целом. Соответствующее снижение производительности за счет отказа части элементов не влияет на работоспособность системы, поскольку в систему заложена возможность автоматической реконфигурации архитектуры;
- и наконец, независимость архитектуры от типа элементной базы (электронная, опто-электронная, нанотехнология, биотехнология и т. п.), поскольку модель вычислений не привязана к вычислительной модели (процессор-память-программа).
Проектные нормы:
- минимальный размер поля ЭП 100х100 (10 000 процессоров);
- минимальный радиус локальной связности ЭП - 4 (локальная окрестность 9х9 процессоров);
- минимальное количество функций перехода (система команд параллельной машины) - 100;
- “временная” память на состояние ЭП составляет 8 макротактов (временная глубина параллельного алгоритма);
- максимальная длина программ для ЭП - 1000 команд.
Реализация. Система “ЛОКОН” была разработана в виде набора модулей по 64 процессора с общим числом процессоров в системе 16 384. Каждый модуль представлял собой многослойную плату (до 10 слоев металлизации). В качестве управляющей машины (или сервера управления) с функциями загрузки-выгрузки данных, поддержки интерфейсов пользователя и связи с глобальными сетями использовались компьютеры IBM. При этом спроектированная машина занимала физический объем 1 куб. м и имела проектную производительность не ниже 10 млрд. операций с плавающей точкой в секунду (GFLOPS). Хотя оценка производительности сильно зависит от тестовых задач, однако проводить сравнение производительности параллельных машин еще никто корректно не умеет.
Один из опытных образцов машины “ЛОКОН 9В51” (модуль на 9 процессоров в слоте для инструментального компьютера PC) был изготовлен и отлажен в 1990 г. и до настоящего времени используется как параллельный сопроцессор для ПК. На этом опытном образце проводилась отладка системы параллельного программирования и микропрограммное управление параллельной архитектурой, исследовались критические задачи параллельного программирования (синхронизация процессоров, межпроцессорные конфликты и живучесть архитектуры при выходе из строя части процессоров). Разработанная и смоделированная система на 16 384 процессора так и не была реализована в полном объеме (за исключением изготовления 10-слойной платы под установку процессоров Harris), поскольку к тому моменту, когда она была готова к реализации, в организации, где работала группа, были сокращены все перспективные НИОКР.
Параллельна- система “ЛОКОН” (программирование)
В рамках работ, проводившихся при проектировании системы “ЛОКОН”, были развернуты НИР по следующим направлениям:
- система логического моделирования архитектуры параллельных машин с интерфейсом к САПР как на уровне конструкторской, так и на уровне технологической части;
- разработка языка прграммирования (ЛОЛА) и виртуальной машины для решения задач на системе “ЛОКОН”;
- на базе опытного образца “ЛОКОН 9В51” создана система программирования низкого уровня (система микропрограммирования для локальной архитектуры и транслятор с языка Си);
- инструментальная многооконная система программирования на языке Си, интегрированная в пакет Borland v.2.0.
Виртуальная машина LOQUN
Пакет LOQUN разрабатывался как прототип системного обеспечения (операционной системы) для реальной машины, которая была спроектирована при разработке “ЛОКОН” и описана выше. В системе был заложен компилятор с языка высокого уровня ЛОЛА (LOLA - low-level language for LOCON microprogramming) на язык микропрограмм процессора “ЛОКОН”.
Программа, написанная на языке ЛОЛА, могла выполняться в системе моделирования LOQUN, которая по сути была виртуальной машиной. Прикладные задачи или библиотеки писались на языке ЛОЛА и прогонялись в виртуальной машине.
“ЛОКОН” был представлен как некий сопроцессор, работающий под контролем управляющей машины. При этом управляющая машина выполняла следующие функции:
- загрузку микропрограмм в каждый ЭП;
- подготовку и загрузку данных в ЭП;
- запуск процессов исполнения откомпилированных задач;
- вывод результатов;
- поддержку интерфейса пользователя.
Решение задачи в виртуальной машине предполагает три этапа:
- разработка интерфейса пользователя (используется язык высокого уровня или одна из стандартных прикладных систем программирования);
- процедуры для обслуживания интерфейса “ЛОКОН” с управляющей машиной пишутся на ассемблере и включаются в язык высокого уровня как расширение;2 микропрограммы для “ЛОКОН” пишутся на языке ЛОЛА.
Прикладные задаЧи
Кроме описанных в процессе работы над проектом были исследованы области максимально эффективного применения машины типа “ЛОКОН”. Это прежде всего задачи, обладающие свойством естественного параллелизма:
2 моделирование физико-химических и биологических систем (в том числе экосистем), состоящих из 104 - 105 фазовых ячеек пространства, частиц или функциональных элементов, каждый из которых может обладать сложным поведением (подвижность-диффузия, полевые свойства и т. п.);
- задачи расчета потоков в аэро- и гидродинамике, задачи турбулентного движения и обтекания, задачи теплофизики, квантовой механики;
- реализация известных численных методов для уравнений в частных производных до 4-го порядка для решения широкого спектра задач математической физики;
- решение задач выбора, поиска и оптимизации на графах, в том числе для решения задач эффективного поиска в базах данных;
- обработка изображений и решение задач восстановления по неполным данным и генерации изображений.
Список основных уЧастников проекта “ЛОКОН”
Бронников В. А. - главный конструктор и научный руководитель проекта (ныне директор по маркетингу и развитию холдинга “ЛАНК”).
Адамацкий А. И. - руководитель и автор математической модели вычислений по проекту (ныне сотрудник исследовательского центра HP в Англии).
Иванов С. Ф. - руководитель и автор технических решений по проекту (ныне руководитель системных проектов компании “ЛАНК-Системс”).
Соловьев М. В. - руководитель работ по созданию системной части и компиляторов (ныне сотрудник и консультант ряда институтов РАН в Санкт-Петербурге).
Рыбак И. А. - консультант по математическим моделям нейронных механизмов обработки изображений (ныне руководитель группы исследовательского центра компании DuPon USA).
Лашевский Р. А. - консультант по технологии КМОП (ныне профессор одного из университетов в Японии).
В работе над проектом в разное время участвовали сотрудники следующих организаций: ЛГУ, ЛЭТИ, ЛИАП, ЛИТМО, ЛКТБ, НПО “Океанприбор”, НПО “Ленинец”, НПО “Авангард”, МИРЭА, ИТМВТ АН СССР, ВМК МГУ, НИИ нейрокибернетики РГУ, ИЭФБ им. И. М. Сеченова РАН, ФИН им. акад. И. П. Павлова РАН, ИЭМ АМН и многие другие.
Финансовую поддержку проекту оказывали в основном частные лица и в отдельных случаях Фонд Сороса (через индивидуальные гранты).
В заключение автор хотел бы поблагодарить всех, кто своим трудом и помощью способствовал тому, чтобы проект был реализован в условиях тотального обвала финансирования не только фундаментальных, но и прикладных исследований. Нам остается надеяться, что наступит и в России такое время, когда пионерские идеи и проекты будут реализованы и наши компании смогут выйти на мировой рынок не только с нефтью, металлом и икрой, но и с суперкомпьютерами. Тем более что сегодняшняя ситуация на этом рынке определяется не столько уровнем технологии, сколько уровнем заложенных в эту технологию идей. В США технология слабее, а суперкомпьютеры пока лучше, чем в Японии!
Ноябрь 1997 г.
Санкт-Петербург, Куракина дача.
Владимир Бронников
К автору можно обратиться по адресу: bva@lanc.ru.