Заміна коней, на переправі

Коли AT&T закрила (назавжди) бізнес з розробки та виробництва комп'ютерів, у Be був майже готовий комп'ютер на процесорах від AT&T, і трохи більше ніж півроку до «остаточного розрахунку» з кредиторами, які більше не хотіли чекати. Навіть в куди більш сприятливих ситуаціях прийнято здаватися.

Дієслово «to be» (бути), в різних контекстах, можна перекласти по різному. Наприклад, «be!» перекладається як «будь!». Be, Inc вирішила не здаватися. Шансів не було, але... завжди є хоча б маленький, але шанс. Це був найостанніший.


На Apple в таких випадках водружали над офісом піратський прапор, і розвішували плакати «Полонених не беремо!», на Be засукали рукави. Жану-Луї вдалося перенести остаточний термін на "після Agenda" 95 ". Після щорічної конференції в Скотсдейлі, Арізона, де збиралися підприємці і журналісти «мейнстріму», найгірша з усіх можливих аудиторія для Be - затію Жана-Луї і його команди тут навіть не ненавиділи, тут її зневажали і висміювали.

Але вибору не було.

Продовження. Початок, попередні частини тут, тут, тут і тут.

Вибір процесора

Свого часу Жан-Луї поставив на хоббіти. Стів Сакоман і Боб Херолд були одними з небагатьох фахівців, які вміли витягувати з «недомірків» (процесори від AT&T були в два рази коротшими аналогів від інших виробників) гідну продуктивність.

Після відходу Стіва і Боба з проекту Newton, хоббіти стали справжнім кошмаром для решти - тим більше, що Apple придбала екземпляри цих процесорів, які толком не пройшли навіть мінімального тестування, повні багів і глюків. Стів і Боб могли з ними управлятися, і більше ніхто. Приємно ось так грюкнути дверима!

Тепер хоббіти були в минулому. Три десятки Be Machine, на п'яти процесорах від AT&T (2 CPU і 3 DSP), працювали з ранку до ночі на столах співробітників. Чим замінити хоббітів?


Варіантів було тільки два, PowerPC або Intel.

Вибирати довелося в стані стресу, і свідки того, як це було, розповідають про процес прийняття рішення по різному. Привожу версію Жана-Луї Гассé. Остаточне рішення приймав він, і за його правильність він відповідав мало не своїм життям.

За його словами, свою роль відіграло і питання ціни. Один хоббіт, CPU або DSP, обходився Be в 35 доларів. AT&T гарантувала зниження цін при збільшенні їх тиражів. Intel 386 і 486 коштували від 300 до 400 доларів за екземпляр, а очікувані обсяги випуску ВеВох'ів були недостатніми для отримання знижок. PowerPC 603 були рази в три дешевше.

Але не ціна була головною причиною. Якби, за результатами дослідження, 386/486 були визнані кращими, використовували б їх.

У PowerPC були дві переваги, дуже важливих для Be. Ними були величезна «сира» продуктивність RISC-процесорів, і цю міць не потрібно було розбавляти емуляцією програмного забезпечення, написаного для застарілих архітектур; і здатність PPC, без додаткового апаратного забезпечення, ефективно виконувати паралельні обчислення. Відпадала необхідність у DSP-процесорах.

Крім того, консорціум Apple, IBM і Motorola, своєю солідністю і забезпеченістю, вселяв упевненість в тому, що PowerPC раптово не підуть з життя, в невідповідний для цього момент. Втім, як і Intel.

Вибір процесора був нелегким процесом, було все - і аналіз «за» і «проти», суперечки та емоції. Intel'лігенти були в меншості, але приводимі ними доводи були розумними і переконливими. Кумедно: жоден з тих, хто залишив спогади, не зізнався в підтримці Intel, адже таких було осіб десять...


7-процесорна Be Machine

У документації PowerPC 603 повідомлялося, що процесор не призначений для роботи в багатопроцесорних конфігураціях. А виробництво PowerPC 604, потужного варіанту PPC, ще не почалося і відкладалося. Якби Be, Inc була успішною і відомою в долині компанією, їй би «відсипали» з десяток досерійних екземплярів, і можливо, за це навіть не взяли б ні цента.

PowerPC 603 дійсно не міг працювати в багатопроцесорних конфігураціях, через некогерентність кешу. При одночасному зверненні декількох процесорів до тієї ж ділянки пам'яті, гарантувати своєчасне її оновлення було неможливо.

У PowerPC 604 проблема некогерентності була вирішена ґрунтовно і на рівні заліза, але Жан-Луї не зміг роздобути навіть прототип. 5-річні стартапи вважалися в індустрії «шаромижниками», таких було чимало - і майже всі з них безслідно згинули.

Інженери Be вирішили цю проблему, програмно і за рахунок зниження продуктивності, при збігу несприятливих обставин. З цим ефектом довелося змиритися, на практиці він або не траплявся взагалі, або траплявся вкрай рідко.

Двомоторний апарат на PPC 603, неможливий у природі, запрацював. Впевнено і майже безперебійно. Проблема була не останньою, але про некогерентність можна було забути.


Глен Адлер, інженер з апаратного забезпечення добре знайомий з PowerPC, створив чорновий варіант цього апарату за два тижні, працюючи по 20 годин на добу. Так не можна, але інакше не виходило.

