Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader...

46
InformationTheoretic Lower Bounds for Shared Memory Emulation Zhiying Wang University of California, Irvine Joint with Viveck R. Cadambe (PSU), Nancy Lynch (MIT) 1

Transcript of Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader...

Page 1: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Information‐Theoretic Lower Bounds for Shared Memory Emulation

Zhiying WangUniversity of California, Irvine

Joint with Viveck R. Cadambe (PSU), Nancy Lynch (MIT)

1

Page 2: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Distributed Algorithms• Algorithms that are supposed to work in distributed networks, or on multiprocessors

• ~30 years research

• Applications– Machine learning– Networking– Multiprocessor programming

2

Page 3: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Timing• Synchronous

– Processes communicate every round– Requires “clock”

• Asynchronous: take action at any time

3

Page 4: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Changing Information in Distributed System

• Modern key value stores ‐ Amazon Dynamo DB, Couch DB, Apache Cassandra DB, Google Spanner, Voldermort DB …

• Used for transactions, reservation systems, multi‐player gaming, social networks, news feeds, distributed computing tasks…

• High frequency trading• Theoretical: relates to shared memory, 

connects two fundamental communication models of asynchronous systems

Images source: google image 4

Page 5: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

A Motivating Example• N servers • Tolerate f server failures• A message generated every time slot• Channel: delay between 0 and T‐1• Encode: a function of its own messages• Decode: from any N‐f servers get the latest 

common message or something later

servers

5

Page 6: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

A Motivating Example• N servers • Tolerate f server failures• A message generated every time slot• Channel: delay between 0 and T‐1, say T=2• Encode: a function of its own messages• Decode: from any N‐f servers get the latest 

common message or something later• At time slot t

servers

Server 1 Server 2 Server 30, 1,…, t‐1, 0, 1,…, t‐1,

t0, 1,…, t‐1,t

6

Page 7: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

A Motivating Example• T=2• At time t, only need to consider t‐1 and t• Call them message 1 and message 2• In general, T represents the concurrency level• Q: What is the storage cost?

7

Page 8: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Solution 1: Replication• Storage size = log|V|• Decode “latest” among the connected servers

Msg 1 Msg 1 Msg 1 Msg 1

Msg 2 Msg 2

Msg 1

Msg 2

Msg 1

Msg 2

Msg 1Msg 1

Msg 2

N=7, N‐f=3, T=2

8

Page 9: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Solution 2: Static Coding• Recover the message from any 3 pieces• Every server only stores log|V| × 1/3!• Examples: Facebook, Windows Azure…

Original message zx y

Coded message zx yParityx+9y+4z x+2y+3z x+3y+7z x+8y+z

9

Page 10: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Solution 2: Static Coding• However, need to keep history (Msg 1)• (Worst‐case) storage size = log|V| × 2/3 • Decode “Latest common”1 2 3 4 5

1/3 1/3 1/3 1/3

1/3 1/3

1/3

1/3

1/3

6

Msg 1

Msg 2

1/3

1/3

7

N=7, N‐f=3, T=2

10

Page 11: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Our Solution: Multi‐Version Code• Storage size = log|V| × 1/2  • Decode “latest common or something later”

1/2 1/2 1/2 1/2

1/2 1/2

1/2

1/2

1/2

1 2 3 4 5 6 7

Msg 1

Msg 2

1/2

1/2

N=7, N‐f=3, T=2

[Wang, Cadambe, ISIT 2014, Allerton 2014, arxiv 2015] 11

Page 12: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

More Generally• Messages generated (write invocated) at any time point

• Channel delays can be arbitrary and unbounded

• Can design write and read protocols• Multiple write and read clients

12

Page 13: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Timing• Synchronous

– Processes communicate every round– Requires “clock”

• Asynchronous: take action at any time– Message passing model– Shared memory model

13

Page 14: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Message Passing Model

writer

reader

serversmessage

reader

reader

message

messagemessage

messagemessage

messagemessage

shared memory

14

Page 15: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Shared Memory Model

writer

reader

message

reader

reader

message

messagemessage

messagemessage

messagemessage

shared memory

messagemessagemessage

16

Page 16: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Emulate Shared Memory In Message Passing Model

shared memory

Message passing

Emulation algorithm

any algorithm for shared memory model => an algorithm for message passing model

17

Page 17: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

In This TalkInformation‐theoretic lower bounds on the storage cost of the shared memory emulation algorithms

• Problem settings• First lower bound for any algorithm• Second lower bound for a restricted class of algorithms

18

Page 18: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Emulation of Shared Memoryin Message‐passing Networks

• Setup– Distributed, unreliable, asynchronous– Processes: N servers, any number of write and read clients– Failures:  up to f servers, arbitrary number of clients can crash

– Concurrent access allowed• Requirements

– Atomicity– Liveness

19

Page 19: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Atomicitywrite m1 write m2

read m1

read m1 read m1 read m2 read m2

read m1 read m2

read m2

✓write m3

✗write m1 write m2

read m2read m0

write m3

✗write m1 write m2

read m2 read m1 [Lamport 86] 20

Page 20: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Liveness

write m2write m1

write m3

write m4

read m1 read m2✗

write m1 write m2

read m1

read m1 read m1 read m2 read m2

read m1 read m2

read m2

✓write m3

21

Page 21: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Challenges • Asynchronous communication

– A process has no global view– Atomicity requires a global ordering

