36
Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Embed Size (px)

Citation preview

Page 1: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Peter KeyMicrosoft Research, Cambridge

Fairness, Flow Control & Multi-User Games

Page 2: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Partners

Frank Kelly, Richard Gibbens (Stats Lab)

Derek McAuley, Dave Stewart (Microsoft Res Ltd)

Page 3: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Current Solutions

eg ATM‘Police users’Tight QoS

guaranteesToo complex for

usersC.O. (inelastic bias)

eg Internet ‘Best effort’ (!)=1 QoSLow usage users

subsidise heavy usersRelies on ‘nice’ users

(eg compliant TCP)Fails to account for

congestion externality

Page 4: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

What is QoS?

Current thinking tends toward definitions involving mappings on a multidimensional space (eg CCITT series of recommendations have a whole layered structure)

Most SLAs for telecommunications define quantities that are not measurable (especially by provider).

Is this complexity necessary - other services are differentiated by a few criteria?

Only need to be have non-identical measures to apply Cake-slicing theorem!

Page 5: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Resource system (‘network’)

Resource j

Capacity Cj

User /route r Ajr links users to resources

Page 6: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Service Requirements (Shenker)

Convex

“Hard”real time

Utility U(x) Utility

bandwidthbandwidth

Real TimeLimited capacity Rejection

DataNo calls rejectedShare bandwidthThe Internet!

Telcos

Page 7: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

The problem of the commons

Page 8: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Fairness

There are lots of ways to be fair!In a network context, Max-Min and

Max-Utilisation are like “boundary” values

Proportional fairness has links with Nash arbitration scheme

Page 9: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

What is fair??

As many definitions as utility functions (preference functions on x s.t Ax C)

Max-min fair popularProportional fairness advocated by

eg KellyRevenue maximisation another

option

Page 10: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Fairness Examples

Two resourcesEach with capacity

normalised to 1Vertical streams

use one resourceHorizontal streams

use two resources

Page 11: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Fairness Examples, eg

Max-min

½

½ ½

Proportional

1/3

2/32/3

0

1 1

TCP approx

0.4

0.6 0.6

Max load

Page 12: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Fairness Examples, eg

Max-min

½

½ ½

Proportional

1/3

2/32/3

0

1 1

TCP approx

0.4

0.6 0.6

Max load

xxU Log

xxU 1Log 2/3Log xxU

xxU Log

Page 13: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Fairness Examples, prop. fair prices

Max-min

½

½ ½

Proportional

1/3

2/32/3

0

1 1

TCP approx

0.4

0.6 0.6

Max load

1w

2w

1w

0w

1w

1w

1w

34w

Page 14: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Some problems with TCP (CA mode)

Lose cellshence keeps network at high load (but …)slow to react (queue size rather than rate)

If p is probability lose cell, throughput 1/p

(should be 1/p)

Does not scale, eg if double capacitywrong shadow pricesonly works if “capacity” > number of sources,

where capacity = (bottleneck x rtt/mss)

Page 15: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Simple TCP model with feedback

Resource loses excess load, n number of sources,

nC capacity (=n x resource capacity*RTT/MSS),

12JC+�8+C2Nwindow=

RTT=1ms, cap=1MB/s, C=244

2 4 6 8 10C=capacity � sources0.2

0.4

0.6

0.8

1window � C Asymptotic loss rate

Page 16: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Framework (Gibbens &Kelly)

Users generate loadFeedback signal is “sample shadow

price” eg in simple slotted model, mark every

packet if load exceeds capacity: shadow price as describes effect of adding extra packet

if a buffered system, mark packets from start of busy period to last packet lost in this period

Page 17: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Sample Path Shadow Prices

C

1 2 3 4 5 6 7 8 9 10

Time

Capacity

pktsC slotted time

Page 18: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Sample path Shadow prices, buffered model

Time

Bu

ffer

Co

nte

nt

Pkts

Page 19: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Shadow path shadow prices -buffered model

Time

Bu

ffer

Co

nte

nt

B

B

Pkts

Page 20: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Features of Efficient Pricing Scheme

Those with the highest cost of delay get served first

Prices send the right signals for capacity expansion

If all of the congestion revenues are reinvested in new capacity,then capacity will be expanded to the point where its marginal value is equal to its marginal cost

eg “Smart market” approach of Mackie-Mason/Varian, though some issues with their model

Prices related to congestion

Page 21: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Optimisation Framework (for fairness)

CAxts

xUMaxr

r

..

U System optimum

U is utility

rr txxUMax User optimum

rr

jr

jj

rr

xAy

yCxUMax

U C is cost function,eg

C y Cj j c h

Page 22: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Solution

Consistent set of taxes (prices) and load exist s.t.

rr

jj

jj

rrj

jr

txU

dy

dC

onstraineddC

d

xxU

nedunconstrai

case c

0 if

U

Eg Network chooses taxes, user chooses load,solution is network, user and System optimal.But dependent on Utility function, so ….

Page 23: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Example

jrr

jj

jjj

cYxcYIxE

yYEY

cYdy

dCcYEyC

Pr

Also,

. andPoisson if

Pr

Hence mark packet if exceed capacity

jrr

rrr

cYxw

xwxU

Pr

then),Log( If

Page 24: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Adaptive (prop fair) scheme

Suggests the adaptive approach

ttxtwtxdt

d

rjjrrrr

maximises

yjyC j is load when resourceon function cost is

rjr

jjr

rr xCxU

ypyCdy

dtxpt jj

rjrj

, where j

Page 25: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Example - elastic control

tfwxx ttt 1

network thefrom receivedfeedback is

pay, toss willingnereflects

tf

wt

0 else )overloaded bottleneck (resource/ if txtf

eg

Page 26: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

TCP & TCP like schemes

80 100 120 140 160 180 200N

120

140

160

180

200

Load

100 150 200 250 300N

86

88

90

Load

80 100 120 140N

200

400

600

800

Load

TCP w=1

w=0.05

80 100 120 140

120

140

160

180

200

TCP with shadow price

Page 27: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Single node network

Page 28: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Buffered Model

Page 29: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Distributed multi-player game

Internet

MSRCambridge

Page 30: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Protocol structures

User’s Algorithm

Interface / Stub

Game Protocol

TCP

TCP

C++ /J++

ASCII basedTelnet

Network /Game

Page 31: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Information flow

User Game / controller

Request

Ack

Destination

Start & type of game

virtual pcktack,mark,time

virtual pcktack,mark,time

End of game

Page 32: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Protocol

Notes:•All single word (32bit) unsigned,•pkt size integer•marks integer •Time=sec.sec•Token generated by user•Corrupted/lost token=packet drop

User<destination><token><pkt size>

<token><marks>

=pckt

=ACK “Network”

<time>

Page 33: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Example Objectives

Assumes notified cost per markMaximise (ave. thruput - ave. cost)Max Discounted (thruput - cost)For given utility function, max (utility - cost)Transfer an amount of data F(file) at min

costTransfer F in set time T at min costTransfer F as quickly as possible at min costGiven fixed budget, maximise transfer

Page 34: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Iterative Approach

New User plays on test harnessPlays against controlled load

• (eg against copies of single game or against sample from random population)

Plays against other users each with same objective

Plays against others with multiple objectives

Page 35: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Disciplines

Computer scienceControl TheoryGame Theory / econometricsStochastic Decision TheoryOptimisation / Dynamic

Programming

Page 36: Peter Key Microsoft Research, Cambridge Fairness, Flow Control & Multi-User Games

Let the games begin!