← Lex Fridman

David Patterson: Computer Architecture and Data Storage

第104期2020-06-27English

嘉宾:David Patterson

收听本集00:00 / 1:50:19
阅读设置
按你的习惯阅读
正文字号
下载播客精读
把这一篇,带走慢慢读

精读待补充

下载功能还未开放

§01Transcript · 00:00–21:13

00:00The following is a conversation with David Patterson, touring award winner and professor

00:05of computer science at Berkeley. He's known for pioneering contributions to RISC processor

00:10architecture used by 99% of new chips today and for co creating RAID storage. The impact that

00:18these two lines of research and development have had in our world is immeasurable. He's also one of

00:25the great educators of computer science in the world. His book with John Hennessy is how I first

00:30learned about and was humbled by the inner workings of machines at the lowest level.

01:21This episode is supported by the Jordan Harbinger Show.

01:24Go to Jordan Harbinger.com slash Lex. It's how he knows I sent you on that page. There's links

01:30to subscribe to it on Apple podcast, Spotify, and everywhere else. I've been binging on this podcast.

01:36It's amazing. Jordan is a great human being. He gets the best out of his guests, dives deep,

01:41calls them out when it's needed, and makes the whole thing fun to listen to. He's interviewed

01:46Kobe Bryant, Mark Cuban, Neil deGrasse Tyson, Garry Kasparov, and many more. I recently listened

01:52to his conversation with Frank Abagnale, author of Catch Me If You Can, and one of the world's

01:58most famous con men. Perfect podcast length and topic for a recent long distance run that I did.

02:05Again, go to Jordan Harbinger.com slash Lex to give him my love and to support this podcast.

02:13Subscribe also on Apple podcast, Spotify, and everywhere else.

02:17This show is presented by Cash App, the greatest sponsor of this podcast ever, and the number one

02:23finance app in the App Store. When you get it, use code LEX PODCAST. Cash App lets you send money

02:29to friends, buy Bitcoin, and invest in the stock market with as little as $1. Since Cash App allows

02:35you to buy Bitcoin, let me mention that cryptocurrency in the context of the history

02:39of money is fascinating. I recommend Ascent of Money as a great book on this history.

02:44Also, the audiobook is amazing. Debits and credits on Ledger started around 30,000 years ago.

02:50The US dollar created over 200 years ago, and the first decentralized cryptocurrency released just

02:55over 10 years ago. So given that history, cryptocurrency is still very much in its early

03:00days of development, but it's still aiming to and just might redefine the nature of money.

03:06So again, if you get Cash App from the App Store or Google Play, and use the code LEX PODCAST,

03:12you get $10, and Cash App will also donate $10 to FIRST, an organization that is helping to

03:19advance robotics and STEM education for young people around the world. And now, here's my

03:25conversation with David Patterson. Let's start with the big historical question. How have computers

03:32changed in the past 50 years at both the fundamental architectural level and in general, in your eyes?

03:38David Patterson Well, the biggest thing that happened was the invention of the microprocessor.

03:42So computers that used to fill up several rooms could fit inside your cell phone. And not only

03:52did they get smaller, they got a lot faster. So they're a million times faster than they were

03:5850 years ago, and they're much cheaper, and they're ubiquitous. There's 7.8 billion people

04:06on this planet. Probably half of them have cell phones right now, which is remarkable.

04:10Soterios Johnson That's probably more microprocessors than there are people.

04:14David Patterson Sure. I don't know what the ratio is,

04:16but I'm sure it's above one. Maybe it's 10 to 1 or some number like that.

04:21Soterios Johnson What is a microprocessor?

04:23David Patterson So a way to say what a microprocessor is,

04:27is to tell you what's inside a computer. So a computer forever has classically had

04:32five pieces. There's input and output, which kind of naturally, as you'd expect, is input is like

04:38speech or typing, and output is displays. There's a memory, and like the name sounds, it remembers

04:48things. So it's integrated circuits whose job is you put information in, then when you ask for it,

04:54it comes back out. That's memory. And the third part is the processor, where the microprocessor

05:00comes from. And that has two pieces as well. And that is the control, which is kind of the brain

05:07of the processor. And what's called the arithmetic unit, it's kind of the brawn of the computer. So

05:15if you think of the, as a human body, the arithmetic unit, the thing that does the

05:19number crunching is the body and the control is the brain. So those five pieces, input, output,

05:25memory, arithmetic unit, and control are, have been in computers since the very dawn. And the

05:34last two are considered the processor. So a microprocessor simply means a processor that

05:39fits on a microchip. And that was invented about, you know, 40 years ago, was the first microprocessor.

05:46It's interesting that you refer to the arithmetic unit as the, like you connected to the body and

05:52the controllers of the brain. So I guess, I never thought of it that way. It's a nice way to think

05:57of it because most of the actions the microprocessor does in terms of literally sort of computation,

06:05but the microprocessor does computation. It processes information. And most of the thing it

06:10does is basic arithmetic operations. What are the operations, by the way?

06:16It's a lot like a calculator. So there are add instructions, subtract instructions,

06:22multiply and divide. And kind of the brilliance of the invention of the computer or the processor

06:32is that it performs very trivial operations, but it just performs billions of them per second.

06:39And what we're capable of doing is writing software that can take these very trivial instructions

06:44and have them create tasks that can do things better than human beings can do today.

06:49Just looking back through your career, did you anticipate the kind of how good we would be able

06:55to get at doing these small, basic operations? How many surprises along the way where you just

07:03kind of sat back and said, wow, I didn't expect it to go this fast, this good?

07:09MG Well, the fundamental driving force is what's called Moore's law, which was named after Gordon

07:17Moore, who's a Berkeley alumnus. And he made this observation very early in what are called

07:23semiconductors. And semiconductors are these ideas, you can build these very simple switches,

07:29and you can put them on these microchips. And he made this observation over 50 years ago.

07:34He looked at a few years and said, I think what's going to happen is the number of these little

07:38switches called transistors is going to double every year for the next decade. And he said this

07:44in 1965. And in 1975, he said, well, maybe it's going to double every two years. And that what

07:51other people since named that Moore's law guided the industry. And when Gordon Moore made that

07:58prediction, he wrote a paper back in, I think, in the 70s and said, not only did this going to happen,

08:08he wrote, what would be the implications of that? And in this article from 1965,

08:13he shows ideas like computers being in cars and computers being in something that you would buy

08:21in the grocery store and stuff like that. So he kind of not only called his shot, he called the

08:26implications of it. So if you were in the computing field, and if you believed Moore's prediction,

08:33he kind of said what would be happening in the future. So it's not kind of, it's at one sense,

08:41this is what was predicted. And you could imagine it was easy to believe that Moore's law was going

08:46to continue. And so this would be the implications. On the other side, there are these kind of

08:51shocking events in your life. Like I remember driving in Marin across the Bay in San Francisco

08:59and seeing a bulletin board at a local civic center and it had a URL on it. And it was like,

09:07for the people at the time, these first URLs and that's the, you know, www select stuff with the

09:13HTTP. People thought it looked like alien writing, right? You'd see these advertisements and

09:22commercials or bulletin boards that had this alien writing on it. So for the lay people, it's like,

09:26what the hell is going on here? And for those people in the industry, it was, oh my God,

09:32this stuff is getting so popular, it's actually leaking out of our nerdy world into the real

09:37world. So that, I mean, there was events like that. I think another one was, I remember in the

09:42early days of the personal computer, when we started seeing advertisements in magazines

09:46for personal computers, like it's so popular that it's made the newspapers. So at one hand,

09:52you know, Gordon Moore predicted it and you kind of expected it to happen, but when it really hit

09:56and you saw it affecting society, it was shocking. So maybe taking a step back and looking both

10:05the engineering and philosophical perspective, what do you see as the layers of abstraction

10:11in the computer? Do you see a computer as a set of layers of abstractions?

10:16Dr. Justin Marchegiani Yeah, I think that's one of the things that computer science

10:20fundamentals is the, these things are really complicated in the way we cope with complicated

10:26software and complicated hardware is these layers of abstraction. And that simply means that we,

10:33you know, suspend disbelief and pretend that the only thing you know is that layer,

10:39and you don't know anything about the layer below it. And that's the way we can make very complicated

10:44things. And probably it started with hardware that that's the way it was done, but it's been

10:50proven extremely useful. And, you know, I would say in a modern computer today, there might be

10:5610 or 20 layers of abstraction, and they're all trying to kind of enforce this contract is all

11:02you know is this interface. There's a set of commands that you can, are allowed to use,

11:09and you stick to those commands, and we will faithfully execute that. And it's like peeling

11:13the air layers of a London, of an onion, you get down, there's a new set of layers and so forth.

11:19So for people who want to study computer science, the exciting part about it is you can

11:27keep peeling those layers. You take your first course, and you might learn to program in Python,

11:32and then you can take a follow on course, and you can get it down to a lower level language like C,

11:37and you know, you can go and then you can, if you want to, you can start getting into the hardware

11:42layers, and you keep getting down all the way to that transistor that I talked about that Gordon

11:47Moore predicted. And you can understand all those layers all the way up to the highest level

11:53application software. So it's a very kind of magnetic field. If you're interested, you can go

12:02into any depth and keep going. In particular, what's happening right now, or it's happened

12:08in software the last 20 years and recently in hardware, there's getting to be open source

12:12versions of all of these things. So what open source means is what the engineer, the programmer

12:18designs, it's not secret, the belonging to a company, it's out there on the worldwide web,

12:26so you can see it. So you can look at, for lots of pieces of software that you use, you can see

12:33exactly what the programmer does if you want to get involved. That used to stop at the hardware.

12:39Recently, there's been an effort to make open source hardware and those interfaces open,

12:46so you can see that. So instead of before you had to stop at the hardware, you can now start going

12:51layer by layer below that and see what's inside there. So it's a remarkable time that for the

12:56interested individual can really see in great depth what's really going on in the computers

13:01that power everything that we see around us. Are you thinking also when you say open source at

13:07the hardware level, is this going to the design architecture instruction set level or is it going

13:14to literally the manufacturer of the actual hardware, of the actual chips, whether that's ASIC

13:24specialized to a particular domain or the general? Yeah, so let's talk about that a little bit.

13:30So when you get down to the bottom layer of software, the way software talks to hardware

13:38is in a vocabulary. And what we call that vocabulary, we call that, the words of that

13:45vocabulary are called instructions. And the technical term for the vocabulary is instruction

13:50set. So those instructions are like we talked about earlier, that can be instructions like

13:55add, subtract and multiply, divide. There's instructions to put data into memory, which

14:01is called a store instruction and to get data back, which is called the load instructions.

