shared memory emulation ucsdcircuit.ucsd.edu/~yhk/ece293-aut16/pdfs/aut16-wang.pdf · writer reader...
TRANSCRIPT
![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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/31.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/32.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/33.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/34.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/35.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/36.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/37.jpg)
• 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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/38.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/39.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/40.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/41.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/42.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/43.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/44.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/45.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040722/5e305d417a38f259c0364339/html5/thumbnails/46.jpg)
Thank you!
48