[Перевод] System/360: проект, едва не погубивший IBM

Если когда-то будет составлен шорт-лист самых выдающихся изобретений XIX-XX веков, в него, без сомнения, войдут первая электролампочка, Ford Model T и IBM System/360. Эта серия мэйнфреймов навсегда изменила компьютерную индустрию и произвела революцию в работе заводов, компаний и государственных учреждений. 

Тем интереснее узнать, что перед выходом мейнфрейма на рынок (7 апреля 1964 года) S/360 казался создателям едва ли не самой драматичной ошибкой за всю историю предпринимательства. Чтобы создать программную и аппаратную начинку компьютера, сотрудникам IBM пришлось выложиться по полной. Колоссальные финансовые издержки, переработки и пивоты грозили разорить компанию. Позднее Кейт Павитт, эксперт по научной политике, сравнит эту ситуацию с «межплеменной войной»: молодая, быстрорастущая компания была вынуждена работать с новыми, практически не изученными технологиями, вызывавшими недопонимание и раздор внутри отделов.

3b0850caa38788e353149423773df061.jpeg

Тогда IBM повезло. Она уже была достаточно велика, обеспечена финансово и полна талантами. То, что грозило крахом, обернулось победой. Но… давайте не будем забегать вперед.

К концу 1950-х годов пользователи компьютеров столкнулись с одной очень сложной проблемой. Практически неразрешимой. Организации приобретали огромное количество мейнфреймов. Автоматизировали классические процессы с перфокартами и обрабатывали большие потоки данных. Популярность одного только IBM 1401 — живое свидетельство того, как быстро вычисления на компьютере пришли на смену «крестьянскому арифмометру». С 1959 по 1971 IBM удалось продать порядка 12 000 таких систем.

faf12543c0a2c2acbe3499957ff9359d.jpeg

А теперь переходим к фабуле проблемы. Эти машины оказались настолько полезны и универсальны, что на местах из них выжимали все соки. Но рано или поздно производительности и возможностей 1401 переставало хватать, и тогда у вас было три пути:  

  • перейти на более навороченный IBM, например, IBM 7000;  

  • купить подходящую машину у другой компании;

  • выделить площади и расширить парк 1401-х.

Ни один из этих вариантов не выглядит приемлемо. Переход на новую систему привел бы к необходимости полностью переписать программное обеспечение — ни о какой портабельности или кроссплатформенности в те годы речи не было. Стоимость этого процесса в некоторых случаях могла полностью перекрыть потенциальную выгоду от перехода на более «крупную» машину. Кроме того, пришлось бы переобучить сотрудников, работающих с ЭВМ, или нанять новых. 

Увеличение парка «слабых» машин — тоже плохой вариант. Новая ЭВМ требует увеличения штата — как операторов, так и обслуживающего персонала. Рынку требовались системы, которые по мере роста потребностей можно было бы расширить или улучшить, сохранив при этом совместимость со старыми ПО и периферией.  В 1950-х и начале 1960-х такой машины не было.

Клиентские проблемы тогда казались IBM цветочками. Противоречия раздирали компанию изнутри. С одной стороны, требовалось создавать более мощные и продвинутые компьютеры. С другой, инженеры, разработавшие 1401, всячески противились инновациям. Популярность машины вскружила им головы. Как вспоминал один из тогдашних сотрудников IBM: «Страсти росли. Иногда казалось, что мы соперничаем не с собственными коллегами, а с внешним конкурентом, злым и бескомпромиссным».

Вражда привела к тому, что 7000-е компьютеры из Покипси (Poughkeepsie) были на 100% несовместимы с кодом, написанным для 1400-х. Заказчики, напротив, писали гневные письма в компанию и требовали совместимости. Высшему руководству IBM приходилось мириться со все растущими тратами на поддержку сразу нескольких несовместимых линеек мейнфреймов.

