The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5...

71
The Irresistible Forces Meet the Movable Objects Pat Helland Microsoft Corporation November 9 th , 2007

Transcript of The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5...

Page 1: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

The Irresistible Forces Meet

the Movable ObjectsPat Helland

Microsoft Corporation

November 9th, 2007

Page 2: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 2

Page 3: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Disclaimer #1

The opinions expressed in this presentation

are the opinions of the presenter and not

necessarily those of Microsoft!

As a matter of fact, no one’s even

reviewed those last minute changes!

Disclaimer #2

“Never make forecasts,

especially about the future!”

- Samuel Goldwyn

Slide 3

Page 4: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Forces, Objects, and Evolution

• Economic and technical forces are pushing our Industry

• ManyCore, flash, hard-drives, datacenters, mobility, novel

devices, connectivity changes, ubiquity of sensors, POWER, etc

• These forces are pressuring how applications compose

• Offline, scaling, redundancy, caching, versioning, autonomy,

and more are all rearing their heads

• We must create new models for components (objects)

• What can these objects count on for data, state, connectivity?

• How can the objects do work when confronted with new

constraints and challenges?

• We must evolve our computing models

• The forces will overrun the objects

• The new objects must bring new value and coexist with legacy

Slide 4

Page 5: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

The Nature of the Forces

• Big Servers

• Big Datacenters

• Big Fast CPUs

• Big Money…

• Little Flakey Datacenters

• Many Cores

• Many Tiny Devices

• Not Getting Faster

• Low Power… Cheaper

Big, Concentrated,

and Reliable

Tiny, Cheap, Flakey

& Ubiquitous

Old New

Slide 5

Page 6: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• Forces in Processors

• Forces in Data-Centers

• Forces in Storage

• Forces in Communication

• Forces in the Cloud

• The Irresistible Forces Grind Us Down

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 6

Page 7: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

More than

1 billion

transistors

in 2006!

The number of transistors doubles every two years…

1970 1980 1990 2000 2010

0.001

0.01

0.1

1

10

100

1,000

10,000

Moore’s Law Continues - 1

Slide 7

Page 8: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

.1 volt

1 volt

10 volts

1990 1993 1997 2001 2005 2009

0.7um

0.5m

0.35um

0.25um

0.18um

0.13um

90nm65nm

45nm

30nm

…but the voltage

isn’t dropping

as fast!!

Moore’s Law Continues - 2

Slide 8

Page 9: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

10

Watts

100

Watts

1990 1993 1997 2001 2005 2009

9 Watts

12

Watts20

Watts

52 Watts

81 Watts

110 Watts

150 Watts…and the power

at the high-end

could cook a

hot-dog!!!

Moore’s Law Continues - 3

Slide 9

Page 10: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

1 GHz

10 GHz

1990 1993 1997 2001 2005 2009

400 MHz

600 MHz

2 GHz

3 GHz

3.6 GHz

3.8 GHz

1 GHz

Why is the CPU

frequency not

rising like it

should?

Moore’s Law Continues - 4

Slide 10

Page 11: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

10

Watts

100

Watts

1990 1993 1997 2001 2005 2009

Total

Power

Static

Power

Dynamic

Power

Static

Power

Dynamic

Power

Total

Power

The Power Wall - 1

Page 12: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Frequencies will NOT get much faster!

Maybe 10% every year or so a few more times…

Also, these modest gains will make the chips LOTS hotter!

• As the transistors get

smaller, they “leak”

• Leakage goes up as the

features get smaller

• Faster frequencies need more

dynamic power

• Changing bits consumes dynamic power

• Dynamic power goes up with the frequency

• As the power goes up, the chips get hotter…

• As the chips get hotter, the static power goes up (more leaking)

• A bad cycle Hotter chips need more power Hotter chips

The Power Wall - 2

Slide 12

10

Watts

100

Watts

1990 1993 1997 2001 2005 2009

Total

Power

Static

PowerDynamic

Power

Static

PowerDynamic

Power

Total

Power