14:05And those simple instructions go back to the very dawn of computing in 1950, the commercial

14:12computer had these instructions. So that's the instruction set that we're talking about.

14:17So up until, I'd say 10 years ago, these instruction sets were all proprietary. So

14:23a very popular one is owned by Intel, the one that's in the cloud and in all the PCs in the

14:29world. Intel owns that instruction set. It's referred to as the x86. There've been a sequence

14:36of ones that the first number was called 8086. And since then, there's been a lot of numbers,

14:41but they all end in 86. So there's been that kind of family of instruction sets.

14:47And that's proprietary.

14:49That's proprietary. The other one that's very popular is from ARM. That kind of powers all

14:55the cell phones in the world, all the iPads in the world, and a lot of things that are so called

15:02Internet of Things devices. ARM and that one is also proprietary. ARM will license it to people

15:09for a fee, but they own that. So the new idea that got started at Berkeley kind of unintentionally

15:1610 years ago is early in my career, we pioneered a way to do these vocabularies instruction sets

15:25that was very controversial at the time. At the time in the 1980s, conventional wisdom was these

15:32vocabularies instruction sets should have powerful instructions. So polysyllabic kind of words,

15:38you can think of that. And so instead of just add, subtract, and multiply, they would have

15:44polynomial, divide, or sort a list. And the hope was of those powerful vocabularies,

15:51that'd make it easier for software. So we thought that didn't make sense for microprocessors. There

15:57was people at Berkeley and Stanford and IBM who argued the opposite. And what we called that was

16:03a reduced instruction set computer. And the abbreviation was RISC. And typical for computer

16:10people, we use the abbreviation start pronouncing it. So risk was the thing. So we said for

16:15microprocessors, which with Gordon's Moore is changing really fast, we think it's better to have

16:21a pretty simple set of instructions, reduced set of instructions. That that would be a better way

16:28to build microprocessors since they're going to be changing so fast due to Moore's law. And then

16:32we'll just use standard software to cover the use, generate more of those simple instructions. And

16:41one of the pieces of software that's in that software stack going between these layers of

16:45abstractions is called a compiler. And it's basically translates, it's a translator between

16:50levels. We said the translator will handle that. So the technical question was, well, since there

16:57are these reduced instructions, you have to execute more of them. Yeah, that's right. But

17:01maybe you could execute them faster. Yeah, that's right. They're simpler so they could go faster,

17:05but you have to do more of them. So what's that trade off look like? And it ended up that we ended

17:12up executing maybe 50% more instructions, maybe a third more instructions, but they ran four times

17:19faster. So this risk, controversial risk ideas proved to be maybe factors of three or four

17:26better. I love that this idea was controversial and almost kind of like rebellious. So that's

17:33in the context of what was more conventional is the complex instructional set computing. So

17:40how would you pronounce that? CISC. CISC versus risk. Risk versus CISC. And believe it or not,

17:46this sounds very, who cares about this? It was violently debated at several conferences. It's

17:54like, what's the right way to go? And people thought risk was a deevolution. We're going to

18:01make software worse by making those instructions simpler. And there are fierce debates at several

18:07conferences in the 1980s. And then later in the 80s, it kind of settled to these benefits.

18:14It's not completely intuitive to me why risk has, for the most part, won.

18:19Yeah. So why did that happen? Yeah. Yeah. And maybe I can sort of say a bunch of dumb things

18:24that could lay the land for further commentary. So to me, this is kind of an interesting thing.

18:30If you look at C++ versus C, with modern compilers, you really could write faster code

18:36with C++. So relying on the compiler to reduce your complicated code into something simple and

18:44fast. So to me, comparing risk, maybe this is a dumb question, but why is it that focusing the

18:53definition of the design of the instruction set on very few simple instructions in the long run

19:00provide faster execution versus coming up with, like you said, a ton of complicated instructions

19:09that over time, you know, years, maybe decades, you come up with compilers that can reduce those

19:16into simple instructions for you. Yeah. So let's try and split that into two pieces.

19:22So if the compiler can do that for you, if the compiler can take, you know, a complicated program

19:29and produce simpler instructions, then the programmer doesn't care, right? I don't care just

19:37how fast is the computer I'm using, how much does it cost? And so what happened kind of in the

19:43software industry is right around before the 1980s, critical pieces of software were still written

19:50not in languages like C or C++, they were written in what's called assembly language, where there's

19:57this kind of humans writing exactly at the instructions at the level that a computer can

20:04understand. So they were writing add, subtract, multiply, you know, instructions. It's very tedious.

20:11But the belief was to write this lowest level of software that people use, which are called operating

20:17systems, they had to be written in assembly language because these high level languages were just too

20:22inefficient. They were too slow, or the programs would be too big. So that changed with a famous

20:31operating system called Unix, which is kind of the grandfather of all the operating systems today.

20:37So Unix demonstrated that you could write something as complicated as an operating system in a

20:43language like C. So once that was true, then that meant we could hide the instruction set from the

20:51programmer. And so that meant then it didn't really matter. The programmer didn't have to write

20:58lots of these simple instructions, that was up to the compiler. So that was part of our arguments

21:02for risk is, if you were still writing assembly language, there's maybe a better case for CISC

21:07instructions. But if the compiler can do that, it's going to be, you know, that's done once the

§02Transcript · 21:13–41:33

21:13computer translates at once. And then every time you run the program, it runs at this potentially

21:19simpler instructions. And so that was the debate, right? And people would acknowledge that the

21:26simpler instructions could lead to a faster computer. You can think of monosyllabic instructions,

21:33you could say them, you know, if you think of reading, you can probably read them faster or say

21:36them faster than long instructions. The same thing, that analogy works pretty well for hardware.

21:42And as long as you didn't have to read a lot more of those instructions, you could win. So that's

21:46kind of, that's the basic idea for risk. But it's interesting that in that discussion of Unix and C,

21:54that there's only one step of levels of abstraction from the code that's really the closest to the

22:02machine to the code that's written by human. It's, at least to me again, perhaps a dumb intuition,

22:09but it feels like there might've been more layers, sort of different kinds of humans stacked on top

22:16of each other. So what's true and not true about what you said is several of the layers of software,

22:27like, so the, if you, two layers would be, suppose we just talked about two layers,

22:32that would be the operating system, like you get from Microsoft or from Apple, like iOS,

22:38or the Windows operating system. And let's say applications that run on top of it, like Word

22:44or Excel. So both the operating system could be written in C and the application could be written

22:52in C. But you could construct those two layers and the applications absolutely do call upon the

22:58operating system. And the change was that both of them could be written in higher level languages.

23:04So it's one step of a translation, but you can still build many layers of abstraction

23:10of software on top of that. And that's how things are done today. So still today,

23:17many of the layers that you'll deal with, you may deal with debuggers, you may deal with linkers,

23:25there's libraries. Many of those today will be written in C++, say, even though that language is

23:34pretty ancient. And even the Python interpreter is probably written in C or C++. So lots of

23:41layers there are probably written in these, some old fashioned efficient languages that

23:48still take one step to produce these instructions, produce RISC instructions, but they're composed,

23:56each layer of software invokes one another through these interfaces. And you can get 10 layers of

24:02software that way. So in general, the RISC was developed here at Berkeley? It was kind of the

24:08three places that were these radicals that advocated for this against the rest of community

24:14were IBM, Berkeley, and Stanford. You're one of these radicals. And how radical did you feel?

24:24How confident did you feel? How doubtful were you that RISC might be the right approach? Because

24:31it may, you can also intuit that is kind of taking a step back into simplicity, not forward into

24:37simplicity. Yeah, no, it was easy to make, yeah, it was easy to make the argument against it. Well,

24:44this was my colleague, John Hennessy at Stanford Nine. We were both assistant professors. And

24:50for me, I just believed in the power of our ideas. I thought what we were saying made sense.

24:57Moore's law is going to move fast. The other thing that I didn't mention is one of the surprises of

25:03these complex instruction sets. You could certainly write these complex instructions

25:08if the programmer is writing them themselves. It turned out to be kind of difficult for the

25:13compiler to generate those complex instructions. Kind of ironically, you'd have to find the right

25:18circumstances that just exactly fit this complex instruction. It was actually easier for the

25:22compiler to generate these simple instructions. So not only did these complex instructions make

25:28the hardware more difficult to build, often the compiler wouldn't even use them. And so

25:35it's harder to build. The compiler doesn't use them that much. The simple instructions go better

25:40with Moore's law. The number of transistors is doubling every two years. So we're going to have,

25:46you want to reduce the time to design the microprocessor, that may be more important

25:51than these number of instructions. So I think we believed that we were right, that this was

25:58the best idea. Then the question became in these debates, well, yeah, that's a good technical idea,

26:03but in the business world, this doesn't matter. There's other things that matter. It's like

26:08arguing that if there's a standard with the railroad tracks and you've come up with a better

26:14width, but the whole world is covered in railroad tracks, so your ideas have no chance of success.

26:20Right. Commercial success. It was technically right, but commercially it'll be insignificant.

26:25Yeah, it's kind of sad that this world, the history of human civilization is full of good ideas that

26:33lost because somebody else came along first with a worse idea. And it's good that in the

26:39computing world, at least some of these have, well, you could, I mean, there's probably still

26:43CISC people that say, yeah, there still are. And what happened was, what was interesting, Intel,

26:50a bunch of the CISC companies with CISC instruction sets of vocabulary, they gave up,

26:57but not Intel. What Intel did to its credit, because Intel's vocabulary was in the personal

27:06computer. And so that was a very valuable vocabulary because the way we distribute software

27:11is in those actual instructions. It's in the instructions of that instruction set. So

27:17you don't get that source code, what the programmers wrote. You get, after it's been translated into

27:22the lowest level, that's if you were to get a floppy disk or download software, it's in the

27:27instructions of that instruction set. So the x86 instruction set was very valuable. So what Intel

27:33did cleverly and amazingly is they had their chips in hardware do a translation step.

27:40They would take these complex instructions and translate them into essentially in RISC instructions

27:45in hardware on the fly, at gigahertz clock speeds. And then any good idea that RISC people had,

27:52they could use, and they could still be compatible with this really valuable PC software base,

28:01which also had very high volumes, 100 million personal computers per year. So the CISC architecture

28:09in the business world was actually won in this PC era. So just going back to the

28:20time of designing RISC, when you design an instruction set architecture, do you think

28:27like a programmer? Do you think like a microprocessor engineer? Do you think like a

28:33artist, a philosopher? Do you think in software and hardware? I mean, is it art? Is it science?

28:40Yeah, I'd say, I think designing a good instruction set is an art. And I think you're trying to

28:47balance the simplicity and speed of execution with how well easy it will be for compilers

