Гибель «Титаника»
Хотя Itanium нарекли «Титаником» сразу же после анонса архитектуры 4 октября 1999-го, он не был поначалу и вполовину так плох, как его реноме. Архитектура VLIW/EPIC смотрелась необычно по сравнению с CISC и манила новыми возможностями. Мою фантазию будоражили предикатное исполнение, вращающиеся регистры и explicit software pipelining[13]. К тому же IA-64 была in-order[14] архитектурой – можно было точно предсказать, сколько будет обрабатываться один элемент достаточно длинного цикла при условии прогретых кэшей. Для кого как, а для меня эта «иллюзия контроля» почему-то всегда была важна. Тогда я еще плохо представлял себе важность software ecosystem[15] для успеха платформы. Да, понимал, что работа предстоит огромная, но шансы представлялись вполне себе неплохими.
Но все же Itanium, как и «Титаник», видимо, был проклят с самого начала. Дело в том, что против него играли как религия (not invented here[16]!), так и политика. А в средневековом государстве это необоримая сила. «Крестным отцом» Itanium был Mike Fister, тогдашний глава серверного подразделения Intel. И в начале 2000-х между ним и Полом Отеллини развернулась борьба за то, кто станет следующим CEO Intel после Kрейга Баррета. Борьбу эту Captain Itanic[17] проиграл и ушел в CEO в Cadence (который, безусловно, уважаемая компания, но все же не Intel). Также ко дну пошло его детище. А спасать было некому – Отеллини Itanium не жаловал. Уж не знаю, вследствие «разборок» начала 2000-х или по каким-то другим причинам… К тому же обнаружилась масса других проблем.
• Индустрия как-то сразу не поверила в Itanium. Портирование софта шло без особого энтузиазма. А Intel не решился на большую ставку – Itanium enabling strategy[18] всегда оставляла у меня ощущение какой-то недосказанности…
• Возможно, расчет был на x86 compatibility block[19], но именно он стал больным местом Itanium – энергии потреблял больше, чем весь остальной процессор, и грелся, как сволочь. Бинарный транслятор также не выглядел панацеей: преобразование из CISC в VLIW является одним из самых сложных (хотя на «Эльбрусе» как-то работает).
• Насколько увлекательным являлось написание микрокернелов для Itanium на ассемблере – настолько кошмарным было портирование приложений. Компилятор является основным камнем преткновения для архитектуры VLIW/EPIC. Одно из немногих исключений, которое я знаю, – опять же «Эльбрус». Но для того чтобы довести его компилятор до ума, потребовалось порядка 20 лет. «Интел» столько ждать не захотел…
• Ну и последнее – Itanium всегда выпускался с отставанием на шаг по техпроцессу от x86. И в этом трудно не усмотреть наличие «доброй» политической воли.
IA-64 влачила жалкое существование до начала 20-х. И лишь в феврале 2019-го Linus Torvalds сказал: «It’s dead, Jim[20]». Но можно было спокойно сделать это и на 10 лет раньше. И все же у меня осталось от Itanium ощущение «неспетой песни». Да, я не люблю VLIW (я тоже религиозен) и мне кажется, что рано или поздно мы бы все равно «уперлись» в его ограничения. Но все же стоило пытаться по-честному пройти этот путь…
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-й) закипела работа по оптимизации библиотек.