Page 13: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Speculative Execution Use hardware to guess the next

memory needed

Increase chance the memory is

there (no stalling)

The Memory Wall

Slide 13

Access time to DRAM remains basically flatIt seems to take

60ns or so

(remaining flat)

More bandwidth!

No shorter

latencies…

Faster

processors

wait more!!

You can work hard (i.e. speculate) to fight the memory wall

-Lots of transistors and power for small gains

- May be worth it to slightly advance the throughput

In-order Execution Simple 1 instruction at a time

The slower the clock, the closer

performance to the high-end

speculation!!!

About 5 times as complicated

for a fractional throughput gain!

Much cheaper in transistor

and power use!

Page 14: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Many-Core - 1

2004 2006 2008 2010 2012 2014 2016 2018

90 nm

65 nm

45 nm

32 nm

22 nm

16 nm11 nm

8 nm2

Cores

4

Cores

8

Cores

16

Cores32 Cores

64 Cores

128 Cores

256 Cores

Slide 14

Page 15: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Many-Core - 2

• Increasing attention to

parallel chips

• Many plans for cores

with “In-Order” execution

Slide 15

On-chip shared memoryFar faster to access on-chip memory than DRAM

Interesting challenges in synchronization (e.g. locking)

Inexpensive Low-Power Parallel ChipsAmazing amounts of computing very cheap

Slower (or same) sequential speed!

Page 16: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Sequential versus

Parallel

Slide 16

You will get a bit faster

sequential processing

It will cost a LOT!

If you want a parallel app you

can have LOTS of computing!

It is getting lots cheaper!

Page 17: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• Forces in Processors

• Forces in Data-Centers

• Forces in Storage

• Forces in Communication

• Forces in the Cloud

• The Irresistible Forces Grind Us Down

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 17

Page 18: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Pricing, Buildings,

and Power

• The computers are cheap!

• Power is currently 40% of

the cost of a datacenter

• The building shell is about 15%

• Cheaper to waste floor space than power

• Reducing power saves air-conditioning!

• Double savings

• Backup power is 20% of

datacenter cost

• Batteries for a while?

• Big backup gens at $2M each

Slide 18

Page 19: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Trends in Data-centers• Data-center in a shipping container

• 55% of data-center cost: building & power

• Far more space, heat, & power efficient

• Cost savings in production and installation

• Connect to power, chilled water, & network

• Fail in place

• Expect to lose processors Don’t fix

• Load old data-center on a truck

• Service-free data centers

• 20-50% of system outages cause by administrative error

• Don’t use redundant power

• Spread the state and capacity across many data-centers

• Expect data-centers to be down as a normal event

Lots of small, expendable, easy-to-manage data-centers !

Must use cross data-center replication for disaster protection !

Slide 19

Page 20: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Transition and Legacy• Classes of machines

• High-end, high-throughput, high-cost, hotter-than-hell

• Holds legacy databases & stuff you can’t break up

• Low-end, low-cost, low-power, very cost-effective

• Lots of computation and storage for the money

• No brainer for stateless computing

• Increasingly holds partitioned state

• Classes of datacenters

• High-end, highly-available, highly-supervised

• Expensive

• Holds older apps with big databases

• Backup datacenters & backup power

• Low-end, low-availability, no backup power, no onsite staff

• Lots and lots of cheap low-end machines

• No brainer for stateless (and cached-state) based

computing

• Increasingly holding an opinion of the authoritative state!

Slide 20

Page 21: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• Forces in Processors

• Forces in Data-Centers

• Forces in Storage

• Forces in Communication

• Forces in the Cloud

• The Irresistible Forces Grind Us Down

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 21

Page 22: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Disk Is Tape

• The straw to disk is getting skinnier

• Each generation:

• Capacity increases with areal density

• Read/Write time with linear density

• 10+ Terabyte disks projected for 2010 ( $100 or so)

• 5-15 hours read sequentially

• 15-150 days to read randomly

Slide 22

Need to Treat Most of Disk as Cold Storage

