back to index

David Patterson: Computer Architecture and Data Storage | Lex Fridman Podcast #104


small model | large model

link |
00:00:00.000
The following is a conversation with David Patterson, touring award winner and professor
link |
00:00:05.440
of computer science at Berkeley. He is known for pioneering contributions to risk processor
link |
00:00:10.720
architecture used by 99% of new chips today and for cocreating RAID storage. The impact that these
link |
00:00:18.960
two lines of research and development have had in our world is immeasurable. He is also one of the
link |
00:00:25.200
great educators of computer science in the world. His book with John Hennessey is how I first learned
link |
00:00:30.720
about and was humbled by the inner workings and machines at the lowest level.
link |
00:00:35.840
Quick summary of the ads. Two sponsors. The Jordan Harbinger Show and Cash App. Please
link |
00:00:42.080
consider supporting the podcast by going to jordanharbinger.com slash lex and downloading
link |
00:00:47.840
Cash App and using code lexpodcast. Click on the links, buy the stuff. It's the best way
link |
00:00:54.320
to support this podcast and, in general, the journey I'm on in my research and startup.
link |
00:00:59.280
This is the Artificial Intelligence Podcast. If you enjoy it, subscribe on YouTube,
link |
00:01:03.840
review it with five stars an apple podcast. Support it on Patreon or connect with me on
link |
00:01:08.480
Twitter at Lex Freedman spelled without the E, just F R I D M A N. As usual, I'll do a few minutes
link |
00:01:16.400
of ads now and never any ads in the middle that can break the flow of the conversation.
link |
00:01:20.400
This episode is supported by the Jordan Harbinger Show. Go to jordanharbinger.com slash lex,
link |
00:01:27.760
it's how he knows I sent you. On that page, there's links to subscribe to an apple podcast,
link |
00:01:32.480
Spotify, and everywhere else. I've been binging on this podcast. It's amazing. Jordan is a great
link |
00:01:38.080
human being. He gets the best out of his guests, dives deep, calls them out when it's needed,
link |
00:01:43.200
and makes the whole thing fun to listen to. He's interviewed Kobe Bryant, Mark Cuban,
link |
00:01:48.160
Neil deGrasse Tyson, Gary Kasparov, and many more. I recently listened to his conversation with Frank
link |
00:01:54.400
Abagnale, author of Catch Me If You Can, one of the world's most famous conmen. Perfect podcast
link |
00:02:01.120
length and topic for a recent long distance run that I did. Again, go to jordanharbinger.com slash
link |
00:02:08.400
Lex to give him my love and to support this podcast. Subscribe also on Apple podcast, Spotify,
link |
00:02:16.160
and everywhere else. This show is presented by Cash App, the greatest sponsor of this podcast ever
link |
00:02:22.880
and the number one finance app in the App Store. When you get it, use code Lex podcast. Cash App
link |
00:02:29.520
lets you send money to friends by Bitcoin and invest in the stock market with as little as one
link |
00:02:34.080
dollar. Since Cash App allows you to buy Bitcoin, let me mention that cryptocurrency in the context
link |
00:02:39.600
of the history of money is fascinating. I recommend Ascent of Money as a great book on this history.
link |
00:02:45.200
Also, the audiobook is amazing. Debits and credits on ledgers started around 30,000 years ago.
link |
00:02:51.280
The US dollar created over 200 years ago and the first decentralized cryptocurrency released just
link |
00:02:56.720
over 10 years ago. So given that history, cryptocurrency is still very much in its early days
link |
00:03:02.000
of development, but it's still aiming to and just might redefine the nature of money. So again,
link |
00:03:08.640
if you get Cash App from the App Store, Google Play and use the code Lex podcast,
link |
00:03:13.600
you get $10 and Cash App will also donate $10 to FIRST, an organization that is helping to advance
link |
00:03:19.760
robotics system education for young people around the world. And now here's my conversation with David
link |
00:03:27.040
Patterson. Let's start with the big historical question. How have computers changed in the past
link |
00:03:33.200
50 years at both the fundamental architectural level and in general in your eyes? Well, the biggest
link |
00:03:39.520
thing that happened was the invention of the microprocessor. So computers that used to fill up
link |
00:03:45.200
several rooms could fit inside your cell phone. And not only and not only did they get smaller,
link |
00:03:53.200
they got a lot faster. So they're million times faster than they were 50 years ago. And they're
link |
00:04:00.000
much cheaper and they're ubiquitous. You know, there's 7.8 billion people on this planet.
link |
00:04:07.440
Probably half of them have cell phones right now. Just remarkable.
link |
00:04:12.160
There's probably more microprocessors than there are people. Sure. I don't know what the ratio is,
link |
00:04:16.800
but I'm sure it's above one. Maybe it's 10 to one or some number like that.
link |
00:04:22.000
What is a microprocessor? So a way to say what a microprocessor is, is to tell you what's inside
link |
00:04:28.720
a computer. So a computer forever has classically had five pieces. There's input and output,
link |
00:04:35.200
which kind of naturally, as you'd expect, is input is like speech or typing and output is displays.
link |
00:04:44.480
There's a memory and like the name sounds, it remembers things. So it's integrated circuits,
link |
00:04:52.240
whose job is you put information in, then when you ask for it, it comes back out. That's memory.
link |
00:04:57.200
And the third part is the processor, where the team microprocessor comes from. And that has two
link |
00:05:02.480
pieces as well. And that is the control, which is kind of the brain of the processor and the
link |
00:05:11.920
what's called the arithmetic unit. It's kind of the brawn of the computer. So if you think of the,
link |
00:05:16.480
as a human body, the arithmetic unit, the thing that does the number crunching is the body and
link |
00:05:21.920
the control is the brain. So those five pieces, input, output, memory, arithmetic unit and control
link |
00:05:30.000
are have been in computer since the very dawn. And the last two are considered the processor.
link |
00:05:36.400
So a microprocessor simply means a processor that fits on a microchip. And that was invented about,
link |
00:05:42.560
you know, 40 years ago, was the first microprocessor. It's interesting that you refer to the arithmetic
link |
00:05:48.320
unit as the like you connected to the body and the controllers, the brain. So I guess,
link |
00:05:55.280
I never thought of it that way. The nice way to think about it, because most of the actions,
link |
00:05:59.040
the microprocessor does in terms of literally sort of computation, but the microprocessor does
link |
00:06:06.640
computation, it processes information. And most of the thing it does is basic arithmetic operations.
link |
00:06:14.320
What are the operations, by the way? It's a lot like a calculator. So there are
link |
00:06:20.000
add instructions, subtract instructions, multiply and divide. And kind of the brilliance of the
link |
00:06:27.520
invention of the microprocessor or the processor is that it performs very trivial operations,
link |
00:06:35.920
but it just performs billions of them per second. And what we're capable of doing is writing software
link |
00:06:42.640
that can take these very trivial instructions and have them create tasks that can do things better
link |
00:06:48.160
than human beings can do today. Just looking back through your career, did you anticipate the kind
link |
00:06:54.000
of how good we would be able to get at doing these small basic operations? How many surprises along
link |
00:07:02.560
the way? We just kind of said back and said, wow, I didn't expect it to go this fast, this good.
link |
00:07:09.760
Well, the fundamental driving force is what's Gordon Moore's law, which was named after
link |
00:07:16.960
Gordon Moore, who's a Berkeley illness. And he made this observation very early in what are called
link |
00:07:23.360
semiconductors. And semiconductors are these ideas. You can build these very simple switches,
link |
00:07:29.120
and you can put them on these microchips. And he made this observation over 50 years ago. He
link |
00:07:34.400
looked at a few years and said, I think what's going to happen is the number of these little
link |
00:07:38.320
switches called transistors is going to double every year for the next decade. And he said this
link |
00:07:45.040
in 1965. And in 1975, he said, well, maybe it's going to double every two years. And that what
link |
00:07:51.760
other people since named that Moore's law guided the industry. And when Gordon Moore made that
link |
00:07:58.720
prediction, he wrote a paper back in, I think, in the 70s and said, not only did this going to happen,
link |
00:08:08.720
he wrote, what would be the implications of that? And in this article from 1965, he shows ideas like
link |
00:08:16.080
computers being in cars and computers being in something that you would buy in the grocery store
link |
00:08:22.400
and stuff like that. So he kind of not only called his shot, he called the implications of it.
link |
00:08:28.240
So if you were in in the computing field, and if you believed Moore's prediction, he kind of said
link |
00:08:34.080
what the what would be happening in the future. So so it's not kind of it's at one sense, this
link |
00:08:41.680
is what was predicted. And you could imagine it was easy to believe that Moore's law was going to
link |
00:08:46.480
continue. And so this would be the implications. On the other side, there are these shocking events
link |
00:08:52.640
in your life, like I remember driving in the marine across the Bay in San Francisco and seeing a
link |
00:09:00.640
bulletin board at a local civic center and had a URL on it. And it was like for all for all for
link |
00:09:07.840
the people at the time, these first URLs, and that's the, you know, WWW select stuff with the
link |
00:09:13.760
HTTP, people thought it was look like alien, alien writing, right, they'd see these advertisements
link |
00:09:22.880
and commercials or bulletin boards that had this alien writing on it. So for the lay people was
link |
00:09:26.400
like, what the hell is going on here? And for those people in industry, it's Oh my God,
link |
00:09:32.000
this stuff is getting so popular, it's actually leaking out of our nerdy world and into the real
link |
00:09:37.200
world. So that I mean, there was events like that. I think another one was, I remember with the early
link |
00:09:42.560
days of the personal computer, when we started seeing advertisements in magazines for personal
link |
00:09:47.440
computers, like it's so popular that it's made the newspaper. So at one hand, you know, Gordon Moore
link |
00:09:53.680
predicted it and you kind of expected it to happen. But when it really hit and you saw it
link |
00:09:57.440
affecting society, it was, it was shocking. So maybe taking a step back and looking both
link |
00:10:05.200
the engineering and philosophical perspective, what, what do you see as the layers of abstraction
link |
00:10:11.520
in the computer? Do you see a computer as a set of layers of abstractions? Yeah, I think that's
link |
00:10:17.040
one of the things that computer science fundamentals is the, these things are really complicated
link |
00:10:24.240
in the way we cope with complicated software and complicated hardware is these layers of
link |
00:10:28.800
abstraction. And that simply means that we, you know, suspend disbelief and pretend that the only
link |
00:10:37.840
thing you know is that layer, and you don't know anything about the layer below it. And that's the
link |
00:10:42.640
way we can make very complicated things. And probably it started with hardware, that that's
link |
00:10:48.640
the way it was done. But it's been proven extremely useful. And, you know, I would say in a modern
link |
00:10:54.080
computer today, there might be 10 or 20 layers of abstraction. And they're all trying to kind of
link |
00:11:00.240
enforce this contract is all you know is this interface, there's a set of commands that you
link |
00:11:08.560
can are allowed to use, and you stick to those commands, and we will faithfully execute that.
link |
00:11:12.880
And it's like peeling the air layers of a London of an onion, you get down, there's a new set of
link |
00:11:18.000
layers and so forth. So for people who want to study computer science, the exciting part about
link |
00:11:25.120
it is you can keep peeling those layers, you take your first course, and you might learn to program
link |
00:11:31.280
in Python, and then you can take a follow on course, and you can get it down to a lower level
link |
00:11:36.480
language like C, and, you know, you can go and then you can, if you want to, you can start getting
link |
00:11:41.280
into the hardware layers, and you keep getting down all the way to that transistor that I talked
link |
00:11:46.640
about that Gordon Moore predicted, and you can understand all those layers all the way up to the
link |
00:11:53.120
highest level application software. So it's a very kind of magnetic field. If you're interested,
link |
00:12:01.920
you can go into any depth and keep going. In particular, what's happening right now, or it's
link |
00:12:07.280
happened in software the last 20 years recently in hardware, there's getting to be open source
link |
00:12:12.480
versions of all of these things. So what open source means is what the engineer, the programmer
link |
00:12:18.960
designs, it's not secret, the belonging to a company, it's out there on the worldwide web,
link |
00:12:26.320
so you can see it. So you can look at, for lots of pieces of software that you use, you can see
link |
00:12:33.600
exactly what the programmer does if you want to get involved. That used to stop at the hardware.
link |
00:12:39.280
Recently, there's been an efforts to make open source hardware and those interfaces open, so you
link |
00:12:46.480
can see that. So instead of before you had to stop at the hardware, you can now start going
link |
00:12:51.040
layer by layer below that and see what's inside there. So it's a remarkable time that for the
link |
00:12:56.480
interested individual can really see in great depth what's really going on in the computers that
link |
00:13:02.080
power everything that we see around us. Are you thinking also when you say open source at the
link |
00:13:07.760
hardware level, is this going to the design architecture instruction set level, or is it
link |
00:13:14.240
going to literally the manufacturer of the actual hardware, of the actual chips, whether that's
link |
00:13:24.480
ASIC specialized a particular domain or the general? Yeah, so let's talk about that a little bit.
link |
00:13:30.000
So when you get down to the bottom layer of software, the way software talks to hardware is
link |
00:13:39.120
in a vocabulary. And what we call that vocabulary, we call that the words of that vocabulary called
link |
00:13:46.000
instructions. And the technical term for the vocabulary is instruction set. So those instructions
link |
00:13:52.720
are likely talked about earlier. There can be instructions like add, subtract, and multiply,
link |
00:13:56.960
divide. There's instructions to put data into memory, which is called a store instruction,
link |
00:14:03.280
and to get data back, which is called a load instructions. And those simple instructions
link |
00:14:08.240
go back to the very dawn of computing. And in 1950, the commercial computer had these
link |
00:14:13.760
instructions. So that's the instruction set that we're talking about. So up until I'd say 10 years
link |
00:14:20.240
ago, these instruction sets are all proprietary. So a very popular one is owned by Intel, the one
link |
00:14:27.520
that's in the cloud and in all the PCs in the world. Intel owns that instruction set, it's
link |
00:14:32.640
referred to as the x86. There've been a sequence of ones that the first number was called 8086.
link |
00:14:39.680
And since then, there's been a lot of numbers, but they all ended in 86. So there's been that
link |
00:14:44.400
kind of family of instruction sets. And that's proprietary. And that's proprietary. The other one
link |
00:14:50.480
that's very popular is from ARM that kind of powers all the cell phones in the world, all the
link |
00:14:57.200
iPads in the world, and a lot of things that are so called Internet of Things devices. ARM and that
link |
00:15:04.800
one is also proprietary. ARM will license it to people for a fee, but they own that. So the new
link |
00:15:12.000
idea that got started at Berkeley kind of unintentionally 10 years ago is in early in my
link |
00:15:20.000
career, we pioneered a way to do these vocabulary instruction sets that was very controversial
link |
00:15:26.000
at the time. At the time in the 1980s, conventional wisdom was these vocabulary instruction sets
link |
00:15:33.040
should have, you know, powerful instructions. So polysyllabic kind of words, you can think of
link |
00:15:38.560
that. And so that instead of just add subtractive multiply, they would have polynomial divide or
link |
00:15:45.600
sort a list. And the hope was of those powerful vocabularies that make it easier for software.
link |
00:15:53.920
So we thought that didn't make sense for microprocessors. There was people at Berkeley and
link |
00:15:58.800
Stanford and IBM who argued the opposite. And what we called that was a reduced instruction set
link |
00:16:05.040
computer. And the abbreviation was RISC and typical for computer people, we use the abbreviations
link |
00:16:11.760
that are pronouncing it. So risk was the thing. So we said for microprocessors, which with Gordon's
link |
00:16:17.360
more is changing really fast, we think it's better to have a pretty simple set of instructions,
link |
00:16:24.240
reduced set of instructions, that that would be a better way to build microprocessors, since
link |
00:16:29.280
they're going to be changing so fast due to Moore's law. And then we'll just use standard
link |
00:16:33.680
software to cover the use generate more of those simple instructions. And one of the pieces of
link |
00:16:42.800
software that it's in that software stack, going between these layers of abstractions is called
link |
00:16:47.360
a compiler. And it's basically translates. It's a translator between levels, we said the translator
link |
00:16:52.160
will handle that. So the technical question was, well, since they're these reduced instructions,
link |
00:16:59.200
you have to execute more of them. Yeah, that's right. But maybe execute them faster. Yeah,
link |
00:17:04.240
that's right. They're simpler. So they go faster, but you have to do more of them. So what's
link |
00:17:08.640
that tradeoff look like? And it ended up that we ended up executing maybe 50% more instructions,
link |
00:17:16.240
maybe a third more instructions, but they ran four times faster. So this risk controversial risk
link |
00:17:22.800
ideas proved to be maybe factors of three or four better. I love that this idea was controversial
link |
00:17:29.920
and almost kind of like rebellious. So that's in the context of what was more conventional is the
link |
00:17:37.280
complex instructional side computing. So how'd you pronounce that? Sisk. Sisk versus risk versus
link |
00:17:43.520
sisk. And, and believe it or not, this sounds very, very, you know, who cares about this, right?
link |
00:17:50.240
It was, it was violently debated at several conferences is like, what's the right way to go
link |
00:17:56.000
is, is, and people thought risk was, you know, was a de evolution. We're going to make software
link |
00:18:02.000
worse by making those instructions simpler and their fierce debates at several conferences in
link |
00:18:07.760
the 1980s. And then later in the 80s, it kind of settled to these benefits. It's not completely
link |
00:18:15.200
intuitive to me why risk has for the most part one. Yeah. So why did that happen? Yeah. Yeah.
link |
00:18:22.080
And maybe I can sort of say a bunch of dumb things that could lay the land for further commentary.
link |
00:18:26.960
So to me, this is a, this is kind of interesting thing. If you look at C++ versus C with modern
link |
00:18:33.840
compilers, you really could write faster code with C++. So relying on the compiler to reduce
link |
00:18:41.600
your complicated code into something simple and fast. So to me, comparing risk, maybe this is
link |
00:18:49.040
a dumb question, but why is it that focusing the definition, the design of the instruction set on
link |
00:18:56.000
very few simple instructions in the long run provide faster execution versus coming up with,
link |
00:19:05.200
like you said, a ton of complicated instructions that over time, you know, years, maybe decades,
link |
00:19:13.840
you come up with compilers that can reduce those into simple instructions for you.
link |
00:19:19.040
Yeah. So let's try and split that into two pieces. So if the compiler can do that for you, if the
link |
00:19:26.560
compiler can take, you know, a complicated program and produce simpler instructions,
link |
00:19:31.680
then the programmer doesn't care, right? Programmer, yeah, I don't care. Just how, how fast is the
link |
00:19:39.360
computer I'm using? How much does it cost? And so what we, what happened kind of in the software
link |
00:19:44.880
industry is right around before the 1980s, critical pieces of software were still written
link |
00:19:51.600
not in languages like C or C++. They were written in what's called assembly language,
link |
00:19:58.000
where there's this kind of humans writing exactly at the instructions at the level
link |
00:20:03.760
that a computer can understand. So they were writing add, subtract, multiply, you know,
link |
00:20:09.600
instructions. It's very tedious. But the belief was to write this lowest level of software that
link |
00:20:16.640
that people use, which are called operating systems, they had to be written in assembly language
link |
00:20:20.880
because these high level languages were just too inefficient. They were too slow or the
link |
00:20:26.000
the programs would be too big. So that changed with a famous operating system called Unix,
link |
00:20:33.840
which is kind of the the grandfather of all the operating systems today. So the Unix demonstrated
link |
00:20:40.160
that you could write something as complicated as an operating system in a language like C.
link |
00:20:45.920
So once that was true, then that meant we could hide the instruction set from the programmer.
link |
00:20:52.880
And so that meant then it didn't really matter. The programmer didn't have to write
link |
00:20:59.280
lots of these simple instructions. That was up to the compiler. So that was part of our
link |
00:21:03.120
arguments for risk is if you were still writing assembly language, there's maybe a better case
link |
00:21:07.600
for Sys constructions. But if the compiler can do that, it's going to be, you know, that's done
link |
00:21:13.200
once the computer translates at once. And then every time you run the program, it runs at this
link |
00:21:18.400
this potentially simpler instructions. And so that that was the debate, right, is because
link |
00:21:25.440
and people would acknowledge that the simpler instructions could lead to a faster computer.
link |
00:21:30.880
You can think of monosyllabic instructions, you could say them, you know, if you think of reading,
link |
00:21:35.440
you could probably read them faster or say them faster than long instructions. The same thing
link |
00:21:39.840
that analogy works pretty well for hardware. And as long as you didn't have to read
link |
00:21:44.000
a lot more of those instructions, you could win. So that's, that's kind of that's the basic idea
link |
00:21:49.360
for risk. But it's interesting that the in that discussion of Unix and C, that there's only one
link |
00:21:55.600
step of levels of abstraction from the code that's really the closest to the machine to the code
link |
00:22:03.600
that's written by human. It's at least to me again, perhaps a dumb intuition, but it feels
link |
00:22:10.640
like there might have been more layers, sort of different kinds of humans stacked at the top of
link |
00:22:16.160
each other. So what's true and not true about what you said is several of the layers of software,
link |
00:22:27.120
like so that if you hear two layers would be supposed to just talk about two layers, that
link |
00:22:32.640
would be the operating system like you get from from Microsoft or from Apple like iOS or the
link |
00:22:39.120
Windows operating system. And let's say applications that run on top of it like Word or Excel. So
link |
00:22:47.120
both the operating system could be written in C. And the application could be written in C. So
link |
00:22:53.280
but you could construct those two layers. And the applications absolutely do call upon the
link |
00:22:58.880
operating system. And the change was that both of them could be written in higher level languages.
link |
00:23:04.720
So it's one step of a translation, but you can still build many layers of abstraction
link |
00:23:10.160
of software on top of that. And that's how things are done today. So
link |
00:23:15.920
still today, many of the layers that you'll deal with, you may deal with debuggers, you may deal
link |
00:23:22.800
with linkers. There's libraries, many of those today will be written in C++ say, even though that
link |
00:23:32.960
language is pretty ancient. And even the Python interpreter is probably written in C or C++.
link |
00:23:40.160
So lots of layers there are probably written in these some old fashioned efficient languages that
link |
00:23:48.080
still take one step to produce these instructions, produce risk instructions, but they're composed
link |
00:23:56.240
each layer of software invokes one another through these interfaces. And you can get
link |
00:24:01.520
it 10 layers of software that way. So in general, the risk was developed here, Berkeley?
link |
00:24:07.440
It was kind of the three places that were these radicals that advocated for this against the
link |
00:24:13.840
rest of the community were IBM, Berkeley and Stanford. You're one of these radicals. And
link |
00:24:22.640
how radical did you feel? How confident did you feel? How doubtful were you that risk might be
link |
00:24:30.640
the right approach? Because it may you can also into it that is kind of taking a step back into
link |
00:24:35.760
simplicity, not forward into simplicity. Yeah, no, it was easy to make. Yeah, it was easy to
link |
00:24:42.960
make the argument against it. Well, this was my colleague, John Hennessy at Stanford nine, we
link |
00:24:48.240
were both assistant professors. And for me, I just believed in the power of our ideas. I thought
link |
00:24:55.520
what we were saying made sense, Morse law is going to move fast. The other thing that I didn't
link |
00:25:00.960
mention is one of the surprises of these complex instruction sets. You could certainly write
link |
00:25:06.960
these complex instructions if the programmers writing them themselves. It turned out to be
link |
00:25:12.000
kind of difficult for the compiler to generate those complex instructions kind of ironically,
link |
00:25:17.120
you'd have to find the right circumstances that that just exactly fit this complex instruction.
link |
00:25:21.840
It was actually easier for the compiler to generate these simple instructions. So
link |
00:25:26.400
not only did these complex instructions make the hardware more difficult to build,
link |
00:25:31.600
often the compiler wouldn't even use them. And so it's harder to build the compiler doesn't use
link |
00:25:37.360
them that much. The simple instructions go better with Morse law, that you know, the number of
link |
00:25:42.720
transistors is doubling every every two years. So we're going to have, you know, the you want to
link |
00:25:48.080
reduce the time to design the microprocessor that may be more important than these number of instructions.
link |
00:25:52.480
So I think we believed in the that we were right, that this was the best idea. Then the question
link |
00:26:00.080
became in these debates, well, yeah, that's a good technical idea. But in the business world,
link |
00:26:05.280
this doesn't matter. There's other things that matter. It's like arguing that if there's a
link |
00:26:11.280
standard with the railroad tracks, and you've come up with a better with, but the whole world
link |
00:26:16.000
is covered in railroad tracks. So you'll, your ideas have no chance of success commercial success.
link |
00:26:22.080
It was technically right. But commercially, it'll be insignificant. Yeah, it's kind of sad
link |
00:26:27.200
that this world, the history of human civilization is full of good ideas that lost because somebody
link |
00:26:34.480
else came along first with a worse idea. And it's good that in the computing world, at least
link |
00:26:40.560
some of these have well, while you could, I mean, there's probably still cis people that say,
link |
00:26:44.720
yeah, there still are. And what happened was what was interesting, Intel, a bunch of the cis
link |
00:26:52.720
companies with cis instruction sets of vocabulary, they gave up, but not Intel. What Intel did
link |
00:26:59.600
to its credit, because Intel's vocabulary was in the in the personal computer. And so that was a
link |
00:27:07.840
very valuable vocabulary, because the way we distribute software is in those actual instructions.
link |
00:27:14.160
It's in the instructions of that instruction set. So they, you don't get that source code,
link |
00:27:19.120
what the programmers wrote, you get after it's been translated into the list level,
link |
00:27:24.400
that's if you were to get a floppy disk or download software, it's in the instructions of
link |
00:27:28.400
that instruction set. So the x86 instruction set was very valuable. So what Intel did cleverly,
link |
00:27:35.760
and amazingly, is they had their chips in hardware do a translation step, they would take these
link |
00:27:42.720
complex instructions and translate them into essentially in risk instructions in hardware
link |
00:27:47.040
on the fly, you know, at at gigahertz clock speeds. And then any good idea that risk people had,
link |
00:27:53.680
they could use, and they could still be compatible with this, with this really valuable PC software
link |
00:28:01.280
software base, and which also had very high volumes, you know, 100 million personal computers
link |
00:28:06.560
per year. So the CISC architecture in the business world was actually one in this PC era.
link |
00:28:17.040
So just going back to the time of designing risk. When you design an instruction set
link |
00:28:26.560
architecture, do you think like a programmer? Do you think like a microprocessor engineer?
link |
00:28:31.600
Do you think like a artist, a philosopher? Do you think in software and hardware? I mean,
link |
00:28:38.960
is it art? Is it science? Yeah, I'd say I think designing a good instruction set is an art.
link |
00:28:45.120
And I think you're trying to balance the the simplicity and speed of execution
link |
00:28:54.240
with how well easy it will be for compilers to use it, right? You're trying to create an
link |
00:28:59.600
instruction set that everything in there can be used by compilers. There's not things that are
link |
00:29:06.080
missing, that'll make it difficult for the program to run, they run efficiently, but you want it to
link |
00:29:12.400
be easy to build as well. So it's that kind of, so you're thinking, I'd say you're thinking
link |
00:29:16.160
hardware, trying to find a hardware software compromise that'll work well. And, and it's,
link |
00:29:22.400
you know, it's, you know, it's a matter of taste, right? It's kind of fun to build instruction sets.
link |
00:29:27.760
It's, it's not that hard to build an instruction set, but to build one that catches on and people
link |
00:29:34.640
use, you know, you have to be, you know, fortunate to be the right place in the right time or have
link |
00:29:40.000
a design that people really like. Are you using metrics? So is it quantifiable? Because you kind
link |
00:29:46.640
of have to anticipate the kind of programs that people write ahead of time. So is that,
link |
00:29:51.840
can you use numbers? Can you use metrics? Can you quantify something ahead of time? Or is this,
link |
00:29:57.040
again, that's the hard part where you're kind of no, it's a big, a big change, kind of what happened.
link |
00:30:03.200
I think from Hennessy's and my perspective in the 1980s, what happened was going from kind of
link |
00:30:10.080
really, you know, taste and hunches to quantifiable. And in fact, he and I wrote a textbook at the
link |
00:30:19.840
end of the 1980s called computer architecture, a quantitative approach. I heard of that. And,
link |
00:30:24.560
and it's, it's the thing that it had a pretty big big impact in the field because we went from
link |
00:30:31.600
textbooks that kind of listed. So here's what this computer does. And here's the pros and cons.
link |
00:30:36.800
And here's what this computer does in pros and cons to something where there were formulas
link |
00:30:40.640
and equations where you could measure things. So specifically for instruction sets, what
link |
00:30:47.040
we do in some other fields do is we agree upon a set of programs, which we call benchmarks.
link |
00:30:52.960
And a suite of programs. And then you develop both the hardware and the compiler and you get
link |
00:31:00.960
numbers on how well your, your computer does, given its instruction set and how well you
link |
00:31:08.640
implemented it in your microprocessor and how good your compilers are. And in computer architecture,
link |
00:31:14.160
we, you know, using professors terms, we grade on a curve rather than grade on an absolute scale.
link |
00:31:19.120
So when you say, you know, this, these programs run this fast, well, that's kind of interesting,
link |
00:31:23.760
but how do you know it's better while you compare it to other computers at the same time? So the
link |
00:31:29.280
best way we know how to make, turn it into a kind of more science and experimental and quantitative
link |
00:31:36.320
is to compare yourself to other computers of the same era that have the same access, the same kind
link |
00:31:41.200
of technology on commonly agreed benchmark programs. So maybe to toss up two possible
link |
00:31:48.000
directions, we can go one is what are the different tradeoffs in designing architectures? We've been
link |
00:31:54.320
already talking about Cisco risk, but maybe a little bit more detail in terms of specific
link |
00:32:00.160
features that you were thinking about. And the other side is, what are the metrics that you're
link |
00:32:05.120
thinking about when looking at these tradeoffs? Yeah, let's talk about the metrics. So during
link |
00:32:12.000
these debates, we actually had kind of a hard time explaining convincing people the ideas. And
link |
00:32:17.120
partly we didn't have a formula to explain it. And a few years into it, we hit upon a formula
link |
00:32:23.760
that helped explain what was going on. And I think if we can do this, see how it works orally.
link |
00:32:29.840
So the, if I can do a formula orally, let's see. So the, so fundamentally, the way you measure
link |
00:32:39.040
performance is how long does it take a program to run program? If you have 10 programs, and typically
link |
00:32:46.000
these benchmarks were sweet, because you'd want to have 10 programs so they could represent lots
link |
00:32:49.840
of different applications. So for these 10 programs, how long did it take to run? When now,
link |
00:32:54.720
when you're trying to explain why it took so long, you could factor how long it takes a program to
link |
00:32:59.520
run into three factors. One of the first one is how many instructions did it take to execute?
link |
00:33:07.040
So that's the, that's the, what we've been talking about, you know, the instructions of
link |
00:33:10.560
okay, how many did it take? All right. The next question is how long did each instruction take
link |
00:33:17.280
to run on average? So you'd multiply the number of instructions times how long it took to run.
link |
00:33:23.280
And that's your time. Okay, so that's, but now let's look at this metric of how long did it
link |
00:33:28.720
take the instruction to run? Well, it turns out the way we could build computers today is they
link |
00:33:34.000
all have a clock. And you've seen this when you, if you buy a microprocessor, it'll say
link |
00:33:38.240
3.1 gigahertz or 2.5 gigahertz and more gigahertz is good. Well, what that is, is the speed of the
link |
00:33:45.920
clock. So 2.5 gigahertz turns out to be four billions of instruction or four nanoseconds. So
link |
00:33:53.520
that's the clock cycle time. But there's another factor which is what's the average number of
link |
00:33:59.120
clock cycles that takes per instruction. So it's number of instructions, average number of clock
link |
00:34:04.240
cycles in the clock cycle time. So in these risk system debates, we would, we, they would concentrate
link |
00:34:10.320
on, but risk needs to take more instructions. And we'd argue what maybe the clock cycle is faster,
link |
00:34:16.720
but what the real big difference was, was the number of clock cycles per instruction.
link |
00:34:21.200
Per instruction, that's fascinating. What about the mess of the beautiful mess of parallelism
link |
00:34:25.680
in the whole picture? Parallelism, which has to do with say, how many instructions could execute
link |
00:34:30.720
in parallel and things like that. You could think of that as affecting the clock cycles per
link |
00:34:35.040
instruction because it's the average clock cycles per instruction. So when you're running a program,
link |
00:34:39.280
if it, if it took 100 billion instructions and on average, it took two clock cycles per instruction
link |
00:34:45.920
and they were four nanoseconds, you could multiply that out and see how long it took to run. And there's
link |
00:34:50.240
all kinds of tricks to try and reduce the number of clock cycles per instruction. But it turned out
link |
00:34:56.800
that the way they would do these complex instructions is they would actually build what we would call
link |
00:35:01.360
an interpreter in a simpler, a very simple hardware interpreter. But it turned out that for the SISC
link |
00:35:07.680
instructions, if you had to use one of those interpreters, it would be like 10 clock cycles
link |
00:35:12.400
per instruction where the risk instructions could be two. So there'd be this factor of five advantage
link |
00:35:18.240
in clock cycles per instruction. We have to execute say 25 or 50% more instructions. So that's
link |
00:35:23.840
where the wind would come. And then you could make an argument whether the clock cycle times are the
link |
00:35:27.600
same or not. But pointing out that we could divide the benchmark results time per program into three
link |
00:35:34.480
factors. And the biggest difference in risk and SISC was the clock cycles per, you execute a few
link |
00:35:39.920
more instructions, but the clock cycles per instruction is much less. And that was what this
link |
00:35:44.160
debate, once we made that argument, then people say, Oh, okay, I get it. And so we went from it was
link |
00:35:52.560
outrageously controversial in, you know, 1982, that maybe probably by 1984. So people said, Oh,
link |
00:35:59.280
yeah, technically, they've got a good argument. What are the instructions in the risk instruction
link |
00:36:05.760
set? Just to get an intuition. Okay, 1995, I was asked to sign to predict the future of what
link |
00:36:13.440
microprocessor future. So I, and that, well, as I'd seen these predictions, and usually people
link |
00:36:19.520
predict something outrageous just to be entertaining, right? And so my prediction for 2020 was,
link |
00:36:25.520
you know, things are going to be pretty much, they're going to look very familiar to what they
link |
00:36:29.520
are. And they are. And if you were to read the article, you know, the things I said are pretty
link |
00:36:34.080
much true. The instructions that have been around forever are kind of the same.
link |
00:36:38.080
And that's the outrageous prediction, actually, given how fast computers have been growing.
link |
00:36:41.920
Well, you know, Morse law was going to go on, we thought for 25 more years, you know, who knows.
link |
00:36:47.600
But kind of the surprising thing, in fact, you know, Hennessy and I, you know, won the ACM AM
link |
00:36:54.240
Touring Award for both the risk instruction set contributions and for that textbook I mentioned.
link |
00:36:59.600
But, you know, we're surprised that here we are 35, 40 years later after we did our work.
link |
00:37:08.160
And the conventionalism of the best way to do instruction sets is still those risk
link |
00:37:13.440
instruction sets that looked very similar to what we looked like, you know, we did in the 1980s.
link |
00:37:18.320
So those, surprisingly, there hasn't been some radical new idea, even though we have,
link |
00:37:24.560
you know, a million times as many transistors as we had back then.
link |
00:37:29.840
But what are the basic constructions and how did they change over the years? So
link |
00:37:33.440
we're talking about addition, subtraction, these are the.
link |
00:37:35.680
Okay. So the things that are in a calculator are in a computer. So any of the buttons that
link |
00:37:42.800
are in the calculator in the computer. So the button, so if there's a memory function key,
link |
00:37:48.080
and like I said, those are turns into putting something in memory is called a store,
link |
00:37:51.520
bring something back to a load. Just a quick tangent. When you say memory, what does memory mean?
link |
00:37:57.920
Well, I told you there were five pieces of a computer. And if you remember in a calculator,
link |
00:38:02.240
there's a memory key. So you want to have intermediate calculation and bring it back
link |
00:38:05.920
later. So you'd hit the memory plus key M plus maybe, and it would put that into memory. And
link |
00:38:10.800
then you'd hit an RM like recurrent instruction, and then bring it back on the display. So you
link |
00:38:15.200
don't have to type it. You don't have to write it down and bring it back again. So that's exactly
link |
00:38:18.720
what memory is. If you can put things into it as temporary storage and bring it back when you need
link |
00:38:23.680
it later. So that's memory and loads and stores. But the big thing, the difference between a computer
link |
00:38:30.560
and a calculator is that the computer can make decisions. And in amazingly decisions are as
link |
00:38:36.880
simple as, is this value less than zero? Or is this value bigger than that value? So there's
link |
00:38:44.240
those instructions, which are called conditional branch instructions is what give computers all
link |
00:38:48.720
its power. If you were in the early days of computing before what's called the general
link |
00:38:53.920
purpose microprocessor, people would write these instructions kind of in hardware. And but it
link |
00:39:00.400
couldn't make decisions. It would just, it would do the same thing over and over again.
link |
00:39:04.320
With the power of having branch instructions, it can look at things and make decisions
link |
00:39:09.760
automatically. And it can make these decisions, you know, billions of times per second. And
link |
00:39:14.560
amazingly enough, we can get, you know, thanks to advanced machine learning, we can,
link |
00:39:18.640
we can create programs that can do some things smarter than human beings can do.
link |
00:39:22.800
But if you go down that very basic level, it's the instructions are the keys on the calculator,
link |
00:39:28.080
plus the ability to make decisions of these conditional branch instructions.
link |
00:39:31.760
And all decisions fundamentally can be reduced down to these branch instructions.
link |
00:39:36.640
Yeah. So in fact, and so, you know, going way back in the stack back to, you know,
link |
00:39:42.240
we did four risk projects at Berkeley in the 1980s, they did a couple at Stanford in the 1980s.
link |
00:39:48.880
In 2010, we decided we wanted to do a new instruction set, learning from the mistakes of
link |
00:39:54.880
those risk architecture of the 1980s. And that was done here at Berkeley, almost exactly 10 years
link |
00:40:01.120
ago. And the people who did it, I participated, but other Krzysztof Sanovic and others drove it.
link |
00:40:08.400
They called it risk five to honor those risk, the four risk projects of the 1980s.
link |
00:40:13.840
So what is risk five involve? So risk five is another instruction set of vocabulary. It's
link |
00:40:20.880
learned from the mistakes of the past, but it still has, if you look at the, there's a core
link |
00:40:24.880
set of instructions, it's very similar to the simplest architectures from the 1980s. And the
link |
00:40:30.160
big difference about risk five is it's open. So I talked early about proprietary versus open and
link |
00:40:39.520
software. So this is an instruction set. So it's a vocabulary. It's not, it's not hardware.
link |
00:40:45.040
But by having an open instruction set, we can have open source implementations, open source
link |
00:40:50.960
processors that people can use. Where do you see that going? It's a really exciting possibility,
link |
00:40:57.920
but you're just thinking the scientific American, if you were to predict 10, 20,
link |
00:41:02.000
30 years from now, that kind of ability to utilize open source instruction set architectures like
link |
00:41:09.760
risk five, what kind of possibilities might that unlock? Yeah. And so just to make it clear,
link |
00:41:16.000
because this is confusing, the specification of risk five is something that's like in a textbook.
link |
00:41:22.240
There's books about it. So that's what that's kind of defining an interface. There's also the way
link |
00:41:28.640
you build hardware is you write it in languages, they're kind of like C, but they're specialized
link |
00:41:34.400
for hardware that gets translated into hardware. And so these implementations of this specification
link |
00:41:42.160
are what are the open source. So they're written in something that's called Verilog or VHDL,
link |
00:41:47.360
but it's put up on the web just like that you can see the C plus plus code for Linux on the web.
link |
00:41:54.640
So that's the open instruction set enables open source implementations of risk five.
link |
00:42:00.560
They can literally build a processor using this instruction set. People are people are.
link |
00:42:05.440
So what happened to us that the story was this was developed here for our use to do our research.
link |
00:42:11.680
And we made it we licensed under the Berkeley software distribution license, like a lot of
link |
00:42:16.480
things get licensed here. So other academics use it, they wouldn't be afraid to use it.
link |
00:42:20.720
And then about 2014, we started getting complaints that we were using it in our research in our
link |
00:42:27.600
courses. And we got complaints from people in industries. Why did you change your instruction
link |
00:42:32.720
set between the fall and the spring semester? And well, we get complaints from industrial time.
link |
00:42:38.560
Why the hell do you care what we do with our instruction set? And then when we talked to
link |
00:42:42.720
them, we found out there was this thirst for this idea of an open instruction set architecture.
link |
00:42:47.600
And they had been looking for one they stumbled upon ours at Berkeley thought it was boy,
link |
00:42:52.720
this looks great. We should use this one. And so once we realized there is this need for an
link |
00:42:58.800
open instruction set architecture, we thought, that's a great idea. And then we started supporting
link |
00:43:03.440
it and tried to make it happen. So this was kind of we accidentally stumbled into this
link |
00:43:08.800
and to this need and our timing was good. And so it's really taking off. There's
link |
00:43:16.800
universities are good at starting things, but not good at sustaining things. So like Linux has
link |
00:43:21.360
a Linux foundation, there's a risk five foundation that we started. There's there's an annual
link |
00:43:26.720
conferences. And the first one was done, I think, January of 2015. And the one that was just last
link |
00:43:32.720
December in it, you know, it had 50 people at it. And the one last December had, I know, 1700
link |
00:43:39.600
people were at it and the company's excited all over the world. So predicting into the future,
link |
00:43:46.160
you know, if we were doing 25 years, I would predict that risk five will be, you know,
link |
00:43:51.040
possibly the most popular instruction set architecture out there, because it's a pretty
link |
00:43:57.120
good instruction set architecture, and it's open and free. And there's no reason lots of people
link |
00:44:03.440
shouldn't use it. And there's benefits just like Linux is so popular today compared to 20 years ago.
link |
00:44:12.400
And, you know, the fact that you can get access to it for free, you can modify it, you can
link |
00:44:17.360
improve it for all those same arguments. And so people collaborate to make it a better system
link |
00:44:22.480
for everybody to use. And that works in software. And I expect the same thing will happen in hardware.
link |
00:44:27.760
So if you look at the arm Intel MIPS, if you look at just the lay of the land,
link |
00:44:34.080
and what do you think, just for me, because I'm not familiar, how difficult this kind of transition
link |
00:44:42.080
would, how much challenges this kind of transition would entail. Do you see,
link |
00:44:48.720
let me ask my dumb question in another way. No, that's, I know where you're headed.
link |
00:44:54.160
Well, there's a bunch. I think the thing you point out, there's these very popular proprietary
link |
00:45:00.000
instruction sets, the x86. And so how do we move to risk five potentially, in sort of,
link |
00:45:06.880
in the span of five, 10, 20 years, a kind of unification. Given that the devices, the kind
link |
00:45:13.680
of way we use devices, IOT, mobile devices, and the cloud keeps changing. Well, part of it,
link |
00:45:21.200
a big piece of it is the software stack. And what right now, looking forward, there seem to be three
link |
00:45:29.120
important markets. There's the cloud. And the cloud is simply companies like Alibaba and Amazon
link |
00:45:38.480
and Google, Microsoft, having these giant data centers with tens of thousands of servers in
link |
00:45:46.560
maybe a hundred of these data centers all over the world. And that's what the cloud is. So the
link |
00:45:51.680
computer that dominates the cloud is the x86 instruction set. So the instruction, or the
link |
00:45:57.520
instruction sets used in the cloud are the x86. Almost 100% of that today is x86.
link |
00:46:04.160
The other big thing are cell phones and laptops. Those are the big things today. I mean, the PC
link |
00:46:11.040
is also dominated by the x86 instruction set, but those sales are dwindling. You know, there's maybe
link |
00:46:17.600
200 million PCs a year, and there's, is there one and a half billion phones a year? There's numbers
link |
00:46:23.520
like that. So for the phones, that's dominated by ARM. And now, and a reason that I talked about
link |
00:46:34.400
the software stacks, and that the third category is Internet of Things, which is basically embedded
link |
00:46:39.040
devices, things in your cars and your microwaves everywhere. So what's different about those three
link |
00:46:44.880
categories is for the cloud, the software that runs in the cloud is determined by these companies,
link |
00:46:50.960
Alibaba, Amazon, Google, Microsoft. So they control that software stack. For the cell phones,
link |
00:46:58.480
there's both for Android and Apple, the software they supply, but both of them have market places
link |
00:47:04.160
where anybody in the world can build software. And that software is translated or, you know,
link |
00:47:10.800
compiled down and shipped in the vocabulary of ARM. So that's what's referred to as binary
link |
00:47:17.600
compatible, because the actual, it's the instructions are turned into numbers, binary numbers,
link |
00:47:23.920
and shipped around the world. So. And so just a quick interruption. So ARM, what is ARM?
link |
00:47:30.160
ARM is an instruction set like a risk based. Yeah, it's a risk based instruction set. It's a
link |
00:47:34.240
proprietary one. ARM stands for Advanced Risk Machine. ARM is the name where the company is.
link |
00:47:42.240
So it's a proprietary risk architecture. So, and it's been around for a while, and it's,
link |
00:47:48.640
you know, surely the most popular instruction set in the world right now. Every year,
link |
00:47:53.120
billions of chips are using the ARM design in this post PC era.
link |
00:47:58.400
Was it one of the early risk adopters of the risk idea?
link |
00:48:02.400
The first ARM goes back, I don't know, 86 or so. So Berkeley and Stanford,
link |
00:48:06.880
did their work in the early 80s. The ARM guys needed an instruction set and they read our papers
link |
00:48:13.360
and it heavily influenced them. So getting back to my story, what about Internet of Things? Well,
link |
00:48:19.200
software is not shipped in Internet of Things. It's the embedded device people control that
link |
00:48:25.520
software stack. So you would, the opportunities for risk five, everybody thinks is in the
link |
00:48:31.840
Internet of Things embedded things, because there's no dominant player like there is in the
link |
00:48:36.320
cloud or the smartphones. And, you know, it's, it's, doesn't have a lot of licenses associated with
link |
00:48:44.160
and you can enhance the instruction set if you want. And it's, and people have looked at instruction
link |
00:48:50.720
sets and think it's a very good instruction set. So it appears to be very popular there.
link |
00:48:55.280
It's possible that in the cloud people, those companies control their software stacks.
link |
00:49:01.760
So it's possible that they would decide to use risk five if we're talking about 10 and 20 years
link |
00:49:07.440
in the future. The one of the harder would be the cell phones since people ship software
link |
00:49:13.040
in the ARM instruction set that you'd think be the more difficult one. But if risk five really
link |
00:49:18.320
catches on in, you know, you could, in a period of a decade, you can imagine that's changing over
link |
00:49:23.040
too. Do you have a sense why risk five or ARM has dominated? You mentioned these three categories.
link |
00:49:28.320
Why has, why did ARM dominate? Why does it dominate the mobile device space? And maybe
link |
00:49:34.880
my naive intuition is that there are some aspects of power efficiency that are important
link |
00:49:40.880
that somehow come along with risk. Well, part of it is for these old SIS construction sets,
link |
00:49:47.520
like in the x86. It was more expensive to these for, you know, they're older. So they have disadvantages
link |
00:50:00.240
in them because they were designed 40 years ago. But also they have to translate in hardware
link |
00:50:06.000
from SIS constructions to risk constructions on the fly. And that costs both silicon area that
link |
00:50:11.600
the chips are bigger to be able to do that. And it uses more power. So ARM has, which has, you
link |
00:50:17.840
know, followed this risk philosophy is seen to be much more energy efficient. And in today's
link |
00:50:23.040
computer world, both in the cloud and the cell phone and other things, it isn't the limiting
link |
00:50:30.880
resource isn't the number of transitions you can fit in the chip. It's what, how much power can you
link |
00:50:35.760
dissipate for your application. So by having a reduced instruction set, you that's possible to
link |
00:50:42.080
have a simpler hardware, which is more energy efficient and energy efficiency is incredibly
link |
00:50:47.360
important in the cloud. When you have tens of thousands of computers in a data center, you want
link |
00:50:51.680
to have the most energy efficient ones there as well. And of course, for embedded things running
link |
00:50:56.080
off of batteries, you want those to be our energy efficient and the cell phones too. So I think
link |
00:51:00.560
it's believed that there's a energy disadvantage of using these more complex instruction set
link |
00:51:08.080
architectures. So the other aspect of this is if we look at Apple, Qualcomm, Samsung, Huawei,
link |
00:51:15.600
all use the ARM architecture. And yet the performance of the systems varies. I mean,
link |
00:51:21.760
I don't know whose opinion you take on, but you know, Apple for some reason seems to perform
link |
00:51:27.520
perform better in terms of these implementations architecture. So where's the magic enter the
link |
00:51:32.560
picture? How's that happen? Yeah. So what ARM pioneered was a new business model is they said,
link |
00:51:37.360
well, here's our proprietary instruction set. And we'll give you two ways to do it.
link |
00:51:44.000
There will give you one of these implementations written in things like C called Verilog. And
link |
00:51:49.760
you can just use ours. Well, you have to pay money for that. Not only pay, we'll give you their,
link |
00:51:55.840
you know, we'll license you to do that, or you could design your own. And so we're talking about
link |
00:52:01.280
numbers like tens of millions of dollars to have the right to design your own since they
link |
00:52:06.080
is the instruction set belongs to them. So Apple got one of those the right to build their own.
link |
00:52:13.120
Most of the other people who build like Android phones just get one of the designs from ARM
link |
00:52:20.000
to do it themselves. So Apple developed a really good microprocessor design team.
link |
00:52:26.640
They, you know, acquired a very good team that had was building other microprocessors and brought
link |
00:52:33.520
them into the company to build their designs. So the instruction sets are the same, the
link |
00:52:38.080
specifications are the same, but their hardware design is much more efficient than I think everybody
link |
00:52:43.600
else's. And that's given Apple an advantage in the marketplace and that the iPhones tend to be the
link |
00:52:53.600
faster than most everybody else's phones that are there.
link |
00:52:57.680
It'd be nice to be able to jump around and kind of explore different little sides of this.
link |
00:53:02.400
But let me ask one sort of romanticized question. What do you use the most beautiful aspect or
link |
00:53:08.720
idea of risk instruction set or instruction sets? Yeah, well, I think, you know, I'm, you know,
link |
00:53:16.480
I, I was always attracted to the idea of, you know, small is beautiful is that the temptation
link |
00:53:23.680
in engineering, it's kind of easy to make things more complicated. It's harder to come up with a,
link |
00:53:30.080
it's more difficult surprisingly to come up with a simple, elegant solution. And I think
link |
00:53:34.400
that there's a bunch of small features of risk in general that, you know, where you can see this
link |
00:53:42.400
examples of keeping it simpler makes it more elegant, specifically in risk five, which,
link |
00:53:47.600
you know, I'm, I was kind of the mentor in the program, but it was really driven by Christos
link |
00:53:51.360
Sanovic and two grad students, Andrew Waterman, Yensip Lee, is they hit upon this idea of having
link |
00:53:58.880
a, a subset of instructions, a nice simple structure, subset instructions, like 40 ish
link |
00:54:06.640
instructions that all software, the software staff risk five can run just on those 40 instructions.
link |
00:54:13.920
And then they provide optional features that could accelerate the performance instructions
link |
00:54:20.560
that if you needed them could be very helpful, but you don't need to have them. And that,
link |
00:54:24.560
that's a new, really a new idea. So risk five has right now, maybe five optional
link |
00:54:31.200
subsets that you can pull in, but the software runs without them. If you just want to build the,
link |
00:54:36.240
just the core 40 instructions, that's fine. You can do that. So this is fantastic for
link |
00:54:42.320
educationally is you can explain computers, you only have to explain 40 instructions
link |
00:54:47.120
and not thousands of them. Also, if you invent some wild and crazy new technology, like, you know,
link |
00:54:53.520
biological computing, you'd like a nice simple instruction set. And you can risk five if you
link |
00:55:00.640
implement those core instructions, you can run, you know, really interesting programs on top of
link |
00:55:05.040
that. So this idea of a core set of instructions that the software stack runs on, and then optional
link |
00:55:10.960
features that if you turn them on the compilers were used, but you don't have to, I think is a
link |
00:55:16.000
powerful idea. What's happened in the past, if for the proprietary instruction sets,
link |
00:55:21.600
is when they add new instructions, it becomes required piece. And so that all, all microprocessors
link |
00:55:30.240
in the future have to use those instructions. So it's kind of like, for a lot of people as they
link |
00:55:35.200
get older, they gain weight, right? That weight in age are correlated. And so you can see these
link |
00:55:41.600
instruction sets get getting bigger and bigger as they get older. So risk five, you know, lets you
link |
00:55:46.800
be as slim as you're as a teenager, and you only have to add these extra features, if you're really
link |
00:55:51.840
going to use them, rather than every, you have no choice, you have to keep growing with the
link |
00:55:56.000
instruction set. I don't know if the analogy holds up, but that's a beautiful notion that
link |
00:56:00.800
there's, it's almost like a nudge towards here's the simple core, that's the essential. Yeah, I
link |
00:56:06.720
think the surprising thing is still, if we, if we brought back, you know, the pioneers from the
link |
00:56:11.680
1950s and showed them the instruction set architectures, they'd understand it. They'd say, wow,
link |
00:56:17.120
that doesn't look that different. Well, you know, I'm surprised. And it's, there's, it may be
link |
00:56:22.240
something, you know, to talk about philosophical things. I mean, there may be something powerful
link |
00:56:27.840
about those, you know, 40 or 50 instructions that all you need is these commands like these
link |
00:56:35.760
instructions that we talked about. And that is sufficient to build, to bring about, you know,
link |
00:56:42.560
artificial intelligence. And so it's a remarkable surprising to me that is complicated as it is
link |
00:56:51.760
to build these things, you know, a microprocessors where the line widths are narrower than the
link |
00:56:59.760
wavelength of light, you know, is this amazing technology is at some fundamental level. The
link |
00:57:06.640
commands that software executes are really pretty straightforward and haven't changed that much in,
link |
00:57:11.040
in decades, which what a surprising outcome. So underlying all computation, all touring machines,
link |
00:57:18.480
all artificial intelligence systems, perhaps, might be a very simple instruction set like,
link |
00:57:23.840
like a risk five or it's, yeah, I mean, that's kind of what I said. I was interested to see,
link |
00:57:30.720
I had another more senior faculty colleague and he, he had written something in Scientific American
link |
00:57:36.480
and, you know, his 25 years in the future, and his turned out about when I was a young
link |
00:57:42.160
professor and he said, yep, I checked it. I was interested to see how that was going to turn out
link |
00:57:47.440
for me. And it's pretty held up pretty well. But yeah, so there's, there's probably, there's
link |
00:57:52.720
some, you know, there's, there must be something fundamental about those instructions that were
link |
00:57:58.880
capable of creating, you know, intelligence from pretty primitive operations and just doing them
link |
00:58:07.600
really fast. You kind of mentioned a different, maybe radical computational medium, like biological,
link |
00:58:15.120
and there's other ideas. So there's a lot of spaces in ASIC domain specific. And then there
link |
00:58:20.800
could be quantum computers and so we can think of all of those different mediums and types of
link |
00:58:26.000
computation. What's the connection between swapping out different hardware systems and the
link |
00:58:33.680
instruction set? Do you see those as disjoint or are they fundamentally coupled?
link |
00:58:37.360
Yeah. So what's, so kind of, if we go back to the history,
link |
00:58:43.360
you know, when Morris Law is in full effect and you're getting twice as many transistors
link |
00:58:48.000
every couple of years, you know, kind of the challenge for computer designers is how can
link |
00:58:53.280
we take advantage of that? How can we turn those transistors into better computers faster,
link |
00:58:58.480
typically? And so there was an era, I guess in the 80s and 90s where computers were
link |
00:59:06.320
doubling performance every 18 months. And if you weren't around then, what would happen is
link |
00:59:12.480
you had your computer and your friend's computer, which was like a year or year and a half newer,
link |
00:59:18.880
and it was much faster than your computer. And he or she could get their work done
link |
00:59:23.520
much faster than your time consumers. So people took their computers, perfectly good computers,
link |
00:59:28.480
and threw them away to buy a newer computer because the computer one or two years later
link |
00:59:34.320
was so much faster. So that's what the world was like in the 80s and 90s. Well, with the slowing
link |
00:59:40.800
down of Morris Law, that's no longer true, right? Now with that desktop computers with the laptops,
link |
00:59:47.680
I only get a new laptop when it breaks, right? Damn, the display broke. I got to buy a new
link |
00:59:54.880
computer. But before you would throw them away because they were just so sluggish compared
link |
01:00:00.240
to the latest computers. So that's, you know, that's a huge change of what's gone on.
link |
01:00:09.360
So but since this lasted for decades, kind of programmers and maybe all of society is used
link |
01:00:17.040
to computers getting faster regularly. We now believe those of us who are in computer design,
link |
01:00:23.840
it's called computer architecture, that the path forward is instead is to add accelerators
link |
01:00:30.240
that only work well for certain applications. So since Morris Law is slowing down, we don't
link |
01:00:40.000
think general purpose computers are going to get a lot faster. So the Intel processes of the world
link |
01:00:45.120
are not going to have been getting a lot faster. They've been barely improved me like a few percent
link |
01:00:50.720
a year. It used to be doubling every 18 months and now it's doubling every 20 years. So it was
link |
01:00:55.920
so it was just shocking. So to be able to deliver on what Morris Law used to do, we think what's
link |
01:01:01.200
going to happen. What is happening right now is people adding accelerators to their microprocessors
link |
01:01:08.720
that only work well for some domains. And by sheer coincidence, at the same time that this
link |
01:01:15.920
is happening, has been this revolution in artificial intelligence called machine learning.
link |
01:01:20.880
So with, as I'm sure your other guests have said, AI had these two competing schools of
link |
01:01:30.400
thought is that we could figure out artificial intelligence by just writing the rules top down
link |
01:01:35.360
or that was wrong. You had to look at data and infer what the rules are, the machine learning,
link |
01:01:41.200
and what's happened in the last decade or eight years as machine learning has won.
link |
01:01:46.320
And it turns out that machine learning, the hardware you build for machine learning is pretty
link |
01:01:52.320
much multiply. The matrix multiply is a key feature for the way people machine learning is
link |
01:01:58.720
done. So that's a godsend for computer design. We know how to make matrix multiply run really
link |
01:02:05.840
fast. So general purpose microprocessors are slowing down. We're adding accelerators for
link |
01:02:10.640
machine learning that fundamentally are doing matrix multiplies much more efficiently than
link |
01:02:15.120
general purpose computers have done. So we have to come up with a new way to accelerate things.
link |
01:02:20.400
The danger of only accelerating one application is how important is that application turns
link |
01:02:25.360
it turns like machine learning gets used for all kinds of things. So serendipitously we found
link |
01:02:32.640
something to accelerate that's widely applicable. And we don't even we're in the middle of this
link |
01:02:38.080
revolution of machine learning. We're not sure what the limits of machine learning are. So this
link |
01:02:42.480
has been kind of a godsend. If you're going to be able to excel deliver on improved performance,
link |
01:02:49.760
as long as people are moving their programs to be embracing more machine learning, we know how
link |
01:02:56.400
to give them more performance even as Moore's law is slowing down. And counterintuitively,
link |
01:03:02.000
the machine learning mechanism, you can say is domain specific, but because it's leveraging
link |
01:03:08.640
data, it's actually could be very broad in terms of in terms of the domains that could be applied
link |
01:03:16.960
in. Yeah, that's exactly right. Sort of it's almost sort of people sometimes talk about the idea
link |
01:03:22.960
of software 2.0. We're almost taking another step up in the abstraction layer in designing
link |
01:03:30.480
machine learning systems, because now you're programming in the space of data in the space
link |
01:03:35.200
in the space of hyper parameters, it's changing fundamentally the nature of programming. And
link |
01:03:40.240
so the specialized devices that that accelerate the performance, especially neural network based
link |
01:03:46.080
machine learning systems might become the new general. Yeah. So the this thing that's interesting
link |
01:03:53.120
point out, these are not coral, these are not tied together. The enthusiasm about machine learning
link |
01:04:00.480
about creating programs driven from data that we should figure out the answers from data rather
link |
01:04:05.840
than kind of top down, which classically the way most programming is done in the way artificial
link |
01:04:11.200
intelligence used to be done. That's a movement that's going on at the same time. Coincidentally,
link |
01:04:17.280
and the first word machine learning is machines, right? So that's going to increase the demand
link |
01:04:23.120
for computing. Because instead of programmers being smart writing those those things down,
link |
01:04:28.480
we're going to instead use computers to examine a lot of data to kind of create the programs.
link |
01:04:32.960
That's the idea. And remarkably, this gets used for all kinds of things very successfully,
link |
01:04:39.920
the image recognition, the language translation, the game playing, and you know, it gets into
link |
01:04:46.880
pieces of the software stack like databases and stuff like that. We're not quite sure
link |
01:04:51.280
how general purpose it is, but that's going on independent of this hardware stuff.
link |
01:04:54.880
What's happening on the hardware side is Moore's law is slowing down right when we need a lot more
link |
01:04:59.040
cycles. It's failing us right when we need it because there's going to be a greater increase
link |
01:05:05.760
in computing. And then this idea that we're going to do so called domain specific, here's a domain
link |
01:05:12.000
that your greatest fear is you'll make this one thing work. And that'll help, you know,
link |
01:05:18.080
5% of the people in the world. Well, this looks like it's a very general purpose thing.
link |
01:05:23.120
So the timing is fortuitous that if we can, perhaps if we can keep building hardware that
link |
01:05:29.840
will accelerate machine learning, the neural networks, that'll beat the timing will be right
link |
01:05:36.560
that that neural network revolution will transform your software, the so called software 2.0.
link |
01:05:43.200
And the software of the future will be very different from the software of the past. And
link |
01:05:47.440
just as our microprocessors, even though we're still going to have that same basic risk instructions,
link |
01:05:52.960
to run a big pieces of the software stack like user interfaces and stuff like that,
link |
01:05:58.080
we can accelerate the kind of the small piece that's computationally impensive. It's not lots
link |
01:06:02.800
of lines of code. But it takes a lot of cycles to run that code, that that's going to be the
link |
01:06:08.160
accelerator piece. And so this that's what makes this from a computer designers perspective,
link |
01:06:14.240
a really interesting decade. But Hennessy and I talked about in the title of our Turing Warren
link |
01:06:19.760
speech is a new golden age. We we see this as a very exciting decade, much like when we were
link |
01:06:27.840
assistant professors, and the risk stuff was going on, that was a very exciting time was where
link |
01:06:32.160
we were changing what was going on. We see this happening again, tremendous opportunities of people
link |
01:06:37.920
because we're fundamentally changing how software is built and how we're running it.
link |
01:06:42.640
So which layer of the abstraction do you think most of the acceleration might be happening?
link |
01:06:47.920
If you look in the next 10 years, sort of Google is working on a lot of exciting stuff with the
link |
01:06:52.560
TPU, sort of there's a closer to the hardware that could be optimizations around the around closer
link |
01:06:59.360
to the instruction set that could be optimization at the compiler level, it could be even at the
link |
01:07:03.840
higher level software stack. Yeah, it's going to be. I mean, if you think about the old risk
link |
01:07:09.120
system, it was both it was software hardware was the compiler's improving as well as the
link |
01:07:16.960
architecture improving and that that's likely to be the way things are now with machine learning,
link |
01:07:22.960
they they're using domain specific languages, the languages like TensorFlow and PyTorch are
link |
01:07:30.640
very popular with the machine learning people that those are the raising the level of abstraction
link |
01:07:35.360
is easier for people to write machine learning in these domain specific languages like like
link |
01:07:41.440
PyTorch in TensorFlow. So where the most optimization might happen. And so and so there'll be both the
link |
01:07:48.400
compiler piece and the hardware piece underneath it. So as you kind of the fatal flaw for hardware
link |
01:07:54.240
people is to create really great hardware but not have brought along the compilers and what
link |
01:07:59.680
we're seeing right now in the marketplace because of this enthusiasm around hardware for machine
link |
01:08:05.280
learning is getting, you know, probably billions of dollars invested in startup companies, we're
link |
01:08:11.120
seeing startup companies go belly up because they focused on the hard work but didn't bring the
link |
01:08:16.560
software stack along. We talked about benchmarks earlier. So I participated in machine learning
link |
01:08:23.920
didn't really have a set of benchmarks. I think just two years ago, they didn't have a set of
link |
01:08:28.000
benchmarks. And we've created something called ML perf, which is machine learning benchmark
link |
01:08:33.520
suite and pretty much the companies who didn't invest in the software stack couldn't run ML
link |
01:08:39.920
perf very well. And the ones who did invest in software stack did and we're seeing, you know,
link |
01:08:44.720
like kind of in computer architecture, this is what happens, you have these arguments about risk
link |
01:08:48.320
versus this, people spend billions of dollars in the marketplace to see who wins. And it's not,
link |
01:08:52.880
it's not a perfect comparison, but it kind of sorts things out. And we're seeing companies
link |
01:08:57.920
go out of business and then companies like, like, there's a company in Israel called Habana.
link |
01:09:04.000
They came up with machine learning accelerators. They had good ML perf scores. Intel had acquired
link |
01:09:11.600
a company earlier called Nirvana a couple years ago. They didn't reveal their ML perf scores,
link |
01:09:16.640
which was suspicious. But a month ago, Intel announced that they're canceling the Nirvana
link |
01:09:22.560
product line. And they bought Habana for $2 billion. And Intel's going to be shipping Habana
link |
01:09:28.480
chips, which have hardware and software and run the ML perf programs pretty well. And that's going
link |
01:09:34.720
to be their product line in the future. Brilliant. So maybe just a link or briefly ML perf. I love
link |
01:09:41.200
metrics. I love standards that everyone can gather around. What are some interesting aspects of that
link |
01:09:47.200
portfolio of metrics? Well, one of the interesting metrics is, you know, what we thought it was,
link |
01:09:52.880
it was, you know, we, I was involved in the start, you know, we, that Peter Mattson is leading the
link |
01:09:58.800
effort from Google. Google got it off the ground, but we had to reach out to competitors and say,
link |
01:10:05.200
there's no benchmarks here. This, we think this is bad for the field. It'll be much better if we
link |
01:10:09.200
look at examples like in the risk days, there was an effort to create a, for the, the people in the
link |
01:10:14.800
risk community got together, competitors got together, we're building risk microprocessors
link |
01:10:18.800
to agree on a set of benchmarks that were called spec. And that was good for the industry is rather
link |
01:10:23.920
before the different risk architectures were arguing, well, you can believe my performance
link |
01:10:28.000
others, but those other guys are liars. And that didn't do any good. So we agreed on a set of
link |
01:10:33.360
benchmarks. And then we could figure out who was faster between the various risk architectures,
link |
01:10:37.840
but it was a little bit faster. But that grew the market rather than, you know, people were
link |
01:10:42.320
afraid to buy anything. So we argued the same thing would happen with ML perf, you know, companies
link |
01:10:47.120
like NVIDIA were, you know, maybe worried that it was some kind of trap, but eventually, we all
link |
01:10:52.080
got together to create a set of benchmarks and do the right thing, right? And we agree on the results
link |
01:10:57.920
and so we can see whether TPUs or GPUs or CPUs are really faster and how much the faster. And I
link |
01:11:05.600
think from an engineer's perspective, as long as the results are fair, you're, you can live with it.
link |
01:11:10.720
Okay, you know, you kind of tip your hat to, to your colleagues at another institution, boy,
link |
01:11:15.600
they did a better job than us. What you, what you hate is if it's, it's false, right? They're
link |
01:11:19.760
making claims and it's just marketing bullshit. And, you know, and that's affecting sales.
link |
01:11:23.920
So you, from an engineer's perspective, as long as it's a fair comparison, and we don't come in
link |
01:11:28.640
first place, that's too bad, but it's fair. So we wanted to create that environment for ML perf.
link |
01:11:33.600
And so now there's 10 companies, I mean, 10 universities and 50 companies involved. So pretty
link |
01:11:40.880
much ML perf has is the, is the way you measure machine learning performance. And, and it didn't
link |
01:11:50.000
exist even two years ago. One of the cool things that I enjoy about the internet has a few downsides,
link |
01:11:55.920
but one of the nice things is people can see through BS a little better with the presence of
link |
01:12:01.760
these kinds of metrics. So it's really nice companies like Google and Facebook and Twitter.
link |
01:12:07.440
Now it's the cool thing to do is to put your engineers forward and to actually show off
link |
01:12:12.320
how well you do on these metrics. There's not sort of it, well, there's less of a desire to do
link |
01:12:18.800
marketing less. So am I, am I sort of naive? No, I think I was trying to understand that,
link |
01:12:24.880
you know, what's changed from the 80s in this era. I think because of things like social
link |
01:12:29.840
networking, Twitter and stuff like that, if you, if you put up, you know, a bullshit stuff,
link |
01:12:35.760
right? That's just, you know, mis, purposely misleading, you know, that you can get a violent
link |
01:12:42.320
reaction and social media pointing out the flaws in your arguments, right? And so from a marketing
link |
01:12:48.400
perspective, you have to be careful today that you didn't have to be careful that there'll be people
link |
01:12:54.720
who, who put out the flaw, you can get the word out about the flaws and what you're saying much
link |
01:13:00.080
more easily today than in the past. You used to be, it was used to be easier to get away with it.
link |
01:13:04.240
And the other thing that's been happening in terms of showing off engineers is just
link |
01:13:10.560
in the software side, people have largely embraced open source software. But it, it was
link |
01:13:16.880
20 years ago, it was a dirty word at Microsoft. And today Microsoft is one of the big proponents
link |
01:13:22.000
of open source software. The kind of that's the standard way most software gets built,
link |
01:13:26.720
which really shows off your engineers, because you can see, if you look at the source code,
link |
01:13:31.520
you can see who are making the commits, who's making the improvements, who are the engineers
link |
01:13:37.600
at all these companies who are, are, you know, really great programmers and engineers and making
link |
01:13:45.840
really solid contributions, which enhances their reputations and the reputation of the companies.
link |
01:13:51.520
But that's of course not everywhere. Like in the space that I work more in is autonomous vehicles,
link |
01:13:56.800
and there's still the machinery of hype and marketing still very strong there. And there's
link |
01:14:02.400
less willingness to be open in this kind of open source way and sort of benchmark. So ML Perf
link |
01:14:08.400
is represents the machine learning world is much better at being open source about holding itself
link |
01:14:12.880
to standards of different, the amount of incredible benchmarks in terms of the different computer
link |
01:14:18.720
vision, natural angle processing tasks is incredible. You know, historically, it wasn't always that way.
link |
01:14:26.800
I had a graduate student working with me, David Martin. So for in computer in some fields,
link |
01:14:32.480
benchmarking is been around forever. So computer architecture, databases, maybe operating systems,
link |
01:14:41.680
benchmarks are the way you measure progress. But he was working with me and then started
link |
01:14:48.240
working with Jitendra Malik and he's Jitendra Malik and computer vision space. I guess you've
link |
01:14:53.680
interviewed Jitendra. And David Martin told me, they don't have benchmarks. Everybody has their
link |
01:15:00.000
own vision algorithm and the way that my, here's my image, look at how well I do. And everybody
link |
01:15:05.040
had their own image. So David Martin, back when he did his dissertation, figured out a way to do
link |
01:15:10.800
benchmarks. He had a bunch of graduate students identify images and then ran benchmarks to see
link |
01:15:16.960
which algorithms run well. And that was, as far as I know, kind of the first time people did
link |
01:15:22.880
benchmarks and computer vision, which was predated all, you know, the things that eventually led
link |
01:15:28.160
to ImageNet and stuff like that. But then, you know, the vision community got religion. And then
link |
01:15:32.240
once we got as far as ImageNet, then that let the guys in Toronto be able to win the ImageNet
link |
01:15:40.800
competition. And then, you know, that changed the whole world. It's a scary step actually,
link |
01:15:44.960
because when you enter the world of benchmarks, you actually have to be good to participate,
link |
01:15:50.880
as opposed to, yeah, you can just, you just believe you're the best in the world.
link |
01:15:56.800
And I think the people, I think they weren't purposely misleading. I think, if you don't
link |
01:16:02.160
have benchmarks, I mean, how do you know, you know, you could have your intuition is kind of
link |
01:16:06.640
like the way we did just do computer architecture. Your intuition is that this is the right
link |
01:16:10.640
instruction set to do this job. I believe in my experience, my hunch is that's true.
link |
01:16:16.800
We had to get to make things more quantitative to make progress. And so I just don't know how,
link |
01:16:23.840
you know, in fields that don't have benchmarks, I don't understand how they figure out how they're
link |
01:16:27.840
making progress. We're kind of in the vacuum tube days of quantum computing. What are your
link |
01:16:34.880
thoughts in this wholly different kind of space of architectures? You know, I actually, you know,
link |
01:16:40.880
quantum computing is ideas been around for a while. And I actually thought, well, I sure hope
link |
01:16:47.280
I retire before I have to start teaching this. I'd say, because I talk about give these talks
link |
01:16:53.120
about the slowing of Morris law, and, you know, when we need to change by doing domain specific
link |
01:17:00.080
accelerators, a common questions say, what about computing? The reason that comes up, it's in the
link |
01:17:04.880
news all the time. So I think the keep and the third thing to keep in mind is quantum computing
link |
01:17:09.680
is not right around the corner. There have been two national reports, one by the national
link |
01:17:14.800
campus of engineering and other by the computing consortium, where they did a frank assessment
link |
01:17:19.920
of quantum computing. And both of those reports said, you know, as far as we can tell, before you
link |
01:17:27.440
get error corrected quantum computing, it's a decade away. So I think of it like nuclear fusion,
link |
01:17:33.200
right? There have been people who've been excited about nuclear fusion a long time. If we ever get
link |
01:17:37.280
nuclear fusion, it's going to be fantastic for the world. I'm glad people are working on it. But,
link |
01:17:42.160
you know, it's not right around the corner. Those two reports, to me, say probably it'll
link |
01:17:48.400
be 2030 before quantum computing is something that could happen. And when it does happen,
link |
01:17:55.120
you know, this is going to be big science stuff. This is, you know, micro Kelvin,
link |
01:18:00.320
almost absolute zero things that if they vibrate, if truck goes by, it won't work, right? So this
link |
01:18:06.400
will be in data center stuff, we're not going to have a quantum cell phone. And it's probably a 2030
link |
01:18:12.880
kind of thing. So I'm happy that other people are working on it. But just, you know, it's hard
link |
01:18:17.920
with all the news about it, not to think that it's right around the corner. And that's why we need
link |
01:18:23.760
to do something as Moore's law is slowing down to provide the computing, keep computing getting
link |
01:18:29.280
better for this next decade. And, and, you know, we shouldn't be betting on quantum computing,
link |
01:18:36.720
or expecting quantum computing to deliver in the next few years. It's, it's probably
link |
01:18:41.360
further off. You know, I'd be happy to be wrong. It'd be great if quantum computing is going to
link |
01:18:45.120
commercially viable. But it will be a set of applications. It's not a general purpose
link |
01:18:50.400
computation. So it's going to do some amazing things. But there'll be a lot of things that
link |
01:18:54.800
probably, you know, the, the old fashioned computers are going to keep doing better for
link |
01:19:00.000
quite a while. And there'll be a teenager 50 years from now, watching this video saying,
link |
01:19:05.120
look how silly David Patterson was saying, I said 2030. I didn't say, I didn't say never.
link |
01:19:12.080
We're not going to have quantum cell phones. So he's going to be watching it. Well, I,
link |
01:19:15.920
I mean, I, I think this is such a, you know, given we've had Moore's law, I just, I feel
link |
01:19:22.560
comfortable trying to do projects that are thinking about the next decade. I admire people
link |
01:19:27.840
who are trying to do things that are 30 years out. But it's such a fast moving field. I just
link |
01:19:33.120
don't know how to, I'm not good enough to figure out what, what's the problem is going to be in
link |
01:19:38.160
30 years. You know, 10 years is hard enough for me. So maybe if it's possible to untangle your
link |
01:19:43.680
intuition a little bit, I spoke with Jim Keller. I don't know if you're familiar with Jim. And he,
link |
01:19:49.040
he is trying to sort of be a little bit rebellious and to try to think that
link |
01:19:54.640
he quotes me as being wrong. Yeah. So this, this is the back.
link |
01:19:59.760
For the record, Jim talks about that he has an intuition that Moore's law is not in fact,
link |
01:20:07.120
in fact, dead yet. And that it may continue for some time to come.
link |
01:20:10.960
What are your thoughts about Jim's ideas in this space?
link |
01:20:14.080
Yeah, this is just, this is just marketing. So, but Gordon Moore said is a quantitative prediction.
link |
01:20:21.200
We can check the facts, right? Which is doubling the number of transistors every two years. So we
link |
01:20:27.520
can look back at Intel for the last five years and ask him, let's look at DRAM chips
link |
01:20:32.720
six years ago. So that would be three two year periods. So then our DRAM chips have eight times
link |
01:20:42.880
as many transistors as they did six years ago. We can look up Intel microprocessors six years ago.
link |
01:20:49.840
If Moore's law is continuing, it should have eight times as many transistors
link |
01:20:54.480
as six years ago. The answer in both those cases is no.
link |
01:20:58.320
No. The problem has been because Moore's law was kind of genuinely embraced by the semiconductor
link |
01:21:07.200
industry is they would make investments in similar equipment to make Moore's law come true.
link |
01:21:13.760
Semiconductor improving and Moore's law in many people's minds are the same thing.
link |
01:21:19.760
So when I say, and I'm factually correct that Moore's law is no longer holds,
link |
01:21:26.320
we are not doubling transistors every years years. The downside for a company like Intel is people
link |
01:21:32.560
think that means it stopped, that technology has no longer improved. And so Jim is trying to
link |
01:21:43.120
counteract the impression that semiconductors are frozen in 2019 are never going to get better.
link |
01:21:51.280
So I never said that. All I said was Moore's law is no more. And I'm strictly looking at the
link |
01:21:58.000
number of transistors because that's what Moore's law is. There's been this aura associated with
link |
01:22:06.800
Moore's law that they've enjoyed for 50 years about look at the field we're in. We're doubling
link |
01:22:12.800
transistors every two years. What an amazing field, which is an amazing thing that they were able to
link |
01:22:17.200
pull off. But even as Gordon Moore said, no exponential can last forever. It lasted for 50
link |
01:22:22.480
years, which is amazing. And this is a huge impact on the industry because of these changes
link |
01:22:27.920
that we've been talking about. So he claims, because he's trying to act, he claims Patterson
link |
01:22:34.320
says Moore's law is no more and look at all, look at it, it's still going. And TSMC, they say it's
link |
01:22:41.120
no longer, but there's quantitative evidence that Moore's law is not continuing. So what I say now
link |
01:22:46.720
to try and, okay, I understand the perception problem when I say Moore's law has stopped. Okay,
link |
01:22:53.600
so now I say Moore's law is slowing down. And I think Jim, which is another way of, if he's,
link |
01:23:00.400
if it's predicting every two years, and I say it's slowing down, then that's another way of
link |
01:23:04.320
saying it doesn't hold anymore. And I think Jim wouldn't disagree that it's slowing down.
link |
01:23:10.720
Because that sounds like it's, things are still getting better and just not as fast,
link |
01:23:14.560
which is another way of saying Moore's law isn't working anymore. It's still good for marketing.
link |
01:23:19.760
But what's your, you're not, you don't like expanding the definition of Moore's law sort of
link |
01:23:27.120
naturally, it's an educator, you know, are, you know, is this like modern politics? Is
link |
01:23:32.480
everybody get their own facts? Or do we have, you know, Moore's law was a crisp, you know,
link |
01:23:38.400
a more, it was Carver Mead looked at his, Moore's conversations, drawing on a log log scale,
link |
01:23:44.880
a straight line. And that's what the definition of Moore's law is. There's this other, what Intel
link |
01:23:50.560
did for a while, interestingly, before Jim joined them, they said, oh, no, Moore's law isn't the
link |
01:23:56.320
number of doubling, isn't really doubling transistors every two years. Moore's law is the cost of the
link |
01:24:01.840
individual transistor going down, cutting in half every two years. Now, that's not what he said,
link |
01:24:08.640
but they reinterpreted it because they believed that the cost of transistors was continuing
link |
01:24:15.040
to drop even if they couldn't get twice the main chips. Many people in industry have told me,
link |
01:24:20.080
that's not true anymore, that basically then the, in more recent technologies that got more
link |
01:24:25.440
complicated, the actual cost of transistor went up. So even the, a corollary might not be true,
link |
01:24:32.400
but certainly, you know, Moore's law, that was the beauty of Moore's law. It was a very simple,
link |
01:24:38.320
it's like he equals MC squared, right? It was like, wow, what an amazing prediction. It's so easy
link |
01:24:44.000
to understand the implications are amazing. And that's why it was so famous as a prediction. And
link |
01:24:50.160
this, this reinterpretation of what it meant and changing is, you know, his revisionist history.
link |
01:24:56.160
And I'd, I'd be happy. And they're not claiming there's a new Moore's law. They're not saying,
link |
01:25:04.160
by the way, it's, instead of every two years, it's every three years. I don't think they've,
link |
01:25:09.680
I don't think they want to say that. I think what's going to happen is the new technology
link |
01:25:13.120
remissions, H1 is going to get a little bit slower. So it is slowing down. The improvements won't be
link |
01:25:20.320
as great. And that's why we need to do new things. Yeah, I don't like that. The idea of Moore's law
link |
01:25:26.080
is tied up with marketing. It would be nice if, whether it's marketing or it's, it's,
link |
01:25:32.880
well, it could be affecting business, but it could also be infecting the imagination of engineers.
link |
01:25:37.280
Is if, if Intel employees actually believe that we're frozen in 2019, well, that's,
link |
01:25:43.600
that would be bad for Intel. They, not just Intel, but everybody, it's inspired Moore's law is
link |
01:25:49.680
inspiring. Yeah, well, everybody, but what's happening right now, talking to people in
link |
01:25:57.200
who have working in national offices and stuff like that, a lot of the computer science community
link |
01:26:02.800
is unaware that this is going on, that we are in an era that's going to need radical change at
link |
01:26:08.960
lower levels that could affect the whole software stack. This, you know, if, if Intel, if you're
link |
01:26:16.880
using cloud stuff and the servers that you get next year are basically only a little bit faster
link |
01:26:22.080
than the servers you got this year, you need to know that. And we need to start innovating
link |
01:26:27.840
to start delivering on it. If you're counting on your software, your software going to add a lot
link |
01:26:32.400
more features, assuming the computers are going to get faster. That's not true. So are you going to
link |
01:26:36.320
have to start making your software stack more efficient? Are you going to have to start learning
link |
01:26:39.840
about machine learning? So it's, you know, it's kind of a, it's a warning or call for arms that
link |
01:26:46.160
the world is changing right now. And a lot of people, a lot of computer science PhDs are unaware
link |
01:26:50.960
of that. So a way to try and get their attention is to say that Moore's law is slowing down and
link |
01:26:56.720
that's going to affect your assumptions. And, you know, we're trying to get the word out. And
link |
01:27:01.520
when companies like TSMC and Intel say, Oh, no, no, no, Moore's law is fine. Then people think,
link |
01:27:07.120
Okay, I don't have to change my behavior. I'll just get the next servers. And, you know,
link |
01:27:12.240
if they start doing measurements, they'll realize what's going on.
link |
01:27:15.040
It'd be nice to have some transparency and metrics for, for the lay person
link |
01:27:20.560
to be able to know if computers are getting faster and not to forget. Yeah, there are,
link |
01:27:25.360
there are a bunch of, most people kind of use clock rate as, as a measure performance, you
link |
01:27:31.760
know, it's not a perfect one. But if you've noticed clock rates are more or less the same
link |
01:27:36.080
as they were five years ago, computers are a little better than they aren't, they haven't
link |
01:27:42.160
made zero progress, but they've made small progress. So you, there's some indications
link |
01:27:46.080
out there and then our behavior, right? Nobody buys the next laptop because it's so much faster
link |
01:27:51.200
than the laptop from the past for cell phones. I think I don't know why people buy new cell phones,
link |
01:28:00.480
because of the new ones announced, the cameras are better, but that's kind of domain specific,
link |
01:28:04.720
right? They're putting special purpose hardware to make the processing of images go much better.
link |
01:28:10.160
So that's that that's the way they're doing it. They're not particularly, it's not that the arm
link |
01:28:15.200
processes in there is twice as fast as much as they've added accelerators to help the experience
link |
01:28:21.280
of the phone. Can we talk a little bit about one other exciting space, arguably the same level of
link |
01:28:28.800
impact as your work with risk is RAID. In your, in 1988, you coauthored a paper, a case for redundant
link |
01:28:39.280
arrays of inexpensive disks, hence RAID RAID. So that's where you introduced the idea of RAID.
link |
01:28:47.360
Incredible that that little, I mean, little, that paper kind of had this ripple effect and had a
link |
01:28:54.320
really revolutionary effect. So first, what is RAID? So this is work I did with my colleague,
link |
01:29:00.880
Randy Katz, and a star graduate student, Garth Gibson. So we had just done the fourth generation
link |
01:29:07.440
risk project. And Randy Katz, which had an early Apple Macintosh computer. At this time, everything
link |
01:29:17.840
was done with floppy disks, which are old technologies that could store things that didn't
link |
01:29:26.160
have much capacity. And you had to, to get any work done, you're always sticking your little
link |
01:29:31.360
floppy disk in and out, because they didn't have much capacity. But they started building
link |
01:29:35.440
what are called hard disk drives, which is magnetic material that can remember information
link |
01:29:41.440
storage for the Mac. And Randy asked the question when he saw this disk next to his Mac, gee,
link |
01:29:50.400
these are brand new small things. Before that, for the big computers that the disk would be the
link |
01:29:55.440
size of washing machines. And here's something the size of a kind of the size of a book or so.
link |
01:30:01.600
Since I wonder what we could do with that. Well, Randy was involved in the fourth generation
link |
01:30:09.920
risk project here at Berkeley in the 80s. So we figured out a way how to make the computation
link |
01:30:14.320
part, the processor part go a lot faster. But what about the storage part? Can we do something to
link |
01:30:20.000
make it faster? So we hit upon the idea of taking a lot of these disks developed for personal
link |
01:30:26.080
computers and Macintoshes and putting many of them together instead of one of these washing
link |
01:30:30.480
machine sized things. And so we wrote the first draft of the paper, and we'd have 40 of these
link |
01:30:35.680
little PC disks, instead of one of these washing machine sized things, and they would be much
link |
01:30:41.440
cheaper because they're made for PCs. And they could actually kind of be faster because there
link |
01:30:45.600
was 40 of them rather than one of them. And so we wrote a paper like that and send it to one of
link |
01:30:50.480
former Berkeley students at IBM. And he says, Well, this is all great and good. But what about
link |
01:30:54.160
the reliability of these things? Now you have 40 of these devices, each of which are kind of PC
link |
01:31:00.480
quality. So they're not as good as these IBM washing machines, IBM dominated the storage
link |
01:31:07.280
genesis. So the reliability is gonna be awful. And so when we calculated it out, instead of,
link |
01:31:12.960
you know, it breaking on average once a year, it would break every two weeks. So we thought about
link |
01:31:18.880
the idea and said, Well, we got to address the reliability. So we did it originally
link |
01:31:23.520
performance, but we had to do reliability. So the name redundant array of inexpensive disks is
link |
01:31:29.520
array of these disks inexpensive life for PCs, but we have extra copies. So if one breaks,
link |
01:31:36.720
we won't lose all the information, we'll have enough redundancy that we could let some break and
link |
01:31:41.600
we can still preserve the information. So the name is an array of inexpensive disks, this is
link |
01:31:46.480
a collection of these PCs. And the R part of the name was the redundancy, so they'd be reliable.
link |
01:31:52.160
And it turns out if you put a modest number of extra disks in one of these arrays, it could
link |
01:31:56.640
actually not only be as faster and cheaper than one of these washing machine disks,
link |
01:32:01.360
it could be actually more reliable. Because you could have a couple of breaks even with these
link |
01:32:05.680
cheap disks, whereas one failure with the washing machine thing would knock it out.
link |
01:32:10.400
Did you, did you have a sense just like with risk that in 30 years that followed,
link |
01:32:17.360
RAID would take over as a mechanism for storage? I'd say, I think I'm naturally an optimist.
link |
01:32:27.280
But I thought our ideas were right. I thought kind of like Morris Law, it seemed to me,
link |
01:32:33.840
if you looked at the history of the disk drives, they went from washing machine size things and
link |
01:32:38.000
they were getting smaller and smaller. And the volumes were with the smaller disk drives because
link |
01:32:43.360
that's where the PCs were. So we thought that was a technological trend that disk drives,
link |
01:32:49.600
the volume of disk drives was going to be getting smaller and smaller devices, which were true.
link |
01:32:54.800
They were the size of a, I don't know, eight inches diameter, then five inches, then three
link |
01:32:59.840
inches diameters. And so that it made sense to figure out how to deal things with an array of
link |
01:33:05.520
disks. So I think it was one of those things where logically, we think the technological
link |
01:33:10.640
forces were on our side, that it made sense. So we expected it to catch on, but there was that same
link |
01:33:17.280
kind of business question. IBM was the big pusher of these disk drives in the real world,
link |
01:33:23.840
where the technical advantage get turned into a business advantage or not. It proved to be true.
link |
01:33:28.960
And so we thought we were sound technically, and it was unclear whether the business side,
link |
01:33:35.840
but we kind of, as academics, we believe that technology should win and it did.
link |
01:33:41.120
And if you look at those 30 years, just from your perspective, are there interesting developments
link |
01:33:47.200
in the space of storage that have happened in that time? Yeah. The big thing that happened,
link |
01:33:52.640
well, the couple of things that happened, what we did had a modest amount of storage. So as
link |
01:33:57.920
redundancy, as people built bigger and bigger storage systems, they've added more redundancy
link |
01:34:04.160
so they could add more failures. And the biggest thing that happened in storage is,
link |
01:34:08.720
for decades, it was based on things physically spinning called hard disk drives. We used to
link |
01:34:16.240
turn on your computer and it would make a noise. What that noise was was the disk drives spinning,
link |
01:34:21.440
and they were rotating at like 60 revolutions per second. And it's like, if you remember the vinyl
link |
01:34:29.920
records, if you've ever seen those, that's what it looked like. And there was like
link |
01:34:33.600
a needle like on a vinyl record that was reading it. So the big drive change is switching that
link |
01:34:38.560
over to a semiconductor technology called flash. So within the last, I'd say about decade,
link |
01:34:44.720
is increasing fraction of all the computers in the world are using semiconductor for storage,
link |
01:34:51.040
the flash drive, instead of being magnetic, their optical, their semiconductor writing of
link |
01:35:00.000
information into very densely. And that's been a huge difference. So all the cell phones in the
link |
01:35:06.560
world use flash, most of the laptops use flash, all the embedded devices use flash instead of
link |
01:35:11.840
storage. Still in the cloud, magnetic disks are more economical than flash, but they use both
link |
01:35:19.280
in the cloud. So it's been a huge change in the storage industry, this the switching from
link |
01:35:26.080
primarily disk to being primarily semiconductor. For the individual disk, but still the rate
link |
01:35:30.400
mechanism applies to those different kinds of disk. Yes, the people will still use rate ideas,
link |
01:35:35.920
because it's kind of what's different, kind of interesting kind of psychologically, if you
link |
01:35:41.360
think about it. People have always worried about the reliability of computing since the earliest
link |
01:35:46.560
days. So kind of, but if we're talking about computation, if your computer makes a mistake,
link |
01:35:52.880
and the computer says we, the computer has ways to check and say, oh, we screwed up,
link |
01:35:59.120
we made a mistake. What happens is that program that was running, you have to redo it, which is
link |
01:36:04.560
a hassle. For storage, if you've sent important information away, and it loses that information,
link |
01:36:12.960
you go nuts. This is the worst. Oh my God. So if you have a laptop and you're not backing it up
link |
01:36:18.880
on the cloud or something like this, and your disk drive breaks, which it can do, you'll lose all
link |
01:36:25.120
that information, and you just go crazy, right? So the importance of reliability for storage is
link |
01:36:30.160
tremendously higher than the importance of reliability for computation because of the
link |
01:36:34.240
consequences of it. So yes, so rate ideas are still very popular, even with the switch of the
link |
01:36:39.360
technology. Although, you know, flash drives are more reliable. You know, if you're not doing anything
link |
01:36:44.880
like backing it up to get some redundancy, so they handle it, you're taking great risks.
link |
01:36:53.600
You said that for you, and possibly for many others, teaching and research don't
link |
01:36:58.800
conflict with each other, as one might suspect. And in fact, they kind of complement each other.
link |
01:37:03.280
So maybe a question I have is, how has teaching helped you in your research or just in your
link |
01:37:08.880
entirety as a person who both teaches and does research and just thinks and creates new ideas
link |
01:37:17.040
in this world? Yes. I think what happens is when you're a college student, you know there's this
link |
01:37:22.880
kind of tenure system and doing research. So kind of this model that is popular in America,
link |
01:37:30.160
I think America really made it happen, is we can attract these really great faculty to research
link |
01:37:34.720
universities, because they get to do research as well as teach. And that especially in fast
link |
01:37:39.760
moving fields, this means people are up to date and they're teaching those kind of things. So,
link |
01:37:44.000
but when you run into a really bad professor, a really bad teacher, I think the students think,
link |
01:37:49.040
well, this guy must be a great researcher, because why else could he be here? So as I, you know,
link |
01:37:54.960
I, after 40 years at Berkeley, we had a retirement party and I got a chance to reflect and I looked
link |
01:37:59.680
back at some things. That is not my experience. There's a, I saw a photograph of five of us
link |
01:38:07.280
in the department who won the Distinguished Teaching Award from campus, a very high honor.
link |
01:38:11.680
You know, I've got one of those, one of the highest honors. And so there are five of us
link |
01:38:15.200
on that picture. There's Manuel Blum, Richard Karp, me, Randy Cass and John Osterhout,
link |
01:38:23.440
contemporaries of mine. I mentioned Randy already. All of us are in the National Academy of Engineering.
link |
01:38:28.400
We've all run the Distinguished Teaching Award. Blum, Karp and I all have touring awards. Touring
link |
01:38:35.280
awards, right? You know, the highest award in computing. So that's the opposite, right? It's,
link |
01:38:43.040
what happens if you, it's, it's, they're highly correlated. So probably the other way to think of
link |
01:38:47.840
it, if you're very successful people, maybe successful at everything they do, it's not an
link |
01:38:53.440
either or. And, but it's an interesting question whether specifically, that's probably true, but
link |
01:38:58.480
specifically for teaching. If there's something in teaching that it's the Richard Feynman, right?
link |
01:39:04.160
Right. Is there something about teaching that actually makes your research, makes you think
link |
01:39:09.120
deeper and more outside the box and. Yeah, absolutely. I was going to bring up Feynman.
link |
01:39:14.160
I mean, he, he criticized the Institute of Advanced Studies. He, so the Institute of Advanced
link |
01:39:19.440
Studies was this thing that was created near Princeton, where Einstein and all these smart people
link |
01:39:23.520
went. And when he was invited, he, he thought it was a terrible idea. His, this is a university.
link |
01:39:28.720
It was supposed to be heaven, right? A university without any teaching,
link |
01:39:32.560
but he thought it was a mistake is getting up in the classroom and having to explain things to
link |
01:39:36.960
students and having them ask questions like, well, why is that true? Makes you stop and think. So he
link |
01:39:43.120
thinks, he thought, and I agree. I think that interaction between a research university and
link |
01:39:48.800
having students with bright young men asking hard questions at all time is, is synergistic.
link |
01:39:54.560
And, you know, a university without teaching wouldn't be as vital and exciting a place. And I think
link |
01:40:02.640
it helps stimulate the, the research. Another romanticized question, but what's your favorite
link |
01:40:10.160
concept or idea to teach? What inspires you or you see inspire the students? Is there something
link |
01:40:16.320
to pass to my or, or puts the fear of God in them? I don't know, whichever is most effective.
link |
01:40:22.240
I mean, in general, I think people are surprised. I've seen a lot of people who don't think they
link |
01:40:26.800
like teaching, come, come give guest lectures or teach a course and get hooked on seeing the
link |
01:40:33.520
lights turn on, right? Is people, you can explain something to people that they don't understand.
link |
01:40:39.040
And suddenly they get something, you know, that's, that's not, that's important and difficult. And
link |
01:40:44.400
just seeing the lights turn on is a, you know, it's a real satisfaction there. I don't think there's
link |
01:40:50.000
any specific example of that. It's just the general joy of seeing them, seeing them understand.
link |
01:40:59.120
I have to talk about this because I've wrestled. I do martial arts. Yeah. Of course, I love wrestling.
link |
01:41:05.120
I'm a huge, I'm Russian. So I, I had to talk to Dan Gable on podcast. So
link |
01:41:11.760
I, Dan Gable was my era kind of guy. So you've wrestled at UCLA among many other things you've
link |
01:41:18.080
done in your life, uh, competitively in sports and science and so on. You've, you've wrestled
link |
01:41:23.680
maybe again, continue with the romanticized questions, but uh, what have you learned about life?
link |
01:41:29.200
Yeah. And maybe even science from wrestling or from. Yeah, that's, in fact, um, I wrestled at UCLA,
link |
01:41:35.840
but also at El Camino Community College. And just right now we were in the state of California,
link |
01:41:42.000
we were state champions at El Camino. And in fact, I was talking to my mom and, uh, I got into UCLA,
link |
01:41:47.920
but I decided to go to the community college, which is, it's much harder to go to UCLA than
link |
01:41:53.040
the community college. And I asked, why did I make the decision? Cause I thought it was because
link |
01:41:57.120
of my girlfriend. She said, well, it was the girlfriend and, and you thought the wrestling
link |
01:42:00.160
team was really good. And we were right. We had a great wrestling team. We, we actually,
link |
01:42:04.800
uh, wrestled against UCLA at a tournament and we beat UCLA as a community college,
link |
01:42:11.440
which is just freshman and sophomore's. And the part of reason I brought this up is I'm
link |
01:42:15.840
going to go, they've invited me back at El Camino to give a, uh, a lecture next month.
link |
01:42:22.000
And so I'm, we've, uh, my friend who was on the wrestling team and, uh, that we're still together,
link |
01:42:28.640
we're right now reaching out to other members of the wrestling team. We can get together for a
link |
01:42:32.400
union. But in terms of me, it was a huge difference. I was, I was both, I was kind of, the age cut
link |
01:42:39.600
off. I was, it was December 1st. And so I was almost always the youngest person in my class.
link |
01:42:44.800
And I matured later on, you know, our family matured later. So I was almost always the smallest guy.
link |
01:42:51.440
So, you know, I took, you know, kind of nerdy courses, but I was wrestling. So wrestling was
link |
01:42:57.360
huge for my, uh, you know, self confidence in high school. And then, you know, I kind of got
link |
01:43:03.920
bigger at El Camino and in college. And so I had this, uh, kind of physical self confidence.
link |
01:43:11.440
And it's, and it's translated into research self confidence. Uh, and, uh, and also kind of,
link |
01:43:18.960
I've had this feeling even today in my seventies, you know, if something,
link |
01:43:23.920
if something going on in the streets, there's bad physically, I'm not going to ignore it.
link |
01:43:28.960
Right. I'm going to stand up and try and straighten that out. And that kind of confidence just
link |
01:43:33.520
carries through the entirety of your life. Yeah. And, and the same things happens intellectually.
link |
01:43:37.600
If there's something going on where people are saying something that's not true,
link |
01:43:41.520
I feel it's my job to stand up. And just like I would in the street, if there's something going on,
link |
01:43:46.880
somebody attacking some woman or something, I'm not, I'm not standing by and letting that get away.
link |
01:43:51.280
So I feel it's my job to stand up. So it's kind of ironically translates. Uh, the other things
link |
01:43:56.240
that turned out for both, I had really great college and, uh, high school coaches and they
link |
01:44:01.680
believed even though wrestling's an individual sport, that would be even more successful as a
link |
01:44:06.400
team. If we bonded together, you do things that we would support each other rather than everybody,
link |
01:44:11.760
you know, in wrestling, it's a one on one. And you could be everybody's on their own,
link |
01:44:15.280
but he felt if we bonded as a team, we'd succeed. So I kind of picked up those skills of how to
link |
01:44:20.880
form successful teams and how to, from wrestling. And so I think one of, most people would say,
link |
01:44:27.280
one of my strengths is I can create teams of faculty, large teams of faculty grad students,
link |
01:44:32.800
pull all together for a common goal and, you know, and, uh, often be successful at it. But I got,
link |
01:44:39.120
I got both of those things from wrestling. Also, I think I heard this line about if people are in
link |
01:44:45.040
kind of, you know, collision, you know, sports with physical contact, like wrestling or football
link |
01:44:51.120
and stuff like that, people are a little bit more, you know, assertive or something. So I think, uh,
link |
01:44:57.440
I think that also comes through as, you know, and I was, I didn't shy away from the risk,
link |
01:45:02.480
risk debates, you know, I was, I enjoyed taking on the arguments and stuff like that. So it was,
link |
01:45:07.920
uh, it was, uh, I'm really glad I did wrestling. I think it was really good for my self image and
link |
01:45:12.800
I learned a lot from it. So I think that's, you know, sports done well. You know, you, there's
link |
01:45:17.520
really, uh, lots of positives you can take about it of leadership, um, you know, how to, how to form
link |
01:45:24.080
teams and how, how to be successful. So we've talked about metrics a lot. There's a really cool, uh,
link |
01:45:29.680
in terms of bench press and weightlifting, pioneers metric that you've developed that we
link |
01:45:33.280
don't have time to talk about, but it's, uh, it's a really cool one that people should look into.
link |
01:45:37.200
It's rethinking the way we think about metrics and weightlifting. But let me talk about metrics
link |
01:45:41.520
more broadly since that appeals to you in all forms. Let's look at the most ridiculous, the
link |
01:45:47.680
biggest question of the meaning of life. If you were to try to put metrics on a life well lived,
link |
01:45:53.840
what would those metrics be? Yeah, a friend of mine, Randy Katz, said this. He said,
link |
01:46:01.520
you know, when it, when it's time to sign off, it's, it's, uh, the measure isn't the number
link |
01:46:07.120
of zeros in your bank account. It's the number of inches in the obituary in the New York Times.
link |
01:46:12.640
Let's see. He said it. I think, you know, having, uh, and you know, this, this is a cliché is that
link |
01:46:19.760
people don't die wishing they'd spent more time in the office, right? Uh, as I reflect upon my
link |
01:46:24.400
career, uh, there've been, you know, a half a dozen, a dozen things say I've been proud of.
link |
01:46:30.800
A lot of them aren't papers or scientific results. Certainly my family, my wife, we've been married,
link |
01:46:37.200
more than 50 years, uh, kids and grandkids. That's really precious. Uh, education things I've done.
link |
01:46:44.480
I'm very proud of, uh, you know, books and courses. Uh, I did some help with underrepresented groups
link |
01:46:51.680
that was effective. So it was interesting to see what were the things I reflected. You know, I had
link |
01:46:56.400
hundreds of papers, but some of them were the papers, like the risk and rate stuff that I'm proud of,
link |
01:47:01.280
but a lot of them were, were, were not those things. So people who are just, uh, spend their lives,
link |
01:47:06.880
you know, going after the dollars or going after all the papers in the world, you know,
link |
01:47:11.440
that's probably not the things that are afterwards you're going to care about. When I was, uh,
link |
01:47:16.400
uh, uh, just when I got the offer from Berkeley before I showed up, I read a book where they
link |
01:47:22.080
interviewed a lot of people and all works of life. And what I got out of that book was the people
link |
01:47:26.800
who felt good about what they did was the people who affected people as opposed to things that were
link |
01:47:31.200
more transitory. So I came into this job assuming that it wasn't going to be the papers, it was
link |
01:47:35.840
going to be relationships with the people over time that, that I would, I would value. And that
link |
01:47:40.800
was a correct assessment, right? It's, it's the people you work with, the people you can influence,
link |
01:47:46.160
the people you can help is the things that you feel good about towards your career. It's not,
link |
01:47:50.160
not the, the stuff that's more transitory. I don't think there's a better way to end it than, uh,
link |
01:47:56.160
talking about your family, the, the over 50 years of being married to your childhood sweetheart.
link |
01:48:01.680
Oh, one, one thing I could add is how to, when you tell people you've been married 50 years,
link |
01:48:06.080
they want to know why. How? Why? I can tell you the nine magic words that you need to say to your
link |
01:48:12.080
partner to keep a good relationship. And the nine magic words are, I was wrong. You were right.
link |
01:48:19.040
You were right. I love you. Okay. And you got to say all nine. You can't say, I was wrong. You
link |
01:48:24.320
were right. You're a jerk. You know, you can't say that. So yeah, I freely acknowledging that you
link |
01:48:29.120
made a mistake. The other person was right. And that you love them really gets over a lot of bumps
link |
01:48:35.840
in the road. So that's what I pass along. Beautifully put, David is a huge honor. Thank you so much
link |
01:48:41.920
for the book you've written for the research you've done for changing the world. Thank you for
link |
01:48:45.360
talking today. Oh, thanks for the interview. Thanks for listening to this conversation with David
link |
01:48:49.840
Patterson. And thank you to our sponsors, the Jordan Harbinger show and cash app. Please consider
link |
01:48:57.200
supporting this podcast by going to jordanharbinger.com slash Lex and downloading cash app and using
link |
01:49:03.920
code Lex podcast. Click the links by the stuff. It's the best way to support this podcast and
link |
01:49:09.920
the journey I'm on. If you enjoy this thing, subscribe on YouTube review it with 5,000 podcast
link |
01:49:16.960
supported on Patreon or connect with me on Twitter. Alex Friedman spelled without the E
link |
01:49:23.120
try to figure out how to do that is just F R I D M A N. And now let me leave you with some words
link |
01:49:29.440
from Henry David Thoreau. Our life is faded away by detail. Simplify, simplify.
link |
01:49:37.440
Thank you for listening and hope to see you next time.