Пейзаж Пре-360: Вавилонская башня

Чтобы оценить сейсмический сдвиг, вызванный IBM System/360, необходимо понять хаос, который определил корпоративные вычисления в конце 1950-х и начале 1960-х годов. В то время только IBM продавала семь совершенно разных компьютерных линий: небольшую серию 1400 для бизнеса, массивную серию 7000 для научной работы, 1620 для инженерии и несколько других. У каждой был свой набор инструкций, своя операционная система (если она вообще была), своя собственная периферия и свои собственные языки программирования. Клиент, обновляющийся с IBM 1401 до IBM 7090, сталкивался с переписыванием каждого программного обеспечения, переподготовкой персонала и часто заменой считывателей перфокарт и ленточных дисков. Этот кошмар совместимости не был уникальным для IBM; каждый производитель — Remington Rand, Burroughs, Honeywell, NCR, CDC — предлагал аналогично фрагментированные линейки продуктов.

Эта модель печёнки заперла клиентов в единую машину и задушила рост. Компания, которая начинала с небольшого счётного компьютера и позже нуждалась в научной лошадиной силе, должна была всё выбросить и начать всё заново. Промышленность росла экспоненциально, но стоимость перехода становилась неустойчивой. Руководство IBM увидело и кризис, и возможность. В 1961 году компания спокойно начала исследовать радикальную идею: единое, совместимое семейство компьютеров общего назначения, которое могло охватывать весь спектр производительности, от замены самого маленького 1401 до затмения самого быстрого 7094.

Видение и ставка

На ключевом внутреннем совещании в конце 1961 года комитет представил то, что стало известно как отчет SPREAD, названный для групп IBM, участвующих: Системы, Программирование, Исследования, Инженерия и Разработка. В докладе сделан вывод, что будущее IBM заключается не в исправлении существующих линий, а в создании совершенно новой, унифицированной архитектуры. Машина, в конечном итоге получившая название System/360, чтобы отразить ее «360-градусный» охват всех вычислительных потребностей, будет первой линией продуктов, которая отделит архитектуру от реализации. Важно было не конкретное оборудование под обложками, а набор инструкций и интерфейсов, которые видел программист — концепция, которую мы теперь называем Архитектурой набора инструкций (ISA).

IBM оценила стоимость разработки в $5 млрд, что более чем в два раза превышает годовой доход в то время. Генеральный директор Томас Уотсон-младший позже описал его как «самое рискованное бизнес-решение в нашей истории». Компания по существу поставила свое существование на убеждение, что клиенты будут торговать краткосрочной болью для долгосрочной совместимости и масштабируемости. Программа была официально объявлена 7 апреля 1964 года, дата, которая стала легендарной в летописях технологий. Смелость объявления — приверженность шести первоначальным моделям с диапазонами производительности от 50 до 1, все работающие с одним и тем же программным обеспечением — ошеломила конкурентов и порадовала клиентов.

Системы проектирования/360

Архитектурный фонд

Проект возглавляла легендарная команда, в том числе Джин Амдал (главный архитектор), Фредерик П. Брукс-младший (руководитель проекта) и Боб Эванс (вице-президент отдела систем данных). Основным вкладом Амдала была сама архитектура: 32-битный размер слова, 24-битная адресация (допускающая до 16 МБ памяти, астрономическая цифра для того времени) и, что важно, принятие 8-битного байта в качестве фундаментальной единицы хранения. В то время как другие машины использовали размеры слов различной длины, S/360 стандартизировал байт, решение, которое выдержало в каждом современном процессоре. Архитектура также представила чистый, ортогональный набор инструкций, где любая инструкция могла использовать любой регистр и любой режим адресации - радикальный отход от нерегулярных конструкций более ранних машин.

Микропрограммирование: возможность совместимости

Не менее революционным был метод реализации, который сделал возможным совместимое семейство: микропрограммирование, отстаиваемое Джоном Коком и другими. Вместо логики управления жесткой проводкой для каждой модели S/360 использовал слой низкоуровневого кода (микрокод), который интерпретировал машинные инструкции. Это означало, что один и тот же внешний набор инструкций может работать на совершенно разных аппаратных средствах - от медленных экономичных моделей, построенных с недорогими схемами, до высокопроизводительных моделей, использующих самую быструю доступную логику - просто путем адаптации микрокода. Результатом была беспрецедентная масштабируемость без нарушения совместимости программного обеспечения. Этот подход позволил IBM спроектировать миникомпьютерную точку входа (модель 30) и суперкомпьютерную электростанцию (модель 91) под одним архитектурным зонтиком.

Твердая логическая технология