• Unbounded delay– A very long delay?– A failure?

• Failures

22

Page 22: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

What should the client do?• Write to 1 server?

writer

message

24

Page 23: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

What should the client do?• Write to all servers?

writer

message

message

message25

Page 24: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

What should the client do?• Write to or read from a “quorum”

– A quorum = any subset of size N‐f

N=3, f=1

writer

message

message

26

Page 25: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

What should the client do?• Write to or read from a “quorum”

– A quorum = any subset of size N‐f

N=3, f=1

readerwriter

message

message

27

Page 26: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Other Concerns• Add “tags” to messages• Readers “write back”

✗write m1write m1 write m2write m2

read m1read m1 read m2read m2 read m1read m1

28

Page 27: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Replication Based Algorithm• Server stores the latest message it received 

– According to the tag

• Can recover what has been written– When the write and read quorums have an overlap

[ABD, Attiya, Bar‐Noy, Dolev, 1990]

1 1 1 1 0 0tagcode

29

Page 28: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Improve by Coding• Coding based algorithms

– [HGR 04], [AJL 05], [CT 05, 06], [DGL 08], [DKLMSV 13], [ACDV 14], [CLMP 14]

– (Worst‐case) Storage cost is proportional to number of concurrent active writes at any time point, v

– Per‐server storage cost

• Replication based algorithms [ABD]– Per‐server storage cost = 

30

Page 29: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Storage Cost Independent of v?

Writer 1 deliver some piecesMsg 1 = (x,y,z)

x y x+y+z

z’x+x’ y x+y+zWriter 2 deliver some piecesMsg 2 = (x’,y’,z’)

z+z’x+x’ y+y’ x+y+z+x’+y’+z’

Both writers deliver all pieces

zx y x+y+zTwo writers decide to store msg 1Works even if writer 1 fails 

31

Page 30: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Baseline Lower BoundTheorem.

• Analogous to Singleton bound in coding theory

N = 4, f=1

zx y

x+y+zzx y

32

Page 31: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

0 2 4 6 8 10 12 14 16 18 200

0.2

0.4

0.6

0.8

1

1.2

1.4

ABD algorithm

Baseline lower bound First lower bound

Erasure coding based algorithms

Storage Co

st

Number of concurrent writes

Summary of Results

[Cadambe, W, Lynch, 2016]

33

Page 32: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

0 2 4 6 8 10 12 14 16 18 200

0.2

0.4

0.6

0.8

1

1.2

1.4

ABD algorithm

Baseline lower bound First lower bound

Second lower bound*

Erasure coding based algorithms

Number of concurrent writes

Summary of Results

[Cadambe, W, Lynch, 2016]

Storage Co

st

34

Page 33: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

First Lower BoundTheorem.

Holds even for single‐writer single‐reader case

35

Page 34: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

First Lower BoundTheorem.

write

Always read 1 Always read 2Fail f servers.

36

Page 35: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

First Lower BoundTheorem.

write

Reads 1 Always reads 2

Prove by a counting argument.Both values can be returned from the two points.These points differ in at most 2 server states.A total of N‐f+2 server states.

Fail f servers.

37

Page 36: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Second Lower Bound

under certain assumptions

Informally, our assumptions prevent interactionsWriters send the value only once

Theorem.

38

Page 37: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

• Writer actions are “black‐box actions”– oblivious to the actual value 

• Write protocol operates in phases• For every write operation, there is at most one phase where 

value‐dependent messages are sent

• Most existing algorithms fit above assumptions 

Assumptions on Write Protocol

39

Page 38: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Second Lower Bound

Prove for the case of v<f.

Theorem.

40

Page 39: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

One Time Point• v writers. Every writer has one 

value

• If one writer delivers value‐dependent msgs to all alive servers, and any value‐independent msgs can be delivered,– Liveness: that write operation 

should return– Atomicity: reader should return 

somethingRead quorum

41

Page 40: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Msg4321

1 servers

• Lemma. There exist the following “worst‐case” assignments of N‐f+v‐1 server states such that they contain enough information about all the v messages

• Consequence of liveness and atomicity• In the bad‐case server states, the average storage cost per server is at least 

v/(N‐f+v‐1)

Bad‐case Server States

42

Page 41: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Construct the Bad‐case Execution• Want to create an execution of the algorithm that has a time point 

corresponding to the bad‐case server states• Let writers act until the phase to send value‐dependent messages• Let writers send the value‐dependent messages, keep them in the 

channel• Let channel deliver according to the worst‐case server states

write m1

write m3

write m2

43

Page 42: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Construct the Worst‐case Execution• Want to create an execution of the algorithm that has a time 

point corresponding to the bad‐case server states

Deliveredmessage

In the channels

44

Page 43: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Second Lower Bound

Proved for the case of v<f.

Theorem.

45

Page 44: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Open Question: Beat the O(min(v,f)) Bound?• Second bound 

– Assumption: write once • Similar bound in [Spiegelman, Cassuto, Chockler, Keidar, 2016]

– Assumption: no coding across messages• In order to get storage cost < O(min(v,f))

– Need to write multiple times– And need to code across messages

• Maybe not possible to beat!

46

Page 45: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Other Future Directions• Improve performance of distributed algorithms with coding– Dynamic network configuration– Distributed optimization

47

Page 46: Shared Memory Emulation UCSDcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader message servers reader reader message message message message ... cost of the shared

Thank you!

48