28:57to use it. You're trying to create an instruction set that everything in there can be used by

29:03compilers. There's not things that are missing that'll make it difficult for the program to run.

29:10They run efficiently, but you want it to be easy to build as well. So I'd say you're thinking

29:16hardware, trying to find a hardware software compromise that'll work well. And it's a matter

29:24of taste. It's kind of fun to build instruction sets. It's not that hard to build an instruction

29:30set, but to build one that catches on and people use, you have to be fortunate to be

29:38the right place in the right time or have a design that people really like. Are you using metrics?

29:43So is it quantifiable? Because you kind of have to anticipate the kind of programs that people

29:49write ahead of time. So can you use numbers? Can you use metrics? Can you quantify something ahead

29:56of time? Or is this, again, that's the art part where you're kind of anticipating? No, it's a big

30:00change. Kind of what happened, I think from Hennessy's and my perspective in the 1980s,

30:07what happened was going from kind of really, you know, taste and hunches to quantifiable. And in

30:17fact, he and I wrote a textbook at the end of the 1980s called Computer Architecture, A Quantitative

30:22Approach. I heard of that. And it's the thing, it had a pretty big impact in the field because we

30:30went from textbooks that kind of listed, so here's what this computer does, and here's the pros and

30:36cons, and here's what this computer does and pros and cons to something where there were formulas

30:40and equations where you could measure things. So specifically for instruction sets, what we do

30:47and some other fields do is we agree upon a set of programs, which we call benchmarks,

30:53and a suite of programs, and then you develop both the hardware and the compiler and you get

31:00numbers on how well your computer does given its instruction set and how well you implemented it in

31:09your microprocessor and how good your compilers are. In computer architecture, you know, using

31:14professor's terms, we grade on a curve rather than grade on an absolute scale. So when you say,

31:20you know, these programs run this fast, well, that's kind of interesting, but how do you know

31:24it's better? Well, you compare it to other computers at the same time. So the best way we

31:29know how to turn it into a kind of more science and experimental and quantitative is to compare

31:37yourself to other computers of the same era that have the same access to the same kind of technology

31:41on commonly agreed benchmark programs.

31:44So maybe to toss up two possible directions we can go. One is what are the different tradeoffs

31:51in designing architectures? We've been already talking about SISC and RISC, but maybe a little

31:56bit more detail in terms of specific features that you were thinking about. And the other side is

32:03what are the metrics that you're thinking about when looking at these tradeoffs?

32:08Yeah, let's talk about the metrics. So during these debates, we actually had kind of a hard

32:14time explaining, convincing people the ideas, and partly we didn't have a formula to explain it.

32:20And a few years into it, we hit upon a formula that helped explain what was going on. And

32:27I think if we can do this, see how it works orally to do this. So if I can do a formula

32:34orally, let's see. So fundamentally, the way you measure performance is how long does it take a

32:40program to run? A program, if you have 10 programs, and typically these benchmarks were sweet because

32:47you'd want to have 10 programs so they could represent lots of different applications. So for

32:51these 10 programs, how long does it take to run? Well now, when you're trying to explain why it

32:56took so long, you could factor how long it takes a program to run into three factors.

33:01One of the first one is how many instructions did it take to execute? So that's the what we've been

33:06talking about, you know, the instructions of Alchemy. How many did it take? All right. The

33:11next question is how long did each instruction take to run on average? So you multiply the number

33:17of instructions times how long it took to run, and that gets you time. Okay, so that's, but now let's

33:23look at this metric of how long did it take the instruction to run. Well, it turns out,

33:28the way we could build computers today is they all have a clock, and you've seen this when you,

33:33if you buy a microprocessor, it'll say 3.1 gigahertz or 2.5 gigahertz, and more gigahertz is

33:39good. Well, what that is is the speed of the clock. So 2.5 gigahertz turns out to be 4 billionths of

33:47instruction or 4 nanoseconds. So that's the clock cycle time. But there's another factor, which is

33:54what's the average number of clock cycles it takes per instruction? So it's number of instructions,

33:59average number of clock cycles, and the clock cycle time. So in these risk sis debates, they

34:05would concentrate on, but risk needs to take more instructions, and we'd argue maybe the clock cycle

34:12is faster, but what the real big difference was was the number of clock cycles per instruction.

34:17Per instruction, that's fascinating. What about the mess of, the beautiful mess of parallelism in the

34:25whole picture? Parallelism, which has to do with, say, how many instructions could execute in parallel

34:31and things like that, you could think of that as affecting the clock cycles per instruction,

34:35because it's the average clock cycles per instruction. So when you're running a program,

34:39if it took 100 billion instructions, and on average it took two clock cycles per instruction,

34:45and they were four nanoseconds, you could multiply that out and see how long it took to run.

34:49And there's all kinds of tricks to try and reduce the number of clock cycles per instruction.

34:55But it turned out that the way they would do these complex instructions is they would actually

35:00build what we would call an interpreter in a simpler, a very simple hardware interpreter.

35:05But it turned out that for the sis constructions, if you had to use one of those interpreters,

35:10it would be like 10 clock cycles per instruction, where the risk constructions could be two. So

35:16there'd be this factor of five advantage in clock cycles per instruction. We have to execute, say,

35:2125 or 50 percent more instructions, so that's where the win would come. And then you could

35:25make an argument whether the clock cycle times are the same or not. But pointing out that we

35:30could divide the benchmark results time per program into three factors, and the biggest

35:36difference between RISC and SIS was the clock cycles per, you execute a few more instructions,

35:40but the clock cycles per instruction is much less. And that was what this debate, once we

35:46made that argument, then people said, oh, okay, I get it. And so we went from, it was outrageously

35:53controversial in, you know, 1982 that maybe probably by 1984 or so, people said, oh, yeah,

35:59technically, they've got a good argument. What are the instructions in the RISC instruction set,

36:05just to get an intuition? Okay. 1995, I was asked to predict the future of what microprocessor

36:13could future. So I, and I'd seen these predictions and usually people predict something outrageous

36:20just to be entertaining, right? And so my prediction for 2020 was, you know, things are

36:25going to be pretty much, they're going to look very familiar to what they are. And they are,

36:30and if you were to read the article, you know, the things I said are pretty much true. The

36:34instructions that have been around forever are kind of the same. And that's the outrageous

36:38prediction, actually. Yeah. Given how fast computers have been going. Well, and you know,

36:42Moore's law was going to go on, we thought for 25 more years, you know, who knows, but kind of the

36:47surprising thing, in fact, you know, Hennessy and I, you know, won the ACM, AM, Turing award for

36:55both the RISC instruction set contributions and for that textbook I mentioned. But, you know,

37:00we're surprised that here we are 35, 40 years later after we did our work and the conventionalism

37:10of the best way to do instruction sets is still those RISC instruction sets that looked very

37:15similar to what we looked like, you know, we did in the 1980s. So those, surprisingly, there hasn't

37:21been some radical new idea, even though we have, you know, a million times as many transistors as

37:26we had back then. But what are the basic constructions and how do they change over the

37:32years? So we're talking about addition, subtraction, these are the specific. So the things that are in

37:39a calculator are in a computer. So any of the buttons that are in the calculator in the computer,

37:44so the, so if there's a memory function key, and like I said, those are, turns into putting

37:50something in memory is called a store, bring something back to load. Just a quick tangent.

37:54When you say memory, what does memory mean? Well, I told you there were five pieces of a computer.

38:00And if you remember in a calculator, there's a memory key. So you want to have intermediate

38:04calculation and bring it back later. So you'd hit the memory plus key M plus maybe, and it would

38:09put that into memory and then you'd hit an RM like recurrence section and then bring it back

38:14on the display. So you don't have to type it. You don't have to write it down and bring it back

38:17again. So that's exactly what memory is. You can put things into it as temporary storage and bring

38:22it back when you need it later. So that's memory and loads and stores. But the big thing, the

38:28difference between a computer and a calculator is that the computer can make decisions. And

38:35amazingly, decisions are as simple as, is this value less than zero? Or is this value bigger

38:41than that value? And those instructions, which are called conditional branch instructions,

38:47is what give computers all its power. If you were in the early days of computing before

38:53what's called the general purpose microprocessor, people would write these instructions kind of in

38:58hardware, but it couldn't make decisions. It would do the same thing over and over again.

39:05With the power of having branch instructions, it can look at things and make decisions

39:09automatically. And it can make these decisions billions of times per second. And amazingly

39:15enough, we can get, thanks to advanced machine learning, we can create programs that can do

39:20something smarter than human beings can do. But if you go down that very basic level, it's the

39:25instructions are the keys on the calculator, plus the ability to make decisions, these conditional

39:30branch instructions. And all decisions fundamentally can be reduced down to these

39:34branch instructions. Yeah. So in fact, and so going way back in the stack back to,

39:42we did four RISC projects at Berkeley in the 1980s. They did a couple at Stanford

39:47in the 1980s. In 2010, we decided we wanted to do a new instruction set learning from the mistakes

39:54of those RISC architectures in the 1980s. And that was done here at Berkeley almost exactly

40:0010 years ago. And the people who did it, I participated, but Krzysztof Sanowicz and others

40:07drove it. They called it RISC 5 to honor those RISC, the four RISC projects of the 1980s.

40:13So what does RISC 5 involve? So RISC 5 is another instruction set of vocabulary. It's learned from

40:21the mistakes of the past, but it still has, if you look at the, there's a core set of instructions

40:25that's very similar to the simplest architectures from the 1980s. And the big difference about RISC

40:315 is it's open. So I talked early about proprietary versus open software. So this is an instruction

40:41set. So it's a vocabulary, it's not hardware, but by having an open instruction set, we can have

40:47open source implementations, open source processors that people can use. Where do you see that

40:54going? It's a really exciting possibility, but you're just like in the scientific American,

41:00if you were to predict 10, 20, 30 years from now, that kind of ability to utilize open source

41:07instruction set architectures like RISC 5, what kind of possibilities might that unlock?

41:13Yeah. And so just to make it clear, because this is confusing, the specification of RISC 5 is

41:20something that's like in a textbook, there's books about it. So that's defining an interface.

41:27There's also the way you build hardware is you write it in languages that are kind of like C,

§03Transcript · 41:33–1:02:03

41:33but they're specialized for hardware that gets translated into hardware. And so these

41:39implementations of this specification are the open source. So they're written in something

41:44that's called Verilog or VHDL, but it's put up on the web, just like you can see the C++ code for

41:53Linux on the web. So that's the open instruction set enables open source implementations of RISC 5.

42:00So you can literally build a processor using this instruction set.

42:04People are, people are. So what happened to us that the story was this was developed here for

