back to indexDavid Patterson: Computer Architecture and Data Storage | Lex Fridman Podcast #104

Chapters
0:0 Introduction
3:28 How have computers changed?
4:22 What's inside a computer?
10:2 Layers of abstraction
13:5 RISC vs CISC computer architectures
28:18 Designing a good instruction set is an art
31:46 Measures of performance
36:2 RISC instruction set
39:39 RISC-V open standard instruction set architecture
51:12 Why do ARM implementations vary?
52:57 Simple is beautiful in instruction set design
58:9 How machine learning changed computers
68:18 Machine learning benchmarks
76:30 Quantum computing
79:41 Moore's law
88:22 RAID data storage
96:53 Teaching
100:59 Wrestling
105:26 Meaning of life
00:00:00.000 | 
The following is a conversation with David Patterson, 00:00:04.800 | 
and professor of computer science at Berkeley. 00:00:20.080 | 
and development have had in our world is immeasurable. 00:00:28.240 | 
His book with John Hennessy is how I first learned about 00:00:31.520 | 
and was humbled by the inner workings of machines 00:00:37.520 | 
Two sponsors, the Jordan Harbinger Show and Cash App. 00:00:46.840 | 
and downloading Cash App and using code LEXPODCAST. 00:01:06.240 | 
support it on Patreon or connect with me on Twitter 00:01:09.200 | 
at Lex Friedman, spelled without the E, just F-R-I-D-M-A-N. 00:01:21.320 | 
This episode is supported by the Jordan Harbinger Show. 00:01:29.760 | 
On that page, there's links to subscribe to it 00:01:31.720 | 
on Apple Podcast, Spotify and everywhere else. 00:01:48.320 | 
Neil deGrasse Tyson, Garry Kasparov and many more. 00:01:53.680 | 
with Frank Abagnale, author of "Catch Me If You Can" 00:02:09.160 | 
To give him my love and to support this podcast, 00:02:13.600 | 
subscribe also on Apple Podcast, Spotify and everywhere else. 00:02:22.920 | 
and the number one finance app in the App Store. 00:02:39.120 | 
in the context of the history of money is fascinating. 00:03:18.080 | 
an organization that is helping to advance robotics 00:03:20.480 | 
and STEM education for young people around the world. 00:03:23.400 | 
And now, here's my conversation with David Patterson. 00:03:27.980 | 
Let's start with the big historical question. 00:03:31.720 | 
How have computers changed in the past 50 years 00:03:43.040 | 
So computers that used to fill up several rooms 00:03:59.640 | 
and they're much cheaper and they're ubiquitous. 00:04:07.600 | 
Probably half of them have cell phones right now, 00:04:19.420 | 
Maybe it's 10 to one or some number like that. 00:04:29.540 | 
So a computer forever has classically had five pieces. 00:05:33.460 | 
and the last two are considered the processor. 00:05:46.460 | 
- It's interesting that you refer to the arithmetic unit 00:05:57.800 | 
because most of the actions the microprocessor does 00:06:36.080 | 
but it just performs billions of them per second. 00:06:39.220 | 
And what we're capable of doing is writing software 00:06:42.740 | 
that can take these very trivial instructions 00:06:45.540 | 
and have them create tasks that can do things better 00:07:05.900 | 
wow, I didn't expect it to go this fast, this good? 00:07:31.260 | 
And he made this observation over 50 years ago. 00:07:37.460 | 
is the number of these little switches called transistors 00:07:40.660 | 
is going to double every year for the next decade. 00:07:47.660 | 
well, maybe it's going to double every two years. 00:07:50.440 | 
And that what other people since named that Moore's Law 00:08:08.900 | 
he wrote, what would be the implications of that? 00:08:17.700 | 
and computers being in something that you would buy 00:08:33.260 | 
he kind of said what would be happening in the future. 00:08:44.860 | 
it was easy to believe that Moore's Law was going to continue 00:08:50.540 | 
there are these kind of shocking events in your life. 00:08:59.640 | 
and seeing a bulletin board at a local civic center 00:09:09.580 | 
these first URLs and that's the www select stuff 00:09:13.620 | 
with the HGP, people thought it looked like alien writing. 00:09:18.620 | 
They'd see these advertisements and commercials 00:09:23.620 | 
or bulletin boards that had this alien writing on it. 00:09:28.380 | 
And for those people in industry, it was, oh my God, 00:09:41.060 | 
I remember in the early days of the personal computer, 00:09:44.080 | 
when we started seeing advertisements in magazines 00:09:48.180 | 
like it's so popular that it's made the newspapers. 00:09:55.860 | 
but when it really hit and you saw it affecting society, 00:10:04.940 | 
at both the engineering and philosophical perspective, 00:10:08.140 | 
what do you see as the layers of abstraction in a computer? 00:10:12.500 | 
Do you see a computer as a set of layers of abstractions? 00:10:27.460 | 
and complicated hardware, is these layers of abstraction. 00:10:39.660 | 
and you don't know anything about the layer below it. 00:10:42.060 | 
And that's the way we can make very complicated things. 00:10:52.540 | 
And I would think in a modern computer today, 00:10:55.620 | 
there might be 10 or 20 layers of abstraction. 00:10:59.140 | 
And they're all trying to kind of enforce this contract 00:11:08.980 | 
are allowed to use and you stick to those commands 00:11:16.340 | 
you get down, there's a new set of layers and so forth. 00:11:19.260 | 
So for people who wanna study computer science, 00:11:28.420 | 
You take your first course and you might learn to program 00:11:31.420 | 
in Python and then you can take a follow on course 00:11:34.700 | 
and you can get it down to a lower level language like C 00:11:41.380 | 
into the hardware layers and you keep getting down 00:11:44.380 | 
all the way to that transistor that I talked about 00:11:49.140 | 
And you can understand all those layers all the way up 00:12:00.620 | 
If you're interested, you can go into any depth 00:12:14.280 | 
So what open source means is what the engineer, 00:12:24.140 | 
it's out there on the worldwide web so you can see it. 00:12:27.340 | 
So you can look at for lots of pieces of software 00:12:32.180 | 
that you use, you can see exactly what the programmer does 00:12:43.540 | 
open source hardware and those interfaces open 00:12:47.260 | 
So instead of before you had to stop at the hardware, 00:12:49.400 | 
you can now start going layer by layer below that 00:12:53.960 | 
So it's a remarkable time that for the interested 00:13:05.440 | 
- Are you thinking also when you say open source 00:13:25.120 | 
specialized to a particular domain or the general? 00:13:27.600 | 
- Yeah, so let's talk about that a little bit. 00:13:30.120 | 
So when you get down to the bottom layer of software, 00:13:35.120 | 
the way software talks to hardware is in a vocabulary. 00:13:40.480 | 
And what we call that vocabulary, we call that, 00:13:43.760 | 
the words of that vocabulary are called instructions. 00:13:51.960 | 
So those instructions are like what we talked about earlier, 00:13:58.000 | 
There's instructions to put data into memory, 00:14:03.400 | 
and to get data back, which is called a load instructions. 00:14:10.240 | 
In 1950, the commercial computer had these instructions. 00:14:14.760 | 
So that's the instruction set that we're talking about. 00:14:39.800 | 
And since then, there's been a lot of numbers, 00:14:43.240 | 
So there's been that kind of family of instruction sets. 00:14:50.780 | 
The other one that's very popular is from ARM. 00:14:54.500 | 
That kind of powers all the cell phones in the world, 00:15:08.140 | 
ARM will license it to people for a fee, but they own that. 00:15:21.180 | 
we pioneered a way to do these vocabularies instruction sets 00:15:36.500 | 
So polysyllabic kind of words, you can think of that. 00:15:40.360 | 
And so that instead of just add, subtract and multiply, 00:15:43.660 | 
they would have polynomial divide or sort a list. 00:15:47.980 | 
And the hope was of those powerful vocabularies 00:15:52.980 | 
So we thought that didn't make sense for microprocessors. 00:15:57.740 | 
There was people at Berkeley and Stanford and IBM 00:16:02.060 | 
And we called that was a reduced instruction set computer. 00:16:10.940 | 
we use the abbreviations that are pronouncing it. 00:16:17.180 | 
which with Gordon's more is changing really fast. 00:16:22.620 | 
set of instructions, reduced set of instructions. 00:16:26.400 | 
That that would be a better way to build microprocessors 00:16:29.700 | 
since they're gonna be changing so fast due to Moore's law. 00:16:36.740 | 
to generate more of those simple instructions. 00:16:55.340 | 
well, since there are these reduced instructions, 00:17:23.900 | 
proved to be maybe factors of three or four better. 00:17:32.640 | 
So that's in the context of what was more conventional 00:17:50.420 | 
It was violently debated at several conferences. 00:18:23.380 | 
a bunch of dumb things that could lay the land 00:18:38.660 | 
So relying on the compiler to reduce your complicated code 00:19:15.260 | 
that can reduce those into simple instructions for you? 00:19:19.180 | 
- Yeah, so let's try and split that into two pieces. 00:19:26.260 | 
if the compiler can take a complicated program 00:19:35.780 | 
Programmer, I don't care just how fast is the computer 00:19:41.860 | 
And so what happened kind of in the software industry 00:19:48.700 | 
critical pieces of software were still written 00:19:55.540 | 
They were written in what's called assembly language, 00:19:58.180 | 
where there's this kind of humans writing exactly 00:20:05.900 | 
So they were writing add, subtract, multiply instructions. 00:20:10.460 | 
It's very tedious, but the belief was to write 00:20:14.060 | 
this lowest level of software that people use, 00:20:21.020 | 
because these high-level languages were just too inefficient. 00:20:24.340 | 
They were too slow or the programs would be too big. 00:20:29.620 | 
So that changed with a famous operating system called Unix, 00:20:41.940 | 
something as complicated as an operating system 00:20:48.580 | 
then that meant we could hide the instruction set 00:20:53.640 | 
And so that meant then it didn't really matter. 00:21:04.180 | 
is if you were still writing in assembly language, 00:21:06.580 | 
there's maybe a better case for CISC instructions. 00:21:17.780 | 
it runs at this potentially simpler instructions. 00:21:25.540 | 
And people would acknowledge that the simpler instructions 00:21:39.060 | 
The same thing, that analogy works pretty well for hardware. 00:21:44.680 | 
a lot more of those instructions, you could win. 00:21:50.340 | 
- But it's interesting that in that discussion of Unix and C 00:21:54.340 | 
that there's only one step of levels of abstraction 00:21:59.020 | 
from the code that's really the closest to the machine 00:22:05.500 | 
It's, at least to me again, perhaps a dumb intuition, 00:22:09.960 | 
but it feels like there might have been more layers, 00:22:17.380 | 
- So what's true and not true about what you said 00:22:41.260 | 
And let's say applications that run on top of it, 00:22:46.020 | 
So both the operating system could be written in C, 00:23:07.080 | 
but you can still build many layers of abstraction 00:23:13.640 | 
So still today, many of the layers that you'll deal with, 00:23:19.480 | 
you may deal with debuggers, you may deal with linkers. 00:23:31.200 | 
say, even though that language is pretty ancient. 00:23:35.000 | 
And even the Python interpreter is probably written 00:23:40.280 | 
So lots of layers there are probably written in these, 00:23:47.260 | 
that still take one step to produce these instructions, 00:23:54.820 | 
but they're composed, each layer of software invokes 00:24:01.040 | 
and you can get 10 layers of software that way. 00:24:04.360 | 
- So in general, the RISC was developed here at Berkeley? 00:24:07.520 | 
- It was kind of the three places that were these radicals 00:24:11.700 | 
that advocated for this against the rest of the community 00:24:26.460 | 
How doubtful were you that RISC might be the right approach? 00:24:33.820 | 
that is kind of taking a step back into simplicity, 00:24:44.020 | 
Well, this was my colleague, John Hennessy at Stanford, 00:24:49.900 | 
and for me, I just believed in the power of our ideas. 00:25:01.700 | 
is one of the surprises of these complex instruction sets. 00:25:05.820 | 
You could certainly write these complex instructions 00:25:08.420 | 
if the programmer is writing them themselves. 00:25:13.260 | 
for the compiler to generate those complex instructions. 00:25:39.180 | 
The simple instructions go better with Moore's law. 00:25:41.740 | 
The number of transistors is doubling every two years, 00:25:47.780 | 
you wanna reduce the time to design the microprocessor, 00:25:50.280 | 
that may be more important than the number of instructions. 00:25:55.980 | 
that we were right, that this was the best idea. 00:26:04.020 | 
but in the business world, this doesn't matter. 00:26:15.300 | 
but the whole world is covered in railroad tracks, 00:26:17.420 | 
so your ideas have no chance of success, commercial success. 00:26:28.660 | 
the history of human civilization is full of good ideas 00:26:32.540 | 
that lost because somebody else came along first 00:26:39.820 | 
at least some of these have, well, you could, 00:26:42.140 | 
I mean, there's probably still CISC people that say-- 00:26:51.740 | 
companies with CISC instruction sets of vocabulary, 00:27:01.100 | 
because Intel's vocabulary was in the personal computer, 00:27:14.280 | 
It's in the instructions of that instruction set. 00:27:20.900 | 
you get, after it's been translated into the lowest level, 00:27:27.220 | 
it's in the instructions of that instruction set. 00:27:29.400 | 
So the x86 instruction set was very valuable. 00:27:36.860 | 
is they had their chips in hardware do a translation step. 00:27:43.940 | 
and translate them into essentially in RISC instructions 00:27:46.400 | 
in hardware on the fly, at gigahertz clock speeds, 00:27:53.860 | 
they could use, and they could still be compatible 00:28:07.140 | 
So the CISC architecture in the business world 00:28:15.300 | 
- So just going back to the time of designing RISC, 00:28:22.180 | 
when you design an instruction set architecture, 00:28:40.920 | 
- Yeah, I'd say, I think designing a good instruction set 00:28:44.340 | 
is an art, and I think you're trying to balance 00:28:54.260 | 
with how well easy it will be for compilers to use it. 00:29:00.920 | 
that everything in there can be used by compilers. 00:29:07.340 | 
that'll make it difficult for the program to run, 00:29:16.920 | 
trying to find a hardware software compromise 00:29:29.180 | 
It's not that hard to build an instruction set, 00:29:31.280 | 
but to build one that catches on and people use, 00:29:35.480 | 
you have to be fortunate to be the right place 00:29:48.120 | 
the kind of programs that people write ahead of time. 00:29:50.880 | 
So is that, can you use numbers, can you use metrics, 00:29:59.240 | 
- No, it's a big change, kind of what happened, 00:30:03.400 | 
I think from Hennessy's and my perspective in the 1980s, 00:30:21.280 | 
"Computer Architecture, A Quantitative Approach." 00:30:30.160 | 
'cause we went from textbooks that kind of listed, 00:30:36.960 | 
and here's what this computer does and pros and cons, 00:30:38.640 | 
to something where there were formulas and equations 00:30:56.100 | 
and then you develop both the hardware and the compiler, 00:31:00.160 | 
and you get numbers on how well your computer does, 00:31:07.720 | 
and how well you implemented it in your microprocessor, 00:31:16.720 | 
we grade on a curve rather than grade on an absolute scale. 00:31:25.240 | 
Well, you compare it to other computers of the same time. 00:31:36.320 | 
is to compare yourself to other computers of the same era 00:31:45.060 | 
- So maybe to toss up two possible directions we can go, 00:31:54.120 | 
We've been already talking about CISC and RISC, 00:31:58.940 | 
in terms of specific features that you were thinking about. 00:32:03.760 | 
what are the metrics that you're thinking about 00:32:12.820 | 
we actually had kind of a hard time explaining, 00:32:17.040 | 
and partly we didn't have a formula to explain it. 00:32:35.040 | 
So fundamentally, the way you measure performance 00:32:48.880 | 
so they could represent lots of different applications. 00:32:51.420 | 
So for these 10 programs, how long did it take to run? 00:32:57.080 | 
you could factor how long it takes a program to run 00:33:01.560 | 
One of the first one is how many instructions 00:33:14.000 | 
The next question is how long did each instruction 00:33:24.620 | 
Okay, so that's, but now let's look at this metric 00:33:28.260 | 
of how long did it take the instruction to run? 00:33:29.980 | 
Well, it turns out the way we could build computers today 00:33:35.140 | 
And you've seen this, if you buy a microprocessor, 00:33:43.920 | 
Well, what that is is the speed of the clock. 00:33:46.620 | 
So 2.5 gigahertz turns out to be four billionths 00:33:55.740 | 
But there's another factor, which is what's the average 00:33:58.620 | 
number of clock cycles it takes per instruction? 00:34:01.260 | 
So it's number of instructions, average number 00:34:06.420 | 
So in these RISC-Sys debates, they would concentrate on, 00:34:14.140 | 
And we'd argue what maybe the clock cycle is faster, 00:34:19.260 | 
was the number of clock cycles per instruction. 00:34:22.740 | 
What about the mess of, the beautiful mess of parallelism 00:34:28.860 | 
how many instructions could execute in parallel 00:34:32.720 | 
You could think of that as affecting the clock cycles 00:34:34.980 | 
per instruction, 'cause it's the average clock cycles 00:34:42.860 | 
and on average, it took two clock cycles per instruction 00:34:46.020 | 
and they were four nanoseconds, you could multiply that out 00:34:50.060 | 
And there's all kinds of tricks to try and reduce 00:34:58.120 | 
these complex instructions is they would actually build 00:35:00.820 | 
what we would call an interpreter in a simpler, 00:35:05.940 | 
But it turned out that for the SISC instructions, 00:35:10.820 | 
it would be like 10 clock cycles per instruction 00:35:20.240 | 
We have to execute say 25 or 50% more instructions. 00:35:26.340 | 
whether the clock cycle times are the same or not. 00:35:28.380 | 
But pointing out that we could divide the benchmark results 00:35:37.820 | 
was the clock cycles per, you execute a few more instructions 00:35:40.780 | 
but the clock cycles per instruction is much less. 00:35:45.020 | 
Once we made that argument, then people said, 00:35:49.900 | 
And so we went from, it was outrageously controversial 00:36:02.180 | 
- What are the instructions in the RISC instruction set? 00:36:08.620 | 
- Okay, 1995, I was asked to predict the future 00:36:18.300 | 
and usually people predict something outrageous 00:36:27.740 | 
they're gonna look very familiar to what they are. 00:36:29.900 | 
And they are, if you were to read the article, 00:36:34.820 | 
The instructions that have been around forever 00:36:38.300 | 
- And that's the outrageous prediction actually, 00:36:49.580 | 
in fact, Hennessy and I won the ACM AM Turing Award 00:36:54.580 | 
for both the RISC instruction set contributions 00:37:14.520 | 
that look very similar to what we looked like 00:37:23.640 | 
even though we have a million times as many transistors 00:37:33.200 | 
So are we talking about addition, subtraction, 00:37:36.120 | 
- It's a specific, so the things that are in a calculator 00:37:41.680 | 
So any of the buttons that are in the calculator 00:37:50.080 | 
putting something in memory is called a store, 00:37:57.000 | 
- Well, I told you there were five pieces of a computer, 00:38:00.560 | 
and if you remember in a calculator, there's a memory key, 00:38:06.720 | 
So you'd hit the memory plus key, M plus maybe, 00:38:10.920 | 
and then you'd hit an RM like current instruction, 00:38:16.280 | 
you don't have to write it down and bring it back again. 00:38:19.760 | 
that you can put things into it as temporary storage 00:38:27.400 | 
But the big thing, the difference between a computer 00:38:30.720 | 
and a calculator is that the computer can make decisions. 00:38:45.400 | 
which are called conditional branch instructions, 00:38:52.440 | 
before what's called the general purpose microprocessor, 00:38:55.160 | 
people would write these instructions kind of in hardware, 00:39:04.600 | 
With the power of having branch instructions, 00:39:08.040 | 
it can look at things and make decisions automatically. 00:39:24.680 | 
what's the instructions are the keys on the calculator, 00:39:32.360 | 
- And all decisions fundamentally can be reduced 00:39:42.320 | 
we did four RISC projects at Berkeley in the 1980s, 00:39:48.960 | 
In 2010, we decided we wanted to do a new instruction set, 00:39:53.920 | 
learning from the mistakes of those RISC architectures 00:39:56.560 | 
in the 1980s, and that was done here at Berkeley. 00:40:04.680 | 
but other, Krzysztof Sanovic and others drove it. 00:40:15.960 | 
- So RISC-V is another instruction set vocabulary. 00:40:25.800 | 
that's very similar to the simplest architectures 00:40:40.280 | 
So this is an instruction set, so it's a vocabulary. 00:40:43.480 | 
It's not hardware, but by having an open instruction set, 00:40:58.080 | 
but you're just like in the scientific American, 00:41:00.200 | 
if you were to predict 10, 20, 30 years from now, 00:41:11.120 | 
what kind of possibilities might that unlock? 00:41:16.040 | 
because this is confusing, the specification of RISC-V 00:41:31.960 | 
They're kind of like C, but they're specialized 00:41:34.560 | 
for hardware that gets translated into hardware. 00:41:38.180 | 
And so these implementations of this specification 00:41:43.960 | 
So they're written in something that's called Verilog or VHDL, 00:41:47.520 | 
but it's put up on the web, just like you can see 00:41:56.800 | 
enables open source implementations of RISC-V. 00:42:08.140 | 
this was developed here for our use to do our research. 00:42:11.760 | 
And we made it, we licensed under the Berkeley 00:42:18.020 | 
So other academics use it, they wouldn't be afraid to use it. 00:42:20.800 | 
And then about 2014, we started getting complaints 00:42:25.760 | 
that we were using it in our research and in our courses. 00:42:28.560 | 
And we got complaints from people in industries, 00:42:36.760 | 
And well, we get complaints from industrial time. 00:42:42.020 | 
And then when we talked to them, we found out 00:43:05.200 | 
So this was, we accidentally stumbled into this, 00:43:14.640 | 
There's, you know, universities are good at starting things, 00:43:27.560 | 
And the first one was done, I think, January of 2015. 00:43:40.800 | 
and the companies excited all over the world. 00:43:46.640 | 
if we were doing 25 years, I would predict that RISC-V 00:43:55.440 | 
because it's a pretty good instruction set architecture 00:43:59.880 | 
And there's no reason lots of people shouldn't use it. 00:44:04.480 | 
And there's benefits, just like Linux is so popular today 00:44:10.680 | 
And, you know, the fact that you can get access to it 00:44:15.480 | 
for free, you can modify it, you can improve it 00:44:19.800 | 
And so people collaborate to make it a better system 00:44:22.600 | 
for everybody to use, and that works in software. 00:44:24.840 | 
And I expect the same thing will happen in hardware. 00:44:44.720 | 
how much challenges this kind of transition would entail, 00:44:48.040 | 
do you see, let me ask my dumb question in another way. 00:44:55.560 | 
Well, there's a bunch, I think the thing you point out, 00:44:57.400 | 
there's these very popular proprietary instruction sets, 00:45:02.760 | 
- And so how do we move to RISC-V potentially 00:45:05.680 | 
in sort of, in the span of five, 10, 20 years, 00:45:09.200 | 
a kind of unification, given that the devices, 00:45:13.440 | 
the kind of way we use devices, IoT, mobile devices, 00:45:35.120 | 
companies like Alibaba and Amazon and Google, 00:45:45.840 | 
and maybe a hundred of these data centers all over the world. 00:46:05.000 | 
The other big thing are cell phones and laptops. 00:46:17.140 | 
You know, there's maybe 200 million PCs a year, 00:46:20.460 | 
and there's, is there 1.5 billion phones a year? 00:46:35.860 | 
and the third category is internet of things, 00:46:39.620 | 
things in your cars and your microwaves, everywhere. 00:46:43.180 | 
So what's different about those three categories 00:46:46.100 | 
is for the cloud, the software that runs in the cloud 00:46:59.820 | 
for Android and Apple, the software they supply, 00:47:04.340 | 
where anybody in the world can build software. 00:47:10.040 | 
or compiled down and shipped in the vocabulary of ARM. 00:47:15.040 | 
So that's what's referred to as binary compatible, 00:47:28.800 | 
ARM is an instruction set, like a risk-based-- 00:47:48.420 | 
and it's surely the most popular instruction set 00:47:52.200 | 
Every year, billions of chips are using the ARM design 00:47:58.660 | 
- Was it one of the early risk adopters of the risk idea? 00:48:02.700 | 
The first ARM goes back, I don't know, '86 or so. 00:48:05.580 | 
So Berkeley and Stanford did their work in the early '80s. 00:48:11.660 | 
and they read our papers, and it heavily influenced them. 00:48:19.140 | 
Well, software's not shipped in Internet of Things. 00:48:26.580 | 
So the opportunities for RISC-V, everybody thinks, 00:48:31.120 | 
is in the Internet of Things embedded things, 00:48:35.620 | 
like there is in the cloud or the smartphones. 00:48:39.820 | 
And it doesn't have a lot of licenses associated with, 00:48:44.260 | 
and you can enhance the instruction set if you want. 00:48:59.220 | 
those companies control their software stacks. 00:49:02.480 | 
So it's possible that they would decide to use RISC-V, 00:49:06.560 | 
if we're talking about 10 and 20 years in the future. 00:49:09.600 | 
The one that would be harder would be the cell phones, 00:49:11.920 | 
since people ship software in the ARM instruction set. 00:49:15.120 | 
That, you'd think, would be the more difficult one. 00:49:24.320 | 
- Do you have a sense why RISC-V or ARM is dominated? 00:49:31.300 | 
Why does it dominate the mobile device space? 00:49:33.980 | 
And maybe my naive intuition is that there's some aspects 00:49:44.400 | 
for these old CISC instruction sets, like in the x86, 00:49:49.060 | 
it was more expensive to these, for, you know, 00:49:57.560 | 
they're older, so they have disadvantages in them 00:50:06.100 | 
from CISC instructions to RISC instructions on the fly. 00:50:24.060 | 
both in the cloud and the cell phone and, you know, things, 00:50:31.420 | 
isn't the number of transistors you can fit in the chip, 00:50:45.360 | 
And energy efficiency is incredibly important in the cloud. 00:50:51.700 | 
you wanna have the most energy efficient ones there as well. 00:50:54.680 | 
And of course, for embedded things running off of batteries, 00:50:59.940 | 
So I think it's believed that there's a energy disadvantage 00:51:04.940 | 
of using these more complex instruction set architectures. 00:51:13.640 | 
if we look at Apple, Qualcomm, Samsung, Huawei, 00:51:19.800 | 
And yet the performance of the systems varies. 00:51:22.220 | 
I mean, I don't know whose opinion you take on, 00:51:26.700 | 
seems to perform better in terms of these implementations, 00:51:33.860 | 
Yeah, so what ARM pioneered was a new business model. 00:51:56.580 | 
we'll license you to do that, or you could design your own. 00:52:08.940 | 
So Apple got one of those, the right to build their own. 00:52:13.220 | 
Most of the other people who build like Android phones 00:52:15.860 | 
just get one of the designs from ARM to do it themselves. 00:52:33.380 | 
and brought them into the company to build their designs. 00:52:39.900 | 
but their hardware design is much more efficient 00:52:45.340 | 
And that's given Apple an advantage in the marketplace 00:52:54.260 | 
than most everybody else's phones that are there. 00:52:59.980 | 
and kind of explore different little sides of this. 00:53:02.660 | 
But let me ask one sort of romanticized question. 00:53:08.740 | 
or idea of RISC instruction set or instruction sets 00:53:14.900 | 
- You know, I was always attracted to the idea of, 00:53:25.140 | 
it's kind of easy to make things more complicated. 00:53:33.900 | 
And I think that there's a bunch of small features 00:53:40.840 | 
where you can see this examples of keeping it simpler 00:53:49.980 | 
but it was really driven by Krzysztof Sanovic 00:53:52.020 | 
and two grad students, Andrew Waterman and Yensip Lee, 00:54:17.060 | 
that could accelerate the performance instructions 00:54:20.780 | 
that if you needed them could be very helpful, 00:54:26.840 | 
So RISC-V has right now maybe five optional subsets 00:54:31.820 | 
that you can pull in, but the software runs without them. 00:54:48.660 | 
Also, if you invent some wild and crazy new technology, 00:55:02.060 | 
you can run really interesting programs on top of that. 00:55:10.000 | 
and then optional features that if you turn them on, 00:55:13.480 | 
the compilers were used, but you don't have to, 00:55:27.920 | 
And so that all microprocessors in the future 00:55:43.120 | 
get getting bigger and bigger as they get older. 00:55:45.440 | 
So RISC-V, lets you be as slim as you as a teenager, 00:55:50.060 | 
and you only have to add these extra features 00:55:55.680 | 
you have to keep growing with the instruction set. 00:56:02.560 | 
That there's, it's almost like a nudge towards, 00:56:04.560 | 
here's the simple core, that's the essential. 00:56:07.720 | 
- Yeah, I think the surprising thing is still, 00:56:10.240 | 
if we brought back the pioneers from the 1950s 00:56:13.800 | 
and showed them the instruction set architectures, 00:56:16.920 | 
They'd say, "Wow, that doesn't look that different." 00:56:36.480 | 
like these instructions that we talked about, 00:56:49.200 | 
that as complicated as it is to build these things, 00:57:02.520 | 
is this amazing technology is at some fundamental level, 00:57:16.000 | 
- So underlying all computation, all Turing machines, 00:57:21.640 | 
perhaps might be a very simple instruction set, 00:57:33.440 | 
and he had written something in Scientific American, 00:57:40.360 | 
and his turned out about when I was a young professor, 00:57:56.520 | 
about those instructions that we're capable of, 00:58:01.140 | 
creating intelligence from pretty primitive operations, 00:58:12.020 | 
maybe radical computational medium, like biological, 00:58:22.140 | 
and so we can think of all of those different mediums 00:58:30.780 | 
different hardware systems in the instruction set? 00:58:50.820 | 
you know, kind of the challenge for computer designers 00:58:59.340 | 
And so there was an era, I guess, in the '80s and '90s, 00:59:04.100 | 
where computers were doubling performance every 18 months, 00:59:17.260 | 
which was like a year, year and a half newer, 00:59:25.700 | 
'cause you were, so people took their computers, 00:59:32.700 | 
because the computer, one or two years later, 00:59:36.500 | 
So that's what the world was like in the '80s and '90s. 00:59:47.700 | 
but the laptops, I only get a new laptop when it breaks, 00:59:51.580 | 
right, oh, damn, the disk broke, or this display broke, 01:00:13.520 | 
kind of programmers, and maybe all of society, 01:00:16.840 | 
is used to computers getting faster regularly. 01:00:19.640 | 
We now believe, those of us who are in computer design, 01:00:43.660 | 
So the Intel processors of the world are not gonna, 01:00:48.060 | 
They've been barely improving, like a few percent a year. 01:00:57.800 | 
So to be able to deliver on what Moore's Law used to do, 01:01:03.860 | 
is people adding accelerators to their microprocessors 01:01:17.220 | 
has been this revolution in artificial intelligence 01:01:21.820 | 
So with, as I'm sure your other guests have said, 01:01:26.820 | 
AI had these two competing schools of thought, 01:01:30.920 | 
is that we could figure out artificial intelligence 01:01:38.700 | 
and infer what the rules are in machine learning, 01:01:41.320 | 
and what's happened in the last decade or eight years 01:02:04.080 | 
We know how to make matrix multiply run really fast. 01:02:07.540 | 
So general purpose microprocessors are slowing down, 01:02:10.180 | 
we're adding accelerators for machine learning 01:02:12.180 | 
that fundamentally are doing matrix multiplies 01:02:17.980 | 
So we have to come up with a new way to accelerate things. 01:02:21.580 | 
The danger of only accelerating one application 01:02:29.500 | 
So serendipitously, we found something to accelerate 01:02:37.140 | 
And we don't even, we're in the middle of this revolution 01:02:40.500 | 
we're not sure what the limits of machine learning are. 01:02:46.060 | 
If you're gonna be able to deliver on improved performance, 01:03:12.700 | 
in terms of the domains it could be applied in. 01:03:33.000 | 
because now you're programming in the space of data, 01:03:37.320 | 
It's changing fundamentally the nature of programming. 01:03:40.300 | 
And so the specialized devices that accelerate 01:03:44.220 | 
the performance, especially neural network based 01:03:50.260 | 
- Yeah, so the thing that's interesting to point out, 01:04:03.660 | 
that we should figure out the answers from data 01:04:07.180 | 
which classically the way most programming is done 01:04:10.300 | 
and the way artificial intelligence used to be done. 01:04:12.580 | 
That's a movement that's going on at the same time. 01:04:15.820 | 
Coincidentally, and the first word in machine learning 01:04:20.260 | 
So that's going to increase the demand for computing, 01:04:28.660 | 
we're gonna instead use computers to examine a lot of data 01:04:35.780 | 
And remarkably, this gets used for all kinds of things 01:04:40.060 | 
The image recognition, the language translation, 01:04:42.540 | 
the game playing, and it gets into pieces of the software 01:04:52.540 | 
but that's going on independent of this hardware stuff. 01:04:55.100 | 
What's happening on the hardware side is Moore's law 01:04:57.220 | 
is slowing down right when we need a lot more cycles. 01:05:03.020 | 
because there's gonna be a greater increase in computing. 01:05:16.380 | 
and that'll help 5% of the people in the world. 01:05:19.620 | 
Well, this looks like it's a very general purpose thing. 01:05:29.700 | 
that will accelerate machine learning, the neural networks, 01:05:36.900 | 
that neural network revolution will transform software, 01:05:43.260 | 
And the software of the future will be very different 01:05:49.580 | 
even though we're still gonna have that same basic 01:05:51.700 | 
risk instructions to run a big pieces of the software stack 01:05:58.220 | 
we can accelerate the kind of the small piece 01:06:04.140 | 
but it takes a lot of cycles to run that code, 01:06:09.460 | 
So that's what makes this from a computer designers 01:06:16.700 | 
What Hennessy and I talked about in the title 01:06:19.220 | 
of our Turing-Warren speech is a new golden age. 01:06:32.020 | 
was where we were changing what was going on. 01:06:37.980 | 
because we're fundamentally changing how software is built 01:06:44.500 | 
do you think most of the acceleration might be happening? 01:06:50.340 | 
sort of Google is working on a lot of exciting stuff 01:06:52.500 | 
with the TPU, sort of there's a closer to the hardware 01:07:00.820 | 
that could be optimization at the compiler level. 01:07:02.980 | 
It could be even at the higher level software stack. 01:07:18.220 | 
And that's likely to be the way things are now. 01:07:30.260 | 
are very popular with the machine learning people. 01:07:33.140 | 
Those are the raising the level of abstraction. 01:07:35.460 | 
It's easier for people to write machine learning 01:07:43.980 | 
- So where the most optimization might be happening? 01:07:45.860 | 
- Yeah, and so there'll be both the compiler piece 01:07:51.340 | 
So as you kind of, the fatal flaw for hardware people 01:07:59.420 | 
And what we're seeing right now in the marketplace, 01:08:07.460 | 
probably billions of dollars invested in startup companies. 01:08:40.900 | 
And the ones who did invest in software stack did, 01:08:43.820 | 
and we're seeing, like kind of in computer architecture, 01:08:47.340 | 
You have these arguments about risk versus sys. 01:08:49.380 | 
People spend billions of dollars in the marketplace 01:08:56.500 | 
And we're seeing companies go out of business. 01:09:04.940 | 
They came up with machine learning accelerators. 01:09:34.420 | 
And that's gonna be their product line in the future. 01:09:41.820 | 
I love standards that everyone can gather around. 01:09:56.140 | 
But Peter Mattson is leading the effort from Google. 01:10:01.100 | 
but we had to reach out to competitors and say, 01:10:08.260 | 
"It'll be much better if we look at examples." 01:10:13.580 | 
for the people in the risk community got together, 01:10:18.980 | 
to agree on a set of benchmarks that were called spec. 01:10:23.460 | 
It's rather before the different risk architectures 01:10:26.380 | 
were arguing, "Well, you can believe my performance, others, 01:10:41.220 | 
rather than people were afraid to buy anything. 01:10:43.340 | 
So we argued the same thing would happen with ML Perf. 01:10:52.860 | 
to create a set of benchmarks and do the right thing. 01:10:58.140 | 
And so we can see whether TPUs or GPUs or CPUs 01:11:08.300 | 
as long as the results are fair, you can live with it. 01:11:19.780 | 
They're making claims and it's just marketing bullshit, 01:11:27.940 | 
and we don't come in first place, that's too bad, 01:11:31.180 | 
So we wanted to create that environment for ML Perf. 01:11:37.740 | 
I mean, 10 universities and 50 companies involved. 01:11:40.620 | 
So pretty much ML Perf is the way you measure 01:11:52.140 | 
- One of the cool things that I enjoy about the internet, 01:11:54.900 | 
it has a few downsides, but one of the nice things 01:12:10.940 | 
and to actually show off how well you do on these metrics. 01:12:15.340 | 
there's less of a desire to do marketing, less so. 01:12:27.220 | 
I think because of things like social networking, 01:12:39.660 | 
you can get a violent reaction in social media 01:12:44.180 | 
pointing out the flaws in your arguments, right? 01:12:53.260 | 
that there'll be people who put out the flaw. 01:13:11.780 | 
people have largely embraced open source software. 01:13:15.660 | 
It was 20 years ago, it was a dirty word at Microsoft, 01:13:19.740 | 
and today Microsoft is one of the big proponents 01:13:29.060 | 
because you can see, if you look at the source code, 01:13:38.700 | 
who are really great programmers and engineers 01:13:56.900 | 
and there's still, the machinery of hype and marketing 01:14:04.460 | 
in this kind of open source way and sort of benchmark. 01:14:06.860 | 
So MLPerf represents the machine learning world 01:14:12.060 | 
about holding itself to standards of different, 01:14:19.740 | 
natural language processing tasks is incredible. 01:14:26.900 | 
I had a graduate student working with me, David Martin. 01:14:47.700 | 
and then started working with Jitendra Malik, 01:14:55.580 | 
And David Martin told me, "They don't have benchmarks. 01:15:01.020 | 
And the way that, here's my image, look at how well I do. 01:15:06.100 | 
So David Martin, back when he did his dissertation, 01:15:11.420 | 
He had a bunch of graduate students identify images 01:15:15.620 | 
and then ran benchmarks to see which algorithms run well. 01:15:23.580 | 
in computer vision, which was predated all the things 01:15:27.620 | 
that eventually led to ImageNet and stuff like that. 01:15:45.120 | 
because when you enter the world of benchmarks, 01:15:53.780 | 
you just believe you're the best in the world. 01:16:08.700 | 
Your intuition is that this is the right instruction set 01:16:12.340 | 
I believe, in my experience, my hunch is that's true. 01:16:16.820 | 
We had to get, to make things more quantitative 01:16:34.540 | 
What are your thoughts in this wholly different 01:16:46.220 | 
I retire before I have to start teaching this. 01:16:52.660 | 
give these talks about the slowing of Moore's law, 01:17:01.180 | 
common questions say, what about quantum computing? 01:17:03.820 | 
The reason that comes up, it's in the news all the time. 01:17:08.780 | 
is quantum computing is not right around the corner. 01:17:17.900 | 
where they did a frank assessment of quantum computing. 01:17:27.100 | 
before you get error-corrected quantum computing, 01:17:44.120 | 
Those two reports, to me, say probably it'll be 2030 01:17:49.360 | 
before quantum computing is something that could happen. 01:17:57.880 | 
This is micro-Kelvin, almost absolute zero things 01:18:02.100 | 
that if they vibrate, if a truck goes by, it won't work. 01:18:16.240 | 
but just it's hard with all the news about it 01:18:19.680 | 
not to think that it's right around the corner. 01:18:24.920 | 
as Moore's Law is slowing down to provide the computing, 01:18:28.440 | 
keep computing getting better for this next decade. 01:18:31.040 | 
And we shouldn't be betting on quantum computing 01:18:53.560 | 
but there'll be a lot of things that probably, 01:18:58.200 | 
are gonna keep doing better for quite a while. 01:19:01.280 | 
- And there'll be a teenager 50 years from now 01:19:14.160 | 
So he's gonna be watching it in a quantum cell phone. 01:19:20.400 | 
I just, I feel comfortable trying to do projects 01:19:48.600 | 
And he is trying to sort of be a little bit rebellious 01:19:59.920 | 
for the record, Jim talks about that he has an intuition 01:20:08.880 | 
and that it may continue for some time to come. 01:20:11.920 | 
What are your thoughts about Jim's ideas in this space? 01:20:17.320 | 
So what Gordon Moore said is a quantitative prediction. 01:20:23.640 | 
Which is doubling the number of transistors every two years. 01:20:27.800 | 
So we can look back at Intel for the last five years 01:20:31.040 | 
and ask him, let's look at DRAM chips six years ago. 01:20:40.140 | 
So then our DRAM chips have eight times as many transistors 01:20:46.080 | 
We can look up Intel microprocessors six years ago. 01:20:51.600 | 
it should have eight times as many transistors 01:21:07.800 | 
is they would make investments in similar equipment 01:21:26.400 | 
we are not doubling transistors every year's years, 01:21:37.920 | 
And so Jim is trying to counteract the impression 01:22:04.040 | 
there's been this aura associated with Moore's Law 01:22:15.440 | 
which is amazing thing that they were able to pull off. 01:22:26.560 | 
because of these changes that we've been talking about. 01:22:32.680 | 
he claims, Patterson says Moore's Law is no more 01:22:53.460 | 
Okay, so now I say Moore's Law is slowing down 01:23:03.000 | 
then that's another way of saying it doesn't hold anymore. 01:23:05.720 | 
And I think Jim wouldn't disagree that it's slowing down 01:23:12.480 | 
things are still getting better, just not as fast, 01:23:22.800 | 
you don't like expanding the definition of Moore's Law. 01:23:38.200 | 
Carver Mead looked at his Moore's Constructions 01:23:46.240 | 
and that's what the definition of Moore's Law is. 01:23:49.080 | 
There's this other, what Intel did for a while, 01:23:55.120 | 
is they said, oh no, Moore's Law isn't the number of doubling 01:23:57.400 | 
isn't really doubling transistors every two years. 01:24:00.160 | 
Moore's Law is the cost of the individual transistor 01:24:08.060 | 
Now, that's not what he said, but they reinterpreted it 01:24:10.240 | 
because they believed that the cost of transistors 01:24:15.640 | 
even if they couldn't get twice as many chips. 01:24:22.760 | 
in more recent technologies, it got more complicated, 01:24:37.120 | 
It was a very simple, it's like E equals MC squared, right? 01:24:40.680 | 
It was like, wow, what an amazing prediction. 01:24:43.540 | 
It's so easy to understand, the implications are amazing, 01:24:46.560 | 
and that's why it was so famous as a prediction, 01:24:59.400 | 
and they're not claiming there's a new Moore's Law. 01:25:05.160 | 
it's instead of every two years, it's every three years. 01:25:11.280 | 
I think what's gonna happen is new technology revisions, 01:25:23.200 | 
- Yeah, I don't like that the idea of Moore's Law 01:25:34.720 | 
but it could also be affecting the imagination of engineers. 01:25:55.640 | 
talking to people who have working in national offices 01:26:05.400 | 
that we are in an era that's gonna need radical change 01:26:08.960 | 
at lower levels that could affect the whole software stack. 01:26:49.120 | 
a lot of computer science PhDs are unaware of that. 01:27:19.640 | 
to be able to know if computers are getting faster 01:28:07.080 | 
to make the processing of images go much better. 01:28:16.080 | 
is twice as fast as much as they've added accelerators 01:28:22.920 | 
- Can we talk a little bit about one other exciting space, 01:28:38.320 | 
"A Case for Redundant Arrays of Inexpensive Disks," 01:28:45.000 | 
So that's where you introduced the idea of RAID. 01:28:49.080 | 
I mean little, that paper kind of had this ripple effect 01:28:58.920 | 
So this is work I did with my colleague, Randy Katz, 01:29:05.080 | 
So we had just done the fourth generation RISC project, 01:29:09.480 | 
and Randy Katz, which had an early Apple Macintosh computer, 01:29:14.480 | 
at this time, everything was done with floppy disks, 01:29:20.240 | 
which are old technologies that could store things 01:29:29.760 | 
you're always sticking your little floppy disk in and out 01:29:33.880 | 
But they started building what are called hard disk drives, 01:29:39.480 | 
that can remember information storage for the Mac. 01:29:44.000 | 
And Randy asked the question when he saw this disk 01:29:49.000 | 
next to his Mac, "Gee, these are brand new small things." 01:29:54.240 | 
the disk would be the size of washing machines. 01:30:02.520 | 
He says, "I wonder what we could do with that." 01:30:03.760 | 
Well, we, Randy was involved in the fourth generation 01:30:11.720 | 
So we'd figured out a way how to make the computation part, 01:30:20.780 | 
So we hit upon the idea of taking a lot of these disks 01:30:25.380 | 
developed for personal computers and Macintoshes 01:30:29.400 | 
instead of one of these washing machine-sized things. 01:30:37.280 | 
instead of one of these washing machine-sized things. 01:30:40.680 | 
And they would be much cheaper 'cause they're made for PCs. 01:30:45.520 | 
'cause there was 40 of them rather than one of them. 01:30:49.520 | 
and sent it to one of our former Berkeley students at IBM. 01:30:52.480 | 
And he said, "Well, this is all great and good, 01:30:53.800 | 
"but what about the reliability of these things?" 01:31:01.240 | 
so they're not as good as these IBM washing machines. 01:31:12.400 | 
instead of it breaking on average once a year, 01:31:25.760 | 
So the name, Redundant Array of Inexpensive Disks, 01:31:29.360 | 
is array of these disks, inexpensive like for PCs, 01:31:35.000 | 
So if one breaks, we won't lose all the information. 01:31:38.480 | 
We'll have enough redundancy that we could let some break 01:31:43.200 | 
So the name is an Array of Inexpensive Disks. 01:31:48.200 | 
And the R part of the name was the redundancy 01:31:52.280 | 
And it turns out if you put a modest number of extra disks 01:31:56.480 | 
it could actually not only be as faster and cheaper 01:32:06.800 | 
whereas one failure with the washing machine thing 01:32:17.400 | 
RAID would take over as a mechanism for storage? 01:32:22.040 | 
- I'd say, I think I'm naturally an optimist, 01:32:40.200 | 
and the volumes were with the smaller disk drives 01:32:51.560 | 
was gonna be getting smaller and smaller devices, 01:32:58.560 | 
then five inches, then three inches diameters. 01:33:06.280 | 
So I think it was one of those things where logically, 01:33:09.220 | 
we think the technological forces were on our side, 01:33:17.040 | 
but there was that same kind of business question. 01:33:23.720 | 
In the real world, where the technical advantage 01:33:33.800 | 
and it was unclear whether the business side, 01:33:38.440 | 
we believe that technology should win and it did. 01:33:46.060 | 
are there interesting developments in the space of storage 01:33:59.360 | 
as people built bigger and bigger storage systems, 01:34:05.880 | 
And the biggest thing that happened in storage 01:34:07.960 | 
is for decades, it was based on things physically spinning 01:34:18.600 | 
What that noise was, was the disk drive spinning 01:34:21.560 | 
and they were rotating at like 60 revolutions per second. 01:34:25.720 | 
And it's like, if you remember the vinyl records, 01:34:30.560 | 
if you've ever seen those, that's what it looked like. 01:34:36.320 | 
So the big drive change is switching that over 01:34:44.840 | 
is increasing fraction of all the computers in the world 01:35:05.600 | 
So all the cell phones in the world use flash. 01:35:09.960 | 
All the embedded devices use flash instead of storage. 01:35:20.240 | 
So it's been a huge change in the storage industry. 01:35:28.520 | 
- For the individual disk, but still the RAID mechanism 01:35:38.480 | 
kind of interesting, kind of psychologically, 01:35:42.680 | 
People have always worried about the reliability 01:35:47.080 | 
So kind of, but if we're talking about computation, 01:35:51.040 | 
if your computer makes a mistake and the computer says, 01:36:00.720 | 
What happens is that program that was running, 01:36:06.000 | 
For storage, if you've sent important information away, 01:36:16.660 | 
So if you have a laptop and you're not backing it up 01:36:36.260 | 
So yes, so RAID ideas are still very popular, 01:36:43.640 | 
If you're not doing anything like backing it up 01:36:51.740 | 
- You said that for you and possibly for many others, 01:36:56.460 | 
teaching and research don't conflict with each other 01:37:14.460 | 
and just thinks and creates new ideas in this world? 01:37:24.920 | 
So kind of this model that is popular in America, 01:37:34.360 | 
to research universities because they get to do research 01:37:44.260 | 
But when you run into a really bad professor, 01:37:46.420 | 
a really bad teacher, I think the students think, 01:37:53.500 | 
So as I, you know, after 40 years at Berkeley, 01:37:57.140 | 
we had a retirement party and I got a chance to reflect 01:38:07.400 | 
in the department who won the Distinguished Teaching Award 01:38:11.800 | 
You know, I've got one of those, one of the highest honors. 01:38:16.300 | 
There's Manuel Blum, Richard Karp, me, Randy Kass 01:38:26.360 | 
All of us are in the National Academy of Engineering. 01:38:29.180 | 
We've all run the Distinguished Teaching Award. 01:38:43.100 | 
What happens is if you, it's, they're highly correlated. 01:38:54.420 | 
- But it's an interesting question whether specifically, 01:38:57.580 | 
that's probably true, but specifically for teaching, 01:39:08.380 | 
makes you think deeper and more outside the box 01:39:14.260 | 
I mean, he criticized the Institute of Advanced Studies. 01:39:19.940 | 
was this thing that was created near Princeton 01:39:21.940 | 
where Einstein and all these smart people went. 01:39:24.260 | 
And when he was invited, he thought it was a terrible idea. 01:39:27.420 | 
This is a university, it was supposed to be heaven, right? 01:39:45.660 | 
I think that interaction between a research university 01:39:51.140 | 
asking hard questions the whole time is synergistic. 01:40:08.060 | 
but what's your favorite concept or idea to teach? 01:40:12.380 | 
What inspires you or you see inspire the students? 01:40:17.100 | 
Or puts the fear of God in them, I don't know. 01:40:20.940 | 
- I mean, in general, I think people are surprised. 01:40:31.820 | 
and get hooked on seeing the lights turn on, right? 01:40:34.860 | 
Is people, you can explain something to people 01:40:49.140 | 
I don't think there's any specific example of that. 01:40:53.980 | 
It's just the general joy of seeing them understand. 01:40:59.300 | 
- I have to talk about this, because I've wrestled. 01:41:16.820 | 
among many other things you've done in your life, 01:41:19.580 | 
competitively in sports and science and so on. 01:41:29.780 | 
and maybe even science from wrestling or from? 01:41:38.340 | 
And just right now, we were, in the state of California, 01:41:48.100 | 
but I decided to go to the community college, 01:41:56.220 | 
'Cause I thought it was because of my girlfriend. 01:41:59.500 | 
"and you thought the wrestling team was really good." 01:42:02.180 | 
And we were right, we had a great wrestling team. 01:42:04.140 | 
We actually wrestled against UCLA at a tournament, 01:42:15.700 | 
is I'm gonna go, they've invited me back at El Camino 01:42:22.180 | 
And so, my friend who was on the wrestling team, 01:42:28.740 | 
we're right now reaching out to other members 01:42:33.460 | 
But in terms of me, it was a huge difference. 01:42:41.340 | 
and so I was almost always the youngest person in my class. 01:42:44.960 | 
And I matured later, our family matured later, 01:42:51.580 | 
So, I took kind of nerdy courses, but I was wrestling, 01:42:56.580 | 
so wrestling was huge for my self-confidence in high school. 01:43:01.860 | 
And then, I kind of got bigger at El Camino and in college, 01:43:06.060 | 
and so I had this kind of physical self-confidence. 01:43:11.060 | 
And it's translated into research self-confidence. 01:43:16.140 | 
And also kind of, I've had this feeling even today, 01:43:21.980 | 
in my 70s, if something going on in the streets 01:43:26.700 | 
that is bad physically, I'm not gonna ignore it, right? 01:43:29.340 | 
I'm gonna stand up and try and straighten that out. 01:43:35.460 | 
- Yeah, and the same things happens intellectually. 01:43:39.220 | 
where people are saying something that's not true, 01:43:48.980 | 
I'm not standing by and letting that get away. 01:43:57.380 | 
for both, I had really great college and high school coaches 01:44:03.580 | 
an individual sport, that we'd be more successful 01:44:08.540 | 
you'd do things that we would support each other, 01:44:15.460 | 
But he felt if we bonded as a team, we'd succeed. 01:44:20.620 | 
of how to form successful teams from wrestling. 01:44:27.500 | 
one of my strengths is I can create teams of faculty, 01:44:38.500 | 
But I got both of those things from wrestling. 01:44:51.860 | 
people are a little bit more assertive or something. 01:44:59.340 | 
I didn't shy away from the risk-assist debates. 01:45:03.740 | 
I enjoyed taking on the arguments and stuff like that. 01:45:17.420 | 
there's really lots of positives you can take about it, 01:45:20.540 | 
of leadership, how to form teams and how to be successful. 01:45:34.820 | 
but it's a really cool one that people should look into. 01:45:50.600 | 
If you were to try to put metrics on a life well-lived, 01:45:55.440 | 
- Yeah, a friend of mine, Randy Katz said this. 01:46:04.340 | 
"the measure isn't the number of zeros in your bank account, 01:46:20.620 | 
wishing they'd spent more time in the office, right? 01:46:30.900 | 
A lot of them aren't papers or scientific results. 01:46:42.480 | 
The education things I've done, I'm very proud of. 01:47:00.480 | 
like the risk and rate stuff that I'm proud of, 01:47:16.080 | 
When I got the offer from Berkeley before I showed up, 01:47:21.520 | 
I read a book where they interviewed a lot of people 01:47:26.980 | 
was the people who felt good about what they did 01:47:30.760 | 
as opposed to things that were more transitory. 01:47:36.560 | 
it was gonna be relationships with the people over time 01:47:53.500 | 
- I don't think there's a better way to end it 01:48:04.400 | 
when you tell people you've been married 50 years, 01:48:22.860 | 
You can't say, I was wrong, you were right, you're a jerk. 01:48:27.120 | 
So yeah, freely acknowledging that you made a mistake, 01:48:41.360 | 
Thank you so much for the book you've written, 01:48:42.920 | 
for the research you've done, for changing the world. 01:49:01.780 | 
and downloading Cash App and using code LEXPODCAST. 01:49:12.000 | 
If you enjoy this thing, subscribe on YouTube, 01:49:18.480 | 
or connect with me on Twitter at Lex Friedman, 01:49:38.040 | 
Thank you for listening and hope to see you next time.