Годы под солнцем. 20 лет в Sun Microsystems и Кремниевой долине

- -
- 100%
- +
Через два дня мне сообщили, что из 39 единиц Sun 420, выпущенных в первый месяц, нам выделили 19! Когда эти 19 ящиков размером с холодильник доставили и выстроили в ряд в коридоре возле моего кабинета, не говорите, как я был счастлив! Это было гораздо ценнее, чем похлопывание по плечу со стороны начальства. Конечно, такая щедрость также сопровождалась определенными ожиданиями. Если я скажу вам, что не чувствовал при этом давления, я вас обману.
Чтобы ещё больше стимулировать инженеров-проектировщиков на поиск ошибок в проекте с помощью тщательных имитационных тестов, я послал человека в китайский квартал Сан-Франциско за большим медным гонгом, который можно было бы подвесить. У менеджера, которого я послал, был бойфренд-художник. Он добровольно нарисовал на гонге большого цветного дракона, схватившего двумя лапами двух насекомых. Мы поставили этот большой медный гонг в коридоре, где висел график, и сказали всей команде: если они найдут хотя бы одну ошибку — будь то в своём собственном проекте или в других частях системы — они могут ударить по гонгу один раз. Каждый раз, когда раздавался звук гонга, все члены команды высовывали головы из своих кабинетов и аплодировали. Обнаружение ошибки в проекте — будь то собственная или чужая — является большим вкладом в проект, а не поводом для стыда!
Но этого было недостаточно: мы даже разработали желтую круглую наклейку с изображением черной ошибки, перечеркнутой большим крестом. Мы наклеивали эту наклейку на косяк двери кабинета того, кто обнаружил ошибку, и сразу же выплачивали ему или ей пять долларов в качестве вознаграждения.
Через шесть месяцев, благодаря интенсивным симуляционным тестам всей команды, дверные косяки многих инженеров были полностью заклеены желтыми наклейками. Однако совершенно неожиданное последствие в конце концов доставило мне неприятности. Когда всей проектной команде пришлось переехать в другое здание (такое часто происходит при расширении команды или реорганизации компании), менеджер по эксплуатации зданий прибежал в мой кабинет и в ярости накричал на меня. Оказалось, что эти желтые наклейки очень легко наклеивать, но чрезвычайно трудно отклеивать!
Получение этих Sun 420 не полностью решило наши потребности в вычислительных мощностях для симуляционных тестов. Всегда хочется проводить ещё больше симуляционных тестов. Нам требовались дополнительные вычислительные мощности для симуляций. Один из нанятых нами опытных консультантов по диагностике, Джим Шимандл (Jim Schimandle), придумал решение. Он написал программу, которая предоставляла свободные серверы любому инженеру, которому требовались ресурсы для моделирования. Если на тот момент в системе « » не было свободных серверов, задача моделирования добавлялась в список ожидания. Таким образом, инженеры могли отправлять запросы на моделирование в любое время, когда в этом возникала необходимость, не тратя время на поиски или ожидание. В конце концов, когда задача моделирования завершалась или, к сожалению, заканчивалась неудачей, программа уведомляла их об этом по электронной почте.
Что касается предложения серверов, помимо серверов, принадлежащих нам, я посетил все инженерные подразделения компании, серверы которых подключены к корпоративной сети. Поскольку различные проекты обычно находятся на разных этапах разработки, не все эти серверы загружены. Кроме того, наша программа позволяет серверам ограничивать время, в которое они могут использоваться в течение дня. Ни один руководитель отдела не любит, когда его серверы берут напрокат и уносят из их помещения, ведь вернуть их вовремя бывает непросто, а порой и вовсе невозможно. Однако предоставление времени использования компьютера исключительно через внутреннюю сеть компании воспринимается гораздо спокойнее, не говоря уже о том, что можно самостоятельно указать время начала и окончания использования в течение дня. Когда их проекты доходят до этапа, когда требуются серверы, мы в любой момент можем прекратить такое сотрудничество.
Наверное, это был один из тех периодов в моей профессиональной жизни, когда мне приходилось «просить милостыню».
Опыт найма, которым я горжусь
Однажды днём в конце апреля 1990 года мне позвонил Ашок Сингхал (Ashok Singhal), кандидат наук по компьютерной инженерии из Калифорнийского университета в Беркли. Этот парень рассказал мне, что, будучи занятым завершением докторской диссертации, он пропустил проведённые прошлой осенью на территории кампуса Беркли мероприятия по набору выпускников следующего лета, в которых участвовали крупные компании, включая Sun Microsystems. Он подчеркнул свой интерес к Sun Microsystems и выразил надежду на возможность пройти собеседование.
Исходя из моего уважения к программе обучения компьютерной инженерии в Калифорнийском университете в Беркли, я договорился с ним о встрече через неделю. Я обнаружил, что он был очень компетентным компьютерным архитектором. Встреча была запланирована на час, но в итоге мы беседовали более двух часов. Он принес с собой свое резюме, в котором в качестве рекомендателей были указаны три всемирно известных профессора: Дэйв Паттерсон (Dave Patterson), Йель Патт (Yale Patt) и Алан Смит (Alan Smith). Впервые в жизни я принял его на работу в группу системной архитектуры Sun Dragon прямо на месте. Позже Асук продемонстрировал такие результаты, что его прием на работу стал одним из самых гордых моментов в моей профессиональной карьере. Впоследствии он не только стал ведущим архитектором чрезвычайно успешного второго поколения серверов Sun — моделей Enterprise 6000/5000/4000/3000 — после того, как команда из Xerox вернулась в Xerox PARC, но и был соучредителем и техническим директором (CTO) компании 3Par Data, занимающейся продуктами для хранения данных, за которую в 2010 году развернулась громкая борьба между HP и Dell .
Когда Асук осенью окончил Беркли и присоединился к нам, все должности, связанные с проектированием микросхем и системных плат, уже были заняты. Мы как раз начинали переключать внимание на подсистему ввода-вывода на базе SBus. SBus — это эксклюзивная проприетарная шина ввода-вывода компании Sun. На рынке не было готовых решений. Я также хотел проверить практические навыки Асука, поэтому поручил ему разработать SCSI-контроллер дисков на базе SBus. В итоге он справился с задачей всего за три месяца.
Чтобы укрепить команду и создать системные продукты, которые действительно можно было бы вывести на рынок и которые смогли бы удержаться на нём, в конце 1992 года я пригласил своего бывшего коллегу по «Сайчжун» Гэри Бека (Gary Beck) возглавить направление «продуктовой инженерии» в рамках проекта. Гэри был опытным ветераном компании «Берроуз» (Burroughs).В 70-е годы «Берроуз» была очень успешной компанией-производителем мэйнфреймов, особенно известной в финансовом секторе. В 1985 году я фактически пригласил Гэри из «Берроуз» в «Сайчжун», чтобы он отвечал за разработку «сердца» машин «Сайчжун»: вычислительного процессора на основе архитектуры с очень длинными словами команд (VLIW). Он отлично справился с задачей и под его руководством команда успешно выполнила поставленную задачу.
Длительный срок разработки ставил проект «Sun Dragon» перед особыми испытаниями в условиях циклических колебаний бюджета, сокращения проектов и реорганизации в компании Sun Microsystems. Проект поддерживал доверие высшего руководства исключительно благодаря потенциалу продукта «Sun Dragon» на рынке, а также высокому моральному духу и прогрессу команды разработчиков. Иногда я думал, что, возможно, именно тот факт, что это был совместный проект Xerox и Sun Microsystems, затруднял любые попытки покончить с проектом «Sun Dragon».
Кризис нехватки процессоров
К весне 1992 года у нас было готово всё аппаратное обеспечение, не хватало только процессора «Викинг». В рамках возможностей аппаратного тестирования микросхемы матриц логических вентилей, системные платы, задняя панель, система питания и механическая сборка соответствовали проектным требованиям. Ничто не требовало доработки. В этом и заключалась сила тщательного моделирования и тестирования.
На этом этапе нам крайне необходим процессор «Viking» (известный под названием SuperSPARC) для полной системной интеграции и тестирования систем реального времени. Согласно общему графику компании, по идее, к моменту, когда все новые продуктовые проекты, в которых планировалось использовать процессор «Viking» (включая рабочие станции и серверы), дойдут до этапа, требующего его применения, этот процессор уже должен был быть готов. К сожалению, как и в случае со многими сложными проектами, его реализация отставала от графика. Что ещё хуже, из-за конкуренции за передовую производительность технологии следующего поколения в полупроводниковой отрасли всегда продвигаются за счёт высокопроизводительных микропроцессоров.
Компания Texas Instruments, производящая чипы для Sun, использовала именно процессоры SPARC для разработки своих новых технологий. С началом каждого нового поколения технологий производства микросхем, соответствующего закону Мура (Moore’s Law), инженеры-микротехнологи команды Sun Microsystems, занимающейся процессорами SPARC, собирались вместе с инженерами Texas Instruments, чтобы совместно разработать подробные правила компоновки микросхем (layout), которые могли бы эффективно производиться с использованием новейшего производственного и испытательного оборудования Texas Instruments. Процессоры SPARC компании Sun фактически становились «подопытными кроликами» для новых технологических процессов производства микросхем «Texas Instruments».
В конечном итоге эти новые процессы могли применяться и в других продуктах «Texas Instruments». Именно по этой причине «Texas Instruments» взимала с Sun лишь половину разовых инженерных затрат (Non-Recurring Engineering, NRE) за ранние партии прототипов. К сожалению, это партнерство, позволившее Sun Microsystems сэкономить на затратах на разработку процессоров SPARC, привело к тому, что время, необходимое для освоения нового технологического процесса производства микросхем Texas Instruments, было добавлено к общему сроку разработки чипа. Многократные переделки чипа — то для исправления ошибок в проекте Sun Microsystems, то из-за незрелости технологического процесса Texas Instruments — превратили ранние поставки процессоров Viking в настоящий кошмар. Более полугода каждый четверг днём все подразделения компании, которым требовались процессоры Viking, собирались на совещание с представителем процессорного подразделения Texas Instruments Терри Ганноном (Terry Gannon), чтобы бороться за квоты — и это в тех случаях, когда удавалось получить исправные чипы. Хуже того, все проекты рабочих станций того поколения, за исключением одного, требовали всего одного исправного процессора Viking для сборки одного прототипа. Крупнейший проект рабочей станции, Maxiray, действительно требовал четырех процессоров, но Sun Dragon же был сервером на двадцать процессоров!
В мае 1992 года мы наконец получили наш первый исправный процессор Viking. В тот момент, когда однопроцессорная система Sun Dragon запустила операционную систему Solaris, вся команда сошла с ума от радости. Чтобы компьютер загрузил свою операционную систему, необходимо, чтобы практически все его системные компоненты — включая процессор, кэш, оперативную память и даже устройства ввода-вывода — работали исправно. Появившаяся на мониторе при запуске надпись «Привет, мир!» была точно как первый крик новорожденного!
Для компании, занимающейся разработкой рабочих станций, появление надписи «Привет, мир!» обычно считается важной вехой, знаменующей конец периода высокого риска и неопределённости в графике проекта. К сожалению, для крупной многопроцессорной системы работа на одном процессоре — это лишь начало более сложного процесса тестирования и поиска ошибок во взаимодействии аппаратного и программного обеспечения в многопроцессорной среде. Чтобы ускорить этот процесс, в рамках системных проектов обычно создаётся несколько прототипов, чтобы несколько групп специалистов могли одновременно тестировать свои разработки. Но это ещё больше увеличивает наш спрос на процессоры Viking.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.