No offsite media – Must use cross data-center

replication for disaster protection !

Remember when

Winchester Disks came?

Page 23: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Flash Is Disk

• Flash capacity doubled each year since 1995

• Market driven by phone, camera, iPod

• Low entry-cost $30/chip $3/chip

• Flash makes a better “disk” than disk

• 5000 I/Os per second

• Read 20MB/sec; Write 10MB/sec (per chip)

• N chips N * Bandwidth

• 8 chips plus controller 1 Watt !

Slide 23

2007 SATA

Disk

SCSI

Disk

Flash DRAM

GB/$ 3.33 0.50 0.08 0.01

IOPS/GB 0.2 4 200 5,000,000

GB/Watt 50 5 100 0.5

SATA Disks 40X

Cheaper per GB (2007)

Current Trends

Show Price

Crossover

in 2012 or so…

(SATA = Flash)

A Fat Straw Remaining

Fat as Capacity Rises

Flash Is COOL!

2010: 128GB Flash disk for $40

Page 24: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Storage Is Changing

Slide 24

Flash Is Disk…

Disk Is Tape…

Tape Is Dead…

Flash Is Cool…

Page 25: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• Forces in Processors

• Forces in Data-Centers

• Forces in Storage

• Forces in Communication

• Forces in the Cloud

• The Irresistible Forces Grind Us Down

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 25

Page 26: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

• Bandwidth continues to rise very fast…

• “Total bandwidth triples ever 12 months” – George Gilder

• Latency reductions are limited…

• Paraphrased from the sayings of Albert Einstein…

• Bandwidth and latency are different

• “Don’t underestimate the bandwidth of a mini-van driving down

the road loaded with DVDs” -- Jim Gray1983 1987 1991 1995 1999 2003 2007 2011

10

Mbit/s

100

Mbit/s

1,000

Mbit/s

10,000

Mbit/s

100,000

Mbit/s

IEEE 802.3

IEEE

802.3u

IEEE

802.3ab

IEEE

802.3ac

(optical)

IEEE

802.3an

(copper)

Standard

started

2006

100 Gbit/s copper

LAN likely cheap

and easy in 2011

Bandwidth and Latency - 1

Slide 26

Page 27: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

• Bandwidth continues to rise very fast…

• “Total bandwidth triples ever 12 months” – George Gilder

• Latency reductions are limited…

• Paraphrased from the sayings of Albert Einstein…

• Bandwidth and latency are different

• “Don’t underestimate the bandwidth of a mini-van driving down

the road loaded with DVDs” -- Jim Gray1983 1987 1991 1995 1999 2003 2007 2011

10

Mbit/s

100

Mbit/s

1,000

Mbit/s

10,000

Mbit/s

100,000

Mbit/s

IEEE 802.3

IEEE

802.3u

IEEE

802.3ab

IEEE

802.3ac

(optical)

IEEE

802.3an

(copper)

Standard

started

2006

100 Gbit/s copper

LAN likely cheap

and easy in 2011

Bandwidth and Latency - 2

Slide 27

Datacenters: a new backbone!-Concentration of bandwidth DC-to-DC

-Huge data transfers between DCs

Page 28: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

• Bandwidth continues to rise very fast…

• “Total bandwidth triples ever 12 months” – George Gilder

• Latency reductions are limited…

• Paraphrased from the sayings of Albert Einstein…

• Bandwidth and latency are different

• “Don’t underestimate the bandwidth of a mini-van driving down

the road loaded with DVDs” -- Jim Gray

Bandwidth and Latency - 3

Slide 28

Page 29: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

The Daily Trough

• Bandwidth continues to get cheaper (overall)

• Growing at a rate faster than Moore’s Law

• Bandwidth is priced based on peak usage

• Almost all providers see daily cycles

• The troughs are “free” bandwidth

No Additional

Cost to Use

This Bandwidth

Bandwidth

Charged as a

Function of

Peak Usage

Slide 29

Page 30: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Wireless Everywhere… Mostly…• Wireless is increasingly available

