Спасательный круг Джорджа Вэли
Окончание. Начало см. http://www.pcweek.ru/themes/detail.php?ID=82478〈=ru
После того как в 1949 г. в СССР была успешно испытана атомная бомба, а американским военным стало известно о наличии у потенциального противника стратегических бомбардировщиков, способных доставлять этот смертоносный груз на территорию США, Пентагон и ученые, работавшие в интересах оборонного комплекса страны, забили тревогу. К этому времени в Соединенных Штатах по существу отсутствовала эффективная система раннего обнаружения вражеских самолетов. Ее функции выполнял организованный силами ВВС “Корпус наземных наблюдателей” (Ground Observer Corp, GOC) — сеть постов наблюдения за воздушными объектами, комплектовавшаяся гражданскими добровольцами (в 1953 г., на пике своей деятельности, корпус состоял из 8 тыс. постов и 305 тыс. наблюдателей). Но в новых условиях военные сочли GOC ненадежной и слишком медленной системой.
В декабре 1949 г. по инициативе ВВС и ученых MIT был организован Инженерный комитет [по созданию] систем противовоздушной обороны (Air Defense Systems Engineering Committee, ADSEC), который возглавил профессор физики Джордж Эдвард Вэли-мл. (George Edward Valley, Jr., 1913—1999). Он пользовался большим авторитетом в Пентагоне, так как в 1940-е годы под его руководством в лаборатории излучений при MIT был создан самолетный радар Н2Х, позволявший вести бомбардировку во всепогодных условиях. Комитету Вэли предстояло решить несколько принципиальных вопросов, связанных с организацией континентальной ПВО: следует ли децентрализировать функции системы, какую технику (аналоговую или цифровую) целесообразно использовать для передачи и обработки информации и т. д. Впрочем, ответ на один из этих вопросов был для Вэли ясен: посетив в марте 1950 г. лабораторию сервомеханизмов, где находилась еще не достроенная ЭВМ, он стал горячим сторонником цифровой техники.
Форрестер вспоминал: “ Профессор физики, член комитета ВВС по защите воздушного пространства Джордж Вэли был ученым, которому мы многим обязаны. Этот человек мог ночью позвонить генералам и сказать, что они должны были бы сделать, а также попросить их о поддержке”.
Не могу также не процитировать слова Эверетта, относящиеся к тому времени, когда “Вихрь” только начал функционировать: “У этой машины был собственный характер. Когда требовалось выполнить что-нибудь не особенно важное, она вела себя очень своенравно, но если вы подходили к ней и говорили: “Эй, настало время продемонстрировать тебя присутствующему здесь генералу такому-то”, она собиралась и работала превосходно, особенно в тех случаях, когда рядом находился Джордж Вэли. Не знаю почему, но “Вихрь” его очень любил… Поэтому если предстояла важная демонстрация машины, мы всегда старались заручиться присутствием Вэли”.
В сентябре 1950 г. еще не вполне достроенная ЭВМ, находившаяся в Кембридже, шт. Массачусетс, участвовала в эксперименте по приему данных в цифровой форме, передаваемых с радара, установленного в Бедфорде, шт. Массачусетс. Благодаря использованию аналого-цифрового преобразователя и аппаратуры сжатия информации, разработанной Кембриджским исследовательским центром ВВС (Air Force Cambridge Research Center), передача велась по обычной телефонной линии связи. Эксперимент прошел удачно, и Пентагон по настоянию Вэли выделил необходимые средства для завершения работы над ЭВМ. К 14 марта 1951 г. машина была полностью собрана, отлажена и выполнила первую большую программу, написанную на ассемблере Джоном Гилмором (John Gilmore), а 20 апреля того же года она была официально введена в действие. Вскоре после этого в MIT была создана лаборатория цифровой вычислительной техники (Digital Computer Laboratory, DCL) во главе с Форрестером.
Машина состоялась!
“Вихрь”, стоивший по разным данным от 3 до 5 млн. долл., явился результатом усилий 175 человек (в том числе 70 инженеров и техников). Но, пожалуй, эта уникальная ЭВМ не была бы построена, если бы не замечательный организаторский дар Форрестера (“нашего Колумба”, по словам Эверетта). “Большими потенциальными возможностями обладает та организация, — говорил Форрестер, — которая крепко спаяна и способна использовать сильные стороны каждого из ее сотрудников, компенсируя их слабые стороны… В ней необходимо присутствие людей, наделенных такими качествами, как видение будущего, чувство политического момента, умение содействовать совершенствованию других коллег, техническая компетентность, искусство находить покупателей, прямота, способность стойко переносить неудачи и отдавать предпочтение долгосрочным, а не краткосрочным целям. Всё это было у членов нашей группы. Никто, конечно, не обладал всеми перечисленными качествами одновременно, у каждого была своя ярко выраженная индивидуальность и свои сильные и слабые стороны. В группе царила атмосфера полного взаимопонимания, а обязанности распределялись с учетом того, в чем тот или иной сотрудник был наиболее силен. Такая организация позволяла нам действовать с большей эффективностью по сравнению с другими исследовательскими командами”.
ЭВМ была построена по классической принстонской архитектуре с той лишь разницей, что для обмена информацией между блоками машины применялась общая шина. Для управления последовательностью операций в “Вихре” использовалась диодная матрица. Сигналы от генератора тактовых импульсов поступали на определенные входы матрицы, и при этом ее выходные сигналы открывали ключи, с помощью которых выбирался код нужной команды, поступавший в соответствующий регистр устройства управления (УУ). Возможно, такая “управляющая матрица” вдохновила Мориса Уилкса на создание концепции микропрограммирования (сам он, насколько мне известно, никогда об этом не писал).
Поскольку задачи, для решения которых предназначалась машина, не требовали высокой точности вычислений, длина машинного слова была ограничена 16 двоичными разрядами (включая знак числа с фиксированной запятой). Но вместе с тем имелись подпрограммы для работы с числами с плавающей запятой и словом двойной длины, позволявшие получить в случае необходимости более высокую точность. Машина была одноадресной, синхронного действия с тактовой частотой 1 MГц, естественным управлением программной последовательностью и АУ параллельного действия. Внутренняя память содержала 32 модифицированные трубки Уильямса емкостью 1К слов (вскоре емкость была увеличена вдвое), для проверки работоспособности памяти предназначалась группа 32-разрядных регистров, построенных на механических ключах, и пять электронных регистров. Ввод данных и программ в машину осуществлялся с помощью перфоленты и считывающего устройства, результат вычислений печатался на пишущей машинке, в качестве дисплея использовалась ЭЛТ диаметром 40 см. Система аппаратурного или аппаратурно-программного контроля работоспособности — такого, например, как дублирование отдельных блоков или контроль четности, — в машине отсутствовала. Среднее быстродействие составляло 20 тыс. операций в секунду, при этом операция сложения выполнялась за 49, а умножения — за 61 мкс (включая время выборки операндов из памяти). ЭВМ содержала 5000 ламп, главным образом пентодов, и 11 тыс. кристаллических диодов, потребляла 150 кВт энергии, весила 10 т и занимала площадь около 950 кв. м. На ежедневную профилактику “Вихря” отводилось 1,25 часа, среднее время наработки на отказ составляло 10,6 часа.
Дальнейшие шаги
Вслед за успешным завершением “бедфордского эксперимента” MIT получил средства на реализацию проекта “Чарльз” (по названию протекающей через Бостон реки). Его целью была выработка конкретных рекомендаций по созданию системы ПВО на базе новейших достижений в области радарной техники, систем связи, ВТ и т. д. В период с февраля по август 1951 г. группа ученых подготовила отчет, в котором содержалось эскизное описание будущей континентальной системы.
Предполагалось организовать 22 региональных центра обработки информации в США и один в Канаде, а также несколько командных центров. Все они должны были иметь быстродействующие ЭВМ, которые в режиме реального времени обрабатывали бы данные о воздушной обстановке, поступающие с радаров, станций наблюдения и т. д., представляли результаты обработки в текстовой и графической форме и посредством модемов и телефонных каналов связи обменивалась ими со всеми другими региональными центрами, а также поступали в командные центры.
После того как военные одобрили отчет, было решено организовать под эгидой MIT специальную лабораторию для разработки системы ПВО. Она финансировалась государством, находилась в Лексингтоне, шт. Массачусетс, и называлась Линкольновской (Lincoln Laboratory, LincLab), по названию соседнего городка Линкольн. Ее руководителем назначили физика Фрэнсиса Уиллера Лумиса (Francis Wheeler Loomis, 1889—1976), в прошлом работавшего в RadLab, а его заместителем — Джорджа Вэли. В лаборатории было около десятка отделений, каждое из которых специализировалось по одному из технических направлений (DCL вошла в состав LincLab и стала именоваться отделением № VI.
Первой работой LincLab стал проект по созданию региональной системы ПВО на базе “Вихря”, охватывающей территорию Новой Англии и известной как “Система мыса Код” (Cape Cod System, CCS). Он был призван смоделировать в малом масштабе действие континентальной системы и убедить скептиков в правильности выбранных технических решений. Документация на CCS и необходимое оборудование были готовы к январю 1953 г., а уже в сентябре того же года началась ее опытная эксплуатация (роль бомбардировщиков потенциального противника выполняли самолеты B-47 Stratojet).
Машина совершенствуется
К этому времени ЭВМ “Вихрь” подверглась существенной модернизации. В своей новой ипостаси она занимала два этажа в одном из зданий MIT: на первом располагались НМЛ и устройства связи с объектами; второй этаж занимала вычислительная часть машины, внутренняя память и пульт управления. Кроме того, в подвале здания находился питающий агрегат мощностью примерно 150 кВт, а на крыше был смонтирован кондиционер. Число ламп в машине увеличилось до 12,5 тыс., а диодов — до 23,8 тыс.
Быстродействие “Вихря”, казавшееся в то время фантастическим, все же было недостаточным для решения задач ПВО, и главным препятствием для его повышения оказался слишком большой цикл работы памяти (16 мкс). Кроме того, несмотря на все ухищрения каждая трубка, стоившая примерно 1000 долл., ежемесячно выходила из строя, таким образом, месячное содержание одной лишь памяти обходилось в 32 тыс. долл. Поэтому начиная с июня 1949 г. Форрестер и его сотрудник Уильям Н. Папьян (William N. Papian) настойчиво искали замену ЭЛТ. В конце 1951 г. они смогли продемонстрировать первый образец памяти на ферритовых сердечниках (в отечественной литературе она получила название “Магнитное оперативное запоминающее устройство”, МОЗУ), а 8 августа 1953 г. полностью заменили ею память на трубках (через месяц емкость МОЗУ была увеличена до 2К слов). Выборка машинного слова из новой памяти осуществлялась за 9 мкс, и это позволило почти в два раза увеличить среднее быстродействие “Вихря”: операции сложения, умножения и деления занимали соответственно 8,0; 25,5 и 57,0 мкс (не считая время выборки операндов из памяти). В техническом отношении это изобретение стало одним из фундаментальных достижений группы Форрестера. На протяжении следующих двух десятилетий МОЗУ было основным видом внутренней памяти ЭВМ, и истории ее создания будет посвящена следующая статья.
Обогатился “Вихрь” и внешними запоминающими устройствами — пятью НМЛ емкостью 125 тыс. слов каждый и скоростью считывания 390 слов в секунду (поставлены компанией Raytheon), а также двумя НМБ от компании ERA, емкость которых составляла 2048 слов, частота вращения — 60 об/с, быстродействие операций записи/считывания — 31 тыс. слов в секунду (был введен контроль четности при обмене данными между МОЗУ и НМБ). Комплект устройств ввода-вывода пополнили флексорайтеры.
В качестве дисплеев использовались трубки “Характрон” (Charactron), разработанные компаний Convair из Сан-Диего для воспроизведения на люминесцентном экране букв, цифр, топографических знаков и других символов. Эти символы формировались на экране ЭЛТ с помощью трафарета (character mask) — непрозрачной пластинки с набором микроотверстий в виде изображаемых символов. Пластинка помещалась на пути электронного луча между двумя отклоняющими системами: одна из них служила для направления луча в нужный символ трафарета, вторая — для направления сформированного луча на выбранное место экрана. Пройдя через трафарет, луч приобретал в поперечном сечении форму отверстия, в результате чего на экране в месте падения луча высвечивалось изображение требуемого символа. Использовалась также аналогичная, но меньших размеров трубка “Тайптрон” (Typotron), которую выпускала компания Hughes Aircraft. Для реализации проекта CCS был разработан трафарет, имевший форму береговой линии Новой Англии.
Символы, обозначавшие обнаруженные радарами воздушные цели, формировались на экране с помощью генераторов знаков и векторов.
Интерактивное общение с машиной обеспечивалось предложенной Эвереттом “световой пушкой” (light gun) новой конструкции, которая позволяла оператору считывать информацию непосредственно с экрана дисплея. В аналогичных устройствах, применявшихся с середины 1930-х годов в световых тирах и других аркадных играх, световой луч направлялся на экран приемника (светочувствительную трубку). Эверетт же изменил конструкцию, расположив фотоэлектронный приемник в корпусе пушки. Приемник реагировал на небольшие изменения яркости объекта (символического изображения самолета) на экране дисплея, происходившие в процессе регенерации. Когда сканирующий луч “наталкивался” на выбранный с помощью пушки объект, его координаты (X, Y) определялись в отдельном электронном блоке и направлялись в ЭВМ, которая извлекала из внешней памяти и выдавала на дисплей данные о воздушной цели, скорости и направлении ее полета, типе вооружения и т. д. Операторы, опираясь на эту информацию, могли принимать необходимые решения и обмениваться ею с другими центрами (в частности, передавать координаты и курс целей самолетам-перехватчикам).
В машине использовался метод прямого доступа к памяти (Direct Memory Access, DMA). Входные данные, которые обновлялись каждые 15 секунд, записывались на отдельную дорожку одного из НМБ и затем блоком передавались во внутреннюю память, при этом процесс вычислений не прерывался. Впервые метод DMA использовался ещё в ЭВМ DYSEAC (см. статью “«Опломбированная поцелуем» и другие” в PC Week/RE, № 9/2007, с. 36), но был запатентован IBM в процессе разработки ЭВМ AN/FSQ-7, прототипом которой послужил “Вихрь”.
ПО машины было дополнено программой, позволявшей ЭВМ решать одновременно несколько задач, работая в режиме разделения времени, а также рядом сервисных программ, обеспечивающих считывание данных с бумажной перфоленты флексорайтера, запись результатов обработки данных на фотопленку или перфоленту для дальнейшего анализа, обнаружения ошибок в процессе вычислений и т. д.
И наконец — SAGE!
Успешное функционирование CCS позволило Линкольновской лаборатории в 1954 г. приступить к разработке “Полуавтоматической наземной [системы контроля] окружающей обстановки” (Semi-Automatic Ground Environment, SAGE). При этом LincLab была отведена роль системного интегратора и организации, ответственной за создание системы в целом; исполнителями же отдельных частей проекта и производителями соответствующего оборудования стали несколько частных компаний. Впрочем, позднее выяснилось, что обеспечение взаимодействия между учеными, военными и производственниками оказалось не под силу университетской лаборатории. Поэтому в июле 1958 г. была образована некоммерческая корпорация MITRE во главе с Чарльзом Уильямом Хэллигеном (C. W. Halligan), бывшим топ-менеджером Western Electric — дочерней производственной компании коммуникационного гиганта American Telephone & Telegraph Co. (АТ&Т).
Лумис, Форрестер и другие руководители LincLab отлично понимали, что успешная реализация проекта SAGE в решающей мере зависит от выбора поставщика ЭВМ для будущих центров. Среди трех претендентов (Remington Rand, Raytheon, IBM) выбор был сделан в пользу последней, хотя в первой половине 1950-х лидирующее положение на рынке ВТ занимала Remington Rand. “Но, — как говорил Форрестер,— в IBM в большей степени наблюдаются целеустремленность, единство команды и корпоративный дух, чем у конкурента. Значительным фактором также являлась способность этой корпорации наладить более тесную связь между исследованиями, производством и техническим обслуживанием”. Этот контракт был исключительно важен для IBM, так как она получила возможность за государственный счет отработать технологию серийного производства ЭВМ и значительно пополнить свою кассу. Забегая вперед, скажу, что корпорация поставила для информационных и командных центров SAGE 56 машин и заработала свыше 500 млн. долл. Во время наиболее интенсивных поставок от семи до восьми тысяч сотрудников IBM (20% ее численности) были заняты работой над машинами.
Корпорация начинала не на пустом месте. Сразу же по завершениию испытаний “Вихря” в составе CCS в отделении VI началась разработка более мощной и быстродействующей ЭВМ Whirlwind II. Но затем этот проект, находившийся в достаточно “продвинутом” состоянии, из-за финансовых затруднений положили на полку, точнее — передали все наработки в IBM, конструкторы которой использовали их при создании собственной машины, названной AN/FSQ-7 (иногда ее ошибочно именуют Whirlwind II, хотя в принципе это разные ЭВМ). Прототип новой машины был поставлен корпорацией в 1955 г., промышленная модель — в следующем.
Это была гигантская ЭВМ, содержавшая 58 тыс. ламп, 175 тыс. диодов, 13 тыс. транзисторов; МОЗУ, состоявшее из четырех модулей, каждый емкостью 64К тридцатидвухразрядных двоичных слов и циклом обращения 6 мкс, нескольких десятков НМЛ и 12 (!) НМБ (диаметром 27 см и частотой скоростью вращения 2900 об/мин). Она потребляла до 3000 кВт энергии, занимала примерно 2 тыс. кв. м и весила 275 т. Машина имела модульную конструкцию, и в каждом из 7 тыс. модулей могло содержаться до 12 ламп.
Отделение же Форрестера сосредоточило усилия на разработке ПО для SAGE. Так, в 1954 г. Дж. Холкомб Лэнинг-мл. (J. Halcombe Laning, Jr.) и Нил Зилер (Neal Zierler) разработали один из первых так называемых алгебраических компиляторов, способных транслировать программу, написанную в алгебраической символике, в машинный код, — примерно то же, но несколько ранее сделал в Манчестерском университете Р. Э. Брукер (см. PC Week/RE, № 32/2006, c. 37). Но вскоре выяснилось, что ресурсы отделения VI слишком малы для решения столь грандиозной задачи. Отказалась взять на себя “программистское бремя” и IBM, ибо, как объяснял один из руководителей корпорации, “…мы не представляем, как загрузить две тысячи программистов, когда в один прекрасный день работа будет закончена”. В результате создание ПО поручили некоммерческой корпорации RAND, которая для выполнения этой работы, в свою очередь, основала в 1957 г. еще одну некоммерческую организацию — “Корпорацию системных разработок” (Systems Development Corp., SDC). За короткий срок численность сотрудников “дочки” в четыре раза превзошла штат “родительницы”: 800 специалистов (пятая часть программистов США) в течение нескольких лет разрабатывали программный код SAGE, который в завершенном виде занимал четверть миллиона строк (по другим данным — в два раза больше). Отмечу также, что под руководством сотрудника SDC Юлиуса Шварца (Jules Schwartz) в 1959 г. был разработан процедурный язык JOVIAL (Jules Own Version of International Algorithmic Language), представлявший собой версию АЛГОЛА-58 и нашедший широкое применение не только в SAGE, но и во многих системах военного назначения.
Другие работы, связанные с созданием SAGE, были распределены между следующими подрядчиками: корпорация Burroughs Corp. отвечала за поставку модемов, AT&T — за телефонные линии связи, Western Electric — за проектирование и строительство зданий информационных и командных центров и их электроснабжение.
Первая очередь системы была запущена 26 июня 1957 г., а к 1963-му завершилась комплектация всех информационных и командных центров. Каждый из них представлял собой четырехэтажное здание без окон с бетонными стенами толщиной в 1,8 м и имел собственную электростанцию, телефонный узел и систему кондиционирования. Центры получали по две ЭВМ AN/FSQ-7 — одна была рабочей, другая использовалась в качестве “горячего” резерва. Коэффициент готовности такой дуплексированной системы составлял 99,97%! К ЭВМ подключалось до 80 мониторов с дисплеями, и одновременно отслеживалось положение около 300 воздушных целей. Система была связана с более чем сотней радаров (наземных и корабельных), со станциями наблюдения и другими источниками информации, комбинировала их и создавала общую картину того, что происходит в воздухе.
Сухой остаток
Общие затраты на создание SAGE (не считая стоимости разработки “Вихря”) точно не известны, но оцениваются в сумму порядка 8—12 млрд. долл. (в ценах 1954 г.), что больше, чем было потрачено на реализацию проекта “Манхэттен” по созданию атомной бомбы. Однако ко времени полного ввода системы в действие она уже устарела, поскольку на смену советским стратегическим бомбардировщикам пришли межконтинентальные баллистические ракеты, а система защиты от них требовала иных структурных и технических решений. Правда, SAGE продолжала действовать до середины 1980-х, но необходимость в ней постепенно уменьшалась, и со временем ее заменили более совершенные системы раннего обнаружения.
Однако значение “Вихря” и “Мудреца” для развития ВТ и программирования трудно переоценить. На деньги американских налогоплательщиков в компьютерном мире были созданы:
- первая ЭВМ, работавшая в режиме реального времени;
- память на магнитных сердечниках (МОЗУ);
- механизм дуплексирования ЭВМ (режим “горячего” резерва);
- “световая пушка”;
- интерактивная машинная графика;
- генераторы знаков и векторов для дисплея;
- аналого-цифровой и цифро-аналоговый преобразователи;
- метод DMA;
- принцип допускового контроля электронных ламп;
- модем;
- метод передачи информации в цифровой форме по телефонным каналам;
- первая распределенная сеть ЭВМ;
- программы для работы в режимах реального времени и разделения времени;
- диагностические программы для обнаружения дефектных компонентов;
- алгебраический компилятор;
- язык программирования высокого уровня JOVIAL;
- структурированные программные модули;
- онлайновые базы данных.
Технологии, использованные в “Мудреце” и “Вихре”, нашли применение в SABRE (Semi-Automatic Business-Research Environment) — системе бронирования мест на самолетах, которую IBM создала в 1964 г., и в различных системах контроля за полетами гражданских авиаперевозчиков и космических аппаратов. Многие участники проектов, приобретя бесценный опыт, стали разработчиками новых средств ИТ и возглавили известные впоследствии компании. Так, Кеннет Олсен (Kenneth Olsen, р. 1926) основал в 1957 г. корпорацию Digital Equipment (DEC), которая начала производство мини-компьютеров, совершив своеобразную революцию в ВТ; бывший сотрудник Линкольновской лаборатории Лоуренс Робертс (Lawrence Roberts, р. 1937) в 1965 г. перешел в отделение технологий обработки информации (Information Processing Techniques Office, IPTO) управления перспективных исследований и разработок Министерства обороны США (Defense Advanced Research Projects Agency, DARPA), где стал одним из основных разработчиков компьютерной сети ARPANET, предшественницы
Интернета. Эти примеры можно было бы множить, но я закончу статью упоминанием о дальнейшей судьбе создателей “Вихря”.
Форрестер оставался руководителем отделения VI до 1956 г., но затем резко изменил направление научной деятельности, посвятив себя исследованиям динамики производственных, а также мировых социальных и экономических процессов. Он стал профессором Слоуновской школы менеджмента при MIT и основоположником новой дисциплины — системной динамики. Эверетт сначала заменил шефа на посту руководителя отделения VI, а с 1969 по 1986 гг. “президентствовал” в корпорации MITRE. За работы по использованию вычислительных машин в режиме реального времени президент США Джордж Буш в 1989 г. наградил обоих создателей “Вихря” Национальной медалью за достижения в технике (National Medal of Technology) — высшей правительственной наградой для инженеров Соединенных Штатов.