WEBVTT

00:00:00.000 --> 00:00:06.080
Most computer enthusiasts know Intel for their famous x86 CPU architecture that powers most

00:00:06.080 --> 00:00:15.140
of today's desktops and laptops. But did you know that not so long ago, Team Blue actually tried to kill off x86 entirely?

00:00:15.140 --> 00:00:19.880
If you're not sure what I'm talking about, maybe the name I-tanium will ring a bell?

00:00:19.880 --> 00:00:27.120
Eh? Probably not for a lot of you. This was an all-new architecture and CPU brand from Intel that made its debut back

00:00:27.120 --> 00:00:32.960
in 2001, and was billed as being so efficient that it would just naturally come to dominate

00:00:32.960 --> 00:00:38.760
the market at some point. But these days, you can barely even buy an I-tanium CPU anymore.

00:00:38.760 --> 00:00:44.520
So what was the big idea? Let's start as we always do with a little bit of history.

00:00:44.520 --> 00:00:49.400
Back in the 1990s, Hewlett-Packard was looking at ways to make CPUs more parallel, but instead

00:00:49.400 --> 00:00:54.400
of sticking more cores onto a CPU or using hyperthreading, HP wanted to simplify the

00:00:54.400 --> 00:00:59.960
architecture by having software determine what order to execute instructions in, instead

00:00:59.960 --> 00:01:03.440
of having the CPU do the heavy lifting and hardware.

00:01:03.440 --> 00:01:07.760
The hope was that this would free up processing resources to execute more instructions in

00:01:07.760 --> 00:01:12.320
parallel, ultimately making for a more powerful, energy efficient CPU.

00:01:12.320 --> 00:01:17.560
HP took the new architecture, which was called Epic, no not that one, to Intel, which then

00:01:17.560 --> 00:01:23.120
helped develop it further into IA64, the architecture used in I-tanium.

00:01:23.240 --> 00:01:27.960
I-tanium was also Intel's first attempt at a 64-bit processor and actually hit the

00:01:27.960 --> 00:01:34.200
market before AMD's first 64-bit CPU, Opturon, which released in 2003.

00:01:34.200 --> 00:01:39.200
HP and Intel felt confident that I-tanium would become popular in the server and workstation

00:01:39.200 --> 00:01:44.160
settings and go on to overtake x86 in home PCs as well.

00:01:44.160 --> 00:01:48.480
There was even a version of Windows specifically written for I-tanium's architecture.

00:01:48.480 --> 00:01:55.320
So why did it flop so badly? So it turns out that trying to determine what instructions the CPU should run in software

00:01:55.320 --> 00:01:59.000
is a lot trickier than HP and Intel thought it would be.

00:01:59.000 --> 00:02:03.400
Typically, the CPU has a specialized group of circuits called a scheduler that determines

00:02:03.400 --> 00:02:09.400
what order to run instructions. The scheduler can make these decisions much more effectively than software can, since

00:02:09.400 --> 00:02:15.200
the scheduler can make adjustments based on when exactly the CPU is trying to access the memory.

00:02:15.200 --> 00:02:19.280
This can't be done effectively in software, since you can't figure out when the CPU is

00:02:19.320 --> 00:02:26.240
accessing memory ahead of time. And because the software would pre-schedule instructions, I-tanium CPUs suffer from stalls

00:02:26.240 --> 00:02:32.200
quite frequently, slowing them down. There was also the issue that even though I-tanium's architecture was intended to be the way of

00:02:32.200 --> 00:02:38.520
the future, Intel still had to do business in the present, and the vast majority of software

00:02:38.520 --> 00:02:45.120
for servers and workstations was written for x86 or other non-I-tanium architectures.

00:02:45.120 --> 00:02:49.240
Running these programs on I-tanium meant that they had to be emulated, which introduced

00:02:49.240 --> 00:02:57.080
a huge amount of performance overhead. And to make matters even worse for I-tanium, the aforementioned Opturon from AMD was released

00:02:57.080 --> 00:03:05.200
two years later. Although Opturon was also 64-bit, it used the X8664 instruction set, the same one that

00:03:05.200 --> 00:03:08.960
powers the chips that's probably sitting in your home PC right now.

00:03:08.960 --> 00:03:13.960
And as the name implies, it's natively compatible with x86 since it was essentially built on

00:03:13.960 --> 00:03:20.200
top of it. So the folks running x86-based servers and workstations had a far easier time upgrading

00:03:20.200 --> 00:03:27.000
to Opturon instead of I-tanium for their 64-bit fix, making Team Red's offering much more

00:03:27.000 --> 00:03:34.440
popular. Intel, quickly realizing that I-tanium wasn't going to catch on, instead implemented X8664

00:03:34.440 --> 00:03:39.240
into their own Xeon lineup of server processors, which went on to become very successful.

00:03:39.240 --> 00:03:44.520
So Intel actually let Xeon cannibalize the I-tanium lineup to a large extent, and I-tanium

00:03:44.520 --> 00:03:47.960
became relegated to niche markets only.

00:03:47.960 --> 00:03:52.480
Intel did actually keep developing new models of I-tanium chips until 2017, but despite

00:03:52.480 --> 00:03:56.800
the fact it hung on for quite a while, it never made up more than a small fraction of

00:03:56.800 --> 00:04:00.120
Intel CPU sales. So what's the lesson here?

00:04:00.120 --> 00:04:04.240
If you're trying to reinvent the wheel, make sure you have a car to stick that wheel on,

00:04:04.240 --> 00:04:07.640
or at least like a tricycle.

00:04:07.640 --> 00:04:17.160
We're not really good at metaphors.
