37
Embodiment: The Third Great Wave of Computing Applications Butler Lampson Microsoft Research CL05

Embodiment: The Third Great Wave of Computing Applications

  • Upload
    melva

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

CL05. Embodiment: The Third Great Wave of Computing Applications. Butler Lampson Microsoft Research. Context: Moore’s Law and Friends. Implication: spend hardware to simplify software. Huge components work (OS, database, browser) Better hardware enables new applications. - PowerPoint PPT Presentation

Citation preview

Page 1: Embodiment:  The Third Great Wave of Computing Applications

Embodiment: The Third Great Wave of Computing ApplicationsButler LampsonMicrosoft Research

CL05

Page 2: Embodiment:  The Third Great Wave of Computing Applications

Context: Moore’s Law and Friendsmonths for 2 x

10 years 11/2009 best

11/2009cost

Processing 18 100 x 8x4 GIPS $5/GIPSStorage (disk) 12 1,000 x 2 TB $0.10/GBLAN BW 18 100 x 10 GB/s $1/MB/sWAN BW 12 1,000 x 4 GB/s $1000/MB/s/moDisplay pixels 360 10 x 4 M $100/M

Implication: spend hardware to simplify software.

Huge components work (OS, database, browser) Better hardware enables new applications.Complexity goes into software.

Page 3: Embodiment:  The Third Great Wave of Computing Applications

What is computing good for? Simulation 1950-

todaynuclear weapons, payroll, protein folding, games, virtual reality

Communication (storage)

1980-today

email, airline tickets, books, movies, Bing, Virtual Earth

Embodiment (physical world)

2010-...

factories, cars,robots, smart dust

Page 4: Embodiment:  The Third Great Wave of Computing Applications

Simulation: Protein FoldingUNFOLDING OF THE DNA BINDING DOMAIN OF HIV INTEGRASE

HIV uses proteins to insert its genetic code into our DNA. The DNA binding domain of HIV integrase (below) is the protein which HIV uses to grab onto our DNA such that it can then connect its genetic code into ours.

Page 5: Embodiment:  The Third Great Wave of Computing Applications

Communication: Maps and Pictures

Page 6: Embodiment:  The Third Great Wave of Computing Applications

Embodiment: Roomba Vacuum

256 bytes of RAM, $199

Page 7: Embodiment:  The Third Great Wave of Computing Applications

The Future: Jim Gray’s challenges1. The Turing test: win the impersonation

game 30% of the time.• Read and understand as well as a

human.• Think and write as well as a human.

2. Hear and see as well as a person3. Answer questions about a text corpus

as well as a human expert. • Then add sounds, images

4. Be somewhere else: • Observe (tele-past), interact (tele-

present).

Page 8: Embodiment:  The Third Great Wave of Computing Applications

The Future: Jim Gray’s challenges (cont’d)5. Devise an architecture that scales up

by 106.6. Programming: Given a specification,

build a system that implements the spec.• Do it better than a team of

programmers.7. Build a system used by millions,

administered by ½ person.• Prove it only services authorized users.• Prove it is almost always available: (out

< 1 second / 100 years)

Page 9: Embodiment:  The Third Great Wave of Computing Applications

Embodiment: Sensing the WorldToday:> GPS-based traffic information

> Data + machine learning → predicted traffic

> Spoken commands and dictation> In Windows Vista and Windows 7—try it

> Natal: video commands for Xbox> Imagine lots of other applications

Dream: > Meeting room audio that works!

> Selects speaker mic and volume automatically

> Remote mic for audience questions

Page 10: Embodiment:  The Third Great Wave of Computing Applications

Today: Sensecam Memory Jogger> Wearable still camera

> Storage for a few thousand pictures> Takes pictures continuously

> Once a minute> Whenever the scene changes

> Play back later by time, or by scene> Invaluable for people with memory

loss

Page 11: Embodiment:  The Third Great Wave of Computing Applications
Page 12: Embodiment:  The Third Great Wave of Computing Applications

Future: Personal Contact Reminder> Wearable video camera > Watches people in front of me> Whispers to me who it is

> From database of my acquaintances> From faces on the web, using context

Page 13: Embodiment:  The Third Great Wave of Computing Applications

Today: Intelligent Interaction> Computer with camera and mic array> World model for limited tasks

> Knowledge of objects it should recognize> Model of scenarios it understands> Natural dialog with people

> Example: Receptionist> Recognizes groups of people> Model for simple tasks

> Requesting a campus shuttle> Relies on some big components!

Page 14: Embodiment:  The Third Great Wave of Computing Applications

Situated Interaction: Receptionist

Page 15: Embodiment:  The Third Great Wave of Computing Applications

A Grand Challenge:

> Cars have to drive themselves> A pure computer science problem

> Needs> Computer vision> World models for roads and vehicles> Dealing with uncertainty about sensor

inputs, vehicle performance, changing environment

> Dependability> DARPA Challenges a start

Reduce highway traffic deaths to zero

Page 16: Embodiment:  The Third Great Wave of Computing Applications

DARPA Urban Challenge> November 2007: Drive in a small town> 11 finalists, 6 finished

> 60 mile course, best time 3 hours 45 minutes

> 50 vehicles on the roads

Page 17: Embodiment:  The Third Great Wave of Computing Applications

Video Title

video

Page 18: Embodiment:  The Third Great Wave of Computing Applications

Needed For Cars That Drive Themselves:> Computer vision> World models for roads and vehicles> Dealing with uncertainty

> about sensor inputs, vehicle performance, changing environment

> Dependability

Page 19: Embodiment:  The Third Great Wave of Computing Applications

Dealing with Uncertainty > Unavoidable in the physical world

> Need good models of what is possible> Need boundaries for the models

