111
Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March 8th, 2016

March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + ProprietaryConfidential + Proprietary

Distributed Systems in Practice, in TheoryAysylu GreenbergMarch 8th, 2016

Page 2: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 3: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 4: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Aysylu Greenberg

@aysylu22

Page 5: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Towards Distributed Build System

Page 6: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Towards Distributed Build System

Page 7: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 8: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 9: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 10: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 11: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 12: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 13: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 14: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 15: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 16: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 17: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 18: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 19: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 20: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 21: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

http://opencv.org/

Towards Distributed Build System

Page 22: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 23: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Papers We Love SF

Page 24: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Aysylu Greenberg

@aysylu22

Page 25: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietarymeetup.com/Papers-We-Love-London

Page 26: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Today

● Staged Event-Driven Architecture

Page 27: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Today

● Staged Event-Driven Architecture● Leases

Page 28: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Today

● Staged Event-Driven Architecture● Leases● Inaccurate Computations

Page 29: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + ProprietaryConfidential + Proprietary

Computer Science ResearchInDistributed Systems Industry

Page 30: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Operating systems research

Page 31: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Operating systems research

Page 32: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Operating systems research

Concurrency

Page 33: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Operating systems research

Concurrency

Concurrency primitives: mutex & semaphore

Page 34: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Operating systems research

Concurrency

Concurrency primitives: mutex & semaphore

Processes execute at different speeds

Page 35: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Time in distributed systems

Page 36: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Time in distributed systems

Page 37: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Time in distributed systems

Pipelining

Page 38: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Time in distributed systems

Pipelining

Page 39: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Internet

Page 40: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Internet

Distributed consensus

Page 41: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Internet

Distributed consensus

Page 42: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Internet

Distributed consensus

Page 43: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Internet

Distributed consensus

Paxos

Page 44: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Reconsider large systems

Page 45: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Reconsider large systems

Platform as a service

Page 46: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

CS Research is Timeless

Inform decisions

Mitigate technical risk

Page 47: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + ProprietaryConfidential + Proprietary

Staged Event Driven Architecture&Deep Pipelines

2001

Page 48: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Hardware Pipelines

Page 49: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Data Pipelines

https://en.wikipedia.org/wiki/Graphics_pipeline

Page 50: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 51: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 52: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 53: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 54: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 55: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 56: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 57: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 58: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 59: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 60: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Search Indexing Pipelines

Page 61: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 62: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Staged Event Driven Architecture

Page 63: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Single-machine pipeline

generalizes to distributed pipelines

Staged Event Driven Architecture

Page 64: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Staged Event Driven Architecture

● Dynamic resource controllers

Page 65: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Staged Event Driven Architecture

● Dynamic resource controllers

+-

Page 66: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Staged Event Driven Architecture

● Dynamic resource controllers○ automatic tuning

+-

Page 67: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Staged Event Driven Architecture

● Dynamic resource controllers○ automatic tuning

■ thread pool sizing+

-

Page 68: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Staged Event Driven Architecture

● Dynamic resource controllers○ automatic tuning

■ thread pool sizing■ event batching +

-

Page 69: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

+-

Staged Event Driven Architecture

● Dynamic resource controllers○ automatic tuning

■ thread pool sizing■ event batching

○ load shedding via queue

Page 70: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

+-

Staged Event Driven Architecture

● Dynamic resource controllers○ automatic tuning

■ thread pool sizing■ event batching

○ load shedding via queue■ backpressure

Page 71: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

+-

Staged Event Driven Architecture

● Dynamic resource controllers○ automatic tuning

■ thread pool sizing■ event batching

○ load shedding via queue■ backpressure■ threshold, filter, reorder, aggregate

Page 72: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + ProprietaryConfidential + Proprietary

Leasesas Heart Beat in Distributed Systems 1989

Page 73: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 74: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases

● Distributed locking

Page 75: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases

● Distributed locking● Lease term tradeoffs

○ short

Page 76: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases

● Distributed locking● Lease term tradeoffs

○ short■ delay from client and server failures

minimized■ reduced false write-sharing

Page 77: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases

● Distributed locking● Lease term tradeoffs

○ short vs long

Page 78: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases

● Distributed locking● Lease term tradeoffs

