Fairness, Flow Control & Multi-User Games

Preview:

DESCRIPTION

Fairness, Flow Control & Multi-User Games. Peter Key Microsoft Research, Cambridge. Partners. Frank Kelly, Richard Gibbens (Stats Lab) Derek McAuley, Dave Stewart (Microsoft Res Ltd). eg ATM ‘Police users’ Tight QoS guarantees Too complex for users C.O. (inelastic bias). eg Internet - PowerPoint PPT Presentation

Citation preview

Peter KeyMicrosoft Research, Cambridge

Fairness, Flow Control & Multi-User Games

Partners

Frank Kelly, Richard Gibbens (Stats Lab)

Derek McAuley, Dave Stewart (Microsoft Res Ltd)

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

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!

Resource system (‘network’)

Resource j

Capacity Cj

User /route r Ajr links users to resources

Service Requirements (Shenker)

Convex

“Hard”real time

Utility U(x) Utility

bandwidthbandwidth

Real TimeLimited capacity Rejection

DataNo calls rejectedShare bandwidthThe Internet!

Telcos

The problem of the commons

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

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

Fairness Examples

Two resourcesEach with capacity

normalised to 1Vertical streams

use one resourceHorizontal streams

use two resources

Fairness Examples, eg

Max-min

½

½ ½

Proportional

1/3

2/32/3

0

1 1

TCP approx

0.4

0.6 0.6

Max load

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

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

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)

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

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

Sample Path Shadow Prices

C

1 2 3 4 5 6 7 8 9 10

Time

Capacity

pktsC slotted time

Sample path Shadow prices, buffered model

Time

Bu

ffer

Co

nte

nt

Pkts

Shadow path shadow prices -buffered model

Time

Bu

ffer

Co

nte

nt

B

B

Pkts

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

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

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 ….

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

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

Example - elastic control

tfwxx ttt 1

network thefrom receivedfeedback is

pay, toss willingnereflects

tf

wt

0 else )overloaded bottleneck (resource/ if txtf

eg

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

Single node network

Buffered Model

Distributed multi-player game

Internet

MSRCambridge

Protocol structures

User’s Algorithm

Interface / Stub

Game Protocol

TCP

TCP

C++ /J++

ASCII basedTelnet

Network /Game

Information flow

User Game / controller

Request

Ack

Destination

Start & type of game

virtual pcktack,mark,time

virtual pcktack,mark,time

End of game

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>

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

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

Disciplines

Computer scienceControl TheoryGame Theory / econometricsStochastic Decision TheoryOptimisation / Dynamic

Programming

Let the games begin!

Recommended