Tip:
Highlight text to annotate it
X
Good morning, afternoon, or evening wherever you happen to be.
This is John, and I'll be presenting Unit 1. So let's get started.
Like a lot of American kids, when I was probably 6 years old I tried to dig a hole to China.
I know I'm not the only kid who tried this.
In general, you can probably conclude that American kids are a, ambitious,
and b, not particularly good at geography,
at least when they're six years old.
Needless to say I was not successful. Why?
Besides having the attention span of a gnat, I just couldn't dig a hole fast enough.
The question I'd like to pose today is how could you dig a hole faster?
I also meant there's 3 ways I could have gone faster. One, dig faster.
Instead of, say, removing one shovelful of dirt every 2 seconds
maybe with a lot of effort I could have removed 1 shovelful every second.
This certainly would help, but I think we can all agree that there's a limit to this speeding up.
It's not likely I could go ten times as fast no matter how hard I work.
My shovel would probably explode.
Two: buy a more productive shovel.
Let's say a shovel with two or even three blades instead of one. An interesting approach.
Perhaps a better shovel would make me more productive.
But again, I think we can agree there's diminishing returns in making shovels better.
It's not likely I could use a 10- or 20-bladed shovel.
And number 3, hire more diggers.
I have a younger sister and a brother. Perhaps I could have persuaded them to help me dig faster.
This is probably the approach that would have been most productive overall toward my whole digging project.
Of course, adding more diggers comes with it's own problems.
How do I manage them? Will they get in each other's way?
Will more diggers help me dig my hole deeper instead of just wider?
Well, as you probably figured out I am not just talking about digging holes.
Each of these three methods for digging holes faster has a parallel in terms of building a faster processor.
When I talk about digging faster I'm actually talking about asking
our processor should run with the faster clock to spend a shorter amount of time on each step of a computation.
However, in a modern processor turning up clock speed also increases power consumption
and we're the limit as far as power consumption on a chip.
When I talk about buying a more productive shovel,
I'm actually talking about asking our processor to do more work on each step, on each clock cycle.
But like the super shovel, a single processor has also reached
diminishing returns on how much work it can do per cycle.
To be a little more technical, the most advanced CPUs are at a limit,
as far as how much instruction-level parallelism they can extract per clock cycle.
And when I talk about hire more diggers,
I'm referring to parallel computing in a way that we hope to teach you in this class.
Instead of having one fast digger with an awesome shovel, we're going to have many diggers with many shovels.
Instead of having one or just a few very powerful processors,
we're going to have many, many weaker, less powerful processors.