• Higher bandwidths and more locations

• Easier transitions from 802.11 to cellular access

• There are still dead spots and will likely continue to be

• Lots of bandwidth, lots of locations, won’t be perfect…

Want To See

“Always Offline”

Behavior

Slide 30

Don’t

“Hourglass” !

Useful Work

Always

Continues

Data Gets

Less Stale…

Page 31: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Increasing…

Increasing LAN…

Increasing WAN…

Increasing Wireless…

Increasing Expectations!

It’s Easier to Move a Bit than

Move a Watt…

Data-centers Are Moving to

be by Hydro-Electric Dams!

Slide 31

Page 32: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• Forces in Processors

• Forces in Data-Centers

• Forces in Storage

• Forces in Communication

• Forces in the Cloud

• The Irresistible Forces Grind Us Down

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 32

Page 33: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Video: Software AND ServicesShown by Bill Gates at the Microsoft Company Meeting

A vision of the future with Software AND Services

Slide 33

At this point, a video was shown emphasizing

the vision for “Software AND Services”.

The story was of a general contractor, Mike, building a

house and doing his business over MANY different

devices interconnected with services in the cloud.

One very interesting part of this vision was when

Mike’s tablet PC was destroyed by a piece of heavy

equipment. A colleague hands him a different device

and Mike immediately has access to his work via the

services in the cloud.

Page 34: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• Forces in Processors

• Forces in Data-Centers

• Forces in Storage

• Forces in Communication

• Forces in the Cloud

• The Irresistible Forces Grind Us Down

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 34

Page 35: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

The State in

the Cloud

Slide 35

Application State Separated from the Machine

Per-User

Per-App

State

Safety

and Sand-

Boxing

Controlled

and Safe

Sharing

across Apps

Controlled

and Safe

Sharing

across Users

Page 36: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Parallel or Paralyzed?

Slide 36

Types of Parallelism

Pipeline Parallelism Partitioned

Parallelism

Single-Cores Won’t Get Faster!Spread the work across many processors

Most Existing Apps Aren’t Parallel!

Servers Big DBs Clients Big EXEs

Page 37: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Spinning Faster by Holding Close

Slide 37

Waiting for Data Makes Computers Very Slow

Waiting for

DRAM Is Slow

Waiting for the

Network Is Slow!!

It Is OK to have Copies of Data Close By

Read-Only

Reference Data

Divergent Changes

of Copies???

Waiting While Offline

Is Glacially Slow!!

Your Opinion of

What It Should Be!

The ice skater moves faster as her arms pull into the middle…

Page 38: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Defy Authority

• Becoming hard to know the truth

• Multiple cheap data-centers they go down!

• The offline laptop

• We need to be accepting that we cannot know the truth

• Each copy is disconnected from other copies

• Only historical truths can remain truths…

Slide 38

Page 39: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

This Grind Is NUTS!

Slide 39

Creamy

Chunky

Continuous Drive to Many Small

and Separate Units of Computation

How Can We Build Apps Out of Small,

Independent, and Unreliable Pieces??

Page 40: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Power!Money Matters!

In 1995, I thought the Internet was doomed because it

wasn’t transactionally consistent

People will evolve their apps to cope with these forces!

I was wrong… I admit it…

Slide 40

Power!

Want disconnection,

scaling, cheap

computers, and

cheap data centers

Will change app

behavior to get it!

(for many apps…)

More and

more apps

over time!

Page 41: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• The Movable Objects

• Admitting We’re Confused

• Working in the Here and Now

• Cutting the Work into Little Pieces

• Independent Changes to Little Pieces

• Evolution and Coexistence

• Conclusion

Slide 41

Page 42: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Inventory and Forklifts

• Even if the computer is accurate:

• Data are entered by people

• Data are entered by sensors

• Decisions are made

Slide 42

-- “Jim wants to buy a book!”

-- “Hey, we have one in Nevada!”

-- “Ship it to him… should be there on Tuesday!”

In preparing the book for shipment, the only copy is