Единственный разумный выход из сложившейся ситуации — отмести весь этот зверинец и создать единую систему. Это одним махом снизило бы стоимость исследований и сделало бы продукты IBM гораздо более привлекательными в глазах корпоративных заказчиков. В те годы многие клиенты отказывались от 1400-х в пользу машин конкурентов, так как не имело значения, под какой новый компьютер переписывать ПО.

Красота и мощь совместимости раскрылись осенью 1960 года, когда IBM представила рынку машину 1410, пришедшую на смену 1401. И программное обеспечение, и периферийные устройства от 1401 подходили к 1410.

И покупатели, и промоутеры IBM по достоинству оценили новинку. А тем временем в Покипси были близки к завершению работы над комплектом из четырех компьютеров, известных как 8000-е. Они должны были заменить прошлое поколение 7000-х.

За разработку новых продуктов в компании отвечал вице-президент по производству и развитию Томас Винсент Лирсон. Он прекрасно понимал, что внутренние распри в IBM требуется прекратить как можно скорее. Вот, что позднее писал об этом генеральный директор IBM Томас Дж. Уотсон-младший: «Лирсон решил проблему, применив методику «абразивного взаимодействия». Суть в том, чтобы поменять людей из противоборствующих лагерей местами. Так, главный инженер из маленького подразделения был переброшен на руководство флагманским проектом».

Томас Винсент ЛирсонТомас Винсент Лирсон

Лирсон заменил руководителя из Покипси, ответственного за проект 8000, на Боба О. Эванса, который работал менеджером по проектированию 1401 и 1410. Эванс выступал за совместимость всех будущих продуктов. Спустя три месяца на новой должности Эванс заявил о том, что разработка 8000-х машин — это тупик, вместо них компании следует сосредоточиться на создании единой линейки совместимых компьютеров. В качестве базы для всех новых систем он предложил новую экспериментальную технологию Solid Logic Technology (SLT). Это могло бы дать IBM массу конкурентных преимуществ.

Фредерик П. Брукс-младший, ранее возглавлявший команду разработчиков 8000, противился переменам. Эванс и Брукс стояли по разные стороны баррикад. Оба инженера имели многолетний опыт работы в сфере проектирования и разработки продуктов, пользовались большим уважением со стороны коллег и высшего руководства. Спустя какое-то время для оценки их перспективных предложений был приглашен другой специалист IBM, Джерриер А. Хаддад. Идею Эванса поддержали, и в мае 1961 года разработки 8000-х систем полностью прекратились.

Боб Эванс сразу же попросил Брукса подготовить план создания нового семейства совместимых между собой компьютеров. Лед был сломлен, и вместо непримиримой борьбы инженеры начали работать вместе.

Возглавить новую рабочую группу по системному программированию, проектированию и развитию Лирсон поручил Джону В. Хаанстре, президенту подразделения General Products, производившего модели 1400. Подразделение получило название SPREAD, а Боб Эванс стал её вице-председателем. Позднее к работе был привлечен и Брукс. Уже к декабрю 1961 года группа представила первые технические рекомендации.

Боб Эванс, Фредерик Брукс и Джерриер ХаддадБоб Эванс, Фредерик Брукс и Джерриер Хаддад

Отчет содержал описание пяти совместимых между собой компьютеров, названных общим словом «процессор» (в совокупном значении «компьютер, память и порты подключения периферии»). ПО и внешние устройства, предназначенные для одного процессора, должны были работать со всеми остальными машинами семейства. Предусматривалось использование стандартных аппаратных и программных интерфейсов — например, для подключения дисковых и ленточных накопителей. Эти рекомендации заложили основу для разработки System/360.

Поскольку новые «процессоры» включали массу новых технических решений, обеспечить их совместимость с актуальными продуктами IBM не представлялось возможным. Это была серьезная проблема. Всеми силами компания пыталась объяснить клиентам, что для перехода на новую архитектуру им придется еще один раз переписать свое ПО, а затем встать на путь обновления только аппаратных компонентов. 

