selfish flows over time

80
Selfish Flows over Time Umang Bhaskar, Lisa Fleischer Dartmouth College Elliot Anshelevich Rensselaer Polytechnic Institute

Upload: kosey

Post on 24-Feb-2016

45 views

Category:

Documents


1 download

DESCRIPTION

Selfish Flows over Time. Umang Bhaskar , Lisa Fleischer Dartmouth College Elliot Anshelevich Rensselaer Polytechnic Institute. Selfish Flows over Time. Umang Bhaskar , Lisa Fleischer Dartmouth College Elliot Anshelevich Rensselaer Polytechnic Institute. (I have animations). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Selfish Flows over Time

Selfish Flows over Time

Umang Bhaskar, Lisa FleischerDartmouth College

Elliot AnshelevichRensselaer Polytechnic Institute

Page 2: Selfish Flows over Time

Selfish Flows over Time

Umang Bhaskar, Lisa FleischerDartmouth College

Elliot AnshelevichRensselaer Polytechnic Institute

(I have animations)

Page 3: Selfish Flows over Time

Uncoordinated Traffic

• on roads • in communication

• and in other networks

Page 4: Selfish Flows over Time

Uncoordinated TrafficA

B

Page 5: Selfish Flows over Time

Uncoordinated TrafficA

B

Players choose their route selfishly

(i.e., to minimize some objective)

Page 6: Selfish Flows over Time

System Performance

For a given objective,how well does the system perform,for uncoordinated traffic routing?

Page 7: Selfish Flows over Time

System Performance

For a given objective,how well does the system perform,for uncoordinated traffic routing?

Page 8: Selfish Flows over Time

Price of Anarchy

Objective for uncoordinated traffic routing

Objective for coordinated routing which minimizes objective

PriceOf

Anarchy

=

For a given objective,how well does the system perform,for uncoordinated traffic routing?

Page 9: Selfish Flows over Time

Price of Anarchy

Time taken for uncoordinated traffic routing

Minimum time taken

Objective: Time taken by all players to reach destination

=

For a given objective,how well does the system perform,for uncoordinated traffic routing?

PriceOf

Anarchy

we will refine this later

Page 10: Selfish Flows over Time

Modeling Uncoordinated Traffic

How do we model uncoordinated traffic?

Page 11: Selfish Flows over Time

Modeling Uncoordinated Traffic

How do we model uncoordinated traffic?

Routing games with static flows

- allow rigorous analysis- capture player “selfishness”- network flows, game theory

Tight bounds on PoA in this model

Page 12: Selfish Flows over Time

Static Flows

s t

fe

Page 13: Selfish Flows over Time

Flows over Time

s t

- Edges have delays

- Flow on an edge varies with time

Page 14: Selfish Flows over Time

14

Flows over Time

1000 bits

Total time: 11 seconds

2 seconds

100 bps

bitsper

second

1 2 3 4 5 6 7 8 9 10 11 12

100

Arrival graph:

time

What’s the “quickest flow”?

Page 15: Selfish Flows over Time

15

Flows over Time

Edge delay de

Edge capacity ces t

Flow value v

Total time: ?

What’s the “quickest flow”?

Page 16: Selfish Flows over Time

16

Flows over Time

c1 , d1s t

Flow value v

c2 , d2

c3 , d3

c4 , d4

c5 , d5

c6 , d6

c7 , d7

c8 , d8

c9 , d9

c10 , d10

c11 , d11

Total time: ?

What’s the “quickest flow”?

Page 17: Selfish Flows over Time

17

• Flows over time have been studied since [Ford, Fulkerson ’62]• Used for traffic engineering, freight, evacuation planning, etc.

Flows over Time

Page 18: Selfish Flows over Time

18

• Quickest flow: flow over time which gets flow value v from s to t in shortest time• [FF ‘62] showed how to compute quickest flow in

polynomial time

Total time: ?

c1 , d1s t

Flow value v

c2 , d2

c3 , d3

c4 , d4

c5 , d5

c6 , d6

c7 , d7

c8 , d8

c9 , d9

c10 , d10

c11 , d11

Flows over Time

What’s the “quickest flow”?

Page 19: Selfish Flows over Time

19

• Traffic in networks is uncoordinated• Players pick routes selfishly to minimize travel time

Selfish Flows over Time

Page 20: Selfish Flows over Time