run over by the forklift in the warehouse… bummer.

Page 43: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

The best you can do is a guess!Good guesses; bad guesses; no certainty…

Guessing and Partial Knowledge

• Computers have partial knowledge

• Will be separated from the real world

• May be separated from other replicas with opinions

of their very own

• Computers do not make decisions!

• They try to make decisions

Slide 43

Page 44: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Investing in remembering well is a business decisionMaybe forgetting once in a while is cheaper!

Memories and Sharing

• It’s nice to remember your guesses• Makes it easier when you guessed right

• Makes it easier when you guessed wrong

• Usually, computers remember their guess…

• Sharing your memories is useful• Replicas, disaster protection, yada-yada-yada

• Fidelity of memories cost• More money, less forgetfulness

• More replicas

• Longer latency to share across replicas before emitting guesses…

Slide 44

Page 45: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Indistinguishable

behavior!!!

Screw-Ups and Apologies

I guess I can ship that

book on Wednesday…

User 1

User 2

Replica 1

Replica 2

Sorry!!! Current guess

is next month!

I guess I can ship that

book on Wednesday…

Sorry!!! Current guess

is next month!

I guessed I would ship the book

I guess I can ship that

book on Wednesday…

Oh,

Crap!

Slide 45

1

2

3

4a

5

4b

6 7

Page 46: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

It’s OK to be Decisive and Wrong

Business involves

apologizing…

It’s OK to take

advantage of that!

Pay attention to

the cost (and probability) of the apology

versus

the advantage of decisiveness

Slide 46

Page 47: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• The Movable Objects

• Admitting We’re Confused

• Working in the Here and Now

• Cutting the Work into Little Pieces

• Independent Changes to Little Pieces

• Evolution and Coexistence

• Conclusion

Slide 47

Page 48: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

It’s COOL to be Smaller!

• Smaller computers offer more “bang for the buck”

• Less power/heat per computation

• Less money per computation

• Smaller data-centers offer more “bang for the buck”

• Easier manufacturing, support, installation,

decommissioning

• Lower power costs (no redundant power)

• Lower facilities costs

• Smaller data-sets frequently offer more

“bang for the buck”

• Easier to spread around the smaller machines

• Need to evolve the computing model for small

data-sets with many copies…Slide 48

Creamy

Page 49: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

It’s OK to Have a Copy

There Is No Authority!

• There is no authoritative copy!

• Data-centers come and go

• Offline laptops and devices come and go

• Changes stored in these are eventually shared

• Versioning and change history show what was intended

• Each copy doing its own thing

• Application design for independence is required

• How can there be independent pieces of data?

• How can there be loosely-dependent copies of

those pieces?

The demand for “offline” mandates we design away from “authority”!

The demand for cheap (and flakey) data-centers

mandates we design away from “authority”!

Slide 49

Big websites have large

caches of product

catalogs and price lists!

Computing with

versions!

Page 50: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Lots of Pieces and Lots of Copies!

How can we cut the work into

lots of little pieces?

How can we manage

independent changes to

lots of little pieces?

Slide 50

Page 51: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• The Movable Objects

• Admitting We’re Confused

• Working in the Here and Now

• Cutting the Work into Little Pieces

• Independent Changes to Little Pieces

• Evolution and Coexistence

• Conclusion

Slide 51

Page 52: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Scaling with Local Transactions

• Assume:

• Local computation must be done… can’t wait to coordinate

• Your partner is likely to be remote

• Then:

• You must do local work… Even if you have to apologize later

• You can do local transactions

• You can’t do remote transactions

• Problem:

• How do you know WHAT is local?

DataTransaction

DataTransaction

Data

Slide 52

Page 53: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Obj“LMN”Obj

“GHI”

Obj“LMN”

Obj“XYZ”

Obj“RST”

Obj“JKL”

Obj“FAW”

Obj“ABC”

Obj“ABZ”

Obj“DEF”

Obj“XYZ”

Obj“RAA”

Obj“XYZ”

Obj“RST”

Obj“NAO”