42:09our use to do our research. And we made it, we licensed under the Berkeley Software Distribution

42:15License, like a lot of things get licensed here. So other academics use it, they wouldn't be afraid

42:19to use it. And then about 2014, we started getting complaints that we were using it in our research

42:27and in our courses. And we got complaints from people in industries, why did you change your

42:32instruction set between the fall and the spring semester? And well, we get complaints from

42:37industrial time. Why the hell do you care what we do with our instruction set? And then when we

42:42talked to him, we found out there was this thirst for this idea of an open instruction set

42:46architecture. And they had been looking for one. They stumbled upon ours at Berkeley, thought it

42:51was, boy, this looks great. We should use this one. And so once we realized there is this need

42:58for an open instruction set architecture, we thought that's a great idea. And then we started

43:02supporting it and tried to make it happen. So this was kind of, we accidentally stumbled into this

43:09and to this need and our timing was good. And so it's really taking off. There's,

43:16you know, universities are good at starting things, but they're not good at sustaining things. So like

43:20Linux has a Linux foundation, there's a RISC 5 foundation that we started. There's an annual

43:26conferences. And the first one was done, I think, January of 2015. And the one that was just last

43:32December in it, you know, it had 50 people at it. And this one last December had, I don't know,

43:381700 people were at it and the companies excited all over the world. So if predicting into the

43:44future, you know, if we were doing 25 years, I would predict that RISC 5 will be, you know,

43:51possibly the most popular instruction set architecture out there, because it's a pretty

43:57good instruction set architecture and it's open and free. And there's no reason lots of people

44:03shouldn't use it. And there's benefits just like Linux is so popular today compared to 20 years

44:10ago. And, you know, the fact that you can get access to it for free, you can modify it, you can

44:17improve it for all those same arguments. And so people collaborate to make it a better system

44:22for everybody to use. And that works in software. And I expect the same thing will happen in

44:26hardware. So if you look at ARM, Intel, MIPS, if you look at just the lay of the land,

44:34and what do you think, just for me, because I'm not familiar how difficult this kind of transition

44:42would, how much challenges this kind of transition would entail, do you see,

44:50let me ask my dumb question in another way.

44:52No, that's, I know where you're headed. Well, there's a bunch, I think the thing you point out,

44:57there's these very popular proprietary instruction sets, the x86.

45:02And so how do we move to RISC 5 potentially in sort of in the span of 5, 10, 20 years,

45:09a kind of unification, given that the devices, the kind of way we use devices,

45:15IoT, mobile devices, and the cloud keeps changing?

45:20Well, part of it, a big piece of it is the software stack. And right now, looking forward,

45:27there seem to be three important markets. There's the cloud. And the cloud is simply

45:34companies like Alibaba and Amazon and Google, Microsoft, having these giant data centers with

45:42tens of thousands of servers in maybe a hundred of these data centers all over the world.

45:48And that's what the cloud is. So the computer that dominates the cloud is the x86 instruction set.

45:54So the instruction sets used in the cloud are the x86, almost 100% of that today is x86.

46:03The other big thing are cell phones and laptops. Those are the big things today.

46:08I mean, the PC is also dominated by the x86 instruction set, but those sales are dwindling.

46:14You know, there's maybe 200 million PCs a year, and there's one and a half billion phones a year.

46:21There's numbers like that. So for the phones, that's dominated by ARM.

46:26And now, and a reason that I talked about the software stacks, and the third category is

46:33Internet of Things, which is basically embedded devices, things in your cars and your microwaves

46:38everywhere. So what's different about those three categories is for the cloud, the software that

46:45runs in the cloud is determined by these companies, Alibaba, Amazon, Google, Microsoft. So they

46:51control that software stack. For the cell phones, there's both for Android and Apple, the software

46:58they supply, but both of them have marketplaces where anybody in the world can build software.

47:03And that software is translated or, you know, compiled down and shipped in the vocabulary of ARM.

47:11So that's what's referred to as binary compatible because the actual, it's the instructions are

47:18turned into numbers, binary numbers, and shipped around the world.

47:21And sorry, just a quick interruption. So ARM, what is ARM? ARM is an instruction set, like a risk based...

47:29Yeah, it's a risk based instruction set. It's a proprietary one. ARM stands for Advanced Risk

47:36Machine. ARM is the name where the company is. So it's a proprietary risk architecture.

47:41So, and it's been around for a while and it's, you know, the, surely the most popular instruction set

47:50in the world right now. They, every year, billions of chips are using the ARM design in this post PC

47:56era. Was it one of the early risk adopters of the risk idea? Yeah. The first ARM goes back,

48:03I don't know, 86 or so. So Berkeley instead did their work in the early 80s. The ARM guys needed

48:09an instruction set and they read our papers and it heavily influenced them. So getting back to my

48:17story, what about Internet of Things? Well, software is not shipped in Internet of Things. It's the

48:22embedded device people control that software stack. So the opportunities for risk five,

48:29everybody thinks, is in the Internet of Things embedded things because there's no dominant

48:34player like there is in the cloud or the smartphones. And, you know, it's, it's,

48:41doesn't have a lot of licenses associated with, and you can enhance the instruction set if you want.

48:46And it's, and people have looked at instruction sets and think it's a very good instruction set.

48:52So it appears to be very popular there. It's possible that in the cloud people,

48:59those companies control their software stacks. So it's possible that they would decide to use

49:05risk five if we're talking about 10 and 20 years in the future. The one that would be harder would

49:10be the cell phones. Since people ship software in the ARM instruction set that you'd think be

49:16the more difficult one. But if risk five really catches on and, you know, you could,

49:20in a period of a decade, you can imagine that's changing over too. Do you have a sense why risk

49:25five or ARM has dominated? You mentioned these three categories. Why has, why did ARM dominate,

49:31why does it dominate the mobile device space? And maybe my naive intuition is that there are some

49:38aspects of power efficiency that are important that somehow come along with risk. Well, part of it is

49:44for these old CIS construction sets, like in the x86, it was more expensive to these for, you know,

49:55they're older, so they have disadvantages in them because they were designed 40 years ago. But also

50:01they have to translate in hardware from CIS constructions to risk constructions on the fly.

50:06And that costs both silicon area that the chips are bigger to be able to do that.

50:12And it uses more power. So ARM has, which has, you know, followed this risk philosophy is

50:18seen to be much more energy efficient. And in today's computer world, both in the cloud

50:23and the cell phone and, you know, things, it isn't, the limiting resource isn't the number of

50:29transistors you can fit in the chip. It's what, how much power can you dissipate for your

50:34application? So by having a reduced instruction set, that's possible to have a simpler hardware,

50:42which is more energy efficient. And energy efficiency is incredibly important in the cloud.

50:46When you have tens of thousands of computers in a data center, you want to have the most energy

50:51efficient ones there as well. And of course, for embedded things running off of batteries,

50:54you want those to be energy efficient and the cell phones too. So I think it's believed that

51:00there's a energy disadvantage of using these more complex instruction set architectures.

51:08So the other aspect of this is if we look at Apple, Qualcomm, Samsung, Huawei, all use the

51:14ARM architecture, and yet the performance of the systems varies. I mean, I don't know

51:20whose opinion you take on, but you know, Apple for some reason seems to perform better in terms of

51:26these implementation, these architectures. So where's the magic and show the picture.

51:30How's that happen? Yeah. So what ARM pioneered was a new business model. As they said, well,

51:35here's our proprietary instruction set, and we'll give you two ways to do it.

51:41We'll give you one of these implementations written in things like C called Verilog,

51:46and you can just use ours. Well, you have to pay money for that. Not only you pay,

51:51we'll give you their, you know, we'll license you to do that, or you could design your own. And so

51:57we're talking about numbers like tens of millions of dollars to have the right to design your own,

52:02since they, it's the instruction set belongs to them. So Apple got one of those, the right to

52:08build their own. Most of the other people who build like Android phones just get one of the designs

52:15from ARM to do it themselves. So Apple developed a really good microprocessor design team. They,

52:24you know, acquired a very good team that had, was building other microprocessors and brought them

52:30into the company to build their designs. So the instruction sets are the same, the specifications

52:35are the same, but their hardware design is much more efficient than I think everybody else's.

52:40And that's given Apple an advantage in the marketplace in that the iPhones tend to be the

52:49faster than most everybody else's phones that are there. It'd be nice to be able to jump around and

52:55kind of explore different little sides of this, but let me ask one sort of romanticized question.

53:01What to you is the most beautiful aspect or idea of RISC instruction set?

53:07Most beautiful aspect or idea of RISC instruction set or instruction sets or this work that you've

53:13done? You know, I'm, you know, I was always attracted to the idea of, you know, small is

53:20beautiful, right? Is that the temptation in engineering, it's kind of easy to make things

53:26more complicated. It's harder to come up with a, it's more difficult, surprisingly, to come up with

53:32a simple, elegant solution. And I think that there's a bunch of small features of RISC in general

53:39that, you know, where you can see this examples of keeping it simpler makes it more elegant.

53:45Specifically in RISC 5, which, you know, I was kind of the mentor in the program, but it was

53:50really driven by Krzysztof Sanović and two grad students, Andrew Waterman and Yen Tsip Li, is they

53:56hit upon this idea of having a subset of instructions, a nice, simple subset instructions,

54:05like 40ish instructions that all software, the software staff RISC 5 can run just on those 40

54:12instructions. And then they provide optional features that could accelerate the performance

54:20instructions that if you needed them could be very helpful, but you don't need to have them.

54:24And that's a new, really a new idea. So RISC 5 has right now maybe five optional subsets that

54:31you can pull in, but the software runs without them. If you just want to build the, just the core

54:3740 instructions, that's fine. You can do that. So this is fantastic educationally is you can

54:43explain computers. You only have to explain 40 instructions and not thousands of them. Also,

54:48if you invent some wild and crazy new technology like, you know, biological computing, you'd like

54:56a nice, simple instruction set and you can, RISC 5, if you implement those core instructions, you

55:02can run, you know, really interesting programs on top of that. So this idea of a core set of

55:07instructions that the software stack runs on and then optional features that if you turn them on,

55:13the compilers were used, but you don't have to, I think is a powerful idea. What's happened in

55:18the past for the proprietary instruction sets is when they add new instructions, it becomes

55:25required piece. And so that all microprocessors in the future have to use those instructions. So

55:33it's kind of like, for a lot of people as they get older, they gain weight, right? That weight and

55:39age are correlated. And so you can see these instruction sets getting bigger and bigger as

55:44they get older. So RISC 5, you know, lets you be as slim as you as a teenager. And you only have to

55:50add these extra features if you're really going to use them rather than you have no choice. You have