○ short vs long■ more efficient for frequently accessed

data■ minimized lease extension overhead on

server and client

Page 79: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases

● Distributed locking● Lease term tradeoffs

○ short vs long● Use of leases in modern applications

○ Leader election TTL (in etcd)

Page 80: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases

● Distributed locking● Lease term tradeoffs

○ short vs long● Use of leases in modern applications

○ Leader election TTL (in etcd)○ Liveness detection

Page 81: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 82: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Do the build, s'il vous plaît!

Build System

Dita Roque-Gourary

Page 83: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Do the build, s'il vous plaît!

Build System

OK/D'Accord!

Dita Roque-Gourary

Page 84: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Do the build, s'il vous plaît!

Build System

OK/D'Accord!

Waiting for the results, merci.

Dita Roque-Gourary

Page 85: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Do the build, s'il vous plaît!

Build System

OK/D'Accord!

Waiting for the results, merci.

Build is in progress

Dita Roque-Gourary

Page 86: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Do the build, s'il vous plaît!

Build System

OK/D'Accord!

Waiting for the results, merci.

Build is in progress

Dita Roque-Gourary

Waiting for the results, merci.

Page 87: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Do the build, s'il vous plaît!

Build System

OK/D'Accord!

Waiting for the results, merci.

Build is in progress

Build is finished/fini.Dita Roque-Gourary

Waiting for the results, merci.

Page 88: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Leases in Build System

Page 89: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + ProprietaryConfidential + Proprietary

Inaccurate Computations&Serving Search Results

Page 90: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

From Accurate to"Good Enough"

Page 91: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 92: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 93: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 94: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 95: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 96: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Inaccuracy for Resilience

1. Task decomposition

Page 97: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Inaccuracy for Resilience

1. Task decomposition2. Baseline for correctness

Page 98: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Inaccuracy for Resilience

1. Task decomposition2. Baseline for correctness3. Criticality Testing

Page 99: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Inaccuracy for Resilience

1. Task decomposition2. Baseline for correctness3. Criticality Testing4. Distortion and timing models

Page 100: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + ProprietaryJeff Dean "Building Software Systems at Google and Lessons Learned", Stanford, 2010

Page 101: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + ProprietaryJeff Dean "Building Software Systems at Google and Lessons Learned", Stanford, 2010

Page 102: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 103: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Page 104: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Robust & scaleable pipelines

Page 105: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Robust & scaleable pipelinesLeases for sharing & heartbeat

Page 106: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Robust & scaleable pipelinesLeases for sharing & heartbeat

Trade off inaccuracy for resilience & performance

Page 107: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Robust, scaleable pipelinesLeases for sharing & heartbeat

Trade off inaccurate for resilient

CS research is timeless:

use it to mitigate risk

Page 108: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

ThanksInes SombraDavid GreenbergAlex HutchesonScott ZawalskiKaran Parikh

Page 109: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

References● T. Wurthinger, C. Wimmer et al. "One VM to Rule Them All"● M. Rinard "Probabilistic Accuracy Bounds for Fault-Tolerant

Computations that Discard Tasks"● F. Corbato, M. Daggett, R. Daley "An Experimental Time-

Sharing System"● E. Dijkstra "Cooperating Sequential Processes"● L. Lamport "Time, Clocks, and the Ordering of Events in a

Distributed System"

Page 110: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

References● B. Oki, B. Liskov "Viewstamped Replication: A New Primary Copy

Method to Support Highly-Available Distributed Systems"● L. Lamport "The Part-Time Parliament"● M. Welsh, D. Culler, E. Brewer "SEDA: An Architecture for Well-

Conditioned, Scalable Internet Services"● C. Gray, D. Cheriton "Leases: An Efficient Fault-Tolerant

Mechanism for Distributed File Cache Consistency"● S. Agarwal, B. Mozafari et al. "BlinkDB: Queries with Bounded

Errors and Bounded Response Times on Very Large Data"

Page 111: March 8th, 2016 Aysylu Greenberg Distributed Systems in ... · Confidential + Proprietary Confidential + Proprietary Distributed Systems in Practice, in Theory Aysylu Greenberg March

Confidential + Proprietary

Should I read papers?

YES