Лишь в последний момент, летом 1963 года инженерам из Покипси и Эндикотта удалось решить эту проблему. IBM повезло. Оказалось, что путем добавления специального микрокода в контрольные хранилища компьютеров можно моделировать работу прошлых поколений IBM. Таким образом, ПО, написанное для 1401, могло работать сразу на двух моделях новой линейки — и даже быстрее, чем на оригинальных машинах.

Из мемуаров Томаса Уотсона-младшего, генерального директора IBM:

Изначально мы столкнулись сразу с двумя рискованными моментами. Даже одного из них было достаточно, чтобы не спать ночами… Во-первых, стояла задача координировать работы по проектированию аппаратного и программного обеспечения для новой линейки. У нас были команды инженеров по всей Америке и Европе, они одновременно работали над шестью новыми процессорами и десятками новых периферийных устройств …, но в конце концов все это оборудование пришлось бы собрать воедино. Во-вторых, программное обеспечение. Чтобы поддержать System/360, сотни программистов написали миллионы строк программного кода. Беспрецедентно сложный проект. Еще никогда наши инженеры не испытывали столь сильного давления.

Еще один пласт проблем был связан с производством электронных компонентов для новых систем. Электронная промышленность только-только освоила изготовление интегральных схем, а новые компьютеры должны были быть наполнены ими под завязку. Чтобы ни от кого не зависеть, IBM пришлось организовать собственное производство ИС. Очень дорогой и очень рискованный шаг.

В конце концов, комитет корпоративного управления, куда входили Уотсон и совет директоров, скрепя сердце, одобрил предложения группы SPREAD. IBM предстояла самая безумная технологическая гонка в истории.

Скрывать происходящее уже не получалось. Понемногу слухи просачивались в прессу. Корпорации уже предвкушали новые, мощные и совместимые машины, а конкуренты — GE, Honeywell, Sperry Univac и прочие — гадали, что же получится у IBM.

Между тем, в самой компании зрело недовольство прогрессом разработки. Инженеры, сотрудники производств и сотрудники отдела продаж работали по 100 и более часов в неделю. Им приходилось фактически жить в офисе. Однажды Уотсон решил лично проверить, как идут дела, но получил нагоняй от какого-то инженера. Мол, иди отсюда и не мешай работать. Председатель правления IBM был вынужден ретироваться.

7 апреля 1964 года, ровно в полдень, IBM презентовала новую линейку компьютеров. Более 100 000 клиентов, репортеров и технических экспертов собрались на конференциях в 165 городах США. Это была самая важная презентация в истории компании.

81e24dbee7b32fec5fb125cd909fd2f0.jpeg

В тот день IBM представила целых 150 наименований новых продуктов: 6 компьютеров, 44 периферийных устройства, включая ленточные накопители, дисководы, принтеры и блоки управления, а также огромное количество программного обеспечения для совместной работы. Один только каталог толщиной был в целый дюйм. Всевозможные руководства, содержащие описания машин, компонентов и программного обеспечения, если их сложить друг на друга, заняли бы более 15 метров.

Ключевой особенностью System/360, конечно же, была совместимость. В начале жизненного цикла компания могла установить «младший» компьютер из линейки 360, а затем обновить его без надобности переписывать программное обеспечение или заменять сопутствующие устройства. Кроме того, специалистам не требовалось полностью переобучаться для работы на «старших» моделях. Само название 360 было намеком на 360 градусов — максимальный «охват» новой линейки.

Среди 44 периферийных устройств S/360 был дисковый накопитель 2311Среди 44 периферийных устройств S/360 был дисковый накопитель 2311

За первый месяц IBM удалось продать по предзаказу 100 000 новых машин. Для сравнения, в том же году в Великобритании, Западной Европе, США и Японии было установлено чуть более 20 000 любых компьютеров. Первые поставки «младших» машин обещались в третьем квартале 1965 года, а «старших» — в начале 1966-го. Временной лаг позволил клиентам точно определиться с приобретаемой моделью, спланировать бюджет, обучить персонал и скорректировать программное обеспечение.