Чтобы достичь необходимой скорости и надежности, IBM инвестировала в новую технологию упаковки под названием Solid Logic Technology (SLT). Вместо того, чтобы использовать дискретные транзисторы и диоды, SLT собирал крошечные керамические модули, содержащие взаимосвязанные полупроводниковые элементы, каждый модуль был примерно вдвое меньше размера почтовой марки. Эти модули затем были установлены на плотно упакованных печатных платах. SLT был предшественником настоящих интегральных схем, и в то время как General Electric и другие имели машины на основе ИС примерно в то же время, подход IBM дал S/360 уровень технологичности и надежности, который позволил компании производить машины в большом объеме. К 1967 году более 2000 систем S/360 отгружались каждый месяц - удивительная скорость для линейки продуктов, настолько дорогих и сложных.

Модельное разнообразие и диапазон производительности

Первоначальное объявление включало шесть моделей: Model 30, 40, 50, 60, 62 и 70 (модели 60 и 62 были позже заменены на 65 и 67). Производительность варьировалась от около 35 000 инструкций в секунду на модели 30 низкого класса до более 500 000 на модели 70 высокого класса. Более поздние модели раздвигали границы еще дальше. Модель 20 была добавлена для захвата самого дна рынка - по сути, замена 1401 - с использованием подмножества набора инструкций, но все еще совместима на уровне данных. Модель 91, высокопроизводительная научная машина с передовой конвейерной и внепорядковой реализацией, стала легендой в суперкомпьютерных кругах, конкурирующих машин от CDC и Cray. Модель 67 представила динамический перевод адресов для виртуальной памяти, функция, которая позже стала стандартной на System/370. Все они работали на той же операционной системе OS/360 - амбиции, которые создали отдельный эпос в истории компьютеров.

OS/360 Saga и зарождение программной инженерии

Если аппаратное обеспечение было триумфом, программное обеспечение почти сорвало весь проект. Первоначальный план состоял в том, чтобы доставить единую монолитную операционную систему OS/360, которая будет управлять пакетными работами, поддерживать обработку в реальном времени, обрабатывать различные устройства ввода-вывода и обеспечивать общий программный интерфейс. Масштабы задачи были сильно недооценены. Фредерик Брукс в своей основополагающей книге Мифический человеко-месяц , хронизировал каскадные задержки и болезненные уроки, извлеченные. Как он лихо заметил, «добавление рабочей силы к позднему программному проекту делает его позже». Брукс также задокументировал трудности оценки графиков для крупных программных проектов, накладные расходы на связь, присущие размеру команды, и иллюзию прогресса от неполного кода.

Программное обеспечение усилилось, чтобы привлечь более 2000 программистов на своем пике, и затраты раздулись. К 1966 году IBM была вынуждена сократить свои амбиции, в конечном итоге поставляя более практичный набор операционных систем: PCP (программа первичного управления) для простых пакетных сред, MFT (многопрограммирование с фиксированным количеством задач) и MVT (многопрограммирование с переменным числом задач) для более крупных установок, а затем TSS (система разделения времени) для интерактивных вычислений. OS/360 никогда полностью не материализовалась, как первоначально предполагалось, но уроки преобразовали отрасль. Работа Брукса стала основой современного управления проектами программного обеспечения, а термин «программная инженерия» получил валюту в результате опыта System/360. Проект также стимулировал достижения в тестировании программного обеспечения, управлении конфигурацией и формальных обзорах дизайна - практика, которая все еще стандартна сегодня.

Влияние рынка и доминирование IBM

После выпуска System/360 не просто продавалась, она переопределила рынок. Обещание долголетия и миграции без штрафа было непреодолимым для корпоративных центров обработки данных. За пять лет анонса IBM установила более 25 000 систем по всему миру. Поток доходов позволил IBM влить инвестиции в поддержку, образование и обширную партнерскую экосистему. 360 стал точкой отсчета, на которой были измерены все остальные компьютеры. Его набор инструкций породил династию: System/370, 30xx, 4300, 9370 и в конечном итоге zSeries мэйнфреймы сегодняшнего дня, которые до сих пор запускают приложения, написанные для S/360 почти шесть десятилетий спустя.

Экономический эффект был глубоким. Поскольку архитектура была документирована и стабильна, компании могли инвестировать в долгосрочную разработку программного обеспечения. Такие отрасли, как банковское дело, страхование и авиакомпании, автоматизировали свои основные операции на платформах S/360. Машина позволила создать первые системы онлайн-бронирования (SABRE, хотя первоначально в 7090 году, эволюционировала на 360), крупномасштабное управление запасами и ранние этапы электронных переводов средств. Концепция «одной архитектуры, много реализаций» снизила затраты на обучение и создала целое поколение программистов, квалифицированных в COBOL, FORTRAN и Assembler для S/360. Программная экосистема, которая выросла вокруг 360, включая системы управления базами данных, такие как IMS и более поздний DB2, стала многомиллиардным рынком сама по себе.

Эффект Риппла на конкурентов и клонов

Ответ конкурентов