DualPPC 603 BeBox, як офіційно назвали цю модель (пізніше), з'явилася на світ у вигляді звичайної друкованої плати, що підключається до експериментальної Be-1. Тепер це був семи-процесорний комп'ютер (2 хобіти, 3 DSP від AT&T і 2 PowerPC 603). Правда, хоббіти і DSP майже не використовувалися, при запуску в процес включалися, по черзі, обидва PPC. Тепер вони, а не хоббіти, були CPU 0 (який стартував першим і збирав дані для запуску системи) і CPU 1 (підключався на другому етапі завантаження).

У Be було власне програмне забезпечення для контролю версій і відстеження багів, розроблене талановитим програмістом китайського походження Мін Лоу. Тепер йому належало додати в компілятори C і C++ від AT&T можливість генерації коду для PowerPC.

Це була наступна критична точка в плані. Мін Лоу зробив більше: два продукти були перенесені першими, на них налагоджувався компілятор і виявлялися проблеми (те, на що слід було звертати увагу при перенесенні програм, написаних ще для AT&T хоббітів). Система контролю версій і лід-треккер. І «рання бета» генератора коду для PowerPC.

Якщо асемблери для CISC писалися з оглядкою на людину (багато писали на них, так як це була нелегка, але вдячна, праця, що дарувала неймовірну вседозволеність), то машинні мови RISC-процесорів (всі, які я бачив) нелюдські в принципі.


«Як китайська писемність для європейців» - начебто, саме так скромний Мін Лоу відповідав цікавим, що заглядав через його плече на екран. Він відчував PowerPC 603 як продовження самого себе, мало не розмовляв з ним.

Завдяки C-орієнтованій природі хоббітів, практично все навіть на найнижчому рівні операційної системи, було написано на C, а то і на C++. Природно, жоден з модулів, і жодну з програм, не вдавалося просто перекомпілювати. Навіть у найлегших випадках перенесення і подальше тестування з налагодженням займали десятки годин. Деякі «вироби», витративши на них сотні годин, просто переписали з нуля.

Перенесення програмного забезпечення з однієї платформи в іншу, називається porting. І це дуже точна назва: хорошу справу «портингом» не назвуть. Код від цього псується, завжди і без варіантів. Це як переклад поезії іншою мовою.

Налагодження і оптимізація, по 24 години на добу - це гірше ніж пекло. Протягом майже року. Вони встигли.

Виступ перед ворожою аудиторією

Команда Be прибула в Скотсдейл, Арізона, за чотири дні до «вистави», прихопивши з собою все, що могло знадобитися. Як їм здавалося. Вони помилялися.


Багаторазово перевірена техніка, яка відмінно працювала в Каліфорнії, раптом, перестала навіть запускатися. В Арізону полетіли фахівці, в номері готелю розгорнули філію Be, Inc - Жан-Луї дивився на цю круговерть відсторонено і байдужо. Припливли...

До кінця усунути всі проблеми не вдалося.

Перед «людожерами» виступав Жан-Луї, другий у світі презентатор (першим був Стів Джобс). Це був його найкращий виступ. Смішки і невиразний гул у залі змовклі, його слухали в абсолютній тиші - те, про що він розповідав, було неймовірно. Але все їм сказане підтверджувалося: на величезному екрані, вперше в історії, жив графічний інтерфейс користувача BeOS, і він був прекрасний.

За «важелями» технічної частини презентації сидів Стів Хоровітц. Проблеми були, але він робив все, щоб у залі їх не помітили. Кілька разів система «падала» в налагоджувальник, але Стів швидко прибирав з екрану незрозуміле глядачам. Ніхто не звернув на це уваги.

Їм плескали. Стоячи. Оплески переросли в овації. За всю багаторічну історію Agenda, таке сталося двічі. Це був другий такий випадок. З чим був пов'язаний перший я дізнатися не зміг, і навіть не намагався.

Це був тріумф, тим більше неймовірний тут, де емоції були недоречні.

Великий говорун, Жан-Луї Гассé, вперше в житті, не міг нічого сказати.

Він хотів подякувати аудиторії (на 90% складалася з ненависників проектів на кшталт Be, і цій самій Be зокрема) за теплий прийом і за овації - але в горлі застряг грудку, і він мовчав.

Продажі BeBox повинні були початися в 1996, до кінця року всім, хто зареєструється в якості розробника програмного забезпечення для нової системи, Жан-Луї пообіцяв продати прототип (у звичайному корпусі, ручної роботи), за 1 600 доларів.

Стів написав, що цілий тиждень після повернення з Арізони компанія стояла «на вухах», напився навіть Мін Лоу, перший раз у житті. А над робочим столом Жана-Луї з'явилася ксерокопія чека на 4 мільйони доларів, принесеного прямо в готель перед від'їздом зі Скотсдейла.

А потім, замість 30-40 бажаючих стати розробниками ВЗАГАЛІ, і отримати за 1 600 доларів те, що ось-ось буде коштувати 2 500, тільки за перший тиждень, на Be звернулися три сотні людей.

Прийшла біда звідки не чекали, але це вже інша історія.

Про неї - в продовженні.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND