5 ms·
Compiler hints for data dependencies between groups of instructions sounds very much like the mistake that sank the Itanium. What is different this time around?
by gmueckl 8y ago
Compiler hints for data dependencies between groups of instructions sounds very much like the mistake that sank the Itanium. What is different this time around?
- wmf 8y agoIn VLIW like Itanium, the compiler had to determine not only instruction dependencies but it had to fully schedule when each instruction would execute, even though critical information like cache access time cannot be known by the compiler. In EDGE architectures the processor still does dynamic "out of order" instruction scheduling which gives much better performance.
- twoodfin 8y agoI haven’t read the relevant papers, but I imagine they were targeting something that presented more like a fine-grained MIMD and less like VLIW. That is, many tiny cores with independent execution pipelines, not a few large cores with very wide paths of functional units.
- PeCaN 8y agoThat wasn't a mistake, and Itanium did just fine. Circa 2008 the fastest database servers in the world ran on Itanium.
- _ph_ 8y agoIndeed, and it would be interesting to see how the most recent Itanium would perform if it would be ported to the current 14nm process instead of 32nm. While it once was considered to be a monster chip in transistor count , it no longer is.
- pjmlp 8y agoIntel was just unlucky that AMD exists and came out with AMD64. I believe if that wasn't the case, we would be using Itanium laptops nowadays.
- scruffyherder 8y agoI don't think they would have ever made Itanium mobile, instead we'd be stuck with that PAE nonsense, and living in 32bit world, because 'general users don't need 64bits' ...
- wmf 8y agoI think Intel wanted to eventually phase out x86 and push Itanium all the way down the stack, not for technical reasons but because it was a proprietary architecture that would never have competing implementations.
- FullyFunctional 8y agoYou are think of Intel as having a single mind. The reality, and the reality of most large organizations, is that the ant hill is beaming with divergent and competing opinions. In particular, there were two powerful, competing camps: x86 and Itanium. The combined effect of Itanium performance not living up to promises [1] and AMD introducing a 64-bit x86 extension shifted the power balance, but it wasn't an inevitable outcome. [1] The first iteration (I have one in the garage) was ~ 486 level fast and, sure, the final iterations were fast, but that took an AWFUL lot of silicon. The perf/transistor is terrible, even worse than x86 (which is bad).
- protomyth 8y agoMaybe, but the Itanium came out during a time when the laptops were really becoming important and there was never an Itanium laptop. I look at the Itanium like I look at the G5 (970). It doomed itself by having no laptop possibilities.
- beagle3 8y ago
- dogma1138 8y agoThe iceberg that sunk the Itanic was the HP-Oracle-Intel deal. HP was the only one who could sell them and Oracle put restrictions on how they could be used. Wheb you have an ultra niche product that also happens to require a lot of ground work which is utterly incompatible with everything else on the market you aren’t likely to succeed. If anything given the handicap that Itanium was playing with it can be considered an astonishing success.
- slrz 8y agoHuh? Itaniums weren't available just from HP. At some point, basically everyone sold them, although HP is probably the only one left still selling systems based on it (Integrity/Superdome).
- dogma1138 8y agoOutside of “super-computers” all the other OEMs were limited to a low cpu/core count which made their offerings essentially mute.
- usrusr 8y agoOne thing that has changed: we routinely see hardware outliving software these days (e.g. Android phones that would still be perfectly adequate if software updates were available), this was hardly imaginable in the days of the "Itanic". Back then new hardware was typically bought to run old software faster. Also, jit runtimes, once you have a hardware specific build of your browser (or of your server stack) you are 90% there.
- Symmetry 8y agoStatic scheduling plays badly with variable memory latencies and Itanium's speculative memory features just didn't work well enough. But it's instruction encoding was very inefficient and hurt a lot on workloads sensitive to i-cache pressure. If I understand EDGE correctly they don't try to statically schedule with respect to loads so this isn't a problem, they're just explicit about where the parallelism is.
- SolarNet 8y agoIt's right there in the announcement, all the compiler support is already there this time around.