¿Por qué Intel dejó caer el Itanium? [cerrado]

14

Estaba leyendo sobre la historia de la computadora y me encontré con los procesadores IA-64 (Itanium). Sonaban realmente interesantes y estaba confundido sobre por qué Intel decidiría abandonarlos.

La capacidad de elegir explícitamente las 2 instrucciones que desea ejecutar en ese ciclo es una gran idea, especialmente al escribir su programa en ensamblado, por ejemplo, un gestor de arranque más rápido.

Los cientos de registros deberían ser convincentes para cualquier programador de ensamblaje. Esencialmente, podría almacenar todas las variables de funciones en los registros si no llama a ninguna otra.

La capacidad de hacer instrucciones como esta:

(qp) xor r1 = r2, r3    ; r1 =   r2  XOR r3

(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3

versus tener que hacer:

; eax = r1
; ebx = r2
; ecx = r3

mov eax, ebx ; first put r2 into r1
xor eax, ecx ; then set r1 equivalent to r2 XOR r3

mov eax, (imm32) ; first put (imm32) into r1
xor eax, ecx ; then set r1 equivalent to (imm32) XOR r3

Escuché que no se podía comparar con versiones anteriores de x86, pero no podía solucionarlo simplemente agregando el circuito Pentium y simplemente agregando un indicador de procesador que lo cambiaría al modo Itanium (como cambiar al modo Protegido o Largo)

Todas las grandes cosas al respecto les habrían dado un salto gigantesco por delante de AMD.

¿Algunas ideas?


Lamentablemente, esto significa que necesitará un compilador muy avanzado para hacer esto. O incluso uno por modelo específico de la CPU. (Por ejemplo, una versión más nueva de Itanium con una función adicional requeriría un compilador diferente).

Cuando estaba trabajando en un proyecto WinForms (el objetivo solo tenía .NET 2.0) en Visual Studio 2010, tenía un objetivo de compilación de IA-64. Eso significa que hay un tiempo de ejecución .NET que se pudo compilar para IA-64 y un tiempo de ejecución .NET significa Windows. Además, la respuesta de Hamilton menciona Windows NT. Tener un sistema operativo completo como Windows NT significa que hay un compilador capaz de generar código de máquina IA-64.

Cole Johnson
fuente
1
Esta respuesta proporciona información básica sobre el Itanium que puede resultarle útil.
amiregelz
1
Considero que los procesadores EDGE son la nueva arquitectura más prometedora. Y son incluso mejores que los procesadores VLIW (como el Itanium). Es posible que desee leer la página vinculada en "¿Un nuevo ISA?" y "Teoría", ya que esa parte explica por qué son mucho mejores.
Dan D.
@DanD el problema es que x86 es un estándar de facto . Lo más cercano que probablemente podría obtener es que Apple cambie de Intel a EDGE, pero incluso entonces podría llevar años.
Cole Johnson
"Escuché que no se podía comparar con versiones anteriores de x86, pero no podía solucionarlo simplemente agregando el circuito Pentium y simplemente agregando un indicador de procesador que lo cambiaría al modo Itanium (como cambiar al modo Protegido o Largo)" Si pudieran hacer chips con el doble de transistores sin sacrificar el costo, el rendimiento, la confiabilidad, el calor, etc., ya lo estarían haciendo.
David Schwartz el
1
Pensé que el Itanium aún no estaba muerto .
David Schwartz

Respuestas:

29

El rendimiento fue muy decepcionante en comparación con las expectativas y no se vendió bien en comparación con las arquitecturas x86 de Intel.

Intel me convenció para construir mi shell Hamilton C en Itanium con Windows NT en algún momento alrededor del año 2000 para una feria comercial. Itaniums era difícil de encontrar, así que usé una VPN para una máquina en su laboratorio. Después de haber creado versiones para NT en x86, MIPS, Alpha y PowerPC, el "puerto" era trivial, solo pequeños ajustes principalmente en mis archivos MAKE. Creo que me llevó tal vez media hora.

Pero el rendimiento fue realmente decepcionante, definitivamente a través de la VPN, y aún decepcionante cuando llegué a la feria y pude probarlo allí en persona. Itanium no fue a ninguna parte porque no era un gran producto y nadie lo compró.

Adicional:

Durante un tiempo, Intel promocionó mi experiencia de portar al Itanium usando su experiencia de desarrollo remoto de VPN en su sitio web. Desaparecido pero capturado en archive.org, esto es lo que dice en sus preguntas frecuentes remotas :

P: ¿Tiene un cliente con el que pueda hablar sobre el servicio de acceso remoto?

A: Sí, Hamilton Laboratories *. Para una mirada en profundidad a los beneficios que Hamilton Laboratories obtuvo del servicio, vea el estudio de caso de Hamilton Laboratories .

En el " estudio de caso " dice que construí una versión de Itanium porque los clientes lo reclamaban. Pero no recuerdo haber vendido nunca una copia de Itanium. Los vendí por todo lo demás, incluido PowerPC (¿y cuántos de los que ejecutan NT suponen que hubo?), Nunca por Itanium.

Reto: acelerar el desarrollo de su producto Hamilton C Shell para garantizar un puerto de comercialización favorable de las herramientas de arquitectura de sus clientes para Intel® Itanium® y Windows * 2000.

Solución: Utilicé el Programa de acceso remoto, incluido el acceso a Internet de alta velocidad y el cliente Shiva® VPN para acceder a un entorno de desarrollo Itanium, modificando el código fuente y creando archivos, probando la depuración y recompilando aplicaciones de 64 bits de forma remota en solo 7 horas.

Nicole Hamilton
fuente
55
Nada que modificar. Todo mi shell C es muy multiproceso, pero especialmente en esos días, tenía que ser C muy portátil y muy eficiente como estaba escrito porque los compiladores que usaba a principios de los 90 a menudo eran muy básicos y los optimizadores a veces no eran confiables. Ya había construido para máquinas RISC de 64 bits y ya había encontrado y solucionado cualquier problema de alineación. Para el rendimiento, siempre he ido directamente a las API de Win32 para todo, por lo que tampoco fue una mala biblioteca de tiempo de ejecución de C. La máquina realmente caliente era la Alpha y, comparada con ella, la Itanium fue decepcionante.
Nicole Hamilton el
8
Acabo de mirar su C Shell. Es bastante impresionante Siempre miraba a Cygwin como un copout. Voy a tener que probarlo alguna vez.
Michael Brown
66
Eso fue Intel, no Microsoft, con ese loco sistema de desarrollo remoto. Microsoft fue muy útil para los desarrolladores. Microsoft me ayudó a conseguir mis máquinas MIPS, Alpha y PowerPC. Solía ​​obtener CDs hechos a mano de las nuevas compilaciones de NT del grupo de desarrollo a principios de 1992, cuando no había muchas copias fuera del campus de Microsoft.
Nicole Hamilton
8
No, el núcleo NT era bastante agnóstico sobre la arquitectura del procesador. Dave Cutler era un fanático de eso. Comenzaron el desarrollo de NT en un i960 , solo para evitar que los x86-isms se arrastraran en el código. Y aunque lanzaron el i960, el NT 3.1 Beta se lanzó en x86 y MIPS en julio de 1992 y en Alpha un par de meses después, iirc. Microsoft me ayudó a obtener las máquinas MIPS y Alpha, por lo que admití los 3 procesadores cuando fueron anunciados. Lo único especial del Itanium es que fue una decepción y no se vendió bien.
Nicole Hamilton
1
@ColeJohnson - Como Nicole Hamilton señala que el problema no era el núcleo NT. Quiero decir que Windows Server 2008 R2 es compatible con Itanium. Entonces el problema no era el sistema operativo. El problema era la plataforma en sí. Por supuesto, no ayudó que AMD pusiera una llave en los planes de Intel simplemente extendiendo la plataforma x86.
Ramhound
4

Respuesta rápida: bajo rendimiento. Intel intentó lanzar un producto revolucionario cuando deberían haber evolucionado al producto que deseaban.

Más específicamente: el procesador no fue lo suficientemente rápido en circunstancias generales. Intel lanzó el procesador justo cuando la brecha de velocidad de procesador a memoria se estaba ampliando. Itanium, al ser un procesador de Conjunto de Instrucciones Reducidas (RISC), requería más bytes por instrucción que su primo, las variantes x86. El aumento de la carga de memoria hizo que el procesador funcionara lentamente.

Todo esto fue exasperado por toda la arquitectura siendo, esencialmente, un primer lanzamiento. Si bien RISC en sí no era una idea nueva, muchos de los componentes de hardware eran y necesitaban nuevos diseños de diseño. También había muchas ideas nuevas en el diseño de instrucciones de Itanium que la comunidad de desarrollo necesitaba digerir a fondo antes de que el software de alta calidad estuviera disponible.

Al final, mucha tecnología terminó usándose en la versión actual de chips de Intel, pero no es fácilmente visible para el usuario final.

A. Phillips
fuente
2
¿Te refieres al bajo rendimiento al hacer cosas de Itanium, o al rendimiento absolutamente horrible al emular el código X86 heredado?
Hennes
1
ambos. Mi impresión fue que el emulador X86 no era muy importante para el equipo de Itanium. En cambio, el emulador era una característica crítica del producto para acertar porque era la brecha en la que la mayoría de los clientes generarían una primera impresión.
A. Phillips
1
El rendimiento de Itanium en código Itanium bien escrito fue fantástico, simplemente no había mucho código bueno por ahí.
A. Phillips el
55
¿Qué significa "código Itanium bien escrito", Aaron? Si es una buena limpieza C donde todo está correctamente alineado sin moldes desagradables, etc., ¿qué más hace que algo esté particularmente bien escrito para un Itanium? Con mi shell C, podría timecalcular fácilmente cosas vinculadas (por ejemplo, factorizando números), E / S (copiando o capturando archivos) y sistema operativo (creación de hilos o procesos). En Alpha, fue como, wow, esto es rápido. Dame un procesador dual, podría medirlo fácilmente. Te lo digo, el Itanium era un perro de cualquier forma que lo miraras, especialmente en comparación con la exageración.
Nicole Hamilton
44
Las plataformas MIPS, Alpha y PowerPC también eran nuevas, junto con todo NT a principios de los 90 y esos otros chips, especialmente Alpha, eran rápidos en comparación con la mayoría de las máquinas x86. Todavía tengo una de cada una de esas máquinas en mi sótano. Itanium simplemente no era tan bueno. Este no fue el primer paso en falso de Intel. Otras canas recordarán su desastre 432 en 1981. Esa también fue una arquitectura mal diseñada que cayó en el rendimiento.
Nicole Hamilton
3

El itanium es un gran diseño si puede aprovechar sus ventajas .

Lamentablemente, esto significa que necesitará un compilador muy avanzado para hacer esto. O incluso uno por modelo específico de la CPU. (Por ejemplo, una versión más nueva de Itanium con una función adicional requeriría un compilador diferente).

Crear un compilador de este tipo una vez es una tarea difícil. Hacer eso para cada variación de una CPU no es económico.

Hennes
fuente
No necesitaría actualizar el compilador para los más nuevos. Simplemente aprovecha las nuevas funciones. Escuché que mantendrían la compatibilidad con versiones anteriores.
Cole Johnson el
Solo le gusta el ensamblador.
ott--
Menciono que facilitaría la codificación del ensamblaje. El compilador al menos podría usar las instrucciones más simples que se le ocurran.
Cole Johnson
Crear un compilador funcional es bastante diferente de uno que usa eficientemente las capacidades de instrucciones anchas / paralelas de una CPU. Si haces un ensamblador manual, deberías poder hacer cosas maravillosas, pero a costa de mucho trabajo.
Hennes
2
De un viejo hilo slashdot: los compiladores para Itanium son difíciles
Rich Homolka
2

La otra parte importante de la historia de Itanium que realmente no se ha tocado es el hecho de que en 2001 con el debut de Itanium, fue imposible introducir grandes cantidades de RAM en el hardware de los productos básicos. x86_64 fue solo un bache en el horizonte y AMD Opterons ni siquiera se lanzaría por otros 2 años.

Mi primera (y única) experiencia con un servidor Itanium fue en 2002 en una compañía química donde necesitaban un servidor SQL para realizar análisis de aceite para detectar defectos. Este petróleo provenía y entraba en máquinas multimillonarias en una empresa multimillonaria, por lo que tenían un grupo de Itanium, cada uno con 128 Gb de RAM. 128 Gb de RAM hoy en día sigue siendo una cantidad justa, pero es fácil y barato de instalar en un servidor.

En 2002, 128 Gb de RAM era una cantidad enorme, y como ya tenían una infraestructura existente de SQL Server, era más barato desembolsar algunas máquinas Itanium y cargarlas con RAM, que cambiar a una plataforma diferente y Base de datos diferente.

Ahora que es trivial obtener 128 Gb (o más) en un servidor básico, una de las grandes partes del mercado de Itanium que no tenía competidores viables reales (el Opteron apareció en 2003, y ahora, por supuesto, servidores que pueden tomar cientos de conciertos de memoria son omnipresentes) está inundado de opciones que eran más baratas de comprar, más baratas de adquirir y más rápidas.

Mark Henderson
fuente
Estoy bastante seguro de que un módulo ddr3 ram de 128 gb hoy en día te ejecutará al menos un gran (USD)
Cole Johnson
2
Nunca he visto un módulo DDR de 128 Gb ... pero poner 128 Gb de RAM ECC registrada en un servidor cuesta más de $ 1000, pero no mucho más; depende del trato que pueda obtener de su proveedor.
Mark Henderson el
Nunca he visto un módulo simple de 128 gb tampoco. Pero este conjunto de 8x16GB es el equivalente y cuesta $ 1,500, que es bastante barato en comparación con los conjuntos de $ 10k que he visto en otros lugares
Cole Johnson el
Veo muchos Gbs; ¿Deberían ser GB?
Charlie
1

Escuché que fue porque AMD presionó a Intel para que asignara más recursos a sus procesadores convencionales para competir. AMD salió con sus Athlon 64 en 2003, que tenían un mejor precio / rendimiento que los Pentium. Existe la creencia de que si Intel continúa desarrollando Itanium con toda su fuerza, entonces sería más rápido que los procesadores x86 actuales.

Thomas
fuente
1
El dicho "Podría haber ... habría" se aplica a lo que Itanium podría haber sido si AMD no hubiera extendido simplemente x86. Intel podría haberlo matado x86-64 si realmente quisieran, pero estoy bajo presión de Microsoft, estoy seguro, si Intel no licenciara x86-64 de AMD, la situación actual probablemente se revertiría con AMD liderando e Intel apenas podría mantenerse al día con los avances de AMD.
Ramhound