20

Motivation I & II: Networks

• Data networks• Road traffic

Page 21: Selfish Flows over Time

21

Motivation III : Evacuation

Safe zone

Page 22: Selfish Flows over Time

22

A Queuing Model

st

c = 2, d = 2c = 1, d = 1

But if players are selfish …

Page 23: Selfish Flows over Time

23

A Queuing Model

st

c = 2, d = 2c = 1, d = 1

?

Queue forms here

Page 24: Selfish Flows over Time

24

A Closer Look at Queues

st

c = 2, d = 2c = 1, d = 1

Queue

• Queues are formed when inflow exceeds capacity on an edge• Queues are first in, first out (FIFO)• Player’s delay depends on queue as well

Page 25: Selfish Flows over Time

25

A Game-Theoretic Model

s t

Assumptions:

• Players are infinitesimal

time

flow at t

Page 26: Selfish Flows over Time

26

A Game-Theoretic Model

s t

Assumptions:

• Players are infinitesimal

Model:

• Players are ordered at s• Each player picks a path from s to t• Minimizes the time it arrives at t

time

flowrateat t

Page 27: Selfish Flows over Time

27

Equilibrium

s t?

Delay along a path depends on Queues depend on Other players

?

Page 28: Selfish Flows over Time

28

Equilibrium

s t?

Delay along a path depends on Queues depend on Other players

?

?

Page 29: Selfish Flows over Time

29

Equilibrium

• At equilibrium, every player minimizes its delay w. r. t. others; thus no player wants to change

s t

• Equilibria are stable outcomes

! !

Page 30: Selfish Flows over Time

30

Features of the Model

s t

• Various nice properties, including existence of equilibrium in single-source, single-sink case[Koch, Skutella ‘09]

our case

Page 31: Selfish Flows over Time

31

•We’ve seen a game-theoretic model of selfish flows over time, based on queues

So Far…

s t

• Equilibrium exists in this model

But how bad is equilibrium?

Page 32: Selfish Flows over Time

32

(Quickest flow minimizes time for flow to reach t)

The Price of Anarchy

• Price of Anarchy (PoA) =

Time taken at equilibrium for all flow to reach tTime taken by quickest flow

So, what is the Price of Anarchy for selfish flows over time?[KS ‘09]

s t

In static flow games, PoA is essentially unbounded

Page 33: Selfish Flows over Time

33

The Price of Anarchy• Lower bound of e/(e-1) ~ 1.6 [KS ‘09]

s t

Flow rate at t

Time

Page 34: Selfish Flows over Time

34

The Price of Anarchy• Lower bound of e/(e-1) ~ 1.6 [KS ‘09]

i.e., flow rate at t increases to maximum in one step

• Upper bounds?

Flow rate at t

Time

s t

Page 35: Selfish Flows over Time

35

Enforcing a bound on the PoA

We show (to appear in SODA ‘11): The network administrator can enforce a bound of e/(e-1) on the Price of Anarchy

In a network with reduced capacity, equilibrium takes time≤ e/(e-1) ~ 1.6 times the minimum in original graph

Page 36: Selfish Flows over Time

36

Enforcing a bound on the PoA

1. Modify network so that quickest flow is unchanged

2. Main Lemma: In modified network, the example shown in [KS ’09] has largest PoA = e/(e-1)

In a network with reduced capacity, equilibrium takes time≤ e/(e-1) ~ 1.6 times the minimum in original graph

Corollary: Equilibrium in modified network takes time ≤ e/(e-1) times the quickest flow

Page 37: Selfish Flows over Time

37

Enforcing a bound on the PoA

1. Modify network so that quickest flow is unchanged

2. Main Lemma: In modified network, the example shown in [KS ’09] has largest PoA = e/(e-1)

In a network with reduced capacity, equilibrium takes time≤ e/(e-1) ~ 1.6 times the minimum in original graph

Corollary: Equilibrium in modified network takes time ≤ e/(e-1) times the quickest flow

Page 38: Selfish Flows over Time

38

1. Modify network so that quickest flow is unchanged

s ta. Compute quickest flow in the original network

b. On every edge, remove capacity in excess of quickest flow

s t

c, d

c', d

Enforcing a bound on the PoA

([FF ‘62] gave a polynomial-time algorithm for computing quickest flow)

Page 39: Selfish Flows over Time

