определяются сложностью управляемого объекта; при определенных условиях встроенный компьютер должен быть чрезвычайно мощным. На такую категорию приложений нацелена новая категория управляющих компьютеров, которая получила название HPEC (High Performance Embedded Computing) по аналогии с HPC (High Performance Computing).

У каждой из трех основных категорий современных компьютеров — универсальных (в основном предназначенных для бизнеса), встроенных (обеспечивающих управление техническими объектами) и суперкомпьютеров (ориентированных на серьезные вычисления) — своя собственная эволюционная история. Все три стартовали практически из одной точки, в последующем траектории развития сходились и расходились, и вот в 2006 году, кажется, наступает момент, когда они снова могут пересечься. Виной тому очередной виток технологий, связанный с появлением серверов-лезвий.

Первые компьютерные десятилетия пришлись на период «холодной войны» и связанной с ней гонки вооружений. Нет ничего удивительного в том, что и в СССР, и в США создавалось множество самых разных в полном смысле этого слова «компьютеров», предназначенных для расчетов военного назначения, машин, созданных для управления оружием и средствами наблюдения. В тот период количество моделей и объем производства управляющих вычислительных машин (УВМ) многократно превышали выпуск мэйнфреймов, единственных на то время вычислительных машин универсального назначения. Спектр УВМ распространялся от компактных вычислителей, предназначенных для установки на мобильных объектах, до самых крупных ЭВМ, использовавшихся в системах противоракетной обороны, ПВО и т.д. В 70-е годы функции управляющих машин были переданы мини-ЭВМ, а вслед за этим произошла микропроцессорная революция; контроллеры «растворились» в объектах управления и стали встроенными. Но буквально в последние годы судьбы трех категорий компьютеров вновь пересеклись.

Взлет и падение первого поколения управляющих компьютеров

Если не вступать в схоластические дискуссии, то первыми компьютерами были ENIAC и EDVAC, авторами которых были Преспер Эккерт и Джон Мочли, а первым продуктом образованной ими компании Eckert-Mauchly Computer Corporation стал предшественник управляющих машин, BINAC (1949). Он был построен по заказу Northrop Aircraft и рассматривался как прототип устройства для установки на борт летательного аппарата. На пару лет от BINAC отстал первый коммерческий компьютер, знаменитый UNIVAC I, прародитель мэйнфреймов. В последующем по причине слияний и поглощений ряда компаний многочленные компьютеры с торговой маркой UNIVAC производились в Sperry, Sperry-Rend и Unisys; на их примере несложно проследить судьбу УВМ первого поколения.

Разумеется, не только Eckert-Mauchly и ее наследники развивали управляющие машины. К примеру, самой мощной управляемой системой была SAGE (Semi-Automatic Ground Environment), предназначенная для контроля воздушного пространства США, построенная в IBM.

Когда в 50-х годах в компании UNIVAC под руководством Сеймура Крея, позже прославившегося своими суперкомпьютерами, разрабатывался компьютер для наземной станции управления межконтинентальной ракетой, рассматривалось два варианта: один на магнитных элементах Magnetic Switch Test Computer (MAGTEC), другой на транзисторах. По итогам испытаний предпочтение было отдано компьютеру TRANSTEC как более компактному (занимаемая им площадь составляла 40 квадратных метров, а вес — 10 тонн) и более надежному (наработка на отказ 1000 часов). Сегодня эти цифры вызывают улыбку, но не стоит забывать, что дело было 40 лет назад. Считается, что именно этот компьютер, компенсировавший недостатки ракетоносителей, способствовал сохранению баланса между США и СССР в ракетной гонке. Сегодня один из 23 выпущенных экземпляров TRANSTEC находится в музее Смитсониевского института в Вашингтоне. А на базе MAGTEC по заказу спецслужб Крей спроектировал Bogart (иначе X308); эта машина, названная так по имени знаменитого газетного редактора Джона Богарта, предназначалась для обработки текстов. Позднее полученный опыт Крей использовал при проектировании одного из первых высокопроизводительных компьютеров CDC 1604 (1960).

