Keynote - - PowerPoint PPT Presentation

keynote
SMART_READER_LITE
LIVE PREVIEW

Keynote - - PowerPoint PPT Presentation

Keynote Agile, Lean, Rugged The Paper Edition!


slide-1
SLIDE 1

Keynote

slide-2
SLIDE 2

The Paper Edition!

♥ ♥ ♥ ♥ ♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥ ♥

♥ ♥

Agile, Lean, Rugged

slide-3
SLIDE 3

First

.Introductions

slide-4
SLIDE 4

@Randommood

Ines Sombra

slide-5
SLIDE 5

@adriancolyer

Adrian Colyer

slide-6
SLIDE 6

The Rules Only 5 minutes per paper

Foundation

  • Frontier

A challenge!

No Cheating!

slide-7
SLIDE 7

A paper tour of

Agile

slide-8
SLIDE 8

Foundation

slide-9
SLIDE 9

We disdain old software

slide-10
SLIDE 10

“The only systems that don’t get changed are those that are so bad nobody wants to use them”

slide-11
SLIDE 11

When software gets older

slide-12
SLIDE 12

Design for change Embrace modularity & information hiding Stress clarity & documentation Amputate disease-ridden parts Plan for eventual replacement

Preventative medicine

slide-13
SLIDE 13

Frontier

slide-14
SLIDE 14

What do we want?

We want agile Development Testing and verification Delivery

and we want agility of

  • perations too!
slide-15
SLIDE 15

Facebook Scuba

👈

Data lives in server’s heap

slide-16
SLIDE 16

The problem with state

Restarting a database clears its memory Reading 120GB of data from disk takes about 3 hours per server (8 per machine) Even with orchestrated restarts & partial queries total of ~12 hours to restart a fleet

Operationally expensive & slow!

😮

slide-17
SLIDE 17

“When we shutdown a server for a planned upgrade, we know that the memory state is good… so we decided to decouple the memory’s lifetime from the process’s lifetime“

slide-18
SLIDE 18

2-3 minutes per server

Fleet restarts < 1 hour now!

😋

slide-19
SLIDE 19

A paper tour of

Lean

slide-20
SLIDE 20

Foundation

slide-21
SLIDE 21

Which system is better?

slide-22
SLIDE 22

Single-minded pursuit of scalability is the wrong goal

slide-23
SLIDE 23

Common wisdom Effective scaling is evidence of solid system building

Why does this happen?

McSherry et al. Any system can scale arbitrarily well with a sufficient lack of care in its implementation

slide-24
SLIDE 24

♥ ♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥ ♥

♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥ ♥ ♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥ ♥

♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥

COST Configuration that outperforms a single thread

COST of a system is the hardware platform (number of cores) required before the platform outperforms a competent single threaded implementation

slide-25
SLIDE 25
slide-26
SLIDE 26

“If you’re building a system, make sure it’s better than your laptop. If you’re using a system, make sure it’s better than your laptop”

McSherry

slide-27
SLIDE 27

Frontier

slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30

Sampling works!

slide-31
SLIDE 31

Error bounds & confidence

slide-32
SLIDE 32

Don’t ask wasteful questions

slide-33
SLIDE 33

A paper tour of

Rugged

slide-34
SLIDE 34

Foundation

slide-35
SLIDE 35

Strategies to enhance ruggedness in the presence of failures Better way to think about system availability

Ruggedness as availability

slide-36
SLIDE 36

Harvest: fraction of the complete result Yield: fraction of answered queries

slide-37
SLIDE 37

Yield as response ruggedness

Close to uptime (% requests answered successfully) but more useful because it directly maps to user experience Failure during high & low traffic generates different yields. Uptime misses this Focus on yield rather than uptime

slide-38
SLIDE 38

Harvest as quality of response

From Coda Hale’s “You can’t sacrifice partition tolerance”

Server A Server B Server C

Baby Animals Cute X 66% harvest

slide-39
SLIDE 39

#1: Probabilistic Availability

Graceful harvest degradation under faults Randomness to make the worst-case & average-case the same Replication of high-priority data for greater harvest control Degrading results based on client capability

slide-40
SLIDE 40

#2 Decomposition & Orthogonality

Decomposing into subsystems independently intolerant to harvest degradation (fail by reducing yield). But app can continue if they fail Only provide strong consistency for the subsystems that need it Orthogonal mechanisms (state vs functionality)

💫

slide-41
SLIDE 41

Frontier

slide-42
SLIDE 42

Ruggedness via verification

Formal Methods Testing

TOP-DOWN

FAULT INJECTORS, INPUT GENERATORS

BOTTOM-UP

LINEAGE DRIVEN FAULT INJECTORS

WHITE / BLACK BOX

WE KNOW (OR NOT) ABOUT THE SYSTEM

HUMAN ASSISTED PROOFS

SAFETY CRITICAL (TLA+, COQ, ISABELLE)

MODEL CHECKING

PROPERTIES + TRANSITIONS (SPIN, TLA+)

LIGHTWEIGHT FM

BEST OF BOTH WORLDS (ALLOY, SAT)

👉

slide-43
SLIDE 43

♥ ♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥ ♥

♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥ ♥ ♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥ ♥

♥ ♥

  • ♥ ♥ ♥

♥ ♥ ♥ ♥

MOLLY: Lineage Driven Fault Injection

Reasons backwards from correct system outcomes & determines if a failure could have prevented it MOLLY only injects the failures it can prove might affect an outcome

slide-44
SLIDE 44

Ruggedness with MOLLY

“Without explicitly forcing a system to fail, you have no confidence that it will operate correctly in failure modes”

Caitie McCaffrey’s pearls of wisdom

💂

🐶

Verifier Programmer

slide-45
SLIDE 45

MOLLY helps us undestand failure

slide-46
SLIDE 46

“Presents a middle ground between pragmatism and formalism, dictated by the importance of verifying fault tolerance in spite of the complexity of the space of faults”

slide-47
SLIDE 47

Now let’s

.Wrap things

slide-48
SLIDE 48

Agile Lean Rugged

tl;dr - foundations

A scalable system may not be a lean system Pursuing scalability out

  • f context can

be COSTly Designing for change is designing for success Think about availability in terms of yield and harvest Graceful degradation is a design outcome

slide-49
SLIDE 49

Agile Lean Rugged

tl;dr - Frontiers

Asking the wrong question is wasteful Think about what is truly needed Use approximations State can be challenging Saving state in shared memory allows us to restart DB processes faster Reasoning backwards from correct system

  • utput helps us

determine the execution failures that prevent it from happening

slide-50
SLIDE 50

Join your local PWL and read The Morning Paper!

github.com/Randommood/GotoLondon2015

Papers are a lot of fun!

🎔

slide-51
SLIDE 51

✨ ✨

🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹 🍺 🍼 🍸 🍹

DRANKS!