Computer Systems Research
Computer Systems Research
u Butler Lampson
u People have been inventing new ideas in computer systems for nearly four decades,
usually driven by Moore’s law. Many of them have been spectacularly successful:
virtual memory, packet networks, objects, relational databases, and graphical user
interfaces are a few examples. Other promising ideas have not worked out:
capabilities, formal methods, distributed computing, and persistent objects. And the
fate of some is still in doubt: parallel computing, RISC, and software reuse. The most
important invention of the last decade, the World Wide Web, was not made by
computer systems researchers. In the light of all this experience, I will talk about the
topics that I think will be exciting to work on in the next few years.
11
Computer Systems Research
Butler Lampson
Microsoft
u Outline
– Context
– History
– Motivation
– Challenges
22
Context: Moore’s Law
u 100X performance / decade
u Will it last?
– Room-temperature single-electron memory
– Cell size 7 nm square
– 1 cm2 of these is 250 GB
– Moore’s law for 2018 predicts
8MB x 104 = 80 GB
33
Moore’s Law: Qualitative Changes
u 100 processors/chip in 10 years
– Or
» Reconfigurable logic
» 100K tiny processors
u RAM on-chip
u Chip-network bandwidth: 50 GB/sec
44
Computer Science vs Engineering
u Science
– Describe
– Explain
u Engineering
– Build
“An engineer can do for a dime what any fool can do for a dollar.”
55
History: What Worked?
YES NO (Not Yet?)
Virtual memory* Capabilities*
Address spaces* Fancy type systems*
Packet nets* Functional programming
Objects / subtypes Formal methods*
RDB and SQL Software engineering
Transactions* RPC (except for Web)*
Bitmaps and GUIs* Distributed computing*
Web Persistent objects
Algorithms Security* 66
History: What Worked?
MAYBE
Parallelism
RISC
Garbage collection
Interfaces and specifications
Reuse
Works for Unix filters
Big things (OS, DB, browser)
Flaky for Ole/COM
77
The Failure of Systems Research
u We didn’t invent the Web
99
Applications
u Simulation
– Models of the real world (e.g., clothing, cities)
u Communication among people
– Information at your fingertips
– Telepresence
– Home
u Control
– Robots
– MEMS
10
10
Motherhood Challenges
u Correctness
u Scaling
u Parallelism
u Reuse
u Trustworthiness
u Ease of use
11
11
Challenges: Programming
u Concurrency
– Using 100 processors/chip
– Matching biological concurrency
» What can you do in 100 cycles?
u Declarative
– SQL, spreadsheets the only successes so far
u Intelligence
– Data models/class hierarchy/knowledge rep
u Uncertainty
– Real-world input: speech, vision, ...
– Adapting to environment
12
12
Challenges: Systems
u Systems that work
– Meeting their specs
– Always available
– Adapting to changing environment
– Evolving while they run
– Made from unreliable components
– Growing without practical limit
u Credible simulations or analysis
u Writing good specs
u Testing
u Performance
– Understanding when it doesn’t matter
13
13
Challenges: Information
u Personal Memex
– Remember everything a person hears or sees.
u Telepresence
– Simulate being somewhere else
u Memex
– Collect everything in the world’s libraries
– Retrieve from it as well as a person can
14
14
Challenges: Physical World
u Seeing, hearing, speaking better than people
– With real lighting, occlusion, noise, etc.
– Recognizing speech and objects
– In real time
u Self-organizing systems
– Unreliable and changing components
– Scale: molecules, cells, insects, cities
u Common sense
– Requires good models of reality
15
15
Conclusions for Engineers
u Understand Moore’s law
u Aim for mass markets
– Computers are everywhere
u Learn how to build systems that work
16
16