Но до перехода в Control Data Corporation Крей успел создать еще несколько моделей управляющих машин. Наибольшую известность приобрели AN/USQ-17 (M-460) и бортовой компьютер UNIVAC 1824 для ракеты Titan III (последний был выполнен не по фон-Неймановской схеме: данные и программы хранились в нем в различных фрагментах памяти). Однако дальнейшая специализация на боевых управляющих машинах становилась все менее и менее прибыльной, в то время как объем производства компьютеров для гражданской сферы возрастал геометрически. Избегая банкротства, в Unisys выделили этот бизнес в отдельную компанию Paramax Systems; с окончанием «холодной войны» в 1995 году она была продана и в конечном итоге растворилась в авиакосмической корпорации Lockheed Martin.

Параллельно с Univac-Sperry-Unisys в США работали еще десятки компаний, поставлявших управляющие машины предприятиям энергетики, химической промышленности и других отраслей.

Отечественные УВМ 60-х — 70-х годов

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

Школой академика Сергея Лебедева в ИТМиВТ, где родилась БЭСМ, была создана линия специализированных ЭВМ, начавшаяся с моделей «Диана-1» и «Диана-2» (1955). За ней последовали ЭВМ М-40 и М-50; на их базе в 60-е и 70-е годы были построены машины 5Э92, 5Э92б, 5Э51, 5Э65, 5Э67. Вершиной этой линейки стала машина 5Э26, представлявшая собой многопроцессорный мобильный управляющий комплекс с высокоэффективной системой автоматического резервирования. В НИИАА разрабатывалась «Тетива» для систем противовоздушной обороны, в МНИИ 1 — машина 5Э89. В Институте кибернетики АН УССР построили «Днепр», первую отечественную цифровую управляющую вычислительную машину широкого назначения на полупроводниковых элементах; ее развитием стала машина «Днепр 2». Во ВНИИЭМ была создана машина М-3 (ее разработчики — Борис Каган и Владимир Долкарт), она послужила основой для «Минска 1», родоначальника будущей серии, а также для ЭВМ «Раздан». Под руководством Долкарта была разработана УВМ ВНИИЭМ-3 и ее модернизация УВМ «В-3М», успешно использовавшиеся для управления объектами ядерной энергетики. НИИУВМ разрабатывал машины МППИ, УМ-1, КВМ-1, а ИНЭУМ — М-4, М-5, М-7.

Относительно простые технологии позволяли строить управляющие машины практически в кустарных условиях. К примеру, автору, работая в ЦНИИКА, пришлось участвовать в разработке системы управления «Комплекс-2» для энергоблока на Змиевской ГРЭС. Машина представляли собой адаптированную к управлению машину «Урал-14». Для того чтобы построить подобную систему, требовалось простое производство, где собирались шкафы и платы, и два десятка инженеров. Но концу 60-х стало понятно, что необходимо переходить к более технологичным управляющим вычислительным комплексам (УВК), которые строились по агрегатному принципу. Примером такого решения стала система АСВТ, предназначенная для многоуровневых АСУТП.

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

Мини-ЭВМ для управления

Судьба вновь свела вместе универсальные и управляющие машины в связи с появлением мини-ЭВМ. В 1965 году DEC анонсировала мини-ЭВМ PDP-8, которая стала основой для систем управления на долгие годы во многих странах. Историческое значение PDP-8 заключается в том, что в этой машине — несмотря на всю ее «примитивность» — обнаруживаются основные архитектурные принципы современных компьютеров (прежде всего организация системы прерываний и ввода/ввода, наличие операционной системы и средств разработки). Компьютер выпускался более двух десятилетий, прошел десятки модификаций, его технологии менялись от навесного монтажа до микропроцессорного исполнения. До появления Apple II компьютер PDP-8 оставался самым продаваемым в мире. С PDP-8 началось широкомасштабное клонирование, предполагавшее использование лицензионного или пиратского программного обеспечения. Официальными клонами были DCC-112 (Digital Computer Controls), MP-12 (Fabritek) и многие другие; последний клон, SBC-8 (CESI), был выпущена в 1988 году. Пиратский клон в Венгрии назывался TPA1001, в СССР — «Электроника 100» (выпушена к столетию Ленина); выпускались клоны и под другими названиями, например, в Центральный НИИ измерительной аппаратуры из Саратова под именем «Саратов-2» (кстати, точно так же назывался и популярный домашний холодильник того времени).