С 7 апреля в IBM начались по-настоящему сложные времена. На разработку System/360 компания потратила 5 миллиардов долларов (порядка 40 миллиардов долларов по современному курсу), что в то время было больше её годового бюджета. Было нанято примерно 70 000 новых сотрудников. И каждый из них понимал: если компьютер провалится, IBM придет конец.

Позже Уотсон писал: «Не все оборудование, представленное [7 апреля], было настоящим. Что-то и вовсе было выстрогано из дерева. Обмана не было, мы честно рассказали, что это всего лишь макеты. Но это все равно было слишком опасно. Думаю, так нельзя вести бизнес… Слишком многое мы поставили на кон, еще до конца не зная, будет ли затея успешной».

Руководство проектированием и производством мейнфреймов Уотсон поручил своему брату Артуру. Лирсона перевели в управление продажами — его хватка нужна была, чтобы натренировать торговых представителей. Сама мысль о том, что клиенты могут в последний момент передумать и перейти на не-IBM машины, пугала Уотсона.

Но количество заказов постоянно росло. В 1965 году поступило предложение вдвое увеличить производственные мощности. Чтобы вы поняли всю серьезность момента — один из руководителей заявил, будто расширение невозможно, и его тут же уволили. Да, качество продукции снизилось. К концу 1965 года до четверти электронных схем были отбракованы отделом проверки качества.

69f2f35f7b9d98ff4ee52dbd1c9240a4.jpeg

После вынужденного простоя и решения проблем на линии производство возобновилось с новой силой. За 1966 год было выпущено 90 млн модулей SLT — почти втрое больше, чем в прошлом году. IBM открыла новый завод в Ист-Фишкилле, к югу от Покипси. Там за один год произвели больше полупроводниковых устройств, чем все другие заводы во всем мире вместе взятые. Позднее были открыты производственные линии в Берлингтоне, штат Вирджиния, и в Корбей-Эсон, Франция.

Из-за спешки в производстве дефекты обнаруживались приблизительно в четверти всех модулей SLTИз-за спешки в производстве дефекты обнаруживались приблизительно в четверти всех модулей SLT

Расширение производственных мощностей за пределами США создало проблемы в координации деятельности и изготовлении компьютеров. Артур Уотсон ранее уже управлял небольшими заводами IBM за пределами США, но не имел опыта в решении инженерных проблем, не говоря уже о глобальных проблемах в разработке и производстве. Это была задача не его масштаба. А Лирсон и команда продажников просили о дополнительных улучшениях в линейке продуктов — вдобавок ко всем остальным проблемам. В октябре 1964 года IBM пришлось объявить о значительных задержках поставок.

Том отстранил Артура от работы и передал его обязанности Лирсону, который, в свою очередь, пригласил четырех инженеров-менеджеров для решения проблем с заводами. «Четыре всадника Лирсона» всего за пять месяцев усердной работы смогли вернуть прежние сроки поставок. В январе 1966 года Лирсон стал президентом IBM.

Генри Кули, Клеренс Фриззелл, Джон Гибсон и Джон ХаанстраГенри Кули, Клеренс Фриззелл, Джон Гибсон и Джон Хаанстра

Артура перевели на роль заместителя председателя, но уже в 1970 году он предпочел выйти на пенсию. В своих мемуарах Томас Уотсон-младший признался, что с 1964 по 1966 год пребывал в состоянии паники и глубоко сожалеет о том, как обращался с Артуром. «Я не чувствовал ничего, кроме стыда и разочарования из-за моего отношения к нему … Да, мы устроили революцию в компьютерной индустрии, и объективно S/360 — это величайший триумф в моей деловой карьере. Но всякий раз, когда я вспоминаю об этом, я думаю о брате, который так из-за меня пострадал».

Проблемы с программным обеспечением также замедлили поставки S/360. Еще в 1963 году среди разработчиков царил хаос. Они, поначалу безуспешно, пытались заставить операционную систему OS/360 выполнять более одного задания одновременно. Проблемы возникали и с прикладным ПО.

