IT-DailyРежим архива
 
 
 

Вернуться на все новости от 22 сентября 2008 г.

Провал, обернувшийся успехом

В компьютерной истории проект Stretch (IBM 7030) нередко приводят в качестве примера неудачного решения: этот компьютер оказался в несколько раз медленнее и к тому же существенно дороже, чем планировалось. Однако знания и опыт, полученные при его проектировании, позволили спустя несколько лет создать семейство IBM System/360, ставшее классикой мэйнфреймов. Можно ли такой эксперимент считать неудачей?

К неудаче проекта в IBM отнеслись философски, руководствуясь одним из правил Томаса Уотсона-старшего, основателя компании: Удвоение уровня неудач – самый быстрый путь к достижению цели В компьютерной истории проект Stretch (IBM 7030) нередко приводят в качестве примера неудачного решения: этот компьютер оказался в несколько раз медленнее и к тому же существенно дороже, чем планировалось. Однако знания и опыт, полученные при его проектировании, позволили спустя несколько лет создать семейство IBM System/360, ставшее классикой мэйнфреймов. Можно ли такой эксперимент считать неудачей?

В сентябре в Музее компьютерной истории в Маунтин-Вью (шт. Калифорния) торжественно отметили 50-летний юбилей устройства, к которому впервые применили термин суперкомпьютер. Надо признать, организаторы выбрали странную дату для праздника. Первый из девяти построенных Stretch был запущен в эксплуатацию в 1961 году; если же говорить о старте проекта, то отсчет следовало бы вести с осени 1954-го, когда был сформулирован черновой вариант технического задания. Что же до 1958 года, то на него пришелся момент активного проектирования, но не какое-либо знаковое событие.

Stretch, одно из многочисленных порождений холодной войны, создавался в ответ на запросы исследовательских лабораторий, так или иначе связанных с разработкой ядерного оружия. Показательно, что из девяти построенных только один компьютер попал в метеорологическое бюро, остальные работали по ядерной программе, семь в США и один во Франции (сейчас он находится в экспозиции Парижского музея искусств и ремесел). До появления Stretch для расчетов чаще использовались компьютеры UNIVAC и CDC, но IBM намеревалась составить им конкуренцию и к тому же получить немалое государственное финансирование. С позиции сегодняшнего дня очевидно, что момент для большого скачка был выбран неудачно. В 1955 году технология полупроводников находилась в процессе становления: транзисторы уже появились, но были очень дорогими, между тем они требовались в количестве, измеряемом сотнями тысяч. Индустрия программного обеспечения тоже находилась в зародышевом состоянии. Проектирование и производство компьютеров осуществлялось на кустарном уровне, к тому же единства в команде разработчиков не было. По всем этим объективным и субъективным причинам на прохождение по циклу проектирования и производства ушло более семи лет. За это время Stretch успел морально устареть, на смену навесному монтажу дискретных компонентов шли интегральные микросхемы, а вместе с ними и более высокая культура производства.

Показательно, что проектирование IBM System/360 началось после 1960 года, а первые экземпляры появились в 1964 году. Всего четыре года производились настоящие индустриальные изделия, пусть поначалу с убогой, но все же работающей операционной системой. Тогда же, в 1961 году, стартовал Project X. Перед создателями новой машины стояла грандиозная задача - построить суперкомпьютер, превосходящий по производительности первый суперкомпьютер IBM Stretch в 30 раз. Ситуация осложнялась ожесточенной конкуренцией с компанией CDC, где группу инженеров возглавлял Сеймур Крей, поэтому в процессе проектирования требования к производительности постоянно возрастали. В итоге в 1965 году появился на свет компьютер ACS-1, который оказался не в 30, а в 1000 раз быстрее, чем Stretch.

В технике такое случается, что переходная модель оказывается неудачной, но на ее базе создаются следующие, которые и приносят успех. К моменту начала проекта Stretch семейство мэйнфреймов первого поколения (IBM 701, 703, 704) обеспечило IBM монопольное положение; ей принадлежало 60-70% компьютерного рынка. Тем не менее в области высокопроизводительных вычислений она заметно уступа. Чтобы исправить положение, был задуман Stretch, по производительности он и должен был превзойти IBM 704 на два порядка. Инициатором и руководителем проекта стал Стивен Дануэлл. Вместе с Вернером Бушхольцем он представил эскизный проект не только самого производительного, но и самого надежного для своего времени компьютера Datatron. В его обсуждении приняли участие Джон фон Нейман, руководитель разработки IBM 704 (а затем и System/360) Джин Амдал, а также автор языка программирования Фортран Джон Бэкус. Обсуждение вылилось в столкновение двух идеологий. Дануэлл был нацелен на прямое решение поставленной перед ним задач: он стремился освоить государственное финансирование и построить самый производительный компьютер, и точка. Амдал, мысливший на перспективу, хотел убить двух зайцев - и суперкомпьютер построить, и создать задел на будущее. К тому же он не привык быть вторым. Конфликт достиг такой остроты, что на время Амдал ушел из IBM, но потом вернулся и даже возглавил разработку System/360. В конечном итоге он победил, а Дануэлла сделали козлом отпущения. Уже потом, когда руководство смогло оценить сделанное им, состоялась реабилитация, и ему присвоили почетное звание IBM Fellow, но это было позднее.

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

  • мультипрограммный режим работы;
  • защита памяти;
  • система прерываний;
  • конвейерная обработка данных;
  • чередование адресов в памяти;
  • спекулятивное выполнение;
  • просмотр вперед, совмещение операций в памяти с арифметическими операциями;
  • концепция шины памяти;
  • работа двух процессоров на общую память;
  • использование восьми битов для кодировки символа (кстати, именно тогда и родился термин байт).

Система адресации в System/360 была хуже, чем в Stretch (кто-то даже сказал, что за отсутствие базового адреса и смещения разработчиков следовало бы сослать в Сибирь, если бы таковая была в IBM). И много лет спустя разработчики первых микропроцессоров заново открывали для себя то, что впервые было изобретено создателями Stretch. Разумеется, все это было воплощено на инженерном уровне своего времени, громоздко и дорого. Компьютер занимал площадь около 250 кв. метров (примерно таков размер среднего американского дома), весил около 100 тонн, один только процессор потреблял 21 кВт электрической мощности. Число использованных транзисторов - 169 200 - кажется смешным в сравнении с современными миллиардами, а размер системы команд, напротив, впечатляет – 735. Тактовая частота - 3,3 МГц, размер оперативной памяти около 300 Кбайт, емкость жесткого диска - 10 Мбайт. Из устройств ввода/вывода еще был принтер, считыватель с перфокарт и перфоратор. Но, пожалуй, самая впечатляющая цифра - это число индикаторных ламп на инженерной панели, их было более 3 тыс.; еще удивительнее, что этот монстр мог работать по несколько суток без сбоев.

 



25 сентября 200824 сентября 200823 сентября 2008
22 сентября 2008
19 сентября 200818 сентября 200817 сентября 200815 сентября 200812 сентября 200811 сентября 200810 сентября 2008