Автору пришлось поработать с MP-12, входившей в состав комплекса бортового аэрогеофизического оборудования, что дает ему основание на личном опыте засвидетельствовать высочайшее качество и надежность этой аппаратуры. Но программное обеспечение и ограниченная адресация (12 разрядов) не позволяли использовать как универсальную машину. Это ограничение было преодолено с появлением PDP-11; этот компьютер — особенно в старших моделях (например, PDP-11/70) — мог с равным успехом использоваться и в роли управляющей машины, и в роли машины для счета. Тому способствовал мощный процессор, хороший набор периферии и операционные системы, прежде всего ОС RSX-11/М, которая поддерживала работу и в режиме реального, и в режиме разделения времени. Различные модификации PDP-11 воспроизводились под названиями СМ-3, СМ-4, СМ-1410/1420/25/1300. Мини-ЭВМ от Hewlett-Packard, HP-2000, которая могла использоваться как универсальная и управляющая, также копировалась в СССР; существовали версии СМ-1, СМ-2 и СМ-1210.

Микроконтроллеры

Подлинная революция встроенных систем началась с создания бортового навигационного компьютера Apollo Guidance Computer (AGC) для управления полетами на Луну. Каждый космический корабль имел по два таких компьютера, один устанавливался на спускаемом аппарате, другой — на орбитальном модуле. Программа Apollo была задумана как средство для создания технологий двойного назначения; встроенные компьютеры наряду с цифровыми часами стали одним из ее следствий. AGC разрабатывался в Инструментальной лаборатории Массачусетского технологического института под руководством Чарльза Драпера.

Драпера, основавшего эту лабораторию, называют отцом инерционных навигационных систем. Аппаратура AGC была изготовлена компанией Raytheon, являющейся одним из основных поставщиков высоких технологий для Пентагона. Для сравнения с компьютерными компаниями можно привести цифры, характеризующие ее нынешнее положение: штат — 80 тыс., оборот — 22 млрд. долл.

А массовое производство встроенных систем началось с компьютера D-17, предназначенного для установки на ракете Minuteman. В первых версиях он собирался из дискретных транзисторов навесным монтажом, а в 1966 году был выпущен на интегрированных микросхемах, что стало первым прецедентом широкого использования микросхем. Сокращение цены с 1 тыс. долл. до 3 долл. открыло возможность для коммерческого использования микросхем.

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

  • центральный процессор с таймером, от простейшего 8-разрядного до значительно более сложного 32- или 64-разрядного;
  • интерфейсы ввода/вывода (например, последовательный интерфейс);
  • оперативная память;
  • постоянная память, в том числе флэш-память или EEPROM.

Существенную часть общего числа выпускаемых микроконтроллеров составляют специализированные сигнальные процессоры (Digital Signal Processor, DSP), предназначенные, как следует из названия, для цифровой обработки сигналов, поступающих от объектов управления.

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

Конвергенция HPEC и HPC

Компьютерные системы все больше сближаются с реальной жизнью — в том смысле, что объектами управления становятся не искусственно созданные технические сооружения, а события бесконечно многообразной естественной среды. Появляются все новые и новые приложения встроенных систем, например, такие как обработка аудио- и видеосигналов в режиме реального времени, комплексная обработка сигналов, поступающих от множества перемещающихся объектов и т.п. Эти приложения возникают в самых разных сферах — от управления движением гражданских воздушных судов до оперативного управления боем, в котором участвует компьютеризованная техника и военнослужащие, оснащенные мобильными устройствами. Современные приложения вызвали к жизни очередную волну встроенных систем, которая получила название высокопроизводительные встроенные компьютерные системы (High Performance Embedded Computing, HPEC).

С технической точки зрения для решения перечисленных задач помимо специализированных сигнальных процессоров требуются еще и многоядерные многопотоковые встроенные процессоры, параллельные многопроцессорные системы и программное обеспечение, поддерживающее grid-среды и кластеры. Обнаруживается очевидная родственность HPEC и традиционных высокопроизводительных вычислений. Все выглядит почти одинаково, за одним-единственным исключением: основной компонент стратегии HPC (High Performance Computing) состоит в приспособлении алгоритмов к аппаратному обеспечению, а в HPEC аппаратное обеспечение адаптируется к алгоритмам. Но несмотря на это различие, как когда-то в 70-е годы, снова происходит сближение технологий для встроенных и универсальных систем.