55:55to keep growing with the instruction set. I don't know if the analogy holds up, but that's a beautiful

56:00notion that there's, it's almost like a nudge towards here's the simple core. That's the

56:06essential. Yeah. And I think the surprising thing is still if we brought back, you know,

56:12the pioneers from the 1950s and showed them the instruction set architectures, they'd understand

56:16it. They'd say, wow, that doesn't look that different. Well, you know, I'm surprised. And

56:21it's, there's, it may be something, you know, to talk about philosophical things. I mean, there may

56:26be something powerful about those, you know, 40 or 50 instructions that all you need is these

56:35commands like these instructions that we talked about. And that is sufficient to build, to bring

56:42up on, you know, artificial intelligence. And so it's a remarkable, surprising to me that as

56:50complicated as it is to build these things, you know, microprocessors where the line widths are

56:58are narrower than the wavelength of light, you know, is this amazing technologies at some

57:05fundamental level. The commands that software executes are really pretty straightforward and

57:10haven't changed that much in decades. What a surprising outcome. So underlying all computation,

57:18all Turing machines, all artificial intelligence systems, perhaps might be a very simple instruction

57:23set like a RISC5 or it's. Yeah. I mean, that's kind of what I said. I was interested to see,

57:30I had another more senior faculty colleague and he had written something in Scientific American

57:36and, you know, his 25 years in the future and his turned out about when I was a young professor and

57:43he said, yep, I checked it. And so I was interested to see how that was going to turn out for me. And

57:48it's pretty held up pretty well, but yeah, so there's, there's probably, there's some, you know,

57:54there's, there must be something fundamental about those instructions that we're capable of

58:01creating, you know, intelligence from pretty primitive operations and just doing them really

58:07fast. You kind of mentioned a different, maybe radical computational medium like biological,

58:14and there's other ideas. So there's a lot of spaces in ASIC, domain specific, and then there

58:20could be quantum computers. And so we can think of all of those different mediums and types of

58:25computation. What's the connection between swapping out different hardware systems and the

58:33instruction set? Do you see those as disjoint or are they fundamentally coupled? Yeah. So what's,

58:37so kind of, if we go back to the history, you know, when Moore's Law is in full effect and

58:45you're getting twice as many transistors every couple of years, you know, kind of the challenge

58:51for computer designers is how can we take advantage of that? How can we turn those transistors into

58:56better computers faster typically? And so there was an era, I guess in the 80s and 90s where

59:04computers were doubling performance every 18 months. And if you weren't around then,

59:11what would happen is you had your computer and your friend's computer, which was like a year,

59:18a year and a half newer, and it was much faster than your computer. And he or she could get their

59:23work done much faster than your computer because it was newer. So people took their computers,

59:27perfectly good computers, and threw them away to buy a newer computer because the computer

59:33one or two years later was so much faster. So that's what the world was like in the 80s and

59:3990s. Well, with the slowing down of Moore's Law, that's no longer true, right? Now with, you know,

59:46not desk side computers with the laptops, I only get a new desk laptop when it breaks,

59:51right? Oh damn, the disk broke or this display broke, I gotta buy a new computer. But before

59:56you would throw them away because it just, they were just so sluggish compared to the latest

60:01computers. So that's, you know, that's a huge change of what's gone on. So, but since this

60:11lasted for decades, kind of programmers and maybe all of society is used to computers getting faster

60:18regularly. We now believe, those of us who are in computer design, it's called computer

60:24architecture, that the path forward is instead is to add accelerators that only work well for

60:33certain applications. So since Moore's Law is slowing down, we don't think general purpose

60:41computers are going to get a lot faster. So the Intel processors of the world are not going to,

60:46haven't been getting a lot faster. They've been barely improving, like a few percent a year.

60:51It used to be doubling every 18 months and now it's doubling every 20 years. So it was just

60:56shocking. So to be able to deliver on what Moore's Law used to do, we think what's going to happen,

61:02what is happening right now is people adding accelerators to their microprocessors that only

61:09work well for some domains. And by sheer coincidence, at the same time that this is happening,

61:17has been this revolution in artificial intelligence called machine learning. So with,

61:23as I'm sure your other guests have said, you know, AI had these two competing schools of thought is

61:31that we could figure out artificial intelligence by just writing the rules top down, or that was

61:36wrong. You had to look at data and infer what the rules are, the machine learning, and what's

61:41happened in the last decade or eight years as machine learning has won. And it turns out that

61:48machine learning, the hardware you build for machine learning is pretty much multiply. The

61:55matrix multiply is a key feature for the way machine learning is done. So that's a godsend

§04Transcript · 1:02:03–1:21:36

62:03for computer designers. We know how to make matrix multiply run really fast. So general purpose

62:08microprocessors are slowing down. We're adding accelerators for machine learning that fundamentally

62:13are doing matrix multiplies much more efficiently than general purpose computers have done.

62:17So we have to come up with a new way to accelerate things. The danger of only accelerating one

62:23application is how important is that application. Turns out machine learning gets used for all

62:28kinds of things. So serendipitously, we found something to accelerate that's widely applicable.

62:36And we don't even, we're in the middle of this revolution of machine learning. We're not sure

62:40what the limits of machine learning are. So this has been a kind of a godsend. If you're going to

62:46be able to excel, deliver on improved performance, as long as people are moving their programs to be

62:54embracing more machine learning, we know how to give them more performance even as Moore's law

62:58is slowing down. And counterintuitively, the machine learning mechanism you can say is domain

63:06specific, but because it's leveraging data, it's actually could be very broad in terms of

63:15in terms of the domains it could be applied in. Yeah, that's exactly right. Sort of, it's almost

63:21sort of people sometimes talk about the idea of software 2.0. We're almost taking another step

63:27up in the abstraction layer in designing machine learning systems, because now you're programming

63:34in the space of data, in the space of hyperparameters, it's changing fundamentally

63:38the nature of programming. And so the specialized devices that accelerate the performance, especially

63:45neural network based machine learning systems might become the new general. Yeah. So the thing

63:52that's interesting point out these are not coral, these are not tied together. The enthusiasm about

63:59machine learning about creating programs driven from data that we should figure out the answers

64:05from data rather than kind of top down, which classically the way most programming is done

64:10and the way artificial intelligence used to be done. That's a movement that's going on at the

64:14same time. Coincidentally, and the first word machine learning is machines, right? So that's

64:21going to increase the demand for computing, because instead of programmers being smart, writing those

64:27those things down, we're going to instead use computers to examine a lot of data to kind of

64:31create the programs. That's the idea. And remarkably, this gets used for all kinds of

64:38things very successfully. The image recognition, the language translation, the game playing,

64:43and you know, it gets into pieces of the software stack like databases and stuff like that. We're

64:50not quite sure how general purpose is, but that's going on independent of this hardware stuff.

64:54What's happening on the hardware side is Moore's law is slowing down right when we need a lot more

64:59cycles. It's failing us, it's failing us right when we need it because there's going to be a

65:03greater increase in computing. And then this idea that we're going to do so called domain

65:09specific. Here's a domain that your greatest fear is you'll make this one thing work and that'll

65:16help, you know, five percent of the people in the world. Well, this looks like it's a very

65:22general purpose thing. So the timing is fortuitous that if we can perhaps, if we can keep building

65:28hardware that will accelerate machine learning, the neural networks, that'll beat the timing will

65:36be right. That neural network revolution will transform your software, the so called software

65:422.0. And the software of the future will be very different from the software of the past. And just

65:47as our microprocessors, even though we're still going to have that same basic RISC instructions

65:53to run a big pieces of the software stack like user interfaces and stuff like that,

65:58we can accelerate the kind of the small piece that's computationally intensive. It's not lots

66:02of lines of code, but it takes a lot of cycles to run that code that that's going to be the

66:08accelerator piece. And so that's what makes this from a computer designers perspective a really

66:14interesting decade. What Hennessy and I talked about in the title of our Turing Warrant speech

66:20is a new golden age. We see this as a very exciting decade, much like when we were assistant

66:28professors and the RISC stuff was going on. That was a very exciting time was where we were changing

66:32what was going on. We see this happening again. Tremendous opportunities of people because we're

66:39fundamentally changing how software is built and how we're running it. So which layer of the

66:43abstraction do you think most of the acceleration might be happening? If you look in the next 10

66:49years, Google is working on a lot of exciting stuff with the TPU. Sort of there's a closer to

66:54the hardware that could be optimizations around the closer to the instruction set.

67:00There could be optimization at the compiler level. It could be even at the higher level software

67:05stack. Yeah, it's got to be, I mean, if you think about the old RISC Sys debate, it was both,

67:11it was software hardware. It was the compilers improving as well as the architecture improving.

67:18And that's likely to be the way things are now. With machine learning, they're using

67:24domain specific languages. The languages like TensorFlow and PyTorch are very popular with

67:30the machine learning people. Those are the raising the level of abstraction. It's easier

67:35for people to write machine learning in these domain specific languages like PyTorch and

67:41TensorFlow. So where the most optimization might be happening. Yeah. And so there'll be both the

67:47compiler piece and the hardware piece underneath it. So as you kind of the fatal flaw for hardware

67:53people is to create really great hardware, but not have brought along the compilers. And what we're

67:59seeing right now in the marketplace because of this enthusiasm around hardware for machine

68:04learning is getting, you know, probably billions of dollars invested in startup companies. We're

68:10seeing startup companies go belly up because they focus on the hardware, but didn't bring the

68:15software stack along. We talked about benchmarks earlier. So I participated in machine learning

68:23didn't really have a set of benchmarks. I think just two years ago, they didn't have a set of

68:27benchmarks. And we've created something called ML Perf, which is machine learning benchmark suite.

68:33And pretty much the companies who didn't invest in the software stack couldn't run ML Perf very

68:39well. And the ones who did invest in software stack did. And we're seeing, you know, like kind

68:45of in computer architecture, this is what happens. You have these arguments about risk versus this.

68:48People spend billions of dollars in the marketplace to see who wins. It's not a perfect comparison,

68:54but it kind of sorts things out. And we're seeing companies go out of business and then companies

68:59like there's a company in Israel called Habana. They came up with machine learning accelerators.

69:08They had good ML Perf scores. Intel had acquired a company earlier called Nirvana a couple of years

69:14ago. They didn't reveal their ML Perf scores, which was suspicious. But a month ago, Intel

69:21announced that they're canceling the Nirvana product line and they've bought Habana for $2

69:25billion. And Intel's going to be shipping Habana chips, which have hardware and software and run

69:32the ML Perf programs pretty well. And that's going to be their product line in the future.

69:36Brilliant. So maybe just to linger briefly on ML Perf. I love metrics. I love standards that