Коммерческий успех 360 заставил остальную часть отрасли принять стратегии совместимости. RCA, у которой серия Spectra 70 была разработана с аналогичной архитектурой, одним из первых имитировала подход, но в конечном итоге не смогла идти в ногу с производством и поддержкой IBM. General Electric и Honeywell после слияния своих компьютерных подразделений попытались с серией GE-600/Honeywell 6000, но к 1970-м годам отошли от рынка мэйнфреймов. Единственным реальным выжившим конкурентом, в некоторой степени, была Control Data Corporation, которая сосредоточилась на суперкомпьютерах, а не на системах общего назначения. Даже CDC оказался в затруднительном положении, поскольку модель 91 IBM предлагала сопоставимую производительность для более широкого рынка.

Явление Plug-совместимого производителя

Еще более значительным было появление рынка подключаемых производителей (PCM). Такие компании, как Amdahl Corporation (основанная Джином Амдалом после его ухода из IBM в 1970 году), начали создавать процессоры, которые эмулировали набор инструкций S/360 и более поздний S/370 по более низкой цене или более высокой производительности. Это было возможно только потому, что архитектура была общедоступной и интерфейсы хорошо документированы. PCM способствовали конкурентной динамике, которая приводила к снижению цен и инновациям. Создание вторичного рынка периферийных устройств, обновлений памяти и программного обеспечения еще больше усилило влияние 360, размыв грань между продуктами IBM и открытым стандартом. Эта модель непосредственно предвещала современную эру стандартных серверов x86 и облачных вычислений, где совместимость между поставщиками считается само собой разумеющейся.

Архитектурное наследие и современные следы

Технические решения S/360 сегодня громко эхом повторяются. 8-битный байт универсален; каждый компьютер, который мы используем, наследует этот выбор. Идея чистого, ортогонального набора инструкций повлияла на дизайн VAX DEC, Motorola 68000 и даже ранних исследований RISC в IBM и Беркли. Хотя x86 не является прямым потомком S/360, архитектура Intel 8086 сохранила концепцию совместимого семейства по нескольким точкам производительности, хотя и с очень другим подходом. Принцип, что компьютерная «архитектура» является логическим контрактом, отличным от его физической реализации, является основой современных вычислений. Слой микропрограммирования, введенный S/360, проложил путь для более поздних инноваций, таких как спекулятивное исполнение и динамический перевод.

С точки зрения программного обеспечения, борьба с OS/360 привела к дисциплине разработки программного обеспечения, формальному управлению большими кодовыми базами и развитию структурированного программирования. Языки, такие как PL/I, хотя часто клеветнические, были ранней попыткой объединить научное и бизнес-программирования - цель, непосредственно вдохновленная универсальной миссией 360. Системы баз данных, которые позже превратились в IMS IBM и DB2, родились на мэйнфреймах S/360, формируя рынок реляционной базы данных в течение десятилетий. Приверженность IBM обратной совместимости означала, что клиенты могли перейти от 360 к 370, а затем к ESA/390 и z/Architecture без переписывания своих приложений - гарантия защиты инвестиций, которую не соответствовала ни одна другая платформа.

Сегодня бизнес мэйнфреймов IBM, в то время как часть всего ИТ-рынка, остается стратегически важным для глобальных финансов и логистики. Современный мэйнфрейм IBM z16 может выполнять те же самые бинарные программы S/360 без модификации - цепочка совместимости, охватывающая 60 лет. Ни одна другая платформа не может претендовать на такую долговечность. Решение заморозить архитектуру на высоком уровне абстракции позволило инженерам-аппаратистам радикально внедрять инновации ниже набора инструкций, сохраняя при этом инвестиции в программное обеспечение клиента. Z16 с его ускорителями искусственного интеллекта на чипе и квантово-безопасной криптографией является прямым потомком той ставки 1964 года.

Вывод: проект для цифровой эпохи

IBM System/360 была гораздо больше, чем линейка продуктов; это был план того, как целая отрасль структурирует себя вокруг стандартов, совместимости и многоуровневой абстракции. Она показала, что компания может создать платформу, которая переживет любое отдельное поколение машин, и при этом она запустила цикл коммодитизации и специализации, который теперь определяет цифровую экономику. Рискованная ставка окупилась не только в доходах, но и в закладке интеллектуальной основы для всего, от разработки компиляторов и операционных систем до современной концепции экосистемы. Влияние 360 можно увидеть в том, как облачные провайдеры предлагают совместимые виртуальные машины, в том, как программные рамки обеспечивают слои абстракции, и в том, как вся технологическая индустрия охватывает обратную совместимость как добродетель.

Для тех, кто изучает историю технологий, S/360 является ярким примером стратегического видения в сочетании с инженерным исполнением. Он решал сложные проблемы совместимости, надежности и технологичности, и его уроки были поглощены в каждое семейство процессоров, которое последовало. IBM Столетняя страница на System/360 Музей компьютерной истории ] сохраняет рабочие примеры и устные истории. Машины давно вышли на пенсию, но принципы, которые они воплотили, вплетены в ткань каждого смартфона, облачного сервера и встроенного устройства, которые мы используем сегодня. Система/360 научила нас, что великие платформы построены не на эфемерном оборудовании, а на устойчивых абстракциях — и этот урок более актуален сейчас, чем когда-либо.