> Unavoidable for “natural” user interfaces: speech, writing, language> The machine must guess; what if it

guesses wrong?> Goal: see, hear, speak, move as well as

a person. Better?

Page 20: Embodiment:  The Third Great Wave of Computing Applications

Example: Speech “Understanding”> Acoustic input: waveform (speech +

noise)> “Features”: compression> Phonemes> Words: dictionary> Phrases: Language model> Meaning: Domain model

Uncertainty at each stage.

Page 21: Embodiment:  The Third Great Wave of Computing Applications

Example: Robots> Where am I?> What is going on?> What am I trying to do?> What should I do next?> What just happened?

Page 22: Embodiment:  The Third Great Wave of Computing Applications

Paradigm?: Probability Distributions> Could we have distributions as a

standard data type?> Must be parameterized over the domain

(like lists)> What are the operations?

> A start: Microsoft Infer.Net

Page 23: Embodiment:  The Third Great Wave of Computing Applications

Dependability: What Is It?> Formally, the system meets its spec

> We have the theory to show this formally> But doing it doesn’t scale> And worse, we can’t get the formal spec

right> Though we can get partial specs right> “Sorry, can’t find any more bugs.”

> Informally, users aren’t surprised> Depends on user expectations

> Compare 1980 AT&T with cell phones> How well does the market work for

dependability?> Measure: Probability of failure × Cost of

failure

Page 24: Embodiment:  The Third Great Wave of Computing Applications

How Much Dependability?> How much do we have? It varies.

> As much as the market demands> Is there evidence of market failure?

> Almost any amount is possible> If you restrict the aspirations> In other words, there’s a tradeoff

> How much do we need? It varies> But safety-critical apps are growing fast> What’s the value of a life? Wild

inconsistency> Look at British railways

> Dependable vs. secure: Threat model

Page 25: Embodiment:  The Third Great Wave of Computing Applications

Measuring Dependability> Probability of failure

> From external events> From internal malfunction

> complexity (LOC☺) good experience (testing etc.)

> Cost of failure> Injury or death> External damage

> Business interruption> Breakage> Bad PR

> TCO> What’s the budget? Who gets fired?

Page 26: Embodiment:  The Third Great Wave of Computing Applications

Dependability Through Redundancy?> Good in its place> But need independent failures

> Can’t usually get this for software> Example: Ariane 5 rocket to orbit

> Self-destruct on first launch caused by software error> Even harder for specs

> The unavoidable price of reliability is simplicity—Hoare

> And a way to combine the results

Page 27: Embodiment:  The Third Great Wave of Computing Applications

Dependable No Catastrophes> A realistic way to reduce aspirations

> Focus on what’s really important> What’s a catastrophe?

> It has to be very serious> Must have some numeric measure

> Dollars, lives? Say $100B, 1000 for terrorism> Less controversial: Bound it by size of CCB

> Need a “threat model”: what can go wrong> Probabilities must enter> But how?

Page 28: Embodiment:  The Third Great Wave of Computing Applications

Examples of Catastrophes> USS Yorktown

> Because of database failure, ship can’t run engines

> Terac 25 and other medical equipment> Patients die

> Destruction of big power transformers > Loss of crypto keys?

> Are there any computer-only catastrophes?

Page 29: Embodiment:  The Third Great Wave of Computing Applications

Misleading Examples of Catastrophes> Avionics, nuclear reactors

> Most attention has gone here> But they are atypical

> Lots of stuff has to work> Shutdown is impossible or very complex

> Impossible goals> Never lose a life.

> Maybe OK for radiation> No good for driving

> No terrorist incidents> No downtime

Page 30: Embodiment:  The Third Great Wave of Computing Applications

Catastrophe Prevention That Didn’t Work> Trusted computing base for security> Electric power grid> FAA’s new air traffic control system

> The spec said 3 seconds down/year/workstation

Page 31: Embodiment:  The Third Great Wave of Computing Applications

Architecture — Catastrophe Mode > Normal operation vs. catastrophe

mode> Catastrophe mode high assurance CCB

> Catastrophe mode requires

> Clear, limited goals = limited functionality > Hence easier than security

> Strict bounds on complexity> Less than 50k lines of code?

> Catastrophe mode is not a retrofit

Page 32: Embodiment:  The Third Great Wave of Computing Applications

Catastrophe Mode> What it does

> Hard stop (radiation therapy)> Might still require significant computing

> Soft stop (driving a car)> Might require a lot of the full functionality, but

the design center is very different> Drastically reduced function (ship

engines)> How it does it

> Take control, by reboot or hot standby> Censor (no radiation if limits exceeded)> Shed functions

Page 33: Embodiment:  The Third Great Wave of Computing Applications

Techniques> Reboot—discard corrupted state> Shed load> Shed functions> Isolate CCB, with minimal

configuration

> Transactions with acceptance test> Approval pages for financial transactions

> Undo and rollback> Well-tested components

> Unfortunately, successful components are big

Page 34: Embodiment:  The Third Great Wave of Computing Applications

Learning From Security> Perfection is not for this world

> The best is the enemy of the good> Set reasonable goals

> Dependability is not free> Customers can understand tradeoffs> Though perhaps they undervalue TCO

> Dependability is holistic> Dependability is fractal

Page 35: Embodiment:  The Third Great Wave of Computing Applications

Conclusions for Engineers> Understand Moore’s law> Aim for mass markets

> Computers are everywhere> Embodiment is the great new thing:

Non-trivial interaction with the physical world

> Learn how to deal with uncertainty> Learn how to avoid catastrophe

Page 36: Embodiment:  The Third Great Wave of Computing Applications

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 37: Embodiment:  The Third Great Wave of Computing Applications