So here's an idea - let's test and compare the fastest Threadrippers against the newest big
iron from IBM like their enormous Z 15 mainframe installations. And how fast is an Apple Watch
compared to the Apollo Guidance Computer? Or fast was a Pentium III compared to a Raspberry Pi 3?
Some of these are going to truly surprise you when you see the results. Could a space age mainframe
run Quake, Doom, or Pong? We'll find out. What were the first CPUs to cross the 10 MIPS, 100
MIPS, and 1000 MIPS barriers? And how fast are our typical desktop processors when compared to, let's
say, mainframes of the 1990s? Not for gaming, of course, but if you could have your own used IBM
System/390 out in the workshop, would you take it over a basic PC that you can grab at Best Buy? And
how do they all compare to that canonical unit of measurement, the computer that landed men on the
moon? We'll look at each of these and much more, all right here today in Dave's Garage. [Intro]
They say Americans will use any measurement system other than the metric system, such
as Olympic swimming pools and washing machines for volumes of water instead of cubic meters.
For mileage, maybe your car gets 40 chains to the furlong, and that's the way you likes it.
And so, it should come as no surprise, perhaps, that the gold standard for measuring computing
performance in the 21st century is in fact still the computer that landed men on the moon 50 years
ago, the Apollo Guidance Computer. Or, as it close friends refer to it, the AGC. The AGC
was an impressive box, particularly for its day. You should really think of it as the first time
the computer industry and the top universities got together and built an impressively compact
computer out of the new integrated circuits. Sure, there was still core memory and some of
the technologies would look antiquated today, but the vacuum tubes and relays of prior days were
now long gone, rendered instead in silicon. And the primary goal was robustness and reliability,
not hair-raising performance. After all, if three lives depend on the computer calculating a sine or
cosine in order to plot a trajectory, doing it a million times a second probably isn't important.
From a practical standpoint, though, doing it 10 times a second with ultimate reliability probably
is. And though miniaturization is cool, I've always had a soft spot for the really big iron.
I mean the ferro-fluid liquid cooled, data center grade hardware that was designed to survive any
nuclear wars that it did not personally start. I don't know where my fascination started.
Perhaps it was walking though the University of Regina back when I was still a little kid,
where they had a big glass computer lab in which the PDPs and Vax's sat supreme. They were up on
elevated platforms like a pharmacist might be, covered in impressive dasblinkenlights,
and they were given powerful names from mythology like Hercules and Vinerva, and those are still the
names I give to my own servers all these decades later, so I guess something about that visual
clearly made an impression on me. My first real exposure to a corporate data center came
when I was in ninth grade. We were each asked what it was we wanted to do with our lives. My
aptitude testing had indicated that I was best suited to be a mortician or a chicken farmer.
Check out my book on Asperger's and Autism in the video description for the whole story, but
I kept insisting I liked computers, so they set about finding a programmer that I could shadow.
Once they found a willing subject, they arranged so that I could follow him around for a day on
the job, just to get a sense of what the career was really like. I was assigned to
accompany a computer programmer at an IBM data center installation known as the Co-operators,
which primarily handled insurance and billing records for the local government.
My dreams were shattered almost instantly. By about 10AM I was ready to drill a hole in my
head just to let the boredom out. I mean this poor fellow's existence seemed absolutely Sisyphusian,
if that's even a word. Just in case it comes up on Jeopardy for you, Sisyphus is the character
from Greek mythology that was doomed to push a giant rock up a hill every day only to have it
roll right back down on him every time. And this programmer's life seemed depressingly similar.
He would walk down to the computer lab and get a big ream of bifold line printer paper,
the kind with the old green and white stripes. He'd carry it on up to his desk
and stare at it with a pencil in hand until he saw whatever it was that he was looking for,
presumably a bug or suspicious output. To me, it looked like he was playing a crossword
puzzle made up from gibberish and it was a game he could seemingly never win. But every so often he'd
circle something, make a few notes, and take the ream of corrected paper back to the computer lab,
where he'd get a fresh problem report and basically, though his expression never changed and
he betrayed no sense of satisfaction on each round trip, the rock would roll down the hill again over
and over all day long. It was a rude awakening, and it didn't seem very fun at all!
I guess when I said programmer, I meant a fun and cool programmer working on video games in
a casual office setting where they play a lot of foosball and have cute blonde artists that
sit on your desk with arms akimbo like it's an episode of Mad Men. But this fellow's life
seemed like what programmers in hell might be condemned to, as far as I could see.
But then for some reason we had to visit the actual computer floor, where the big machines
lived. I imagine back in the 1980s it would have been a massive IBM System/370 installation.
The machines were big, loud, and they had some serious presence. They were so powerful and loud
that you had to wear hearing protection. In fact, my wife's father, whom I wouldn't meet for another
decade yet, would ultimately lose a great deal of hearing to working amongst the IBM leviathans at a
competing data center across town. When they got really loaded up, the machines hummed with a deep
frequencies you could more feel than hear, and sometimes it seemed as though they might burst
into flames at any time. Of course, should such a calamity come to pass, they were so valuable
that you couldn't fight the fire by wantonly spraying water everywhere from a hose. And so,
data centers were generally set up with what are known as Halon dumps. All around the facility were
fire alarms with special blue buttons that would promptly fill the building with Halon gas from
massive tanks in the basement. Halon is a noble gas that smothers all combustion.
It won't poison you, but there's no oxygen left to be had, and so there are scuba tanks and
breathing apparatus scattered around the facility for any workers that can't immediately escape.
I guess Halon is murder on the ozone layer, so they don't use it as much these days,
but it's still a cool setup. Not something you typically need with a Threadripper.
I also distinctly remember being very impressed that the data center had bullet proof windows.
Why someone would shoot at a mainframe and why they felt the need for countermeasures
I honestly have no idea, but it made them seem cool and important at the same time! After all,
no one was shooting at my Dad's hardware store ten blocks down.
Somehow, seeing the big systems is all it took to keep me from switching my desired career path to
"truck driving school". From then on, I've carried a fascination with mainframe power
but all the while I've been dogged by the feeling that they're really not any faster
than a contemporary PC. It seems like today that they're playing with the same rules of physics,
so ultimately single threaded perf can't be any better that it is on an M1 or i9. At some level,
even a z14 is just a 14nm chip, hardly cutting edge in that sense. That wasn't always the case,
and in decades past the technology gap between the mainframe and the desktop was much, much larger.
So in 1969 the question was also valid: how fast was the Apollo Guidance Computer,
built primarily from integrated circuits, compared to the mainframes of that era?
We'll use a 1969 mainframe as a reference point, then. Precisely one month after Neil
Armstrong stepped onto the lunar surface, IBM released the System/360 Model 195.
So, it seems eminently fair to compare them to each other. And the nearest I can figure,
the big IBM was capable of about 3 MIPS. At the time, it cost $200,000 per month to rent one.
That's about 1.5 million dollars per month in 2022 dollars. We had started with relays
that actually had mechanical arms and magnets inside, shed the moving parts when we moved to
vacuum tubes, and we picked up several orders of magnitude of speed and reliability when we
moved to the transistor. Those transistors were ultimately densely placed into hermetically
sealed packages known as integrated circuits and that's where we find ourselves today. I should
take a moment to note that I'm talking about instruction speed, NOT floating point operations.
Almost every source you can find for computing performance tends to focus on floating point math,
and how many floating-point operation can be completed per second. You'll hear terms like
flops, megaflops, gigaflops, and so on. We're fast approaching the teraflop. Truly astounding
figures that unfortunately have very little to do with bread and butter computing. That's because
parallelized floating point operations are great for climate modelling and bitcoin mining, but
what I care about today is how fast it could run my Prime Sieve. How fast can it do integer math,
make decisions, take jumps, and load and store data. It probably does little if I tell you
how many mflops an old mainframe can do. But if I tell you that a 1969 System/360 Model 195
had just enough computing performance to run Doom but not Quake, and that it was roughly equivalent
to a 486, now you know something you can store in your head. Again, I'm talking only about the
CPU processing, not the GPU or FPU. To compare the Apollo Guidance Computer of 1969 to the IBM
Mainframe of the same summer, then, all we need to know is how many MIPS the IBM 360 Model 195
was capable of, and a little division will tell us the story. Every good story starts somewhere,
and ours begins with the UNIVAC 1 of 1951. It had a reasonable clock speed of 2 and a quarter MHz,
but in the early days instructions were not pipelined, meaning they didn't overlap. You
started one instruction and worked on it until it was finished. Then you started the next one. And
each instruction could take many cycles, such that the CPU ran at only 2,000 instructions per second.
We'll be working in our preferred unit of MIPS, or Millions of Instructions per Second,
and the Univac I comes in at 0.002 MIPS. When the IBM 7030, codename Stretch, came along in 1961
it would hold the title as fastest supercomputer for several years. Even though it was much slower
than its aggressive targets, and IBM actually had to refund millions of dollars on the price,
it still crested the million instructions per second barrier at 1.2 MIPS, and it would be
10-15 years before that level of performance trickled down to the plebian machines like the
VAX 11/780 which turned in precisely 1.0 MIPS in 1977. In contrast, the microprocessors of the
70s like the 8086, 6809 and 6502 were turning in numbers on the order of a half a MIPS.
So now you know that a good minicomputer was at least twice as fast the best desktops of the day,
and the mainframes were about 10 times faster than that. Back in the 60s with the big iron, that
venerable IBM Stretch machine wasn't bested until the CDC 6600 came along in 1965, boasting a speed
of 10 MIPS. That's almost identical performance to what you could come to expect from a Motorolla
68020 in 1988, almost 23 years later. Within 5 years of that the i486/66 would churn out
25 MIPS. Which brings us to 1991 and the Intel i860, their RISC chip. Want some trivia that will
impress your friends and frighten your enemies: Well, what a lot of people don't know is that
the original Windows NT project was directed at the i860, but since it was still in development,
it was referred to by its code name, the NTen. And NT is actually an abbreviation of NTen.
It does not and never did mean "New Technology". That was marketing after the fact. So you could
almost think of all of modern Windows as an evolution of the branch that began with the i860.
And despite its flaws, that i860 was rocking 50 MIPS in wonderfully symmetrical fashion:
50 MIPS at 50 MHz, meaning one instruction per clock cycle per core, another important
milestone. I started on Windows in 1993 and I was working on a box with dual MIPS R4400 CPUs.
Though I think mine might have been underclocked to 100MHz, the 150MHz variants were capable of 85
MIPS. The first mass produced chip to cross the 100 MIPS barrier was the Motorola 68060, as seen
in the Amiga 4000T, running at 110MIPS. Given the A500 ran at 2MIPS, that'd be one fast Amiga. Does
anyone out there actually have a 68060 Amiga? Let me know in the comments! Hot on its heels was
the Intel Pentium, setting a new standard at 188 MIPS. Back when I was in MS-DOS, I think I had the
world's worst Pentium, ever. I was just an intern, which means they didn't order you a big fancy new
PC on your first day. They gave you basically whatever they had on hand no one else wanted,
and in my case that meant the prototype Pentium machine they had on hand from Gateway Computers.
That sounded amazing to me at first, as everyone else still had mostly 386s, until I found out
the machine was clocked at 8MHz instead of a more typical Pentium speed like 66 MHz. The machine was
built with an engineering sample that was intended to demonstrate compatibility with the instruction
set and memory management unit and so on, and Intel didn't want anyone benchmarking it yet.
Had I been older and bolder I might have swapped a faster crystal in just for fun, but I was too
new in those days to take the risk of dorking with my work machine! If you had a Pentium
running at 100MHz in 1994, though, it would turn in performance of 188 MIPS, the same as my MIPS.
Just two years later the PowerPC would be updated, and while the PowerPC 601 had lagged the Pentium
slightly at 157 MIPS, the PowerPC 603 of 1995 reached parity with the Pentium at 188 MIPS
as well. By 1997, however, they were clocked at 300MHz and delivered an impressive 423 MIPS. The
Intel Pentium Pro would break our next barrier, turning in 541 MIPS in its top trim of 200MHz in
1996. The ARM Cortex makes its first appearance here as the A5 running at 1256 MIPS, but not until
2011. It would appear the desktop was about 12 years ahead of mobile in terms of raw performance,
but of course this overlooks power consumption and other factors that we don't care about for this
conversation. Here's where it's worth taking some appreciation of power consumption, though,
as Apple Watch S1 processor is comparable to the A5. Let's round down and call it 1000 MIPS.
So maybe that's another datapoint to store: The Apple Watch is 25,000 times the raw power
of the Apollo Guidance Computer. Meanwhile, back on our desktop curve, the Intel Pentium III
at 600MHz turned in 2054 MIPS in 1999. It might surprise you to learn that our next milestone,
cresting 5000 MIPS, was achieved much later on by the Raspberry Pi 3 in 2014. I wouldn't have
intuitively thought that a Pi 3 would be more than twice as fast as Pentium III, but there
you have it. I'm also just sort of blown away by the notion that a little Pi does 5000 MIPS.
In only 4 more years the desktop clock speed had accelerated to 3.2GHz for the Pentium 4 Extreme
Edition, which as able to turn in a performance of 10,000 MIPS. The AMD Athlon would bring 20,000
MIPS and the Intel Core 2 Extreme would reach 50,000 MIPS by 2006. Next comes the chip that
I ran for almost seven years, right up until I bought my Threadripper - an Intel i7 4770K. At
133,000 MIPS it was more than enough power for me for the better part of a decade. Plus it didn't
feel like CPUs were really getting much faster, so I didn't feel the pressure to upgrade. After all,
the metric that I think makes the most difference, which is instructions per clock cycle per core,
would remain about the same at 8 for all CPUs over the next decade. What would change, however,
is the number of cores and the clock speed. While the clock speeds would accelerate only modestly
to about 5.2 GHz, the number of cores would increase massively, from 4 to 64 and even 128.
While you couldn't necessarily solve any one part of a problem any faster, to the extent that your
problem could be solved in a parallel fashion, the new breed of chips brough massive power to the
consumer, which is what prompted me to upgrade. But enough hand-waving, let's put a number to it:
The AMD 3990 scores a massive 2,356,230 MIPS. That makes this desktop PC more than 2,000,000 times
as powerful as a 1980s Amiga or Macintosh, for example. And some five million times more powerful
than your old Commodore 64, and that's completely ignoring floating point performance, memory and
storage speeds, and other hugely important factors that have come as far or further.
Going back our earlier discussion you might recall that we said that one MIPS was the equivalent of
25 Apollo Guidance Computers. That means the AMD 3990 is 60 million times more powerful,
when considering instructions per second, than the Apollo Guidance Computer that landed men
on the moon. By the way, it might have been men that landed on the moon but it was a woman's code
that got them there - Margaret Hamilton. In fact, she was awarded the Presidential Medal of Freedom
for having done so. By the way, there's an amazing book on the AGC that follows the story of its
development, and it's got technical details down to the level of the instruction set and how it
evolved as they went, so I found it a fascinating read. I'll throw the Amazon link in the video
description and highly recommend it! Now the big question that provoked this - how does a current
IBM Mainframe stack up against a desktop PC? Now I can't believe I have to say this, but a mainframe
offers things that PC setups traditionally do not, like hot failover from one CPU core to a
backup core, things like that. Just as an Apple M1 contains custom silicon to do video encoding,
since it's a core task on the Mac, the IBM z14 CPU includes silicon aimed at encryption and
compression, common tasks on a business or web platform. The CPU can actually do things like
the standard DEFLATE compression for web serving right on the CPU die using an acceleration unit.
And so in many ways, it's obviously not fair to compare one to another directly.
But if you could get your hands on an IBM z14 and do something that parallelizes fairly well, like
compiling the Unix kernel, it would either finish faster or slower than it would on the desktop. And
as far as I can tell, here are the hard specs: An IBM z14 can have up to 40 TB of main memory which
is accessible to 190 cores running at 5.2 GHz. If we make the completely wanton assumption that
all else is equal, and that the instructions per clock cycle per core is somewhere close,
we can see that the clock speed is about a wash. The fastest Xeons also clock in at 5.2GHz.
The big difference, of course, is in sheer number of cores. With 190 cores cranking at the full
5.2GHz rate, it should be almost exactly 3 times as fast as a 64 core Threadripper.
But let's not forget that the Threadripper has 2 threads per core. But even if we grant it 128
cores, it would still come up about 50% short of the Threadriper. I get a ton of marketing
opportunities in my email each and every morning, all of which I turn down. But the one I'd take
would be if IBM would loan me a spare z14 running Linux on IBM Z so I could demonstrate it to the
world running their hypervisor platform. They just need to drop a banded unit off with a
lift gate truck. I'd move the home of the famous Primes benchmark project over to it for sure and
then get it running the Linux kernel compilation benchmarks, as those parallelize so nicely. I've
got a 150A of power and lots of AC. (Call me) I hope I was able to shed some light on the relative
performance of these systems in a way that was ideally entertaining and historically informative.
Check the description for any errata as always, and if you enjoyed this episode
please be sure to subscribe to the channel so you don't miss future content like it. And in case
you've never seen the software drag racing series where I compare the head to head performance of
different computing languages, I'll put a link to it up in the corner here. I'm primarily in
this for the subs and lives, so please be sure to leave me one of each before you go. In the
meantime and in between time, I hope to see you next time, right here in Dave's Garage.