Подтвердить что ты не робот

Каковы технические причины "фиаско Itanium", если таковые имеются?

В этой статье Джон Дворак называет Itanium "одним из величайших фиаско последних 50 лет". В то время как он описывает чрезмерно оптимистичные рыночные ожидания и драматический финансовый результат идеи, он не вдавается в технические детали этого эпического провала. У меня был шанс поработать с Itanium в течение некоторого периода времени, и я лично любил его архитектуру, она была настолько ясной, простой и понятной по сравнению с современной архитектурой процессоров x86...

Итак, каковы/были технические причины его отказа? Недовыполнение? Несовместимость с кодом x86? Сложность компиляторов? Почему этот "итаник" утонул?

Itanium processor block

4b9b3361

Ответ 1

Itanium потерпел неудачу, потому что VLIW для сегодняшних рабочих нагрузок - просто ужасная идея.

Дональд Кнут, широко уважаемый ученый-компьютерщик, сказал в интервью 2008 года, что "подход Itanium" должен был быть настолько потрясающим - до тех пор, пока не оказалось, что желаемые компиляторы практически невозможно написать ". 1

Это в значительной степени обостряет проблему.

Для научных вычислений, где вы получаете как минимум несколько десятков инструкций на базовый блок, VLIW, вероятно, работает нормально. Там достаточно инструкций, чтобы создать хорошие связки. Для более современных рабочих нагрузок, где часто вы получаете около 6-7 инструкций на базовый блок, это просто не так (в среднем, IIRC для SPEC2000). Компилятор просто не может найти независимые инструкции для включения в пакеты.

Современные процессоры x86, за исключением Intel Atom (до Silvermont) и, как мне кажется, AMD E-3 **/4 **, являются процессорами не по порядку. Они поддерживают динамическое окно команд примерно из 100 команд, и в этом окне они выполняют инструкции, когда их входные данные становятся готовыми. Если несколько инструкций готовы к выполнению и они не конкурируют за ресурсы, они объединяются в одном цикле.

Так чем же это отличается от VLIW? Первое ключевое отличие между VLIW и неупорядоченным состоянием состоит в том, что процессор неупорядоченного порядка может выбирать команды из разных базовых блоков для одновременного выполнения. Эти инструкции в любом случае выполняются спекулятивно (прежде всего на основе прогнозирования ветвлений). Второе ключевое отличие состоит в том, что процессоры, вышедшие из строя, определяют эти расписания динамически (т.е. Каждая динамическая инструкция планируется независимо; компилятор VLIW работает со статическими инструкциями).

Третье ключевое отличие состоит в том, что реализации процессоров, вышедших из строя, могут быть настолько широкими, насколько это необходимо, без изменения набора команд (Intel Core имеет 5 портов выполнения, другие процессоры имеют 4 и т.д.). Машины VLIW могут выполнять несколько пакетов одновременно (если они не конфликтуют). Например, ранние процессоры Itanium выполняют до 2 пакетов VLIW за такт, 6 инструкций, а в более поздних версиях (2011 Poulson и более поздние версии) выполняется до 4 пакетов = 12 инструкций за такт, при этом SMT принимает эти инструкции из нескольких потоков. В этом отношении реальное аппаратное обеспечение Itanium похоже на традиционный суперскалярный дизайн в порядке (например, P5 Pentium или Atom), но с более/более эффективными способами для компилятора выставлять параллелизм на уровне команд аппаратному обеспечению (теоретически, если он может найти достаточно, в чем проблема).

По производительности с похожими характеристиками (кеш, ядро и т.д.) Они просто выбивают дерьмо из Itanium.

Так почему бы купить Itanium сейчас? Ну, единственная причина действительно HP-UX. Если вы хотите запустить HP-UX, то способ сделать это...

Многие авторы компиляторов не видят этого таким образом - им всегда нравился тот факт, что Itanium дает им больше возможностей, возвращает их к контролю и т.д. Но они не признают, насколько неудачно это произошло.


Сноска 1:

Это было частью ответа о ценности многоядерных процессоров. Кнут говорил, что параллельной обработкой трудно воспользоваться; Нахождение и разоблачение детализированного параллелизма на уровне команд (и явное предположение: EPIC) во время компиляции для VLIW также представляет собой сложную проблему, которая в некоторой степени связана с нахождением крупнозернистого параллелизма для разделения последовательной программы или функции на несколько потоков для автоматического воспользоваться несколькими ядрами.

Спустя 11 лет он все еще в основном прав: производительность для каждого потока все еще очень важна для большинства несерверного программного обеспечения, и на чем сосредоточены производители ЦП, потому что многие ядра не заменяют его.

Ответ 2

Simple. Он не совместим с x86. Вот почему чипы x86_64.

Ответ 3

Itanium спроектирован исходя из философии очень широкого уровня команд parallelism для масштабирования производительности процессора, когда ограничение частоты часов накладывается из-за тепловых ограничений.

Но AMD Opteron отказалась от внедрения Itanium благодаря PROLIFERATING ядрам x86_64 для достижения масштабируемой производительности, а также совместима с 32-битными двоичными файлами x86.

Серверы Itanium на 10% дороже, чем x86 для аналогичного количества процессоров.

Все эти факторы замедляли внедрение серверов Itanium для основного рынка. Основным рынком Itanium в настоящее время является критически важная корпоративная вычислительная техника, которая является хорошим рынком за 10 долларов США + год, в котором доминируют только HP, IBM и Sun.

Ответ 4

Было очень сложно писать генераторы кода; и у него не было много причин для успеха в первую очередь (это было сделано Intel, и что?).

Я слышал, что некоторые JIT дали худшую производительность, чем интерпретаторы на Itanium, потому что лучше оптимизированный интерпретатор gcc; что нет, если процессор требует такого уровня оптимизации.

Внеочередные RISC теряют основания; Они этого не видели или надеялись, что это станет мейнстримом; слишком плохо это не потому, что для этого не было никаких причин.

Ответ 5

Я прочитал эту статью, и я полностью пропустил "фиаско", на которое он ссылается. Как он упоминает ближе к концу, при одном взгляде на Itanium, "один многообещающий проект за другим был сброшен". MIPS, Alpha, PA-RISC - ушли. Sun отменила свои последние два крупных проекта Sparc, хотя это было не совсем большим продавцом даже до этого. PowerPC только выживает во встроенном пространстве.

Как Intel убивает всех конкурентов, используя единую линейку продуктов, ничего, кроме самой большой победы в микропроцессоре за все время? Я уверен, что они были недостаточно умны, чтобы предвидеть это, но даже если бы они знали, что это провалится, бросить несколько миллиардов долларов на финт отлично. Видимо, они могли себе это позволить, а все остальные просто замерли.

На рабочем столе, в серверной комнате и даже в суперкомпьютерах (87% списка топ-500), x86-совместим, насколько может видеть глаз. Если это результат фиаско Intel, то какие слова остались для процессоров, которые этого не сделали?

Intel и Itanium, в моей книге, занимают там место с Microsoft и MS-DOS: несмотря на то, что, возможно, это было технически технически, это позволило им полностью доминировать в отрасли.

РЕДАКТИРОВАТЬ: И Itanium имел совместимость с x86 с первого дня, так что не он. Это было медленно, но оно было там.

Ответ 6

Я думаю, что Itanium по-прежнему имеет свои высокопроизводительные системы и blade-серверы HP. Производительность по-прежнему намного выше по сравнению с x86. Я не уверен, почему кто-то назвал бы это неудачей, когда он генерирует миллиарды долларов для HP (хотя это не просто процессор, а продажа серверов на сервере itanium).