Фред Брукс вызвался помочь компании, и IBM подключила к проекту операционной системы еще порядка 1000 человек, что нанесло огромный удар по бюджету. Но увеличение числа разработчиков почти не помогло. Этот опыт лег в основу книги Брукса «Мифический человекомесяц» (Addison-Wesley, 1975). До сих пор это одна из самых читаемых книг по вычислениям. Годы ушли на то, чтобы разработать, протестировать и отладить новую ОС, а задержка по поставкам сократилась всего до одного месяца.

Поставка S/360 в ЯпониюПоставка S/360 в Японию

В 1965 году IBM каким-то чудом удалось отгрузить клиентам первые несколько сотен компьютеров S/360. Да, их качество в некоторых аспектах уступало заявленному. Запчастей не хватало, периферия глючила и выходила из строя. В ПО обнаруживались критические ошибки, и почти каждый клиент так или иначе сталкивался с проблемами. Но начало было положено. Отдел продаж всячески умасливал заказчиков, а в недрах IBM тысячи человек трудились над тем, чтобы исправить ошибки в уже поставленных компьютерах и не допустить их в новых партиях.

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

И, несмотря на множество проблем, клиенты продолжали заказывать S/360 быстрее, чем в IBM успевали их собирать. К концу 1966 года заказчики получили девять различных моделей S/360, всего 7700 штук.

Конкуренты IBM тоже не дремали. Burroughs, GE, Honeywell, NCR и Sperry Rand, представили собственные системы, совместимые друг с другом, но не с IBM. Еще одна, меньшая когорта производителей, выпускала IBM-совместимые компьютеры по лицензии RCA.

Пять лет спустя стоимость всех установленных компьютеров IBM в мире выросла до 24 миллиардов долларов, а у конкурентов — до 9 миллиардов. Другими словами, IBM S/360 моментально увеличил популярность компьютеров до немыслимых высот. Годовой рост отрасли во второй половине 1960-х выражался двузначными числами по сравнению с прошлыми годами, поскольку многие тысячи организаций перешли на использование компьютеров. Спрос на вычисления вырос из-за технологических инноваций, разработанных IBM, а также потому что пользователи накопили достаточно опыта, чтобы осознать ценность компьютера.

НАСА закупило несколько машин S/360, в том числя для Центра космических полетов ГоддардаНАСА закупило несколько машин S/360, в том числя для Центра космических полетов Годдарда

IBM также выросла более чем вдвое с 127 000 сотрудников по всему миру в 1962-ом до 265 000 к концу 1971 года. Выручка увеличилась с 3,2 млрд в 1964 году до 8,2 млрд долларов в 1971-ом.

S/360 без преувеличения создал новую компьютерную «субкультуру». Тысячи программистов умели пользоваться только ПО от IBM. Еще несколько тысяч человек, занимавшихся обработкой данных, работали только с оборудованием S/360: это были машины для перфорации, принтеры, ленточные накопители, дисководы и отраслевое программное обеспечение. К началу 1970-х компьютерное пространство в значительной степени принадлежало IBM по обе стороны Атлантики, а также на развивающихся рынках Латинской Америки и Японии.

97967915b8722de5a294690bcffa675e.jpeg

Спустя годы, когда у представителей IBM спросили, решится ли компания на что-то подобное снова, кто-то из руководства ответил: «Черт возьми, да больше никогда!». Уотсон придерживался такого же мнения. Комментируя ситуацию в 1966 году, он заявил: «При всех наших размерах мы больше никогда не решимся на проект такого же масштаба». Помня об уроке S/360, Уотсон ввел новое корпоративное правило: «никогда не объявлять о новой технологии, которая потребует от компании выделения более 25% производственных мощностей».

История разработки S/360 — это история целого поколения сотрудников IBM. Карьеры взлетали и рушились в одночасье, личная жизнь и семьи приносились в жертву великой идее. И никто, ни один человек в компании не мог знать, чем обернется вся эта затея. Насколько сильно S/360 перевернет компьютерный мир.

Зато теперь об этом знаем все мы.

© Habrahabr.ru