Obj“MOE”

Obj“LMN”

Obj“JKL”

Obj“GHI”

Obj“FXQ”

Obj“JAA”

Obj“KZU”

Uniquely Keyed Objects and Partitioning

• Must identify objects with a unique key (reference) as its identity

• Objects may move when repartitioning occurs

• Transactions cannot occur across these objects

• Even if two objects are on the same machine now, they may not

be later!

No Promise

that Two

Different

Objects Stay

on the Same

Machine!!

Slide 53

Frequently

the work

won’t fit

on one

computer!

Page 54: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

It’s Not Your Grandmother’s DB Anymore!

• Queries are different !• No transactional queries

• May not be on same machine

No remote transactions!

• Can query stale copies

• Hmmm… What’s stale mean in this world??

• Alternate indices are different !• Different keys May be different machines

• You can’t transactionally update multiple keys

• Must be a multi-step (non-transactional) process

Slide 54

Page 55: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Fine-Grained Workflow

• These objects and their data are not like traditional DBs

• The communication must be by messaging

• Work must be done in steps via workflow techniques

• This is traditional workflow but with fine-grained participants

• The objects may move when repartitioned and the messages

must chase them

• The granularity of the workflow participant is the fine-grained

object

Object-YObject-XObject-W

Object-Z

Slide 55

Page 56: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Separate Transactions on Little Objects

Smaller is better

Separate transaction per object

Fine-grained workflow

But wait !

There’s no authoritative copy

of the little object!

Now what ?

Slide 56

Page 57: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• The Movable Objects

• Admitting We’re Confused

• Working in the Here and Now

• Cutting the Work into Little Pieces

• Independent Changes to Little Pieces

• Evolution and Coexistence

• Conclusion

Slide 57

Page 58: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Subjective Consistency Given the information I have at hand, make a decision and act on it !

Remember the information at hand !

Subjective Consistency• Given what I know here and now, make a decision

• Remember the versions of all the data used to make this decision

• Record the decision as being predicated on these versions

• Other copies of the object may make divergent decisions

• Try to sort out conflicts within the family

• If necessary, programmatically apologize

• Very rarely, whine and fuss for human help

Slide 58

Ambassadors Had AuthorityBack before radio, it could be months between communication with the king.

Ambassadors would make treaties and much more...

They had binding authority. The mess was sorted out later!

Page 59: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Eventual Consistency

• Eventually, all the copies of the object share their changes

• “I’ll show you mine if you show me yours!”

• Now, apply subjective consistency:

• “Given the information I have at hand, make a decision

and act on it!”

• Everyone has the same information, everyone comes to the

same conclusion about the decisions to take…

This is NOT magic; it is a design requirement !

Idempotence, commutativity, and associativity of the operations

(decisions made) are all implied by this requirement

Slide 59

Eventual Consistency Given the same knowledge, produce the same result !

Everyone sharing their knowledge leads to the same result...

Page 60: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

X < Y

Cancel Y

R4R3

X < Y

Cancel Y

X < Y

Cancel Y

R2R1

Eventual Consistency:

Example - 1

Slide 60

Ship Jim

a book!

Shipment-

ID “X” Shipment-

ID “Y”

Oh,

Crap!

Oh,

Crap!

Whew!

R5

Whew!

R2 Jumps

the Gun!

Oh,

Crap!

Probability

this replica

processes

the work

Business Rule!

X < Y

Page 61: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Eventual Consistency: Example - 2

• On the previous slide, we consider an example with five replicas of the same object

• Replicas R-2 through R-5 normally just wait and watch

• R-1 does the work; the little brothers see the need for work, wait, then see the

work fulfilled by R-1

• If R-1 takes too long, R-2 will start functioning

• Intrinsic window of confusion when R-1 and R-2 both fire

• Consider the case when they both fire…

• R-1 ships the book with Ship-Id-X; R-2 with Ship-Id-Y

• Essential that ALL replicas look at the confusion and produce the SAME answer

• This provides EVENTUAL CONSISTENCY

