Made at Intel: Сделано в Intel
Шрифт:
Отчасти, впрочем, наши промахи можно объяснить тем, что x86 – «закрытый клуб», в отличие от ARM и тем более RISC–V. Ну, например, собирается ARM «выкатить» новую версию ISA. Он будет согласовывать ее со всеми основными вендорами – Apple, Samsung, Qualcomm и т. д. Поэтому у него куда меньше шансов совершить какую-нибудь глупость. Intel, конечно, тоже советуется с основными партнерами – Microsoft, Google, Amazon. Но основные решения все же принимаются внутри. Мне это почему-то представлялось так. На унылом севере, вдали от людского жилья, стоит темная башня. Лишь на последнем этаже ее горит свет. И там наверху собрались адепты тайного ордена… В случае с «Интел» «орден» имеет вполне конкретное название – ISA CPT. Именно там принимаются самые важные архитектурные решения. На этот митинг вхожи лишь ведущие технические лидеры компании – Fellows, Senior Principal Engineers. Мне трудно всерьез назвать себя одним из адептов (так, скорее, младшим послушником). Но я всегда был юношей любопытным, и время от времени мне удавалось туда пролезть – (восьмым) содокладчиком в какой-нибудь презентации или просто «вольным слушателем». Чаще все же приходилось довольствоваться информацией из вторых-третьих рук. И сегодня я немного расскажу вам о разного рода «ересях», которые зарождались и погибали внутри «Интел».
Гибель «Титаника»
Хотя Itanium нарекли «Титаником» сразу же после анонса архитектуры 4 октября 1999-го, он не был поначалу и вполовину так плох, как его реноме. Архитектура VLIW/EPIC смотрелась необычно по сравнению с CISC и манила новыми возможностями. Мою фантазию будоражили предикатное исполнение, вращающиеся регистры и explicit software pipelining [13] . К тому же IA-64 была in-order [14] архитектурой – можно было точно предсказать, сколько будет обрабатываться один элемент достаточно длинного цикла при условии прогретых кэшей. Для кого как, а для меня эта «иллюзия контроля» почему-то всегда была важна. Тогда я еще плохо представлял себе важность software ecosystem [15] для успеха платформы. Да, понимал, что работа предстоит огромная, но шансы представлялись вполне себе неплохими.
13
Явная конвейерная обработка программного обеспечения (англ.).
14
По порядку (англ.).
15
Экосистема программного обеспечения (англ.).
Но все же Itanium, как и «Титаник», видимо, был проклят с самого начала. Дело в том, что против него играли как религия (not invented here [16] !), так и политика. А в средневековом государстве это необоримая сила. «Крестным отцом» Itanium был Mike Fister, тогдашний глава серверного подразделения Intel. И в начале 2000-х между ним и Полом Отеллини развернулась борьба за то, кто станет следующим CEO Intel после Kрейга Баррета. Борьбу эту Captain Itanic [17] проиграл и ушел в CEO в Cadence (который, безусловно, уважаемая компания, но все же не Intel). Также ко дну пошло его детище. А спасать было некому – Отеллини Itanium не жаловал. Уж не знаю, вследствие «разборок» начала 2000-х или по каким-то другим причинам… К тому же обнаружилась масса других проблем.
16
Не изобретено здесь (англ.).
17
Капитан Итаник – «позывной» Майка Фистера (англ.).
• Индустрия как-то сразу не поверила в Itanium. Портирование софта шло без особого энтузиазма. А Intel не решился на большую ставку – Itanium enabling strategy [18] всегда оставляла у меня ощущение какой-то недосказанности…
• Возможно, расчет был на x86 compatibility block [19] , но именно он стал больным местом Itanium – энергии потреблял больше, чем весь остальной процессор, и грелся, как сволочь. Бинарный транслятор также не выглядел панацеей: преобразование из CISC в VLIW является одним из самых сложных (хотя на «Эльбрусе» как-то работает).
18
Стратегия внедрения Итаниума (англ.).
19
Блок совместимости (англ.).
• Насколько увлекательным являлось написание микрокернелов для Itanium на ассемблере – настолько кошмарным было портирование приложений. Компилятор является основным камнем преткновения для архитектуры VLIW/EPIC. Одно из немногих исключений, которое я знаю, – опять же «Эльбрус». Но для того чтобы довести его компилятор до ума, потребовалось порядка 20 лет. «Интел» столько ждать не захотел…
• Ну и последнее – Itanium всегда выпускался с отставанием на шаг по техпроцессу от x86. И в этом трудно не усмотреть наличие «доброй» политической воли.
IA-64 влачила жалкое существование до начала 20-х. И лишь в феврале 2019-го Linus Torvalds сказал: «It’s dead, Jim [20] ». Но можно было спокойно сделать это и на 10 лет раньше. И все же у меня осталось от Itanium ощущение «неспетой песни». Да, я не люблю VLIW (я тоже религиозен) и мне кажется, что рано или поздно мы бы все равно «уперлись» в его ограничения. Но все же стоило пытаться по-честному пройти этот путь…
20
Это мертво, Джим (англ.).
X-Files
Архитектура StrongArm (а впоследствии XScale) – еще одно наследие, полученное Intel от DEC. Было тогда в компании подразделение Intel Communication Group [21] . Ваяло контроллеры для IO и сетевых устройств. И там неприхотливый и экономичный ARM пришелся весьма ко двору. Но именно в этот момент наступила эпоха handheld-девайсов (наладонников, как их тогда называли) – предтечи современных смартфонов. Intel попробовал – и оно как-то сразу полетело. BlackBerry, Dell, Compaq, Toshiba, Palm, Amazon Kindle – вот далеко не полный список компаний, начавших производство продуктов на базе XScale. Воодушевившись, в 2004-м Intel выпустил SIMD-расширение ISA под названием Wireless MMX. И в отделе IPP (в котором я пребывал с 2002-го по 2005-й) закипела работа по оптимизации библиотек.
21
Коммуникационная группа (англ.).
И вдруг… как гром среди ясного неба в 2006-м грянула новость – Intel продает XScale бизнес Marvell за жалкие 600 миллионов долларов. Бросьте в меня камень, но я по чисто бизнесовым причинам считаю это одной из самых больших ошибок компании. Недостатки этого решения более чем очевидны.
• Мы в очередной раз «прокинули» своих клиентов (впрочем, не в первый и не в последний).
• Вместе с XScale ушла команда, наработавшая уникальную экспертизу в области мобильных устройств. И потом ее ой как не хватило…
• XScale был «входным билетиком» в мобильную экосистему. А кому как не Intel понимать ее значение. И беспечно выбросив его, мы сами захлопнули дверь перед собственным носом.
• Именно в тот момент, недооценив потенциал рынка смартфонов и планшетов, Intel обрек на неудачу свои дальнейшие (дорогостоящие) попытки стать там существенным игроком. (Способности Intel предсказывать индустриальные тренды я еще коснусь в одной из следующих глав.)
Объяснение у меня только одно, чисто религиозного характера. XScale был ARM-ом. Not made at Intel. Уже зрел в недрах компании Atom – low-power [22] процессор с «православным» набором команд. И Intel принял решение избавиться от «чужеродного» продукта (мне до сих пор представляется правильной стратегией на тот момент – тащить одновременно две линейки). Я сейчас выскажу очень спорную мысль – ни одна другая компания так бы не поступила. Но Intel, безусловно, уникален в своей вере.
22
Маломощный (англ.).
Поначалу Atom достиг определенного успеха в сегменте нетбуков и неттопов. Тут надо понимать, что Intel все еще играл на своем поле – батарейки у этих устройств мощнее, чем у телефона, а стандартной операционкой является Windows co всем набором классического x86 софта. А вот дальнейшее «наступление» в область смартфонов и планшетов успеха не имело. Экосистема уже полностью сложилась вокруг ARM, и даже трюк Houdini – бинарный транслятор ARM > x86 – не спас положения.
Но главная беда даже не в этом. Дело в том, что мобильные процессоры – это с необходимостью System on Chip [23] (SoC). По сути, не так важно, какое ядро тащит операционную систему: ARM или Atom – Android неплохо оптимизирован под оба. Важно то, что большинство стандартных функций – поддержка wireless [24] , медиа-кодеки, шифрование/дешифрование – выполняются на отдельных IP-блоках. Мне довелось попасть на «разбор полетов» (вроде бы он тоже был на ISA CPT) по поводу этих функций. И там все говорили одно и то же – здесь конкуренты сделали на доллар дешевле, здесь на полватта эффективнее и т. п. Что совершенно неудивительно – пока мы решали вопрос религиозной чистоты, потом восстанавливали легкомысленно потерянную экспертизу, потом заново выстраивали экосистему, наши конкуренты занимались оптимизацией. Так что, как и в случае с Xeon Phi, к неудачам Intel в мобильном сегменте ISA как таковая не имеет особого отношения. Просто мы упустили время, которое потом не смогли наверстать…
23
Система на чипе (англ.).
24
Беспроводной (англ.).
Индульгенция
Мне не сосчитать различных ISA, которые нашли свой конец в Intel, не выдержав противостояния с х86. Впрочем, есть одно исключение – встроенной интеловской графике всегда позволялось иметь instructions set [25] , отличный от ортодоксального. Как будто она получила некую «папскую грамоту» которая хранила ее в самые темные времена костров инквизиции. Что можно объяснить бизнесовыми причинами, но все равно немного удивительно. Но тем не менее интеловская графика продолжает жить с начала 2000-х как независимая программируемая структура. Так, глядишь, и саму x86 переживет.
25
Набор инструкций (англ.).