И точно так же, как тогда, в центре событий Линкольновская лаборатория МТИ и один из ее сотрудников, Джереми Кепнер. Пять лет назад он сделал прогноз, который, как показывают последние события, начинает сбываться. Успешность подобной конвергенции он поставил в зависимость от способности двух сообществ инженеров понять друг друга. На протяжении нескольких десятков лет они шли разными путями. Те, кто строит HPC, вышли из серверного сообщества, внимание которого в основном сконцентрировано на корпоративных приложениях и электронной коммерции. Авторы HPEC пришли из мира встроенных систем, где в фокусе данные, поступающие в реальном времени от датчиков и разного рода коммуникационных систем. Этим двум группам специалистов нужно осознать взаимные выгоды сотрудничества. Конвергенции способствуют и современные технологические тенденции, прежде всего появление инструментов высокого уровня, в том числе компиляторов C++, ориентация на открытые стандарты (MPI, CORBA и VSIPL), а главное, появление сверхтонких серверов. Все это уже спустя пять лет спустя приведет к тому, что конвергенция HPC/HPEC станет реальностью. (Заметим, это предположение было высказано в 2001 году, когда о таких вещах, как серверы-лезвия, можно было только догадываться.)

Но между представителями двух разных групп остаются и труднопреодолимые различия. В бизнес-приложениях доминируют целочисленные операции, поэтому совершенствование процессоров в значительной мере направлено на их ускорение, в то время как в HPEC больше востребованы 64-разрядные операции с плавающей точкой. Разнятся и представления о данных; в HPC данные обычно представляют собой статические массивы, размещенные на диске, а в HPEC доминируют недетерминированные потоки данных. (Заметим, впрочем, что в последнее время, особенно с распространением систем радиочастотной идентификации, проблемы обработки потоков данных становятся актуальными и в бизнес-приложениях.)

Подобного рода противоречия не могут быть преодолены в обозримом будущем. Кроме того, надолго останется еще одно противоречие — скорость обновления информационных технологий во много раз выше, чем скорость обновления систем вооружения, являющихся потребителями ИТ (ракеты и самолеты стоят на вооружении десятки лет). Компромисс может быть найден на пути создания программного обеспечения, независимого от аппаратного обеспечения. По заказу агентства DARPA Линкольновская лаборатория МТИ и корпорация MITRE, контролирующая ведущиеся в США исследовательские работы оборонного характера, с 2000 года разрабатывают программу HPEC-SI (High Performance Embedded Computing Software Initiative).

Традиционные технологии HPC для HPEC

Одной из первых задач, стимулировавших появление встроенных систем нового поколения, стало задание Министерства обороны США на разработку комплексной систем обработки изображений Common Imagery Ground/Surface System (CIGSS). Задание, сформулированное в 1994 году, предполагало сведение воедино изображений, получаемых с помощью самых разных систем наблюдения, от спутниковых до наземных радаров.

Ключевыми компонентами CIGSS должны были стать универсальный процессор обработки изображений Common Imagery Processor (CIP), архиватор Image Product Archive (IPA) и инструмент для работы с изображениями National Input Segment (NIS). На тот момент единственно возможное решение сводилось к адаптации проверенных решений HPC к задачам HPEC. Для этого требовалось преодолеть те специфические особенности высокопроизводительных компьютеров, которые препятствуют их использованию во встроенных приложениях. К таковым, прежде всего, относятся большие габариты и недостаточно прочное конструктивное исполнение, высокое энергопотребление, слабость традиционных операционных систем при работе в режиме реального времени.

В середине 90-х годов, когда эти работы начались, казалось, что решение проблем состоит в создании гетерогенных систем, состоящих из реконфигурируемых вычислительных модулей и модулей ввода/вывода, построенных на основе программируемых логических матриц (FPGA), в сочетании с разработками, которые велись по программе DARPA High Productivity Computer System.

Одним из контакторов DARPA стала компания SGI, известная успешным использованием архитектуры ccNUMA (cache coherent Non-Uniform Memory Architecture) в высокопроизводительных компьютерах Origin и Altix. Помимо отмеченных проблем, связанных с универсальными высокопроизводительными компьютерами, при создании CIP на основе компьютеров Origin и Altix необходимо было также приспособить их для работы с потоками данных, поступающих в реальном времени.