39

Enforcing a bound on the PoA

i.e., PoA is largest when flow rate at t increases in one step

(PoA of [KS ‘09] example is e/(e-1) )

2. Main Lemma: In modified network, the example shown in [KS ’09] has largest PoA

s t

Flow rate at t

Time

Page 40: Selfish Flows over Time

40

Open Questions1. If we don’t remove excess capacity, can PoA exceed

e/(e-1) ?

3. What if players have imperfect information?

4. …

2. PoA for multiple sources

Thanks for listening!

Page 41: Selfish Flows over Time

41

Thanks for listening!

Page 42: Selfish Flows over Time

42

Enforcing a bound on the PoA

1. Modify network so that quickest flow is unchanged

2. Main Lemma: In modified network, the example shown in [KS ’09] has largest PoA = e/(e-1)

In a network with reduced capacity, equilibrium takes time≤ e/(e-1) ~ 1.6 times the minimum in original graph

Corollary: Equilibrium in modified network takes time ≤ e/(e-1) times the quickest flow

Page 43: Selfish Flows over Time

43

Enforcing a bound on the PoA

We show: the network administrator can enforce a bound of e/(e-1) on the Price of Anarchy

1. Modify network so that quickest flow is unchanged

2. Main Lemma: In modified network, the example shown in [KS ’09] has largest PoA = e/(e-1)

- In modified network, equilibrium takes at most e/(e-1) of the time taken by quickest flow

Page 44: Selfish Flows over Time

44

A Closer Look at Queues - II

• Queues are time-varying• Players should anticipate queue at an edge in the future, i.e.,

at time when player reaches the edge

s t

Page 45: Selfish Flows over Time

45

• Capacity ce bounds rate of outflow; rate of inflow is unbounded• Excess flow forms a queue on the edge

A Simple Example

Page 46: Selfish Flows over Time

46

A Closer Look at Queues - II

s t

Page 47: Selfish Flows over Time

47

A Closer Look at Queues - II

• We assume that path chosen by each player is known

s t

• So each player can calculate queue on an edge at any time

Page 48: Selfish Flows over Time

48

A Closer Look at Queues

st

c = 2, d = 2c = 1, d = 1

Queue

• Queues are time-varying• Assume: players know time taken along a path

Page 49: Selfish Flows over Time

Price of Anarchy

vs

• Distributed usage of resources leads to inefficiency, e.g.,

Central coordination Distributed usage

slowing down of traffic overuse of some resources, underuse of others

Page 50: Selfish Flows over Time

Price of Anarchy

vs

Central coordination Distributed usage

For a given objective (e.g., average speed, resource usage)Price of Anarchy measures worst-case inefficiencydue to distributed usage

Page 51: Selfish Flows over Time

51

Price of Anarchy

(i) (ii) (iii)

For a given objective (e.g., traffic slowdown, resource usage),Price of Anarchy measures worst-case inefficiencydue to distributed usage

Page 52: Selfish Flows over Time

52

Price of Anarchy

• Guide design of systems

Uses of Price of Anarchy:

(Murphy’s Law!)

Page 53: Selfish Flows over Time

53

• Traffic in networks varies with time• Edges have delays

• Common models assume static traffic, no delays

Flows over Time

Page 54: Selfish Flows over Time

54

ThePrice of

Anarchy(and how to control it)

Page 55: Selfish Flows over Time

55

Enforcing a bound on the PoA

s Time

Flow rate at t

t

2. Main Lemma: In modified network, the example shown in [KS ’09] has largest PoA

Page 56: Selfish Flows over Time

56

Enforcing a bound on the PoA

s Time

Flow rate at t

t

2. Main Lemma: In modified network, the example shown in [KS ’09] has largest PoA

Page 57: Selfish Flows over Time

57

Equilibrium

s t?

Delay along a path depends on Queues depend on Other players

?

Page 58: Selfish Flows over Time

58

Equilibrium

s t? ?

Delay along a path depends on Queues depend on Other players

?

Page 59: Selfish Flows over Time

59

Properties at Equilibrium

s

• At any time there is a quickest-path network (least delay s-t paths)• At equilibrium, players use path in quickest-path network

[Koch, Skutella ‘09]

tc = 3, d = 0 c = 2, d = 0 c = 1, d = 0

c = 1, d = 1