69:42everyone can gather around. What are some interesting aspects of that portfolio of metrics?

69:48Well, one of the interesting metrics is what we thought. I was involved in the start.

69:57Peter Mattson is leading the effort from Google. Google got it off the ground,

70:00but we had to reach out to competitors and say, there's no benchmarks here. We think this is

70:07bad for the field. It'll be much better if we look at examples like in the risk days,

70:11there was an effort to create a... For the people in the risk community got together,

70:16competitors got together building risk microprocessors to agree on a set of

70:19benchmarks that were called spec. And that was good for the industry. It's rather before

70:24the different risk architectures were arguing, well, you can believe my performance others,

70:28but those other guys are liars. And that didn't do any good. So we agreed on a set of benchmarks

70:34and then we could figure out who was faster between the various risk architectures. But

70:37it was a little bit faster, but that grew the market rather than people were afraid to buy

70:42anything. So we argued the same thing would happen with MLPerf. Companies like Nvidia were maybe

70:48worried that it was some kind of trap, but eventually we all got together to create a

70:53set of benchmarks and do the right thing. And we agree on the results. And so we can see whether

71:00TPUs or GPUs or CPUs are really faster and how much the faster. And I think from an engineer's

71:06perspective, as long as the results are fair, you can live with it. Okay, you kind of tip your hat

71:12to your colleagues at another institution, boy, they did a better job than us. What you hate is

71:18if it's false, right? They're making claims and it's just marketing bullshit and that's affecting

71:23sales. So from an engineer's perspective, as long as it's a fair comparison and we don't come in

71:28first place, that's too bad, but it's fair. So we wanted to create that environment for MLPerf.

71:33And so now there's 10 companies, I mean, 10 universities and 50 companies involved. So pretty

71:40much MLPerf is the way you measure machine learning performance. And it didn't exist even

71:50two years ago. One of the cool things that I enjoy about the internet has a few downsides, but one of

71:56the nice things is people can see through BS a little better with the presence of these kinds

72:02of metrics. So it's really nice companies like Google and Facebook and Twitter. Now, it's the

72:08cool thing to do is to put your engineers forward and to actually show off how well you do on these

72:13metrics. There's less of a desire to do marketing, less so. In my sort of naive viewpoint.

72:22I was trying to understand what's changed from the 80s in this era. I think because of things

72:29like social networking, Twitter and stuff like that, if you put up bullshit stuff that's just

72:38purposely misleading, you can get a violent reaction in social media pointing out the flaws

72:45in your arguments. And so from a marketing perspective, you have to be careful today that

72:51you didn't have to be careful that there'll be people who put out the flaw. You can get the

72:57word out about the flaws in what you're saying much more easily today than in the past. It used

73:02to be easier to get away with it. And the other thing that's been happening in terms of showing

73:08off engineers is just in the software side, people have largely embraced open source software.

73:1620 years ago, it was a dirty word at Microsoft. And today Microsoft is one of the big proponents

73:22of open source software. That's the standard way most software gets built, which really shows off

73:28your engineers because you can see if you look at the source code, you can see who are making the

73:34commits, who's making the improvements, who are the engineers at all these companies who are

73:41really great programmers and engineers and making really solid contributions,

73:47which enhances their reputations and the reputation of the companies.

73:50LR But that's, of course, not everywhere. Like in the space that I work more in is autonomous

73:56vehicles. And there's still the machinery of hype and marketing is still very strong there. And

74:02there's less willingness to be open in this kind of open source way and sort of benchmark. So

74:07MLPerf represents the machine learning world is much better being open source about holding

74:12itself to standards of different, the amount of incredible benchmarks in terms of the different

74:18computer vision, natural language processing tasks is incredible.

74:23LR Historically, it wasn't always that way.

74:26I had a graduate student working with me, David Martin. So in computer, in some fields,

74:32benchmarking has been around forever. So computer architecture, databases, maybe operating systems,

74:40benchmarks are the way you measure progress. But he was working with me and then started working

74:47with Jitendra Malik. And Jitendra Malik in computer vision space, I guess you've interviewed

74:53Jitendra. And David Martin told me, they don't have benchmarks. Everybody has their own vision

74:59algorithm and the way, here's my image, look at how well I do. And everybody had their own image.

75:04So David Martin, back when he did his dissertation, figured out a way to do benchmarks. He had a bunch

75:10of graduate students identify images and then ran benchmarks to see which algorithms run well. And

75:17that was, as far as I know, kind of the first time people did benchmarks in computer vision, which

75:24was predated all the things that eventually led to ImageNet and stuff like that. But then the vision

75:29community got religion. And then once we got as far as ImageNet, then that let the guys in Toronto

75:38be able to win the ImageNet competition. And then that changed the whole world.

75:42It's a scary step actually, because when you enter the world of benchmarks, you actually have to be

75:47good to participate as opposed to... Yeah, you can just, you just believe you're the best in the

75:54world. I think the people, I think they weren't purposely misleading. I think if you don't have

76:01benchmarks, I mean, how do you know? Your intuition is kind of like the way we did just

76:06do computer architecture. Your intuition is that this is the right instruction set to do this job.

76:11I believe in my experience, my hunch is that's true. We had to get to make things more quantitative

76:18to make progress. And so I just don't know how, you know, in fields that don't have benchmarks,

76:23I don't understand how they figure out how they're making progress.

76:28We're kind of in the vacuum tube days of quantum computing. What are your thoughts in this wholly

76:34different kind of space of architectures? You know, I actually, you know, quantum computing

76:41is, idea has been around for a while and I actually thought, well, I sure hope I retire

76:46before I have to start teaching this. I'd say because I talk about, give these talks about the

76:53slowing of Moore's law and, you know, when we need to change by doing domain specific accelerators,

77:01common questions say, what about quantum computing? The reason that comes up,

77:04it's in the news all the time. So I think to keep in, the third thing to keep in mind is

77:08quantum computing is not right around the corner. There've been two national reports,

77:14one by the National Academy of Engineering and other by the Computing Consortium, where they

77:18did a frank assessment of quantum computing. And both of those reports said, you know,

77:25as far as we can tell, before you get error corrected quantum computing, it's a decade away.

77:31So I think of it like nuclear fusion, right? There've been people who've been excited about

77:35nuclear fusion a long time. If we ever get nuclear fusion, it's going to be fantastic

77:39for the world. I'm glad people are working on it, but, you know, it's not right around the corner.

77:45Those two reports to me say probably it'll be 2030 before quantum computing is something

77:52that could happen. And when it does happen, you know, this is going to be big science stuff. This

77:58is, you know, micro Kelvin, almost absolute zero things that if they vibrate, if truck goes by,

78:04it won't work, right? So this will be in data center stuff. We're not going to have a quantum

78:09cell phone. And it's probably a 2030 kind of thing. So I'm happy that our people are working on it,

78:16but just, you know, it's hard with all the news about it, not to think that it's right around the

78:21corner. And that's why we need to do something as Moore's Law is slowing down to provide the

78:27computing, keep computing getting better for this next decade. And, you know, we shouldn't

78:32be betting on quantum computing or expecting quantum computing to deliver in the next few

78:39years. It's probably further off. You know, I'd be happy to be wrong. It'd be great if quantum

78:44computing is going to commercially viable, but it will be a set of applications. It's not a general

78:49purpose computation. So it's going to do some amazing things, but there'll be a lot of things

78:54that probably, you know, the old fashioned computers are going to keep doing better for

78:59quite a while. And there'll be a teenager 50 years from now watching this video saying,

79:04look how silly David Patterson was saying. No, I just said, I said 2030. I didn't say,

79:09I didn't say never. We're not going to have quantum cell phones. So he's going to be watching it.

79:14Well, I mean, I think this is such a, you know, given that we've had Moore's Law, I just, I feel

79:21comfortable trying to do projects that are thinking about the next decade. I admire people who are

79:27trying to do things that are 30 years out, but it's such a fast moving field. I just don't know

79:32how to, I'm not good enough to figure out what's the problem is going to be in 30 years. You know,

79:3810 years is hard enough for me. So maybe if it's possible to untangle your intuition a little bit,

79:44I spoke with Jim Keller. I don't know if you're familiar with Jim. And he is trying to sort of

79:50be a little bit rebellious and to try to think that he quotes me as being wrong. Yeah. So this,

79:57this is what you're doing for the record. Jim talks about that. He has an intuition that Moore's

80:04Law is not in fact, in fact dead yet. And then it may continue for some time to come.

80:10What are your thoughts about Jim's ideas in this space? Yeah, this is just, this is just marketing.

80:16So what Gordon Moore said is a quantitative prediction. We can check the facts, right? Which

80:22is doubling the number of transistors every two years. So we can look back at Intel for the last

80:29five years and ask him, let's look at DRAM chips six years ago. So that would be three, two year

80:38periods. So then our DRAM chips have eight times as many transistors as they did six years ago.

80:44We can look up Intel microprocessors six years ago. If Moore's Law is continuing, it should have

80:50eight times as many transistors as six years ago. The answer in both those cases is no.

80:57The problem has been because Moore's Law was kind of genuinely embraced by the semiconductor

81:05industry as they would make investments in similar equipment to make Moore's Law come true.

81:10Semiconductor improving and Moore's Law in many people's minds are the same thing. So when I say,

81:17and I'm factually correct, that Moore's Law is no longer holds, we are not doubling transistors

81:24every year's years. The downside for a company like Intel is people think that means it's stopped,

81:31that technology has no longer improved. And so Jim is trying to,

§05Transcript · 1:21:36–1:41:52

81:36counteract the impression that semiconductors are frozen in 2019 are never going to get better.

81:46So I never said that. All I said was Moore's Law is no more. And I'm strictly looking at the number

81:53of transistors. That's what Moore's Law is. There's the, I don't know, there's been this aura

82:01associated with Moore's Law that they've enjoyed for 50 years about, look at the field we're in,

82:07we're doubling transistors every two years. What an amazing field, which is an amazing thing that

82:12they were able to pull off. But even as Gordon Moore said, you know, no exponential can last

82:16forever. It lasted for 50 years, which is amazing. And this is a huge impact on the industry because

82:22of these changes that we've been talking about. So he claims, and I'm not going to go into the

82:28that we've been talking about. So he claims, because he's trying to act on it, he claims,

82:33you know, Patterson says Moore's Law is no more and look at all, look at it, it's still going.

82:38And TSMC, they say it's no longer, but there's quantitative evidence that Moore's Law is not

82:44continuing. So what I say now to try and, okay, I understand the perception problem when I say

82:51Moore's Law has stopped. Okay. So now I say Moore's Law is slowing down. And I think Jim, which is

82:58another way of, if he's, if it's predicting every two years and I say it's slowing down, then that's