В SGI за основу была избрана система внутренней коммутации, обеспечивающая обмен данными со скоростью от 3,2 до 10 Гбайт/с. К ней подключаются вычислительные модули ccNUMA и специализированные модули на FPG A, выполненные в конструктивном исполнении, получившем название «лезвие» (blade). Специализированные модули осуществляют обработку сигналов, операции ввода/вывода, отдельные операции, связанные с обработкой изображений. Заметим, что термин «лезвие» не привязан исключительно к серверам; с подачи маркетологов его стали использовать для обозначения конструктивного исполнения плат во встроенных системах — по аналогии с тем, как его используют при описании сменных компонентов в кухонной утвари.

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

Новые технологические тенденции HPEC

Можно отметить две основные тенденции, влияющие на формирование современного образа HPEC. Первая — переход к интеграции систем из крупных компонентов, в основном из серверов-лезвий. Вторая — сдвиг к открытым стандартным решениям. Обе эти тенденции поддерживаются технологиями, которые постепенно занимают позиции отраслевых стандартов. Так, стандартной операционной системой для HPEC становится ОС Linux, а в области межмодульных коммуникаций приоритетное место занимает InfiniBand.

И серверы-лезвия, и InfiniBand — еще очень молодые технологии, им всего по пять лет. Напомним, в марте 2001 года компания RLX Technologies, основанная выходцами из Compaq и позже купленная HP, впервые предложила рынку компактные серверы, которые позже стали называть серверами-лезвиями. Наличие небольшого диска и флэш-памяти позволяет комплектовать каждый сервер собственной операционной системой и строить из них большие кластерные конфигурации. Сегодня эта категория компьютеров образует самый быстрорастущий сегмент серверного рынка.

Открытые стандарты, возможность использования многоядерных процессоров, возможность расширять функциональность при подключении периферийных устройств по шине PCI, низкое энергопотребление, новые технологии охлаждения — все это в сочетании с технологиями виртуализации позволяет рассматривать серверы-лезвия как основу для построения систем HPC/HPEC.

Открытость стандартов обеспечивает открытость рынка для всех его участников, что в конечном итоге способствует снижению стоимости решений; в этом состоит одно из основных преимуществ перед частными специализированными решениями. К примеру, возможность подключения периферии по высокопроизводительной шине PCI-X сейчас и по PCI-X 2.0 в ближайшем будущем позволяет обмениваться данными со скоростью в диапазоне от 1,06 Гбайт/с до 4,3 Гбайт/с. Это дает возможность подключать непосредственно к серверу мощные графические платы и платы, предназначенные для оцифровки изображений. Совместно они позволяют решать задачи машинного зрения и обработки изображений.

Что касается InfiniBand, то здесь разворачивается процесс сродни тому, который наблюдался 10-15 лет тому назад в области локальных сетей. Для унификации сетевых решений желательно иметь как можно меньше сетевых протоколов. В результате своего рода эволюционного отбора из группы альтернативных стандартов, включавшей Arcnet, Token Ring и Ethenet, остался только последний. Он в чем-то уступал другим, но его достоинство состояло в том, что он принят всеми. И сегодня InfiniBand — один из главных претендентов на роль такого же избранника.

С точки зрения HPEC стандарт InfiniBand обладает рядом решающих преимуществ.

  • Широкая полоса пропускания. По одной витой четырехпроходной паре обеспечивается скорость передачи до 500 Мбайт/с. Если учесть, что количество пар может быть увеличено до 12, то очевидно, что во столько же раз возрастет и скорость передачи данных.
  • Низкая задержка. Канальные адаптеры Host Channel Adapter (HCA) берут на себя значительную часть нагрузки, которую в других протоколах приходится выполнять процессорам узлов, поэтому задержка минимальна.
  • Надежность, готовность и обслуживаемость (Reliability, Availability, Serviceability, RAS). Стандарт InfiniBand спроектирован с "чистого листа", поэтому в нем учтены все современные методы обеспечения RAS.
  • Большая длина соединительных кабелей. Стандарт InfiniBand изначально проектировался для сетей хранения, поэтому предельная длина кабеля равна 300 метрам, а это значит, что им легко можно между собой стойки.

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