rachid guerraoui – adversary oriented computing

38
Rachid Guerraoui, EPFL Adversary-Oriented Computing

Upload: yandex

Post on 05-Jul-2015

233 views

Category:

Science


1 download

DESCRIPTION

Recent technological evolutions, including the cloud, the multicore and the social ones, are turning computing ubiquitously distributed. Yet, building high-assurance distributed programs is notoriously challenging. This talk will describe Adversary-Oriented Computing (AOC), a new paradigm to build high-assurance distributed programs. The underlying idea consists in introducing a new dimension for separating the concerns of a distributed program and a new corresponding way to achieve their modular design, proof, verification, implementation and debugging.

TRANSCRIPT

Page 1: Rachid Guerraoui – Adversary Oriented Computing

Rachid Guerraoui, EPFL

Adversary-Oriented Computing

Page 2: Rachid Guerraoui – Adversary Oriented Computing
Page 3: Rachid Guerraoui – Adversary Oriented Computing
Page 4: Rachid Guerraoui – Adversary Oriented Computing
Page 5: Rachid Guerraoui – Adversary Oriented Computing

AOC

Adversary-Oriented Computing

Page 6: Rachid Guerraoui – Adversary Oriented Computing

Act 1: from centralized to distributed

Act 3: Adversary-Oriented Computing

Act 2: from algorithms to systems

Page 7: Rachid Guerraoui – Adversary Oriented Computing

Queue Storage

e-X

Objects

Page 8: Rachid Guerraoui – Adversary Oriented Computing

Storage

Queue

enQueue() deQueue()

read() write()

Page 9: Rachid Guerraoui – Adversary Oriented Computing

Algorithm

Minimize complexity

C(O)

Page 10: Rachid Guerraoui – Adversary Oriented Computing

enQueue() deQueue()

Queue Queue Queue

clients

messages messages

Page 11: Rachid Guerraoui – Adversary Oriented Computing

Distributed Algorithm

C(O,A)

Page 12: Rachid Guerraoui – Adversary Oriented Computing

P1;P1;P1;P2;P2;P2;P3;P3;P3;..

P1;P2;P3;P1;P2;P3;P1;P2;P3;..

Sequential

P1;P1;P1;P1;P1;P1;P1;..Centralized

Synchronous

P1;P2;P1;P3;P2;P3;P1;P1;P3;.. AsynchronousP1;P3;P1;P3;P2;P3;P1;P1;P3;..

Synchronous-F1P1;P2;P3;P2;P3;P2;P3;P2;P3;.. P1;P2;P3;P1;P2;P1;P2;P1;..

Page 13: Rachid Guerraoui – Adversary Oriented Computing

Adversary

Set of runs

Page 14: Rachid Guerraoui – Adversary Oriented Computing

The Game

Page 15: Rachid Guerraoui – Adversary Oriented Computing

Object (e.g., Queue)

State: a history of requests

A client invokes a request req and delivers a response h(req)

Page 16: Rachid Guerraoui – Adversary Oriented Computing

Linearizable Shared Object

Safety: if c1 delivers history h1 and c2 delivers history h2, then one is the

prefix of the other

Liveness: if a correct client c invokes a request req, then c eventually delivers

response h (req)

Page 17: Rachid Guerraoui – Adversary Oriented Computing

Asynchronous: infinity

Sequential: 0 step

Concurrency: k steps

Node failures: n steps

What Complexity?

Page 18: Rachid Guerraoui – Adversary Oriented Computing

Act 1: from centralized to distributedC(O,A)

Act 2: from algorithms to systems

Page 19: Rachid Guerraoui – Adversary Oriented Computing

enQueue() deQueue()

Queue Queue Queue

messages messages

Current Practices?

clients

Page 20: Rachid Guerraoui – Adversary Oriented Computing

Polymorphic adversary

C(O,A1,A2,A3,A4) = (2,O(k),O(f),infinity)

What Complexity?

Page 21: Rachid Guerraoui – Adversary Oriented Computing

Paxos saga

Tons of examples

X.000 lines of intricate C code

The Distributed System’s Nightmare

In each implementation

Page 22: Rachid Guerraoui – Adversary Oriented Computing

Act 1: from centralized to distributed

Act 2: from algorithms to systems

C(O,A)

C(O,A1,A2,..An)

Page 23: Rachid Guerraoui – Adversary Oriented Computing

Act 1: from centralized to distributed

Act 3: Adversary-Oriented Computing

Act 2: from algorithms to systems

C(O,A)

C(O,A1,A2,..An)

Page 24: Rachid Guerraoui – Adversary Oriented Computing

Dissecting Adversaries

Equivalence classes

Disagreement power (DISC 2010)

Complexity relations (STOC 2009)

Page 25: Rachid Guerraoui – Adversary Oriented Computing

Switch(adversary)Case A1: algorithm1();Case A2: algorithm2();

…Case AK: algorithmK();

…Case AN: algorithmN()

Adversary-Oriented Computing

Page 26: Rachid Guerraoui – Adversary Oriented Computing

”Premature optimization is the root of all evil”

Knuth

Adversary-Oriented Computing

Page 27: Rachid Guerraoui – Adversary Oriented Computing

Queue Queue Queue

Adversary detector

Adversary-Oriented Computing

Progressive abortability

clients

Page 28: Rachid Guerraoui – Adversary Oriented Computing

Object

State: a history of requests

A client invokes a request req and delivers a response h(req)

Page 29: Rachid Guerraoui – Adversary Oriented Computing

Shared Object (linearizable)

Safety: if c1 delivers history h1 and c2 delivers history h2, then one is the

prefix of the other

Liveness: if a correct client c invokes a request req, then c eventually delivers

response h (req)

Page 30: Rachid Guerraoui – Adversary Oriented Computing

AOC Object (A) speculative linearizability

Liveness (1): if a correct client c invokes a request req, then c commits

or aborts h (req)

Liveness (2) : h (req) is committed if the adversary is weaker than A

Page 31: Rachid Guerraoui – Adversary Oriented Computing

AOC Object

Safety (1): if c1 commits history h1 and c2 commits h2, then one is prefix of the other

Safety (2): if c1 commits history h1 and c2 aborts h2, then h1 is prefix of h2

Page 32: Rachid Guerraoui – Adversary Oriented Computing

Composition Theorem

AOC Object A1 + AOC Object A2

AOC Object (A1 U A2)

=

Page 33: Rachid Guerraoui – Adversary Oriented Computing

Examples/References Indulgent algorithms (PODC 00,PODC

02) 700 BFT protocols (Eurosys 10) Test-and-Set (SPAA 12) Speculative Linearizability (PLDI 12) Speculation & Stabilization (PODC 13)

Page 34: Rachid Guerraoui – Adversary Oriented Computing

Simplifying

Tests

Revisiting The Paxos Family

Proofs

Optimizations (online)

Page 35: Rachid Guerraoui – Adversary Oriented Computing

Act 1: from centralized to distributed

Act 3: Adversary-Oriented Computing

C(O,A)

C(O,A1,A2,..An)

Act 2: from algorithms to systems

C(O,A1) C(O,A2) C(O,An)..

Page 36: Rachid Guerraoui – Adversary Oriented Computing

Queue Storagee-X

Dimensions of modularity

control vs. data

Page 37: Rachid Guerraoui – Adversary Oriented Computing

AOC

Thank you for your attention

Page 38: Rachid Guerraoui – Adversary Oriented Computing

Wandida.com

Internet is an opportunity for teaching

Being recorded while giving a long class

Registering and following a full curriculum