c = 1, d = 10Flow rate

at t

Time

Page 60: Selfish Flows over Time

60

Properties at Equilibrium

sc = 3, d = 0 c = 2, d = 0 c = 1, d = 0

c = 1, d = 1

c = 1, d = 10

• At any time there is a quickest-path network (least delay s-t paths)• At equilibrium, players use path in quickest-path network

[Koch, Skutella ‘09]

Flow rate at t

Timet

Page 61: Selfish Flows over Time

61

Properties at Equilibrium

sc = 3, d = 0 c = 2, d = 0 c = 1, d = 0

c = 1, d = 1

c = 1, d = 10

• At any time there is a quickest-path network (least delay s-t paths)• At equilibrium, players use path in quickest-path network

[Koch, Skutella ‘09]

Flow rate at t

Timet

Page 62: Selfish Flows over Time

62

Properties at Equilibrium

sc = 3, d = 0 c = 2, d = 0 c = 1, d = 0

c = 1, d = 1

c = 1, d = 10

• At any time there is a quickest-path network (least delay s-t paths)• At equilibrium, players use path in quickest-path network

[Koch, Skutella ‘09]

Flow rate at t

Timet

Page 63: Selfish Flows over Time

63

Properties at Equilibrium

sc = 3, d = 0 c = 2, d = 0 c = 1, d = 0

c = 1, d = 1

c = 1, d = 10

• At any time there is a quickest-path network (least delay s-t paths)• At equilibrium, players use path in quickest-path network

[Koch, Skutella ‘09]

Flow rate at t

Timet

Page 64: Selfish Flows over Time

64

Properties at Equilibrium

sc = 3, d = 0 c = 2, d = 0 c = 1, d = 0

c = 1, d = 1

c = 1, d = 10

• At any time there is a quickest-path network (least delay s-t paths)• At equilibrium, players use path in quickest-path network

[Koch, Skutella ‘09]

Flow rate at t

Timet

Page 65: Selfish Flows over Time

Static Flows

s t

Page 66: Selfish Flows over Time

Modeling Uncoordinated Traffic

How do we model uncoordinated traffic?

Page 67: Selfish Flows over Time

Modeling Uncoordinated Traffic

How do we model uncoordinated traffic?

- Direct simulation

- flexible- only for small instances- no rigorous analysis

Page 68: Selfish Flows over Time

Modeling Uncoordinated Traffic

How do we model uncoordinated traffic?

- Mathematical models

- allow rigorous analysis- assume probabilistic traffic- difficult to analyse

- Direct simulation

Page 69: Selfish Flows over Time

Modeling Uncoordinated Traffic

How do we model uncoordinated traffic?

- Mathematical models- Routing games with static flows

- allow rigorous analysis- capture player “selfishness”- network flows, game theory

- Direct simulation

Tight bounds on PoA in this model

Page 70: Selfish Flows over Time

Static Flows

Page 71: Selfish Flows over Time

Flows over Time

Page 72: Selfish Flows over Time

Flows over Time

- Edges have delays

- Flow on an edge varies with time

Page 73: Selfish Flows over Time

74

Motivation IV : Machine Scheduling

Each machine i has a capacity ci and delay di

Page 74: Selfish Flows over Time

75

Features of the Model

• Continuous time

• Preserves FIFO

• Queuing model used since ‘70s for studying road traffic

s t

Page 75: Selfish Flows over Time

76

Price of Anarchy

• Guide design of systems

Uses of Price of Anarchy:

Page 76: Selfish Flows over Time

77

Price of Anarchy

• Guide design of systems

Uses of Price of Anarchy:

• Guide design of policies, e.g., tollbooths to influence traffic routing

Page 77: Selfish Flows over Time

Price of AnarchyObjective: Time taken by all players to reach destination

A

B

Page 78: Selfish Flows over Time

Price of Anarchy

A

B

Objective: Time taken by all players to reach destination

Uncoordinatedrouting

Page 79: Selfish Flows over Time

System PerformanceObjective: Time taken by all players to reach destination

A

B

Coordinated,optimal routing

Page 80: Selfish Flows over Time

System Performance

For a given objective,how well does the system perform,for uncoordinated traffic routing?

Time taken by uncoordinated traffic routing

Time taken by optimal routing

Objective: Time taken by all players to reach destination

Priceof

Anarchy=

we will refine this later