Самый мощный суперкомпьютер 60-х. Краткая история IBM Stretch
42 года назад, 5 сентября 1980 года в Университете Бригама Янга был навсегда выключен последний суперкомпьютер IBM Stretch. Этот сверхмощный мейнфрейм, известный также под наименованием IBM 7030, стал результатом научно-исследовательского проекта, который корпорация IBM начала еще в 1955 году — его целью было построить суперкомпьютер, в сотни раз превосходящий по мощности все, что еще было создано до этого. Stretch по праву считался самым быстрым и продвинутым компьютером на всем земном шаре в конце 70-х и начале 80-х годов прошлого века, и в то же время снискал славу провального проекта, принес компании многомиллионные убытки и в итоге был выведен из эксплуатации. Почему его судьба сложилась именно таким образом? Все дело в завышенных ожиданиях.
История началась в 1955 году, когда Ливерморская радиационная лаборатория Калифорнийского университета объявила очередной тендер. Ученым был нужен суперкомпьютер под кодовым названием LARC (Livermore Atomic (Advanced) Research Computer, «Ливерморский компьютер для исследования атома»). Предполагалось, что эта машина будет помогать физикам-ядерщикам в сложнейших обсчетах атомных реакций. На самом деле, генеральным заказчиком, выделившим финансирование для этого проекта, была Лос-Аламосская научная лаборатория (управляемая Комиссией по атомной энергии), которая занималась разработкой ядерного оружия. В то время подходящую машину могли построить только два ведущих производителя — IBM и UNIVAC. Обе компании принялись составлять свои предложения, чтобы побороться за этот выгодный заказ.
Специалисты IBM, работавшие над тендерной заявкой, поняли, что смогут создать намного более мощную машину, чем требовалось заказчику. Если использовать недавно разработанные транзисторы с диффузным переходом, их суперкомпьютер многократно превзойдет заявленные технические характеристики по своей вычислительной мощности. Инженеры из IBM так вдохновились, что отозвали изначальную, менее амбициозную заявку, и подали новую, попросив еще один миллион долларов и дополнительный год на разработку.
В Калифорнийском университете заявку отклонили: не захотели ни ждать, ни переплачивать — так что компьютер LARC для них создала компания UNIVAC. А вот Лос-Аламосская национальная лаборатория получив заявку от IBM, заинтересовалась обещаниями невиданной производительности и дала ход проекту.
Заявленные инженерами IBM показатели и правда впечатляли — 4 MIPS, 4 миллиона операций в секунду. На тот момент широко использовались компьютеры IBM 704, выполнявшие 400 000 операций в секунду. То есть, по расчетам, новый суперкомпьютер должен был в сто раз превысить стандартную производительность того времени.
Разработка стартовала в начале 1956 года, и к 1960-му IBM планировала торжественно запустить суперкомпьютер. Но уже в процессе проектирования инженеры поняли, что никак не смогут оправдать ожиданий, однако надеялись хотя бы приблизиться к намеченным планам. Увы, результаты фактических тестов оказались неутешительными: производительность IBM 7030 Stretch оказалась примерно в три раза меньше заявленной — около 1,2 MIPS. Причиной стала необходимость снизить тактовую частоту компьютера: работа машины на изначально запланированной тактовой частоте приводила к перегреву и быстрому выходу транзисторов из строя. Тем не менее, Stretch все еще опережал конкурирующие вычислительные системы по быстродействию.
Президенту IBM Томасу Уотсону-младшему пришлось принять непростое решение и снять суперкомпьютер с продажи, а для тех, кто уже успел заказать Stretch, снизить цену почти вдвое — с первоначальных 13,5 до 7,78 миллиона долларов. Среди заказчиков суперкомпьютера были организации с такими громкими названиями, как «Агентство Национальной безопасности США», «Национальная метеорологическая служба США», «Корпорация MITRE», Полигон военно-морских сил США в штате Вирджиния, Организация по атомному оружию Великобритании и Комиссариат атомной энергетики Франции. Именно это обстоятельство вызвало волну недовольства в высших кругах Америки привело к тому, что проект Stretch долгое время считался самым крупным провалом в истории IBM. Впрочем, ответственным за это сделали главного инженера проекта Стивена Данвелла, а Томас Уотсон-младший отделался, как говорится, легким испугом.
Несмотря на неоправданные ожидания, Stretch во многом определил будущее не только суперкомпьютеров, но и их настольных потомков, которыми мы пользуемся сейчас. В чем же его уникальность?
Начнем с того, что он Stretch — это первый суперкомпьютер на транзисторах. Именно 169 тысяч высококачественных транзисторов с диффузным переходом помогли IBM 7030 совершить настоящую революцию в производительности. Эта машина первой в мире превысила порог в миллион операций в секунду, в 3 раза превзойдя своего предшественника, IBM 704. При этом новый Stretch потреблял столько же энергии и занимал точно такую же площадь — не более 186 кв. метров (2000 кв. футов).
Stretch стал на тот момент самым быстрым компьютером в мире и оставался таковым еще три года после своего появления, пока не уступил пальму первенства новому CDC 6600. Суперкомпьютер от IBM выполнял сложение 64-разрядных чисел с плавающей запятой за 1,5 микросекунды, а умножение — за 2,7 микросекунды. Невиданная производительность для той эпохи.
Что касается технологий, в суперкомпьютере IBM 7030 были собраны практически все известные на 1960 год достижения в области вычислительной техники. Stretch — пионер ECL, эмиттерно-связной логики. Впоследствии все суперкомпьютеры вплоть до 80-х будут собирать на схемах ЭСЛ. Его система модулей транзисторной логики SMS (Standard Modular System) впоследствии применялась почти во всех компьютерах IBM вплоть до середины 80-х. Архитектура, разработанная для IBM Stretch, легла в основу линейки System/360, которая в свою очередь на долгие годы стала промышленным стандартом благодаря целому ряду удачных инженерных решений. Принципы мультипрограммирования вкупе с защитой памяти и стандартными способами обработки прерываний — всё это компьютеры серии System/360 унаследовали от IBM 7030 Stretch. А впервые примененные в этом суперкомпьютере принципы конвейеризации инструкций, предвыборки кода и расслоения памяти используются даже в современных процессорах.
IBM Stretch был первым компьютером, который использовал стандартные модули ферритовой памяти. Интересно, что ферритовым сердечникам для нормальной работы была необходима как можно более стабильная температура, поэтому их помещали в алюминиевый корпус и погружали в масло. Оно помогало плавно охлаждать и при необходимости нагревать магнитные сердечники. Но это было скорее вынужденное решение, которое впоследствии не прижилось.
Память Stretch позволяла записывать и считывать шесть параллельных потоков, благодаря чему быстродействие ОЗУ составляло около 2 MIPS, так что память IBM 7030 была даже быстрее процессора. Из особенностей можно отметить также то, что в программах для этого компьютера использовался восьмибитный байт (в некоторых архитектурах байт состоял из 7 бит) и разрядность машинных слов 8/32/64 бита — это тоже стало стандартом. Интересно, что в то время советские компьютеры работали с нестандартной разрядностью машинных слов от 22 до 50 байт, зачастую еще и некратных размерам адресуемых ячеек памяти.
Различное периферийное оборудование вроде алфавитно-цифровых печатающих устройств, терминалов или перфораторов для перфокарт можно было подключать и использовать параллельно, просто вставив в соответствующий разъем Stretch кабель. В общем, эта «провальная» машина в целом отличалась весьма передовыми характеристиками и оказала большое влияние на развитие всей индустрии.
Кстати, и Ливерморская лаборатория, которая в начале этой истории отклонила тендерную заявку от IBM, в итоге все-таки прикупила себе IBM Stretch, ведь он оказался вдвое быстрее их суперкомпьютера UNIVAC LARC. Однако годы берут свое: к 1980 году IBM 7030 окончательно устарел, началась эра «персоналок», и на смену ему пришли более компактные и более современные машины. Один из построенных IBM экземпляров Stretch до последнего трудился в частном университете Бригама Янга в Прово, штат Юта, США, но 5 сентября 1980 года был списан на пенсию. Сейчас посмотреть на старичка можно в музее компьютерной истории в Маунтин-Вью, Калифорния.