• Here, the application has a business policy that can be independently calculated

• Take the Shipment-ID (which may be a GUID… doesn’t matter) and CANCEL

the larger numbered Shipment-ID

• Again, it only matters that ALL replicas reach the same resolution

• R-1, R-2, and R-3 see the problem before the solution

• They take action “Oh, Crap… X < Y, Cancel Y”

• R-4 and R-5 see the resolution before the problem Nothing to clean up!

Explanation of the Previous Slide!!!

(hard to do animations and audio in a PDF version of the presentation)

Slide 61

Page 62: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

To CAP It Off…

I believe in the CAP Conjecture:

• Consistency, Availability, Partition tolerance

• Pick two…

Economic based argument:

People want disconnection, scaling, and

cheap data-centers enough to make

subjective and eventual consistency

work for an increasing number of applications

This is a relaxation of consistency

Subjective consistency combined with eventual consistency

provide different application semantics

Slide 62

Page 63: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 63

Page 64: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Interoperate and Entice

Slide 64

Must Interoperate with the Existing

Software Investments

A lot of code exists and it is very important

Old code must co-exist with the new

(even if it doesn’t get the new advantages)

Entice into the New World…

New ways of building apps will only be adopted

when they offer strong business value!

Page 65: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Agenda

• Introduction

• The Irresistible Forces

• The Movable Objects

• Evolution and Coexistence

• Conclusion

Slide 65

Page 66: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Takeaways• The hardware is changing

• LOTS of processors No faster, though…

• Power and heat

• Lots of devices

• Lots of bandwidth Intermittent device connectivity

• The economics are changing

• Small is BEAUTIFUL

• Unreliable is cheaper

• Configuring costs more than the devices

• An onslaught of data!

• Components must change

• They need to move They need to work with offline-able partners

• There is no central truth Work must be idempotent and cancelable

• No distinct “application” boundary Everything is connected

• Components must coexist• Today’s investment must survive!

• New components must live and interoperate with the old

• Incentive to move

Slide 66

Page 67: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

The Transactional ACID

Slide 67

Atomic - All or nothing

Consistent - Keep the rules of the system

I solated - Don’t show concurrent work

Durable - Don’t lose committed changes

Goal for Transactional ACID

Make the system look like one thing at a time is

happening no matter how complex the work!

Looks Like a Single Machine!!

The programmer pretends it’s one machine...

Used to work just fine!!

Page 68: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

This Is Your Object on ACID

Slide 68

Associative - (A + B) + C = A + (B + C)

Commutative - (A + B) = (B + A)

I dempotent - OK to do work MANY times

Distributed - Spread out and independent

Goal for the New ACID

Recognize the work

will be done by lots of

unreliable machines

They will have different sizes,

shapes, purposes, and

deployments

Can’t tell

the order

in which

the work

is done

-----

Can’t tell

how many

times it is

done!

Just like People and Societies

• People are made up of cells,

each of which is replaceable

• Societies are made up of

people, each of which is

replaceable

Page 69: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

Not for Everything… Just for Most!

Real-Time Systems• Closed Queuing Network (Limited Traffic)

• Like a Dedicated Lane on the Freeway

for Each Automobile!

• I Want This for My Flight Back to Redmond !!!

Very Expensive Apologies…• Some “Guesses” Are Very Expensive to Get Wrong

• These Make Sense to Preserve “Authority”

• Choose “Consistency” over “Availability”

• This is a Business Decision!

The New “ACID”• Huge Numbers of Relatively Small Operations

• The Cost and Probability of Apologies Is Small

• Essential to Provide Scalable and Available Services

Page 70: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

The Irresistible Forces

Will

Move the Objects!

Slide 70

Page 71: The Irresistible Forces Meet the Movable Objects...Tiny, Cheap, Flakey & Ubiquitous Old New Slide 5 Agenda • Introduction • The Irresistible Forces •Forces in Processors •Forces

© 2007 Microsoft Corporation. All rights reserved.

This presentation is for informational purposes only.

MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.