Top Banner
Control Problems in Control Problems in Decentralized Computing Decentralized Computing Systems Systems CDS 101/110 Friday 25, October, 2002 Eric Klavins [email protected]
23

Control Problems in Decentralized Computing Systems

Mar 12, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Control Problems in Decentralized Computing Systems

Control Problems in Control Problems in Decentralized Computing Decentralized Computing

SystemsSystems

CDS 101/110Friday 25, October, 2002

Eric [email protected]

Page 2: Control Problems in Decentralized Computing Systems

ContextIn distributed computing:

•Processors do no know the global state.

•Communication may have delay and is usually unreliable.

•State spaces are not continuous.

Nevertheless, we want:

•Performance

•Fault tolerance, robustness

•Guarantees

Page 3: Control Problems in Decentralized Computing Systems

OverviewContext

Brief examples

Phase regulationSelf-assembly

Detailed examples

Self-stabilizing protocols Internet congestion control

Page 4: Control Problems in Decentralized Computing Systems

Decentralized Phase Regulation

)sin(11

, ji

n

jjii C ϕϕϕ −−= ∑

=

&

Equation for Individual Oscillator

Desired limiting behaviors

Coupling part (neighbors only)

Example: consider a network of oscillators that try to maintain certain phase relationships with their neighbors.

The network structure is vital to stability.

π

π

π π

π

π

π

0

00

0 0

0

Page 5: Control Problems in Decentralized Computing Systems

Programmable Self AssemblyExample: It is sometimes possible to devise a program to be run by each agent so that the collective behavior "emerges".

Specification graph(connected, acyclic)

List ofsubassemblies

Join algebra(in table form)

Continuous motioncontrol

Hybrid supervisorycontroller

Deploy to each part(or vehicle,etc.)

Copies of desiredassembly form

Compiler

Runtime

Page 6: Control Problems in Decentralized Computing Systems

Self-Stabilizing Protocols

Edsger Dijkstra11 May 1930 - 6 August 2002

One reason to take a controls approach in networking is to ensure robustness.

Dijkstra (1974) proposed, a way to design self stabilizing protocols.

Here's a super simple example:

s=5 s=3 s=2 s=2 s=4

Control Law(i): if si-1 ≠ si then si = si-1

One enabled rule is chosen per step.

Original Protocol also has: if s1 = sn then s1=s1+1a token

ring!

Page 7: Control Problems in Decentralized Computing Systems

SSSS* Behavior

*Super Simple Self Stablizer

example runi

k

9 4 6 2 7 8 5 10 3 19 4 6 6 7 8 5 10 3 19 4 6 6 7 8 5 5 3 19 9 6 6 7 8 5 5 3 19 9 6 6 7 7 5 5 3 19 9 6 6 7 7 5 5 3 39 9 6 6 7 7 7 5 3 39 9 6 6 7 7 7 5 5 39 9 6 6 7 7 7 7 5 39 9 6 6 7 7 7 7 7 39 9 9 6 7 7 7 7 7 39 9 9 6 6 7 7 7 7 39 9 9 6 6 7 7 7 7 79 9 9 9 6 7 7 7 7 79 9 9 9 6 6 7 7 7 79 9 9 9 6 6 6 7 7 79 9 9 9 9 6 6 7 7 79 9 9 9 9 6 6 6 7 79 9 9 9 9 6 6 6 6 79 9 9 9 9 6 6 6 6 69 9 9 9 9 9 6 6 6 69 9 9 9 9 9 9 6 6 69 9 9 9 9 9 9 9 6 69 9 9 9 9 9 9 9 9 69 9 9 9 9 9 9 9 9 99 9 9 9 9 9 9 9 9 9

y

{

5 10 15 20 25 t

10

20

30

40

VHtL

From any initial condition (or any disturbance) the network converges to the situation where all states are the same.

Pf: Let B be the number of blocks and let bi be the size of block i. Then

decreases at each (active) step since

V is a "Lyapunov function"!

24

Page 8: Control Problems in Decentralized Computing Systems

RoboFlag Example

The rule for each pair (i, i+1) of neighbors is

Problem: find a Lyapunov function (that decreases every time the rule is applied).

Goal: Arrive at a good assignment of defenders to attackers.

Page 9: Control Problems in Decentralized Computing Systems

RoboFlag Protocol BehaviorDefine

# conflicts

# impossibleassignments

Lyapunov function

Every rule application decreases V.Pf: A rule is applied if it decreases ρ, or if it keeps ρ the same and decreases γ.

..........

...................

......

Page 10: Control Problems in Decentralized Computing Systems

Internet Congestion Controlsource

routerlocalnetwork

Goals:•Reliable transport of data (need ACKs)•Fairness: Each source transmits at same rate•Usage: Network is used at full capacity

Page 11: Control Problems in Decentralized Computing Systems

Basic TCP, Source Sidewindow

sent/ACK sentno ACK

to be sentw/o delay

not sent untilwindow advances

packetstream

time →

source

dest

high networkusage

low networkusage

How does a source choose the window size? (Vegas, Reno)

Page 12: Control Problems in Decentralized Computing Systems

Feedback from the Router•The router needs a way of communicating the load back to the source.

•The basic way to do this is to drop packets.

•If the source gets no ACK after a reasonable period of time (2*RTT), it determines that the link is congested.

•Of course, this information is delayed because it has to travel through the network too.

AQM = Active Queue Management (we'll assume p=b).

buffersize, b

prob. of packet drop, p

Page 13: Control Problems in Decentralized Computing Systems

What To Do with the Feedback?TCP algorithms have two main phases:

slowstart -- window size increase by 1 with each ACK untila threshold (wmax) is reached.

congestion avoidance -- resize window dynamically basedon feedback from the router (dups).

TCP Vegas (roughly)TCP Reno (roughly)congestion mode:

if ACKw ← w + 1/w

if Losswmax = 0.5 wclear windowgoto slowstart

congestion mode:set w to be proportionalto the estimated queuingdelay (which goes like ∆b),otherwise like Reno.

How can we determine the performance of these control laws?

Page 14: Control Problems in Decentralized Computing Systems

A Continuous Model(One link, n sources)

Source rates (packets/s):

Aggregate flow through link: Link dynamics:

Source rate control:

linkcapacity

More realistic source rate control:

delay dueto network

Page 15: Control Problems in Decentralized Computing Systems

Try 0: A Simple Approach

Q: Why not have all rates set to c/n?A: c and n may not be known, or may change!

In general, constant rates may guarantee fairness, but will under or over utilize the network.

Page 16: Control Problems in Decentralized Computing Systems

Try 1: Something Like TCP Vegas

If y < c, increase, else decrease:

The equilibrium is thus any (x1,..., xn) such that

The set of all such points is a neutrally stable submanifold of Rn (1 negative and n-1 zero eigenvalues).

Thus, the algorithm is not fair, although it does use the entire capacity of the link.

Page 17: Control Problems in Decentralized Computing Systems

Try 2: More Like TCP Vegas

Add an element of greed:

Solving the above for 0, gives

Linearizing around this point gives eigenvalues:

0.25 0.5 0.75 1 1.25 1.5 1.75 2

0.25

0.5

0.75

1

1.25

1.5

1.75

2

n=2 case

Page 18: Control Problems in Decentralized Computing Systems

1 2 3 4 5 6

7.510

12.515

17.520

22.5

How to Choose kConsider

Setting k=0 gives x*=c/n, but then we get Try 1 again!

Setting k>0, gives x*>c/n so that y>c.

Thus, b grows without bound (until bmax is reached, where a different model holds).

So we get fairness and slightly more than full capacity!

1 2 3 4 5 6

12

14

16

18

20

22

rates

buffer size

Page 19: Control Problems in Decentralized Computing Systems

Try 3: Something Like RenoA different approach:

exponentialbackoff

additive increase, k is the buffer size

If b=0, slowly increase xi.If b>0, quickly decrease xi.

Equilibrium (stable):

It's fair and uses full capacity!

Equilibrium buffer size is feasible!

Page 20: Control Problems in Decentralized Computing Systems

Behavior of Reno

1 2 3 40.5

1.5

2

2.5

3

1 2 3 4

1.251.51.75

2.252.52.75

3

sourcerates

buffersize

1 2 3 4

1

2

3

4

5

1 2 3 4

-0.5

0.5

1

1.5big buffer smaller buffer

TCP Vegas was actually developed to address the oscillatory behavior of TCP Reno.

Page 21: Control Problems in Decentralized Computing Systems

Effects of DelayWe model the delay in terms of buffer size and capacity.

Vegas Reno

1 2 3 4-1

1

2

3

4

1 2 3 4

1

2

3

4

5

6

b

xi

1 2 3 4

10

20

30

40

50

1 2 3 4

100

200

300

400

500

600

b

xi

Page 22: Control Problems in Decentralized Computing Systems

For More InformationCurrent research in congestion control uses more advanced techniques (such as economic models). See for example

Ki Baek Kim (http://cisl.snu.ac.kr/~kkb)

- My office mate: Thanks for the help!

Prof. Steven Low (http://netlab.caltech.edu)

FAST = Fast AQM Scalable TCP(Ultrascale networking project)

Page 23: Control Problems in Decentralized Computing Systems

ConclusionsControl and control-like ideas are common in CS.

We looked at two examples.

•Self stabilization•Congestion control

What other roles are there for control techniques in CS?

•Robust software?