83:03another way of saying it doesn't hold anymore. And, and I think Jim wouldn't disagree that it's

83:09slowing down because that sounds like it's, things are still getting better and just not as fast,

83:14which is another way of saying Moore's Law isn't working anymore.

83:18TG. It's still good for marketing. But what's your, you're not,

83:22you don't like expanding the definition of Moore's Law, sort of naturally.

83:27CM. Well, as an educator, you know, is this like modern politics? Does everybody get their own facts?

83:34Or do we have, you know, Moore's Law was a crisp, you know, it was Carver Mead looked at his

83:41Moore's Conversations drawing on a log log scale, a straight line. And that's what the definition of

83:47Moore's Law is. There's this other, what Intel did for a while, interestingly, before Jim joined

83:54them, they said, oh, no, Moore's Law isn't the number of doubling, isn't really doubling

83:58transistors every two years. Moore's Law is the cost of the individual transistor going down,

84:04cutting in half every two years. Now, that's not what he said, but they reinterpreted it

84:10because they believed that the cost of transistors was continuing to drop,

84:15even if they couldn't get twice as many chips. Many people in industry have told me that's not

84:20true anymore, that basically in more recent technologies, they got more complicated,

84:26the actual cost of transistor went up. So even the, a corollary might not be true,

84:32but certainly, you know, Moore's Law, that was the beauty of Moore's Law. It was a very simple,

84:38it's like E equals MC squared, right? It was like, wow, what an amazing prediction. It's so easy

84:44to understand, the implications are amazing, and that's why it was so famous as a prediction.

84:50And this reinterpretation of what it meant and changing is, you know, is revisionist history.

84:56And I'd be happy, and they're not claiming there's a new Moore's Law. They're not saying,

85:04by the way, instead of every two years, it's every three years. I don't think they want to

85:10say that. I think what's going to happen is new technology generations, each one is going to get

85:14a little bit slower. So it is slowing down, the improvements won't be as great, and that's why we

85:21need to do new things. Yeah, I don't like that the idea of Moore's Law is tied up with marketing.

85:28It would be nice if... Whether it's marketing or it's, well, it could be affecting business,

85:34but it could also be affecting the imagination of engineers. If Intel employees actually believe

85:40that we're frozen in 2019, well, that would be bad for Intel. Not just Intel, but everybody.

85:49Moore's Law is inspiring to everybody. But what's happening right now, talking to people

85:57who have working in national offices and stuff like that, a lot of the computer science community

86:02is unaware that this is going on, that we are in an era that's going to need radical change at lower

86:09levels that could affect the whole software stack. If you're using cloud stuff and the

86:18servers that you get next year are basically only a little bit faster than the servers you got this

86:23year, you need to know that, and we need to start innovating to start delivering on it. If you're

86:30counting on your software going to have a lot more features, assuming the computers are going to get

86:34faster, that's not true. So are you going to have to start making your software stack more efficient?

86:38Are you going to have to start learning about machine learning? So it's a warning or call

86:45for arms that the world is changing right now. And a lot of computer science PhDs are unaware

86:51of that. So a way to try and get their attention is to say that Moore's Law is slowing down and

86:56that's going to affect your assumptions. And we're trying to get the word out. And when companies

87:02like TSMC and Intel say, oh, no, no, no, Moore's Law is fine, then people think, oh, hey, I don't

87:08have to change my behavior. I'll just get the next servers. And if they start doing measurements,

87:13they'll realize what's going on. It'd be nice to have some transparency on metrics for the lay

87:18person to be able to know if computers are getting faster and not to forget Moore's Law.

87:24Yeah. There are a bunch of, most people kind of use clock rate as a measure of performance.

87:31It's not a perfect one, but if you've noticed clock rates are more or less the same as they were

87:37five years ago, computers are a little better than they are. They haven't made zero progress,

87:42but they've made small progress. So there's some indications out there. And then our behavior,

87:47right? Nobody buys the next laptop because it's so much faster than the laptop from the past.

87:52For cell phones, I think, I don't know why people buy new cell phones, you know, because

88:00the new ones announced. The cameras are better, but that's kind of domain specific, right? They're

88:04putting special purpose hardware to make the processing of images go much better. So that's

88:10the way they're doing it. They're not particularly, it's not that the ARM processor in there is twice

88:15as fast as much as they've added accelerators to help the experience of the phone. Can we talk a

88:22little bit about one other exciting space, arguably the same level of impact as your work with RISC

88:30is RAID. In 1988, you coauthored a paper, A Case for Redundant Arrays of Inexpensive Disks, hence

88:41RAID RAID. So that's where you introduced the idea of RAID. Incredible that that little,

88:49I mean little, that paper kind of had this ripple effect and had a really a revolutionary effect.

88:55So first, what is RAID? What is RAID? So this is work I did with my colleague Randy Katz and

89:01a star graduate student, Garth Gibson. So we had just done the fourth generation RISC project

89:08and Randy Katz, which had an early Apple Macintosh computer. At this time, everything was done with

89:17floppy disks, which are old technologies that could store things that didn't have much capacity

89:26and you had to get any work done, you're always sticking your little floppy disk in and out because

89:31they didn't have much capacity. But they started building what are called hard disk drives, which

89:36is magnetic material that can remember information storage for the Mac. And Randy asked the question

89:44when he saw this disk next to his Mac, gee, these are brand new small things. Before that,

89:51for the big computers, the disk would be the size of washing machines. And here's something

89:57the size of a, kind of the size of a book or so. He says, I wonder what we could do with that? Well,

90:02Randy was involved in the fourth generation RISC project here at Berkeley in the 80s. So we figured

90:11out a way how to make the computation part, the processor part go a lot faster, but what about

90:15the storage part? Can we do something to make it faster? So we hit upon the idea of taking a lot of

90:22these disks developed for personal computers and Macintoshes and putting many of them together

90:27instead of one of these washing machine size things. And so we wrote the first draft of the

90:32paper and we'd have 40 of these little PC disks instead of one of these washing machine size

90:38things. And they would be much cheaper because they're made for PCs and they could actually kind

90:42of be faster because there was 40 of them rather than one of them. And so we wrote a paper like

90:47that and sent it to one of our former Berkeley students at IBM. And he said, well, this is all

90:51great and good, but what about the reliability of these things? Now you have 40 of these things

90:56and 40 of these devices, each of which are kind of PC quality. So they're not as good as these

91:03IBM washing machines. IBM dominated the storage businesses. So the reliability is going to be

91:10awful. And so when we calculated it out, instead of it breaking on average once a year, it would

91:16break every two weeks. So we thought about the idea and said, well, we got to address the

91:22reliability. So we did it originally performance, but we had to do reliability. So the name

91:27redundant array of inexpensive disks is array of these disks inexpensive like for PCs, but we have

91:33extra copies. So if one breaks, we won't lose all the information. We'll have enough redundancy that

91:40we could let some break and we can still preserve the information. So the name is an array of

91:44inexpensive disks. This is a collection of these PCs and the R part of the name was the redundancy

91:51so they'd be reliable. And it turns out if you put a modest number of extra disks in one of

91:55these arrays, it could actually not only be as faster and cheaper than one of these washing

92:00machine disks, it could be actually more reliable because you could have a couple of breaks even

92:05with these cheap disks. Whereas one failure with the washing machine thing would knock it out.

92:10Did you have a sense just like with risk that in the 30 years that followed,

92:17RAID would take over as a mechanism for storage? I think I'm naturally an optimist,

92:27but I thought our ideas were right. I thought kind of like Moore's law, it seemed to me,

92:33if you looked at the history of the disk drives, they went from washing machine size things and

92:38they were getting smaller and smaller and the volumes were with the smaller disk drives because

92:43that's where the PCs were. So we thought that was a technological trend that the volume of disk

92:51drives was going to be getting smaller and smaller devices, which were true. They were the size of,

92:56I don't know, eight inches diameter, then five inches, then three inches in diameters.

93:01And so that it made sense to figure out how to deal things with an array of disks. So I think

93:06it was one of those things where logically, we think the technological forces were on our side,

93:13that it made sense. So we expected it to catch on, but there was that same kind of business question.

93:19IBM was the big pusher of these disk drives in the real world where the technical advantage

93:25get turned into a business advantage or not. It proved to be true. And so we thought we were

93:32sound technically and it was unclear whether the business side, but we kind of, as academics,

93:38we believe that technology should win and it did. And if you look at those 30 years,

93:44just from your perspective, are there interesting developments in the space of storage

93:48that have happened in that time? Yeah. The big thing that happened, well, a couple of things

93:53that happened, what we did had a modest amount of storage. So as redundancy, as people built bigger

94:00and bigger storage systems, they've added more redundancy so they could add more failures. And

94:05the biggest thing that happened in storage is for decades, it was based on things physically spinning

94:14called hard disk drives where you used to turn on your computer and it would make a noise.

94:18What that noise was, was the disk drives spinning and they were rotating at like 60 revolutions per

94:25second. And it's like, if you remember the vinyl records, if you've ever seen those,

94:31that's what it looked like. And there was like a needle like on a vinyl record that was reading it.

94:36So the big drive change is switching that over to a semiconductor technology called flash.

94:41So within the last, I'd say about decade is increasing fraction of all the computers in the

94:47world are using semiconductor for storage, the flash drive, instead of being magnetic,

94:54they're optical, well, they're a semiconductor writing of information very densely.

95:04And that's been a huge difference. So all the cell phones in the world use flash.

95:08Most of the laptops use flash. All the embedded devices use flash instead of storage. Still in

95:13the cloud, magnetic disks are more economical than flash, but they use both in the cloud.

95:20So it's been a huge change in the storage industry, the switching from primarily disk

95:26to being primarily semiconductor. For the individual disk, but still the RAID mechanism

95:31applies to those different kinds of disks. Yes. The people will still use RAID ideas

95:35because it's kind of what's different, kind of interesting kind of psychologically,

95:41if you think about it. People have always worried about the reliability of computing since the

95:46earliest days. So kind of, but if we're talking about computation, if your computer makes a

95:52mistake and the computer says, the computer has ways to check and say, Oh, we screwed up.

95:59We made a mistake. What happens is that program that was running, you have to redo it,

96:04which is a hassle for storage. If you've sent important information away and it loses that

96:12information, you go nuts. This is the worst. Oh my God. So if you have a laptop and you're not

96:18backing it up on the cloud or something like this, and your disk drive breaks, which it can do,

96:24you'll lose all that information and you just go crazy. So the importance of reliability

96:29for storage is tremendously higher than the importance of reliability for computation

96:34because of the consequences of it. So yes, so RAID ideas are still very popular, even with

96:39the switch of the technology. Although flash drives are more reliable, if you're not doing

96:45anything like backing it up to get some redundancy so they handle it, you're taking great risks.

96:53You said that for you and possibly for many others, teaching and research don't

96:58conflict with each other as one might suspect. And in fact, they kind of complement each other. So

97:03maybe a question I have is how has teaching helped you in your research or just in your

97:10entirety as a person who both teaches and does research and just thinks and creates new ideas

97:17in this world? Yes, I think what happens is when you're a college student, you know there's this

97:22kind of tenure system in doing research. So kind of this model that is popular in America, I think

97:30America really made it happen, is we can attract these really great faculty to research universities

97:36because they get to do research as well as teach. And that, especially in fast moving fields,

97:40this means people are up to date and they're teaching those kinds of things. But when you run

97:44into a really bad professor, a really bad teacher, I think the students think, well, this guy must be

97:50a great researcher because why else could he be here? So after 40 years at Berkeley, we had a

97:57retirement party and I got a chance to reflect and I looked back at some things. That is not my

98:02experience. I saw a photograph of five of us in the department who won the Distinguished Teaching

98:09Award from campus, a very high honor. I've got one of those, one of the highest honors. So there are

98:14five of us on that picture. There's Manuel Blum, Richard Karp, me, Randy Kass, and John Osterhaupt,

98:23contemporaries of mine. I mentioned Randy already. All of us are in the National Academy of

98:27Engineering. We've all run the Distinguished Teaching Award. Blum, Karp, and I all have

98:34Turing Awards. The highest award in computing. So that's the opposite. What's happened is they're

98:45highly correlated. So the other way to think of it, if you're very successful people or maybe

98:51successful at everything they do, it's not an either or. But it's an interesting question

98:56whether specifically, that's probably true, but specifically for teaching, if there's something

99:00in teaching that, it's the Richard Feynman idea, is there something about teaching that actually

99:06makes your research, makes you think deeper and more outside the box and more insightful?

99:12Absolutely. I was going to bring up Feynman. I mean, he criticized the Institute of Advanced

99:16Studies. So the Institute of Advanced Studies was this thing that was created near Princeton

99:21where Einstein and all these smart people went. And when he was invited, he thought it was a

99:26terrible idea. This is a university. It was supposed to be heaven, right? A university

99:31without any teaching. But he thought it was a mistake. It's getting up in the classroom and

99:35having to explain things to students and having them ask questions like, well, why is that true,

99:40makes you stop and think. So he thought, and I agree, I think that interaction between a great

99:47research university and having students with bright young minds asking hard questions the

99:52whole time is synergistic. And a university without teaching wouldn't be as vital and

100:00exciting a place. And I think it helps stimulate the research. Another romanticized question,

100:07but what's your favorite concept or idea to teach? What inspires you or you see inspire the students?

100:15Is there something that pops to mind or puts the fear of God in them? I don't know,

100:19whichever is most effective. I mean, in general, I think people are surprised.

100:25I've seen a lot of people who don't think they like teaching come give guest lectures or teach

100:31a course and get hooked on seeing the lights turn on, right? You can explain something to

100:37people that they don't understand. And suddenly they get something that's important and difficult.

100:44And just seeing the lights turn on is a real satisfaction there. I don't think there's any

100:51specific example of that. It's just the general joy of seeing them understand.

100:58SL. I have to talk about this because I've wrestled. I do martial arts. Of course, I love wrestling. I'm a huge, I'm Russian. So I've talked to Dan Gable on the podcast.

101:11So you wrestled at UCLA among many other things you've done in your life, competitively in sports

101:20and science and so on. You've wrestled. Maybe, again, continue with the romanticized questions,

101:26but what have you learned about life and maybe even science from wrestling or from?

101:32CB. Yeah, in fact, I wrestled at UCLA, but also at El Camino Community College. And just right now,

101:39we were in the state of California, we were state champions at El Camino. And in fact, I was talking

101:44to my mom and I got into UCLA, but I decided to go to the community college, which is, it's much

§06Transcript · 1:41:52–1:49:46

101:52harder to go to UCLA than the community college. And I asked, why did I make that decision? Because I

101:56thought it was because of my girlfriend. She said, well, it was the girlfriend and you thought the

101:59wrestling team was really good. And we were right. We had a great wrestling team. We actually

102:06wrestled against UCLA at a tournament and we beat UCLA as a community college, which just freshmen

102:12and sophomores. And part of the reason I brought this up is I'm going to go, they've invited me back

102:17at El Camino to give a lecture next month. And so, my friend who was on the wrestling team that

102:27we're still together, we're right now reaching out to other members of the wrestling team if we can

102:31get together for a reunion. But in terms of me, it was a huge difference. The age cut off, it was

102:40December 1st. And so, I was almost always the youngest person in my class and I matured later

102:47on, our family matured later. So, I was almost always the smallest guy. So, I took kind of

102:54nerdy courses, but I was wrestling. So, wrestling was huge for my self confidence in high school.

103:02And then, I kind of got bigger at El Camino and in college. And so, I had this kind of physical

103:08self confidence and it's translated into research self confidence. And also kind of, I've had this

103:18feeling even today in my 70s, if something going on in the streets that is bad physically, I'm not

103:27going to ignore it. I'm going to stand up and try and straighten that out.

103:31And that kind of confidence just carries through the entirety of your life.

103:34Yeah. And the same things happens intellectually. If there's something going on where people are

103:39saying something that's not true, I feel it's my job to stand up just like I would in the street.

103:44If there's something going on, somebody attacking some woman or something, I'm not standing by and

103:49letting that get away. So, I feel it's my job to stand up. So, it's kind of ironically translates.

103:54The other things that turned out for both, I had really great college and high school coaches and

104:00they believed, even though wrestling is an individual sport, that we would be more successful

104:05as a team if we bonded together, do things that we would support each other rather than everybody,

104:10you know, in wrestling it's a one on one and you could be everybody's on their own, but he felt if

104:15we bonded as a team, we'd succeed. So, I kind of picked up those skills of how to form successful

104:21teams and how to, from wrestling. And so, I think one of, most people would say one of my strengths

104:27is I can create teams of faculty, large teams of faculty grad students, pull all together for a

104:33common goal and often be successful at it. But I got both of those things from wrestling. Also,

104:41I think I heard this line about if people are in kind of collision, sports with physical contact

104:49like wrestling or football and stuff like that, people are a little bit more assertive or something.

104:54And so, I think that also comes through as, you know, and I didn't shy away from the

105:02racist debates, you know, I enjoyed taking on the arguments and stuff like that. So,

105:08I'm really glad I did wrestling. I think it was really good for my self image and I learned a lot

105:13from it. So, I think that's, you know, sports done well, you know, there's really lots of positives

105:19you can take about it, of leadership, you know, how to form teams and how to be successful.

105:26So, we've talked about metrics a lot. There's a really cool, in terms of bench press and

105:30weightlifting, pound years metric that you've developed that we don't have time to talk about,

105:34but it's a really cool one that people should look into. It's rethinking the way we think about

105:39metrics and weightlifting. But let me talk about metrics more broadly, since that appeals to you

105:43in all forms. Let's look at the most ridiculous, the biggest question of the meaning of life.

105:50If you were to try to put metrics on a life well lived, what would those metrics be?

105:56Yeah, a friend of mine, Randy Katz, said this. He said, you know, when it's time to sign off,

106:06the measure isn't the number of zeros in your bank account, it's the number of inches

106:09in the obituary in the New York Times, was he said it. I think, you know, having,

106:17and you know, this is a cliche, is that people don't die wishing they'd spent more time in the

106:21office, right? As I reflect upon my career, there have been, you know, a half a dozen, a dozen things

106:29say I've been proud of. A lot of them aren't papers or scientific results. Certainly, my family,

106:35my wife, we've been married more than 50 years, kids and grandkids, that's really precious.

106:42Education things I've done, I'm very proud of, you know, books and courses. I did some help

106:50with underrepresented groups that was effective. So it was interesting to see what were the things

106:55I reflected. You know, I had hundreds of papers, but some of them were the papers, like the risk

107:00rate stuff that I'm proud of, but a lot of them were not those things. So people who are, just

107:06spend their lives, you know, going after the dollars or going after all the papers in the

107:11world, you know, that's probably not the things that are afterwards you're going to care about.

107:15When I was, just when I got the offer from Berkeley before I showed up, I read a book where

107:22they interviewed a lot of people in all works of life. And what I got out of that book was the

107:27people who felt good about what they did was the people who affected people, as opposed to things

107:31that were more transitory. So I came into this job assuming that it wasn't going to be the papers,

107:36it was going to be relationships with the people over time that I would value, and that was a

107:42correct assessment, right? It's the people you work with, the people you can influence, the people

107:47you can help, it's the things that you feel good about towards the end of your career. It's not

107:51the stuff that's more transitory.

107:53Trey Lockerbie I don't think there's a better way to end it than talking about your family,

107:58the over 50 years of being married to your childhood sweetheart.

108:02Richard Averbeck What I think I can add is,

108:05when you tell people you've been married 50 years, they want to know why.

108:07Trey Lockerbie How? Why?

108:08Richard Averbeck Yeah, I can tell you the nine

108:10magic words that you need to say to your partner to keep a good relationship. And the nine magic

108:16words are, I was wrong. You were right. I love you. Okay. And you got to say all nine. You can't

108:22say, I was wrong. You were right. You're a jerk. You know, you can't say that. So yeah, freely

108:28acknowledging that you made a mistake, the other person was right, and that you love them really

108:34gets over a lot of bumps in the road. So that's what I pass along.

108:37Trey Lockerbie Beautifully put. David,

108:39it's a huge honor. Thank you so much for the book you've written, for the research you've done,

108:43for changing the world. Thank you for talking today.

108:45Richard Averbeck Thanks for the interview.

108:46Trey Lockerbie Thanks for listening to this

108:48conversation with David Patterson. And thank you to our sponsors, The Jordan Harbinger Show, and

108:55Cash App. Please consider supporting this podcast by going to JordanHarbinger.com slash Lex and

109:02downloading Cash App and using code LexPodcast. Click the links, buy the stuff. It's the best way

109:08to support this podcast and the journey I'm on. If you enjoy this thing, subscribe on YouTube,

109:14review it with five stars in a podcast, support it on Patreon, or connect with me on Twitter at

109:19Lex Friedman, spelled without the E, try to figure out how to do that. It's just F R I D M A N.

109:27And now let me leave you with some words from Henry David Thoreau.

109:32Our life is faded away by detail. Simplify, simplify. Thank you for listening and hope to

109:40see you next time.

— 读到这里,多懂一点。 —