Selfish

Caching

in

Distributed

Systems:

A

Game-Theoretic

Analysis

Byung-Gon

Chun

bgchun@cs.berkeley.edu

Kamalika

Chaudhuri

kamalika@cs.berkeley.edu

Hoeteck

Wee

hoeteck@cs.berkeley.edu

Marco

Barreno

barreno@cs.berkeley.edu

Christos

H.

Papadimitriou

christos@cs.berkeley.edu

John

Kubiatowicz

kubitron@cs.berkeley.edu

Computer

Science

Division

University

of

California,

Berkeley

ABSTRACT

We

analyze

replication

of

resources

by

server

nodes

that

act

selfishly,

using

a

game-theoretic

approach.

We

refer

to

this

as

the

selfish

caching

problem.

In

our

model,

nodes

incur

either

cost

for

replicating

resources

or

cost

for

access

to

a

remote

replica.

We

show

the

existence

of

pure

strategy

Nash

equilibria

and

investigate

the

price

of

anarchy,

which

is

the

relative

cost

of

the

lack

of

coordination.

The

price

of

anarchy

can

be

high

due

to

undersupply

problems,

but

with

certain

network

topologies

it

has

better

bounds.

With

a

payment

scheme

the

game

can

always

implement

the

social

optimum

in

the

best

case

by

giving

servers

incentive

to

replicate.

Categories

and

Subject

Descriptors

[Computer-Communication

Networks]:

Distributed

Systems

General

Terms

Algorithms,

Economics,

Theory,

Performance

INTRODUCTION

Wide-area

peer-to-peer

file

systems

peer-to-peer

caches

and

web

caches

have

become

popular

over

the

last

few

years.

of

files

in

selected

servers

is

widely

used

to

enhance

the

performance,

availability,

and

reliability

of

these

systems.

However,

most

such

systems

assume

that

servers

cooperate

with

one

another

by

following

protocols

optimized

for

overall

system

performance,

regardless

of

the

costs

incurred

by

each

server.

In

reality,

servers

may

behave

selfishly

seeking

to

maximize

their

own

benefit.

For

example,

parties

in

different

administrative

domains

utilize

their

local

resources

(servers)

to

better

support

clients

in

their

own

domains.

They

have

obvious

incentives

to

cache

that

maximize

the

benefit

in

their

domains,

possibly

at

the

expense

of

globally

optimum

behavior.

It

has

been

an

open

question

whether

these

caching

scenarios

and

protocols

maintain

their

desirable

global

properties

(low

total

social

cost,

for

example)

in

the

face

of

selfish

behavior.

In

this

paper,

we

take

a

game-theoretic

approach

to

analyzing

the

problem

of

caching

in

networks

of

selfish

servers

through

theoretical

analysis

and

simulations.

We

model

selfish

caching

as

a

non-cooperative

game.

In

the

basic

model,

the

servers

have

two

possible

actions

for

each

object.

If

a

replica

of

a

requested

object

is

located

at

a

nearby

node,

the

server

may

be

better

off

accessing

the

remote

replica.

On

the

other

hand,

if

all

replicas

are

located

too

far

away,

the

server

is

better

off

caching

the

object

itself.

Decisions

about

caching

the

replicas

locally

are

arrived

at

locally,

taking

into

account

only

local

costs.

We

also

define

a

more

elaborate

payment

model,

in

which

each

server

bids

for

having

an

object

replicated

at

another

site.

Each

site

now

has

the

option

of

replicating

an

object

and

collecting

the

related

bids.

Once

all

servers

have

chosen

a

strategy,

each

game

specifies

a

configuration,

that

is,

the

set

of

servers

that

replicate

the

object,

and

the

corresponding

costs

for

all

servers.

Game

theory

predicts

that

such

a

situation

will

end

up

in

a

Nash

equilibrium,

that

is,

a

set

of

(possibly

randomized)

strategies

with

the

property

that

no

player

can

benefit

by

changing

its

strategy

while

the

other

players

keep

their

strategies

unchanged

Foundational

considerations

notwithstanding,

it

is

not

easy

to

accept

randomized

strategies

as

the

behavior

of

rational

agents

in

a

distributed

system

(see

for

an

extensive

discussion)

but

this

is

what

classical

game

theory

can

guarantee.

In

certain

very

fortunate

situations,

however

(see

the

existence

of

pure

(that

is,

deterministic)

Nash

equilibria

can

be

predicted.

With

or

without

randomization,

however,

the

lack

of

coordination

inherent

in

selfish

decision-making

may

incur

costs

well

beyond

what

would

be

globally

optimum.

This

loss

of

efficiency

is

We

will

use

caching

and

replication

interchangeably.

We

use

the

term

object

as

an

abstract

entity

that

represents

files

and

other

data

objects.

quantified

by

the

price

of

anarchy

The

price

of

anarchy

is

the

ratio

of

the

social

(total)

cost

of

the

worst

possible

Nash

equilibrium

to

the

cost

of

the

social

optimum.

The

price

of

anarchy

bounds

the

worst

possible

behavior

of

a

selfish

system,

when

left

completely

on

its

own.

However,

in

reality

there

are

ways

whereby

the

system

can

be

guided,

through

seeding

or

incentives,

to

a

preselected

Nash

equilibrium.

This

optimistic

version

of

the

price

of

anarchy

is

captured

by

the

smallest

ratio

between

a

Nash

equilibrium

and

the

social

optimum.

In

this

paper

we

address

the

following

questions

Do

pure

strategy

Nash

equilibria

exist

in

the

caching

game?

If

pure

strategy

Nash

equilibria

do

exist,

how

efficient

are

they

(in

terms

of

the

price

of

anarchy,

or

its

optimistic

counterpart)

under

different

placement

costs,

network

topologies,

and

demand

distributions?

What

is

the

effect

of

adopting

payments?

Will

the

Nash

equilibria

be

improved?

We

show

that

pure

strategy

Nash

equilibria

always

exist

in

the

caching

game.

The

price

of

anarchy

of

the

basic

game

model

can

be

O(n),

where

n

is

the

number

of

servers;

the

intuitive

reason

is

undersupply.

Under

certain

topologies,

the

price

of

anarchy

does

have

tighter

bounds.

For

complete

graphs

and

stars,

it

is

For

D-dimensional

grids,

it

is

O(n

D

Even

the

optimistic

price

of

anarchy

can

be

O(n).

In

the

payment

model,

however,

the

game

can

always

implement

a

Nash

equilibrium

that

is

same

as

the

social

optimum,

so

the

optimistic

price

of

anarchy

is

one.

Our

simulation

results

show

several

interesting

phases.

As

the

placement

cost

increases

from

zero,

the

price

of

anarchy

increases.

When

the

placement

cost

first

exceeds

the

maximum

distance

between

servers,

the

price

of

anarchy

is

at

its

highest

due

to

undersupply

problems.

As

the

placement

cost

further

increases,

the

price

of

anarchy

decreases,

and

the

effect

of

replica

misplacement

dominates

the

price

of

anarchy.

The

rest

of

the

paper

is

organized

as

follows.

In

Section

we

discuss

related

work.

Section

discusses

details

of

the

basic

game

and

analyzes

the

bounds

of

the

price

of

anarchy.

In

Section

we

discuss

the

payment

game

and

analyze

its

price

of

anarchy.

In

Section

we

describe

our

simulation

methodology

and

study

the

properties

of

Nash

equilibria

observed.

We

discuss

extensions

of

the

game

and

directions

for

future

work

in

Section

RELATED

WORK

There

has

been

considerable

research

on

wide-area

peer-to-peer

file

systems

such

as

OceanStore

CFS

PAST

FARSITE

and

Pangaea

web

caches

such

as

NetCache

and

SummaryCache

and

peer-to-peer

caches

such

as

Squirrel

Most

of

these

systems

use

caching

for

performance,

availability,

and

reliability.

The

caching

protocols

assume

obedience

to

the

protocol

and

ignore

participants"

incentives.

Our

work

starts

from

the

assumption

that

servers

are

selfish

and

quantifies

the

cost

of

the

lack

of

coordination

when

servers

behave

selfishly.

The

placement

of

replicas

in

the

caching

problem

is

the

most

important

issue.

There

is

much

work

on

the

placement

of

web

replicas,

instrumentation

servers,

and

replicated

resources.

All

protocols

assume

obedience

and

ignore

participants"

incentives.

In

Gribble

et

al.

discuss

the

data

placement

problem

in

peer-to-peer

systems.

Ko

and

Rubenstein

propose

a

self-stabilizing,

distributed

graph

coloring

algorithm

for

the

replicated

resource

placement

Chen,

Katz,

and

Kubiatowicz

propose

a

dynamic

replica

placement

algorithm

exploiting

underlying

distributed

hash

tables

Douceur

and

Wattenhofer

describe

a

hill-climbing

algorithm

to

exchange

replicas

for

reliability

in

FARSITE

RaDar

is

a

system

that

replicates

and

migrates

objects

for

an

Internet

hosting

service

Tang

and

Chanson

propose

a

coordinated

en-route

web

caching

that

caches

objects

along

the

routing

path

Centralized

algorithms

for

the

placement

of

objects,

web

proxies,

mirrors,

and

instrumentation

servers

in

the

Internet

have

been

studied

extensively

The

facility

location

problem

has

been

widely

studied

as

a

centralized

optimization

problem

in

theoretical

computer

science

and

operations

research

Since

the

problem

is

NP-hard,

approximation

algorithms

based

on

primal-dual

techniques,

greedy

algorithms,

and

local

search

have

been

explored

Our

caching

game

is

different

from

all

of

these

in

that

the

optimization

process

is

performed

among

distributed

selfish

servers.

There

is

little

research

in

non-cooperative

facility

location

games,

as

far

as

we

know.

Vetta

considers

a

class

of

problems

where

the

social

utility

is

submodular

(submodularity

means

decreasing

marginal

utility).

In

the

case

of

competitive

facility

location

among

corporations

he

proves

that

any

Nash

equilibrium

gives

an

expected

social

utility

within

a

factor

of

of

optimal

plus

an

additive

term

that

depends

on

the

facility

opening

cost.

Their

results

are

not

directly

applicable

to

our

problem,

however,

because

we

consider

each

server

to

be

tied

to

a

particular

location,

while

in

their

model

an

agent

is

able

to

open

facilities

in

multiple

locations.

Note

that

in

that

paper

the

increase

of

the

price

of

anarchy

comes

from

oversupply

problems

due

to

the

fact

that

competing

corporations

can

open

facilities

at

the

same

location.

On

the

other

hand,

the

significant

problems

in

our

game

are

undersupply

and

misplacement.

In

a

recent

paper,

Goemans

et

al.

analyze

content

distribution

on

ad-hoc

wireless

networks

using

a

game-theoretic

approach

As

in

our

work,

they

provide

monetary

incentives

to

mobile

users

for

caching

data

items,

and

provide

tight

bounds

on

the

price

of

anarchy

and

speed

of

convergence

to

(approximate)

Nash

equilibria.

However,

their

results

are

incomparable

to

ours

because

their

payoff

functions

neglect

network

latencies

between

users,

they

consider

multiple

data

items

(markets),

and

each

node

has

a

limited

budget

to

cache

items.

Cost

sharing

in

the

facility

location

problem

has

been

studied

using

cooperative

game

theory

Goemans

and

Skutella

show

strong

connections

between

fair

cost

allocations

and

linear

programming

relaxations

for

facility

location

problems

P´al

and

Tardos

develop

a

method

for

cost-sharing

that

is

approximately

budget-balanced

and

group

strategyproof

and

show

that

the

method

recovers

of

the

total

cost

for

the

facility

location

game

Devanur,

Mihail,

and

Vazirani

give

a

strategyproof

cost

allocation

for

the

facility

location

problem,

but

cannot

achieve

group

strategyproofness

BASIC

GAME

The

caching

problem

we

study

is

to

find

a

configuration

that

meets

certain

objectives

(e.g.,

minimum

total

cost).

Figure

shows

examples

of

caching

among

four

servers.

In

network

(a),

A

stores

an

object.

Suppose

B

wants

to

access

the

object.

If

it

is

cheaper

to

access

the

remote

replica

than

to

cache

it,

B

accesses

the

remote

replica

as

shown

in

network

(b).

In

network

(c),

C

wants

to

access

the

object.

If

C

is

far

from

A,

C

caches

the

object

instead

of

accessing

the

object

from

A.

It

is

possible

that

in

an

optimal

configuration

it

would

be

better

to

place

replicas

in

A

and

B.

Understanding

the

placement

of

replicas

by

selfish

servers

is

the

focus

of

our

study.

The

caching

problem

is

abstracted

as

follows.

There

is

a

set

N

of

n

servers

and

a

set

M

of

m

objects.

The

distance

between

servers

can

be

represented

as

a

distance

matrix

D

(i.e.,

dij

is

the

distance

Server

Server

Server

Server

A

B

C

D

(a)

Server

Server

Server

Server

A

B

C

D

(b)

Server

Server

Server

Server

A

B

C

D

(c)

Figure

Caching.

There

are

four

servers

labeled

A,

B,

C,

and

D.

The

rectangles

are

object

replicas.

In

(a),

A

stores

an

object.

If

B

incurs

less

cost

accessing

A"s

replica

than

it

would

caching

the

object

itself,

it

accesses

the

object

from

A

as

in

(b).

If

the

distance

cost

is

too

high,

the

server

caches

the

object

itself,

as

C

does

in

(c).

This

figure

is

an

example

of

our

caching

game

model.

from

server

i

to

server

j).

D

models

an

underlying

network

topology.

For

our

analysis

we

assume

that

the

distances

are

symmetric

and

the

triangle

inequality

holds

on

the

distances

(for

all

servers

i,

j,

k:

dij

djk

dik).

Each

server

has

demand

from

clients

that

is

represented

by

a

demand

matrix

W

(i.e.,

wij

is

the

demand

of

server

i

for

object

j).

When

a

server

caches

objects,

the

server

incurs

some

placement

cost

that

is

represented

by

a

matrix

α

(i.e.,

αij

is

a

placement

cost

of

server

i

for

object

j).

In

this

study,

we

assume

that

servers

have

no

capacity

limit.

As

we

discuss

in

the

next

section,

this

fact

means

that

the

caching

behavior

with

respect

to

each

object

can

be

examined

separately.

Consequently,

we

can

talk

about

configurations

of

the

system

with

respect

to

a

given

object:

DEFINITION

A

configuration

X

for

some

object

O

is

the

set

of

servers

replicating

this

object.

The

goal

of

the

basic

game

is

to

find

configurations

that

are

achieved

when

servers

optimize

their

cost

functions

locally.

Game

Model

We

take

a

game-theoretic

approach

to

analyzing

the

uncapacitated

caching

problem

among

networked

selfish

servers.

We

model

the

selfish

caching

problem

as

a

non-cooperative

game

with

n

players

(servers/nodes)

whose

strategies

are

sets

of

objects

to

cache.

In

the

game,

each

server

chooses

a

pure

strategy

that

minimizes

its

cost.

Our

focus

is

to

investigate

the

resulting

configuration,

which

is

the

Nash

equilibrium

of

the

game.

It

should

be

emphasized

that

we

consider

only

pure

strategy

Nash

equilibria

in

this

paper.

The

cost

model

is

an

important

part

of

the

game.

Let

Ai

be

the

set

of

feasible

strategies

for

server

i,

and

let

Si

Ai

be

the

strategy

chosen

by

server

i.

Given

a

strategy

profile

S

Sn),

the

cost

incurred

by

server

i

is

defined

as:

Ci(S)

j∈Si

αij

j

/∈Si

wij

di

(i,j).

where

αij

is

the

placement

cost

of

object

j,

wij

is

the

demand

that

server

i

has

for

object

j,

(i,

j)

is

the

closest

server

to

i

that

caches

object

j,

and

dik

is

the

distance

between

i

and

k.

When

no

server

caches

the

object,

we

define

distance

cost

di

(i,j)

to

be

dM

-large

enough

that

at

least

one

server

will

choose

to

cache

the

object.

The

placement

cost

can

be

further

divided

into

first-time

installation

cost

and

maintenance

cost:

αij

UpdateSizej

ObjectSizej

T

Pj

k

wkj

where

is

the

installation

cost,

is

the

relative

weight

between

the

maintenance

cost

and

the

installation

cost,

Pj

is

the

ratio

of

the

number

of

writes

over

the

number

of

reads

and

writes,

UpdateSizej

is

the

size

of

an

update,

ObjectSizej

is

the

size

of

the

object,

and

T

is

the

update

period.

We

see

tradeoffs

between

different

parameters

in

this

equation.

For

example,

placing

replicas

becomes

more

expensive

as

UpdateSizej

increases,

Pj

increases,

or

T

decreases.

However,

note

that

by

varying

αij

itself

we

can

capture

the

full

range

of

behaviors

in

the

game.

For

our

analysis,

we

use

only

αij

Since

there

is

no

capacity

limit

on

servers,

we

can

look

at

each

single

object

as

a

separate

game

and

combine

the

pure

strategy

equilibria

of

these

games

to

obtain

a

pure

strategy

equilibrium

of

the

multi-object

game.

Fabrikant,

Papadimitriou,

and

Talwar

discuss

this

existence

argument:

if

two

games

are

known

to

have

pure

equilibria,

and

their

cost

functions

are

cross-monotonic,

then

their

union

is

also

guaranteed

to

have

pure

Nash

equilibria,

by

a

continuity

argument

A

Nash

equilibrium

for

the

multi-object

game

is

the

cross

product

of

Nash

equilibria

for

single-object

games.

Therefore,

we

can

focus

on

the

single

object

game

in

the

rest

of

this

paper.

For

single

object

selfish

caching,

each

server

i

has

two

strategies

to

cache

or

not

to

cache.

The

object

under

consideration

is

j.

We

define

Si

to

be

when

server

i

caches

j

and

otherwise.

The

cost

incurred

by

server

i

is

Ci(S)

αij

Si

wij

di

Si).

We

refer

to

this

game

as

the

basic

game.

The

extent

to

which

Ci(S)

represents

actual

cost

incurred

by

server

i

is

beyond

the

scope

of

this

paper;

we

will

assume

that

an

appropriate

cost

function

of

the

form

of

Equation

can

be

defined.

Nash

Equilibrium

Solutions

In

principle,

we

can

start

with

a

random

configuration

and

let

this

configuration

evolve

as

each

server

alters

its

strategy

and

attempts

to

minimize

its

cost.

Game

theory

is

interested

in

stable

solutions

called

Nash

equilibria.

A

pure

strategy

Nash

equilibrium

is

reached

when

no

server

can

benefit

by

unilaterally

changing

its

strategy.

A

Nash

(S∗

i

S∗

−i)

for

the

basic

game

specifies

a

configuration

X

such

that

∀i

N,

i

X

S∗

i

Thus,

we

can

consider

a

set

E

of

all

pure

strategy

Nash

equilibrium

configurations:

X

E

∀i

N,

∀Si

Ai,

Ci(S∗

i

S∗

−i)

Ci(Si,

S∗

−i)

By

this

definition,

no

server

has

incentive

to

deviate

in

the

configurations

since

it

cannot

reduce

its

cost.

For

the

basic

game,

we

can

easily

see

that:

X

E

∀i

N,

∃j

X

s.t.

dji

α

and

∀j

X,

¬∃k

X

s.t.

dkj

α

The

first

condition

guarantees

that

there

is

a

server

that

places

the

replica

within

distance

α

of

each

server

i.

If

the

replica

is

not

placed

The

notation

for

strategy

profile

(S∗

i

S∗

−i)

separates

node

i

s

strategy

(S∗

i

from

the

strategies

of

other

nodes

(S∗

−i).

A

B1−α

n

nodes

n

nodes

(a)

A

B1−α

n

nodes

n

nodes

(b)

A

B1−α

n

nodes

n

nodes

(c)

Figure

Potential

inefficiency

of

Nash

equilibria

illustrated

by

two

clusters

of

n

servers.

The

intra-cluster

distances

are

all

zero

and

the

distance

between

clusters

is

α

where

α

is

the

placement

cost.

The

dark

nodes

replicate

the

object.

Network

(a)

shows

a

Nash

equilibrium

in

the

basic

game,

where

one

server

in

a

cluster

caches

the

object.

Network

(b)

shows

the

social

optimum

where

two

replicas,

one

for

each

cluster,

are

placed.

The

price

of

anarchy

is

O(n)

and

even

the

optimistic

price

of

anarchy

is

O(n).

This

high

price

of

anarchy

comes

from

the

undersupply

of

replicas

due

to

the

selfish

nature

of

servers.

Network

(c)

shows

a

Nash

equilibrium

in

the

payment

game,

where

two

replicas,

one

for

each

cluster,

are

placed.

Each

light

node

in

each

cluster

pays

to

the

dark

node,

and

the

dark

node

replicates

the

object.

Here,

the

optimistic

price

of

anarchy

is

one.

at

i,

then

it

is

placed

at

another

server

within

distance

α

of

i,

so

i

has

no

incentive

to

cache.

If

the

replica

is

placed

at

i,

then

the

second

condition

ensures

there

is

no

incentive

to

drop

the

replica

because

no

two

servers

separated

by

distance

less

than

α

both

place

replicas.

Social

Optimum

The

social

cost

of

a

given

strategy

profile

is

defined

as

the

total

cost

incurred

by

all

servers,

namely:

C(S)

Ci(S)

where

Ci(S)

is

the

cost

incurred

by

server

i

given

by

Equation

The

social

optimum

cost,

referred

to

as

C(SO)

for

the

remainder

of

the

paper,

is

the

minimum

social

cost.

The

social

optimum

cost

will

serve

as

an

important

base

case

against

which

to

measure

the

cost

of

selfish

caching.

We

define

C(SO)

as:

C(SO)

min

S

C(S)

where

S

varies

over

all

possible

strategy

profiles.

Note

that

in

the

basic

game,

this

means

varying

configuration

X

over

all

possible

configurations.

In

some

sense,

C(SO)

represents

the

best

possible

caching

behavior

if

only

nodes

could

be

convinced

to

cooperate

with

one

another.

The

social

optimum

configuration

is

a

solution

of

a

mini-sum

facility

location

problem,

which

is

NP-hard

To

find

such

configurations,

we

formulate

an

integer

programming

problem:

minimize

Èi

Èj

¢αij

xij

Èk

wij

dikyijk

subject

to

∀i,

j

Èk

yijk

I(wij)

∀i,

j,

k

xij

ykji

∀i,

j

xij

∀i,

j,

k

yijk

Here,

xij

is

if

server

i

replicates

object

j

and

otherwise;

yijk

is

if

server

i

accesses

object

j

from

server

k

and

otherwise;

I(w)

returns

if

w

is

nonzero

and

otherwise.

The

first

constraint

specifies

that

if

server

i

has

demand

for

object

j,

then

it

must

access

j

from

exactly

one

server.

The

second

constraint

ensures

that

server

i

replicates

object

j

if

any

other

server

accesses

j

from

i.

Analysis

To

analyze

the

basic

game,

we

first

give

a

proof

of

the

existence

of

pure

strategy

Nash

equilibria.

We

discuss

the

price

of

anarchy

in

general

and

then

on

specific

underlying

topologies.

In

this

analysis

we

use

simply

α

in

place

of

αij

since

we

deal

with

a

single

object

and

we

assume

placement

cost

is

the

same

for

all

servers.

In

addition,

when

we

compute

the

price

of

anarchy,

we

assume

that

all

nodes

have

the

same

demand

(i.e.,

∀i

N

wij

THEOREM

Pure

strategy

Nash

equilibria

exist

in

the

basic

game.

PROOF.

We

show

a

constructive

proof.

First,

initialize

the

set

V

to

N.

Then,

remove

all

nodes

with

zero

demand

from

V

Each

node

x

defines

βx,

where

βx

α

wxj

Furthermore,

let

Z(y)

{z

dzy

βz,

z

V

Z(y)

represents

all

nodes

z

for

which

y

lies

within

βz

from

z.

Pick

a

node

y

V

such

that

βy

βx

for

all

x

V

Place

a

replica

at

y

and

then

remove

y

and

all

z

Z(y)

from

V

No

such

z

can

have

incentive

to

replicate

the

object

because

it

can

access

y"s

replica

at

lower

(or

equal)

cost.

Iterate

this

process

of

placing

replicas

until

V

is

empty.

Because

at

each

iteration

y

is

the

remaining

node

with

minimum

β,

no

replica

will

be

placed

within

distance

βy

of

any

such

y

by

this

process.

The

resulting

configuration

is

a

pure-strategy

Nash

equilibrium

of

the

basic

game.

The

Price

of

Anarchy

(POA):

To

quantify

the

cost

of

lack

of

coordination,

we

use

the

price

of

anarchy

and

the

optimistic

price

of

anarchy

The

price

of

anarchy

is

the

ratio

of

the

social

costs

of

the

worst-case

Nash

equilibrium

and

the

social

optimum,

and

the

optimistic

price

of

anarchy

is

the

ratio

of

the

social

costs

of

the

best-case

Nash

equilibrium

and

the

social

optimum.

We

show

general

bounds

on

the

price

of

anarchy.

Throughout

our

discussion,

we

use

C(SW

to

represent

the

cost

of

worst

case

Nash

equilibrium,

C(SO)

to

represent

the

cost

of

social

optimum,

and

PoA

to

represent

the

price

of

anarchy,

which

is

C(SW

C(SO)

The

worst

case

Nash

equilibrium

maximizes

the

total

cost

under

the

constraint

that

the

configuration

meets

the

Nash

condition.

Formally,

we

can

define

C(SW

as

follows.

C(SW

max

X∈E

(α|X|

i

min

j∈X

dij)

where

minj∈X

dij

is

the

distance

to

the

closest

replica

(including

i

itself)

from

node

i

and

X

varies

through

Nash

equilibrium

configurations.

Bounds

on

the

Price

of

Anarchy:

We

show

bounds

of

the

price

of

anarchy

varying

α.

Let

dmin

min(i,j)∈N×N,i=j

dij

and

dmax

max(i,j)∈N×N

dij

We

see

that

if

α

dmin,

PoA

Topology

PoA

Complete

graph

Star

Line

O(

n)

D-dimensional

grid

O(n

D

Table

PoA

in

the

basic

game

for

specific

topologies

trivially,

since

every

server

caches

the

object

for

both

Nash

equilibrium

and

social

optimum.

When

α

dmax,

there

is

a

transition

in

Nash

equilibria:

since

the

placement

cost

is

greater

than

any

distance

cost,

only

one

server

caches

the

object

and

other

servers

access

it

remotely.

However,

the

social

optimum

may

still

place

multiple

replicas.

Since

α

C(SO)

α+minj∈N

Èi

dij

when

α

dmax,

we

obtain

α+maxj∈N

Èi

dij

α+minj∈N

Èi

dij

PoA

α+maxj∈N

Èi

dij

α

Note

that

depending

on

the

underlying

topology,

even

the

lower

bound

of

PoA

can

be

O(n).

Finally,

there

is

a

transition

when

α

maxj∈N

Èi

dij.

In

this

case,

PoA

α+maxj∈N

Èi

dij

α+minj∈N

Èi

dij

and

it

is

upper

bounded

by

Figure

shows

an

example

of

the

inefficiency

of

a

Nash

equilibrium.

In

the

network

there

are

two

clusters

of

servers

whose

size

is

n

The

distance

between

two

clusters

is

α

where

α

is

the

placement

cost.

Figure

shows

a

Nash

equilibrium

where

one

server

in

a

cluster

caches

the

object.

In

this

case,

C(SW

α

(α

since

all

servers

in

the

other

cluster

accesses

the

remote

replica.

However,

the

social

optimum

places

two

replicas,

one

for

each

cluster,

as

shown

in

Figure

Therefore,

C(SO)

PoA

n

2α

which

is

O(n).

This

bad

price

of

anarchy

comes

from

an

undersupply

of

replicas

due

to

the

selfish

nature

of

the

servers.

Note

that

all

Nash

equilibria

have

the

same

cost;

thus

even

the

optimistic

price

of

anarchy

is

O(n).

In

Appendix

A,

we

analyze

the

price

of

anarchy

with

specific

underlying

topologies

and

show

that

PoA

can

have

tighter

bounds

than

O(n)

for

the

complete

graph,

star,

line,

and

D-dimensional

grid.

In

these

topologies,

we

set

the

distance

between

directly

connected

nodes

to

one.

We

describe

the

case

where

α

since

PoA

trivially

when

α

A

summary

of

the

results

is

shown

in

Table

PAYMENT

GAME

In

this

section,

we

present

an

extension

to

the

basic

game

with

payments

and

analyze

the

price

of

anarchy

and

the

optimistic

price

of

anarchy

of

the

game.

Game

Model

The

new

game,

which

we

refer

to

as

the

payment

game,

allows

each

player

to

offer

a

payment

to

another

player

to

give

the

latter

incentive

to

replicate

the

object.

The

cost

of

replication

is

shared

among

the

nodes

paying

the

server

that

replicates

the

object.

The

strategy

for

each

player

i

is

specified

by

a

triplet

(vi,

bi,

ti)

{N,

Ê+,

Ê+}.

vi

specifies

the

player

to

whom

i

makes

a

bid,

bi

is

the

value

of

the

bid,

and

ti

denotes

a

threshold

for

payments

beyond

which

i

will

replicate

the

object.

In

addition,

we

use

Ri

to

denote

the

total

amount

of

bids

received

by

a

node

i

(Ri

Èj:vj

=i

bj).

A

node

i

replicates

the

object

if

and

only

if

Ri

ti,

that

is,

the

amount

of

bids

it

receives

is

greater

than

or

equal

to

its

threshold.

Let

Ii

denote

the

corresponding

indicator

variable,

that

is,

Ii

equals

if

i

replicates

the

object,

and

otherwise.

We

make

the

rule

that

if

a

node

i

makes

a

bid

to

another

node

j

and

j

replicates

the

object,

then

i

must

pay

j

the

amount

bi.

If

j

does

not

replicate

the

object,

i

does

not

pay

j.

Given

a

strategy

profile,

the

outcome

of

the

game

is

the

set

of

tuples

{(Ii,

vi,

bi,

Ri)}.

Ii

tells

us

whether

player

i

replicates

the

object

or

not,

bi

is

the

payment

player

i

makes

to

player

vi,

and

Ri

is

the

total

amount

of

bids

received

by

player

i.

To

compute

the

payoffs

given

the

outcome,

we

must

now

take

into

account

the

payments

a

node

makes,

in

addition

to

the

placement

costs

and

access

costs

of

the

basic

game.

By

our

rules,

a

server

node

i

pays

bi

to

node

vi

if

vi

replicates

the

object,

and

receives

a

payment

of

Ri

if

it

replicates

the

object

itself.

Its

net

payment

is

biIvi

RiIi.

The

total

cost

incurred

by

each

node

is

the

sum

of

its

placement

cost,

access

cost,

and

net

payment.

It

is

defined

as

Ci(S)

αij

Ii

wij

di

Ii)

biIvi

RiIi.

The

cost

of

social

optimum

for

the

payment

game

is

same

as

that

for

the

basic

game,

since

the

net

payments

made

cancel

out.

Analysis

In

analyzing

the

payment

model,

we

first

show

that

a

Nash

equilibrium

in

the

basic

game

is

also

a

Nash

equilibrium

in

the

payment

game.

We

then

present

an

important

positive

result

in

the

payment

game

the

socially

optimal

configuration

can

always

be

implemented

by

a

Nash

equilibrium.

We

know

from

the

counterexample

in

Figure

that

this

is

not

guaranteed

in

the

the

basic

game.

In

this

analysis

we

use

α

to

represent

αij

THEOREM

Any

configuration

that

is

a

pure

strategy

Nash

equilibrium

in

the

basic

game

is

also

a

pure

strategy

Nash

equilibrium

in

the

payment

game.

Therefore,

the

price

of

anarchy

of

the

payment

game

is

at

least

that

of

the

basic

game.

PROOF.

Consider

any

Nash

equilibrium

configuration

in

the

basic

game.

For

each

node

i

replicating

the

object,

set

its

threshold

ti

to

everyone

else

has

threshold

α.

Also,

for

all

i,

bi

A

node

that

replicates

the

object

does

not

have

incentive

to

change

its

strategy:

changing

the

threshold

does

not

decrease

its

cost,

and

it

would

have

to

pay

at

least

α

to

access

a

remote

replica

or

incentivize

a

nearby

node

to

cache.

Therefore

it

is

better

off

keeping

its

threshold

and

bid

at

and

replicating

the

object.

A

node

that

is

not

replicating

the

object

can

access

the

object

remotely

at

a

cost

less

than

or

equal

to

α.

Lowering

its

threshold

does

not

decrease

its

cost,

since

all

bi

are

zero.

The

payment

necessary

for

another

server

to

place

a

replica

is

at

least

α.

No

player

has

incentive

to

deviate,

so

the

current

configuration

is

a

Nash

equilibrium.

In

fact,

Appendix

B

shows

that

the

PoA

of

the

payment

game

can

be

more

than

that

of

the

basic

game

in

a

given

topology.

Now

let

us

look

at

what

happens

to

the

example

shown

in

Figure

in

the

best

case.

Suppose

node

B"s

neighbors

each

decide

to

pay

node

B

an

amount

B

does

not

have

an

incentive

to

deviate,

since

accessing

the

remote

replica

does

not

decrease

its

cost.

The

same

argument

holds

for

A

because

of

symmetry

in

the

graph.

Since

no

one

has

an

incentive

to

deviate,

the

configuration

is

a

Nash

equilibrium.

Its

total

cost

is

the

same

as

in

the

socially

optimal

configuration

shown

in

Figure

Next

we

prove

that

indeed

the

payment

game

always

has

a

strategy

profile

that

implements

the

socially

optimal

configuration

as

a

Nash

equilibrium.

We

first

present

the

following

observation,

which

is

used

in

the

proof,

about

thresholds

in

the

payment

game.

OBSERVATION

If

node

i

replicates

the

object,

j

is

the

nearest

node

to

i

among

the

other

nodes

that

replicate

the

object,

and

dij

α

in

a

Nash

equilibrium,

then

i

should

have

a

threshold

at

least

(α

dij).

Otherwise,

it

cannot

collect

enough

payment

to

compensate

for

the

cost

of

replicating

the

object

and

is

better

off

accessing

the

replica

at

j.

THEOREM

In

the

payment

game,

there

is

always

a

pure

strategy

Nash

equilibrium

that

implements

the

social

optimum

configuration.

The

optimistic

price

of

anarchy

in

the

payment

game

is

therefore

always

one.

PROOF.

Consider

the

socially

optimal

configuration

φopt.

Let

No

be

the

set

of

nodes

that

replicate

the

object

and

Nc

N

No

be

the

rest

of

the

nodes.

Also,

for

each

i

in

No,

let

Qi

denote

the

set

of

nodes

that

access

the

object

from

i,

not

including

i

itself.

In

the

socially

optimal

configuration,

dij

α

for

all

j

in

Qi.

We

want

to

find

a

set

of

payments

and

thresholds

that

makes

this

configuration

implementable.

The

idea

is

to

look

at

each

node

i

in

No

and

distribute

the

minimum

payment

needed

to

make

i

replicate

the

object

among

the

nodes

that

access

the

object

from

i.

For

each

i

in

No,

and

for

each

j

in

Qi,

we

define

δj

min{α,

min

k∈No−{i}

djk}

dji

Note

that

δj

is

the

difference

between

j"s

cost

for

accessing

the

replica

at

i

and

j"s

next

best

option

among

replicating

the

object

and

accessing

some

replica

other

than

i.

It

is

clear

that

δj

CLAIM

For

each

i

No,

let

be

the

nearest

node

to

i

in

No.

Then,

Èj∈Qi

δj

α

di

PROOF.

(of

claim)

Assume

the

contrary,

that

is,

Èj∈Qi

δj

α

di

Consider

the

new

configuration

φnew

wherein

i

does

not

replicate

and

each

node

in

Qi

chooses

its

next

best

strategy

(either

replicating

or

accessing

the

replica

at

some

node

in

No

{i}).

In

addition,

we

still

place

replicas

at

each

node

in

No

{i}.

It

is

easy

to

see

that

cost

of

φopt

minus

cost

of

φnew

is

at

least:

(α

j∈Qi

dij)

(di

j∈Qi

min{α,

min

k∈No−{i}

dik})

α

di

j∈Qi

δj

which

contradicts

the

optimality

of

φopt.

We

set

bids

as

follows.

For

each

i

in

No,

bi

and

for

each

j

in

Qi,

j

bids

to

i

(i.e.,

vj

i)

the

amount:

bj

δj

i/(|Qi|

j

Qi

where

i

Èj∈Qi

δj

α

di

and

|Qi|

is

the

cardinality

of

Qi.

For

the

thresholds,

we

have:

ti

α

if

i

Nc;Èj∈Qi

bj

if

i

No.

This

fully

specifies

the

strategy

profile

of

the

nodes,

and

it

is

easy

to

see

that

the

outcome

is

indeed

the

socially

optimal

configuration.

Next,

we

verify

that

the

strategies

stipulated

constitute

a

Nash

equilibrium.

Having

set

ti

to

α

for

i

in

Nc

means

that

any

node

in

N

is

at

least

as

well

off

lowering

its

threshold

and

replicating

as

bidding

α

to

some

node

in

Nc

to

make

it

replicate,

so

we

may

disregard

the

latter

as

a

profitable

strategy.

By

observation

to

ensure

that

each

i

in

No

does

not

deviate,

we

require

that

if

is

the

nearest

node

to

i

in

No,

then

Èj∈Qi

bj

is

at

least

(α

di

Otherwise,

i

will

raise

ti

above

Èj∈Qi

bj

so

that

it

does

not

replicate

and

instead

accesses

the

replica

at

We

can

easily

check

that

j∈Qi

bj

j∈Qi

δj

|Qi|

i

|Qi|

α

di

i

|Qi|

α

di

C(NE)/C(SO)

AverageNumberofReplicas

alpha

PoA

Ratio

OPoA

Replica

(SO)

Replica

(NE)

Figure

We

present

P

oA,

Ratio,

and

OP

oA

results

for

the

basic

game,

varying

α

on

a

line

topology,

and

we

show

number

of

replicas

placed

by

the

Nash

equilibria

and

by

the

optimal

solution.

We

see

large

peaks

in

P

oA

and

OP

oA

at

α

where

a

phase

transition

causes

an

abrupt

transition

in

the

lines.

Therefore,

each

node

i

No

does

not

have

incentive

to

change

ti

since

i

loses

its

payments

received

or

there

is

no

change,

and

i

does

not

have

incentive

to

bi

since

it

replicates

the

object.

Each

node

j

in

Nc

has

no

incentive

to

change

tj

since

changing

tj

does

not

reduce

its

cost.

It

also

does

not

have

incentive

to

reduce

bj

since

the

node

where

j

accesses

does

not

replicate

and

j

has

to

replicate

the

object

or

to

access

the

next

closest

replica,

which

costs

at

least

the

same

from

the

definition

of

bj

No

player

has

incentive

to

deviate,

so

this

strategy

profile

is

a

Nash

equilibrium.

SIMULATION

We

run

simulations

to

compare

Nash

equilibria

for

the

singleobject

caching

game

with

the

social

optimum

computed

by

solving

the

integer

linear

program

described

in

Equation

using

Mosek

We

examine

price

of

anarchy

(PoA),

optimistic

price

of

anarchy

(OPoA),

and

the

average

ratio

of

the

costs

of

Nash

equilibria

and

social

optima

(Ratio),

and

when

relevant

we

also

show

the

average

numbers

of

replicas

placed

by

the

Nash

equilibrium

(Replica(NE))

and

the

social

optimum

(Replica(SO)).

The

PoA

and

OPoA

are

taken

from

the

worst

and

best

Nash

equilibria,

respectively,

that

we

observe

over

the

runs.

Each

data

point

in

our

figures

is

based

on

runs,

randomly

varying

the

initial

strategy

profile

and

player

order.

The

details

of

the

simulations

including

protocols

and

a

discussion

of

convergence

are

presented

in

Appendix

C.

In

our

evaluation,

we

study

the

effects

of

variation

in

four

categories:

placement

cost,

underlying

topology,

demand

distribution,

and

payments.

As

we

vary

the

placement

cost

α,

we

directly

influence

the

tradeoff

between

caching

and

not

caching.

In

order

to

get

a

clear

picture

of

the

dependency

of

PoA

on

α

in

a

simple

case,

we

first

analyze

the

basic

game

with

a

line

topology

whose

edge

distance

is

one.

We

also

explore

transit-stub

topologies

generated

using

the

GTITM

library

and

power-law

topologies

(Router-level

BarabasiAlbert

model)

generated

using

the

BRITE

topology

generator

For

these

topologies,

we

generate

an

underlying

physical

graph

of

physical

nodes.

Both

topologies

have

similar

minimum,

average,

and

maximum

physical

node

distances.

The

average

distance

is

We

create

an

overlay

of

server

nodes

and

use

the

same

overlay

for

all

experiments

with

the

given

topology.

In

the

game,

each

server

has

a

demand

whose

distribution

is

Bernoulli(p),

where

p

is

the

probability

of

having

demand

for

the

object;

the

default

unless

otherwise

specified

is

p

C(NE)/C(SO)

AverageNumberofReplicas

alpha

PoA

Ratio

OPoA

Replica

(SO)

Replica

(NE)

(a)

C(NE)/C(SO)

AverageNumberofReplicas

alpha

PoA

Ratio

OPoA

Replica

(SO)

Replica

(NE)

(b)

Figure

Transit-stub

topology:

(a)

basic

game,

(b)

payment

game.

We

show

the

P

oA,

Ratio,

OP

oA,

and

the

number

of

replicas

placed

while

varying

α

between

and

with

servers

on

a

transit-stub

topology.

C(NE)/C(SO)

AverageNumberofReplicas

alpha

PoA

Ratio

OPoA

Replica

(SO)

Replica

(NE)

(a)

C(NE)/C(SO)

AverageNumberofReplicas

alpha

PoA

Ratio

OPoA

Replica

(SO)

Replica

(NE)

(b)

Figure

Power-law

topology:

(a)

basic

game,

(b)

payment

game.

We

show

the

P

oA,

Ratio,

OP

oA,

and

the

number

of

replicas

placed

while

varying

α

between

and

with

servers

on

a

power-law

topology.

Varying

Placement

Cost

Figure

shows

PoA,

OPoA,

and

Ratio,

as

well

as

number

of

replicas

placed,

for

the

line

topology

as

α

varies.

We

observe

two

phases.

As

α

increases

the

PoA

rises

quickly

to

a

peak

at

After

there

is

a

gradual

decline.

OPoA

and

Ratio

show

behavior

similar

to

PoA.

These

behaviors

can

be

explained

by

examining

the

number

of

replicas

placed

by

Nash

equilibria

and

by

optimal

solutions.

We

see

that

when

α

is

above

one,

Nash

equilibrium

solutions

place

fewer

replicas

than

optimal

on

average.

For

example,

when

α

is

the

social

optimum

places

four

replicas,

but

the

Nash

equilibrium

places

only

one.

The

peak

in

PoA

at

α

occurs

at

the

point

for

a

line

where

the

worst-case

cost

of

accessing

a

remote

replica

is

slightly

less

than

the

cost

of

placing

a

new

replica,

so

selfish

servers

will

never

place

a

second

replica.

The

optimal

solution,

however,

places

multiple

replicas

to

decrease

the

high

global

cost

of

access.

As

α

continues

to

increase,

the

undersupply

problem

lessens

as

the

optimal

solution

places

fewer

replicas.

Different

Underlying

Topologies

In

Figure

we

examine

an

overlay

graph

on

the

more

realistic

transit-stub

topology.

The

trends

for

the

PoA,

OPoA,

and

Ratio

are

similar

to

the

results

for

the

line

topology,

with

a

peak

in

PoA

at

α

due

to

maximal

undersupply.

In

Figure

we

examine

an

overlay

graph

on

the

power-law

topology.

We

observe

several

interesting

differences

between

the

power-law

and

transit-stub

results.

First,

the

PoA

peaks

at

a

lower

level

in

the

power-law

graph,

around

(at

α

while

the

peak

PoA

in

the

transit-stub

topology

is

almost

(at

α

After

the

peak,

PoA

and

Ratio

decrease

more

slowly

as

α

increases.

OPoA

is

close

to

one

for

the

whole

range

of

α

values.

This

can

be

explained

by

the

observation

in

Figure

that

there

is

no

significant

undersupply

problem

here

like

there

was

in

the

transit-stub

graph.

Indeed

the

high

PoA

is

due

mostly

to

misplacement

problems

when

α

is

from

to

since

there

is

little

decrease

in

PoA

when

the

number

of

replicas

in

social

optimum

changes

from

two

to

one.

The

OPoA

is

equal

to

one

in

the

figure

when

the

same

number

of

replicas

are

placed.

Varying

Demand

Distribution

Now

we

examine

the

effects

of

varying

the

demand

distribution.

The

set

of

servers

with

demand

is

random

for

p

so

we

calculate

the

expected

PoA

by

averaging

over

trials

(each

data

point

is

based

on

runs).

We

run

simulations

for

demand

levels

of

p

as

α

is

varied

on

the

servers

on

top

of

the

transit-stub

graph.

We

observe

that

as

demand

falls,

so

does

expected

PoA.

As

p

decreases,

the

number

of

replicas

placed

in

the

social

optimum

decreases,

but

the

number

in

Nash

equilibria

changes

little.

Furthermore,

when

α

exceeds

the

overlay

diameter,

the

number

in

Nash

equilibria

stays

constant

when

p

varies.

Therefore,

lower

p

leads

to

a

lesser

undersupply

problem,

agreeing

with

intuition.

We

do

not

present

the

graph

due

to

space

limitations

and

redundancy;

the

PoA

for

p

is

identical

to

PoA

in

Figure

and

the

lines

for

p

and

p

are

similar

but

lower

and

flatter.

Effects

of

Payment

Finally,

we

discuss

the

effects

of

payments

on

the

efficiency

of

Nash

equilibria.

The

results

are

presented

in

Figure

and

Figure

As

shown

in

the

analysis,

the

simulations

achieve

OPoA

close

to

one

(it

is

not

exactly

one

because

of

randomness

in

the

simulations).

The

Ratio

for

the

payment

game

is

much

lower

than

the

Ratio

for

the

basic

game,

since

the

protocol

for

the

payment

game

tends

to

explore

good

regions

in

the

space

of

Nash

equilibria.

We

observe

in

Figure

that

for

α

the

average

number

of

replicas

of

Nash

equilibria

gets

closer

with

payments

to

that

of

the

social

optimum

than

it

does

without.

We

observe

in

Figure

that

more

replicas

are

placed

with

payments

than

without

when

α

is

between

and

the

only

range

of

significant

undersupply

in

the

power-law

case.

The

results

confirm

that

payments

give

servers

incentive

to

replicate

the

object

and

this

leads

to

better

equilibria.

DISCUSSION

AND

FUTURE

WORK

We

suggest

several

interesting

extensions

and

directions.

One

extension

is

to

consider

multiple

objects

in

the

capacitated

caching

game,

in

which

servers

have

capacity

limits

when

placing

objects.

Since

caching

one

object

affects

the

ability

to

cache

another,

there

is

no

separability

of

a

multi-object

game

into

multiple

single

object

games.

As

studied

in

one

way

to

formulate

this

problem

is

to

find

the

best

response

of

a

server

by

solving

a

knapsack

problem

and

to

compute

Nash

equilibria.

In

our

analyses,

we

assume

that

all

nodes

have

the

same

demand.

However,

nodes

could

have

different

demand

depending

on

objects.

We

intend

to

examine

the

effects

of

heterogeneous

demands

(or

heterogeneous

placement

costs)

analytically.

We

also

want

to

look

at

the

following

aggregation

effect.

Suppose

there

are

n

clustered

nodes

with

distance

of

α−1

from

a

node

hosting

a

replica.

All

nodes

have

demands

of

one.

In

that

case,

the

price

of

anarchy

is

O(n).

However,

if

we

aggregate

n

nodes

into

one

node

with

demand

n

the

price

of

anarchy

becomes

since

α

should

be

greater

than

(n

to

replicate

only

one

object.

Such

aggregation

can

reduce

the

inefficiency

of

Nash

equilibria.

We

intend

to

compute

the

bounds

of

the

price

of

anarchy

under

different

underlying

topologies

such

as

random

graphs

or

growthrestricted

metrics.

We

want

to

investigate

whether

there

are

certain

distance

constraints

that

guarantee

price

of

anarchy.

In

addition,

we

want

to

run

large-scale

simulations

to

observe

the

change

in

the

price

of

anarchy

as

the

network

size

increases.

Another

extension

is

to

consider

server

congestion.

Suppose

the

distance

is

the

network

distance

plus

γ

(number

of

accesses)

where

γ

is

an

extra

delay

when

an

additional

server

accesses

the

replica.

Then,

when

α

γ,

it

can

be

shown

that

PoA

is

bounded

by

α

γ

As

γ

increases,

the

price

of

anarchy

bound

decreases,

since

the

load

of

accesses

is

balanced

across

servers.

While

exploring

the

caching

problem,

we

made

several

observations

that

seem

counterintuitive.

First,

the

PoA

in

the

payment

game

can

be

worse

than

the

PoA

in

the

basic

game.

Another

observation

we

made

was

that

the

number

of

replicas

in

a

Nash

equilibrium

can

be

more

than

the

number

of

replicas

in

the

social

optimum

even

without

payments.

For

example,

a

graph

with

diameter

slightly

more

than

α

may

have

a

Nash

equilibrium

configuration

with

two

replicas

at

the

two

ends.

However,

the

social

optimum

may

place

one

replica

at

the

center.

We

leave

the

investigation

of

more

examples

as

an

open

issue.

CONCLUSIONS

In

this

work

we

introduce

a

novel

non-cooperative

game

model

to

characterize

the

caching

problem

among

selfish

servers

without

any

central

coordination.

We

show

that

pure

strategy

Nash

equilibria

exist

in

the

game

and

that

the

price

of

anarchy

can

be

O(n)

in

general,

where

n

is

the

number

of

servers,

due

to

undersupply

problems.

With

specific

topologies,

we

show

that

the

price

of

anarchy

can

have

tighter

bounds.

More

importantly,

with

payments,

servers

are

incentivized

to

replicate

and

the

optimistic

price

of

anarchy

is

always

one.

Non-cooperative

caching

is

a

more

realistic

model

than

cooperative

caching

in

the

competitive

Internet,

hence

this

work

is

an

important

step

toward

viable

federated

caching

systems.

ACKNOWLEDGMENTS

We

thank

Kunal

Talwar

for

enlightening

discussions

regarding

this

work.

REFERENCES

A.

Adya

et

al.

FARSITE:

Federated,

Available,

and

Reliable

Storage

for

an

Incompletely

Trusted

Environment.

In

Proc.

of

USENIX

OSDI,

E.

Anshelevich,

A.

Dasgupta,

E.

Tardos,

and

T.

Wexler.

Near-optimal

Network

Design

with

Selfish

Agents.

In

Proc.

of

ACM

STOC,

Y.

Chen,

R.

H.

Katz,

and

J.

D.

Kubiatowicz.

SCAN:

A

Dynamic,

Scalable,

and

Efficient

Content

Distribution

Network.

In

Proc.

of

Intl.

Conf.

on

Pervasive

Computing,

F.

Dabek

et

al.

Wide-area

Cooperative

Storage

with

CFS.

In

Proc.

of

ACM

SOSP,

Oct.

P.

B.

Danzig.

NetCache

Architecture

and

Deploment.

In

Computer

Networks

and

ISDN

Systems,

N.

Devanur,

M.

Mihail,

and

V.

Vazirani.

Strategyproof

cost-sharing

Mechanisms

for

Set

Cover

and

Facility

Location

Games.

In

Proc.

of

ACM

EC,

J.

R.

Douceur

and

R.

P.

Wattenhofer.

Large-Scale

Simulation

of

Replica

Placement

Algorithms

for

a

Serverless

Distributed

File

System.

In

Proc.

of

MASCOTS,

A.

Fabrikant,

C.

H.

Papadimitriou,

and

K.

Talwar.

The

Complexity

of

Pure

Nash

Equilibria.

In

Proc.

of

ACM

STOC,

L.

Fan,

P.

Cao,

J.

Almeida,

and

A.

Z.

Broder.

Summary

Cache:

A

Scalable

Wide-area

Web

Cache

Sharing

Protocol.

IEEE/ACM

Trans.

on

Networking,

M.

R.

Garey

and

D.

S.

Johnson.

Computers

and

Intractability:

A

Guide

to

the

Theory

of

NP-Completeness.

W.

H.

Freeman

and

Co.,

M.

X.

Goemans,

L.

Li,

V.

S.

Mirrokni,

and

M.

Thottan.

Market

Sharing

Games

Applied

to

Content

Distribution

in

ad-hoc

Networks.

In

Proc.

of

ACM

MOBIHOC,

M.

X.

Goemans

and

M.

Skutella.

Cooperative

Facility

Location

Games.

In

Proc.

of

ACM-SIAM

SODA,

S.

Gribble

et

al.

What

Can

Databases

Do

for

Peer-to-Peer?

In

WebDB

Workshop

on

Databases

and

the

Web,

June

K.

P.

Gummadi

et

al.

Measurement,

Modeling,

and

Analysis

of

a

Peer-to-Peer

File-Sharing

Workload.

In

Proc.

of

ACM

SOSP,

October

S.

Iyer,

A.

Rowstron,

and

P.

Druschel.

Squirrel:

A

Decentralized

Peer-to-Peer

Web

Cache.

In

Proc.

of

ACM

PODC,

K.

Jain

and

V.

V.

Vazirani.

Primal-Dual

Approximation

Algorithms

for

Metric

Facility

Location

and

k-Median

Problems.

In

Proc.

of

IEEE

FOCS,

S.

Jamin

et

al.

On

the

Placement

of

Internet

Instrumentation.

In

Proc.

of

IEEE

INFOCOM,

pages

S.

Jamin

et

al.

Constrained

Mirror

Placement

on

the

Internet.

In

Proc.

of

IEEE

INFOCOM,

pages

B.-J.

Ko

and

D.

Rubenstein.

A

Distributed,

Self-stabilizing

Protocol

for

Placement

of

Replicated

Resources

in

Emerging

Networks.

In

Proc.

of

IEEE

ICNP,

E.

Koutsoupias

and

C.

Papadimitriou.

Worst-Case

Equilibria.

In

STACS,

J.

Kubiatowicz

et

al.

OceanStore:

An

Architecture

for

Global-scale

Persistent

Storage.

In

Proc.

of

ACM

ASPLOS.

ACM,

November

B.

Li,

M.

J.

Golin,

G.

F.

Italiano,

and

X.

Deng.

On

the

Optimal

Placement

of

Web

Proxies

in

the

Internet.

In

Proc.

of

IEEE

INFOCOM,

M.

Mahdian,

Y.

Ye,

and

J.

Zhang.

Improved

Approximation

Algorithms

for

Metric

Facility

Location

Problems.

In

Proc.

of

Intl.

Workshop

on

Approximation

Algorithms

for

Combinatorial

Optimization

Problems,

A.

Medina,

A.

Lakhina,

I.

Matta,

and

J.

Byers.

BRITE:

Universal

Topology

Generation

from

a

User"s

Perspective.

Technical

Report

R.

R.

Mettu

and

C.

G.

Plaxton.

The

Online

Median

Problem.

In

Proc.

of

IEEE

FOCS,

P.

B.

Mirchandani

and

R.

L.

Francis.

Discrete

Location

Theory.

Wiley-Interscience

Series

in

Discrete

Mathematics

and

Optimization,

M.

J.

Osborne

and

A.

Rubinstein.

A

Course

in

Game

Theory.

MIT

Press,

M.

Pal

and

E.

Tardos.

Group

Strategyproof

Mechanisms

via

Primal-Dual

Algorithms.

In

Proc.

of

IEEE

FOCS,

L.

Qiu,

V.

N.

Padmanabhan,

and

G.

M.

Voelker.

On

the

Placement

of

Web

Server

Replicas.

In

Proc.

of

IEEE

INFOCOM,

M.

Rabinovich,

I.

Rabinovich,

R.

Rajaraman,

and

A.

Aggarwal.

A

Dynamic

Object

Replication

and

Migration

Protocol

for

an

Internet

Hosting

Service.

In

Proc.

of

IEEE

ICDCS,

A.

Rowstron

and

P.

Druschel.

Storage

Management

and

Caching

in

PAST,

A

Large-scale,

Persistent

Peer-to-peer

Storage

Utility.

In

Proc.

of

ACM

SOSP,

October

Y.

Saito,

C.

Karamanolis,

M.

Karlsson,

and

M.

Mahalingam.

Taming

Aggressive

Replication

in

the

Pangaea

Wide-Area

File

System.

In

Proc.

of

USENIX

OSDI,

X.

Tang

and

S.

T.

Chanson.

Coordinated

En-route

Web

Caching.

In

IEEE

Trans.

Computers,

A.

Vetta.

Nash

Equilibria

in

Competitive

Societies,

with

Applications

to

Facility

Location,

Traffic

Routing,

and

Auctions.

In

Proc.

of

IEEE

FOCS,

E.

W.

Zegura,

K.

L.

Calvert,

and

S.

Bhattacharjee.

How

to

Model

an

Internetwork.

In

Proc.

of

IEEE

INFOCOM,

APPENDIX

A.

ANALYZING

SPECIFIC

TOPOLOGIES

We

now

analyze

the

price

of

anarchy

(PoA)

for

the

basic

game

with

specific

underlying

topologies

and

show

that

PoA

can

have

better

bounds.

We

look

at

complete

graph,

star,

line,

and

Ddimensional

grid.

In

all

these

topologies,

we

set

the

distance

between

two

directly

connected

nodes

to

one.

We

describe

the

case

where

α

since

PoA

trivially

when

α

A

BC

α

α

3α

α

α

Figure

Example

where

the

payment

game

has

a

Nash

equilibrium

which

is

worse

than

any

Nash

equilibrium

in

the

basic

game.

The

unlabeled

distances

between

the

nodes

in

the

cluster

are

all

The

thresholds

of

white

nodes

are

all

α

and

the

thresholds

of

dark

nodes

are

all

The

two

dark

nodes

replicate

the

object

in

this

payment

game

Nash

equilibrium.

For

a

complete

graph,

PoA

and

for

a

star,

PoA

For

a

complete

graph,

when

α

both

Nash

equilibria

and

social

optima

place

one

replica

at

one

server,

so

PoA

For

star,

when

α

the

worst

case

Nash

equilibrium

places

replicas

at

all

leaf

nodes.

However,

the

social

optimum

places

one

replica

at

the

center

node.

Therefore,

PoA

When

α

the

worst

case

Nash

equilibrium

places

one

replica

at

a

leaf

node

and

the

other

nodes

access

the

remote

replica,

and

the

social

optimum

places

one

replica

at

the

center.

PoA

n

For

a

line,

the

price

of

anarchy

is

O(

n).

When

α

n,

the

worst

case

Nash

equilibrium

places

replicas

every

2α

so

that

there

is

no

overlap

between

areas

covered

by

two

adjacent

servers

that

cache

the

object.

The

social

optimum

places

replicas

at

least

every

The

placement

of

replicas

for

the

social

optimum

is

as

follows.

Suppose

there

are

two

replicas

separated

by

distance

d.

By

placing

an

additional

replica

in

the

middle,

we

want

to

have

the

reduction

of

distance

to

be

at

least

α.

The

distance

reduction

is

d

should

be

at

most

Therefore,

the

distance

between

replicas

in

the

social

optimum

is

at

most

C(SW

2α

2α

Θ(αn).

C(SO)

α

n−1√

2α

n−1√

2α

C(SO)

Ω(

αn).

Therefore,

PoA

O(

α).

When

α

n

the

worst

case

Nash

equilibrium

places

one

replica

at

a

leaf

node

and

C(SW

α

However,

the

social

optimum

still

places

replicas

every

If

we

view

PoA

as

a

continuous

function

of

α

and

compute

a

derivative

of

PoA,

the

derivative

becomes

when

α

is

which

means

the

function

decreases

as

α

increases

from

n.

Therefore,

PoA

is

maximum

when

α

is

n,

and

PoA

Ω(

nn)

O(

n).

When

α

the

social

optimum

also

places

only

one

replica,

and

PoA

is

trivially

bounded

by

This

result

holds

for

the

ring

and

it

can

be

generalized

to

the

D-dimensional

grid.

As

the

dimension

in

the

grid

increases,

the

distance

reduction

of

additional

replica

placement

becomes

where

d

is

the

distance

between

two

adjacent

replicas.

Therefore,

PoA

Ω(n

n)

O(n

D

B.

PAYMENT

CAN

DO

WORSE

Consider

the

network

in

Figure

where

α

Any

Nash

equilibrium

in

the

basic

game

model

would

have

exactly

two

replicas

one

in

the

left

cluster,

and

one

in

the

right.

It

is

easy

to

verify

that

the

worst

placement

(in

terms

of

social

cost)

of

two

replicas

occurs

when

they

are

placed

at

nodes

A

and

B.

This

placement

can

be

achieved

as

a

Nash

equilibrium

in

the

payment

game,

but

not

in

the

basic

game

since

A

and

B

are

a

distance

apart.

Algorithm

Initialization

for

the

Basic

Game

a

random

subset

of

servers

for

each

node

i

in

N

do

if

i

then

Si

replicate

the

object

else

Si

Algorithm

Move

Selection

of

i

for

the

Basic

Game

α

minj∈X−{i}

dij

X

is

the

current

configuration

Costmin

if

Costnow

Costmin

then

if

Costmin

then

Si

else

Si

C.

NASH

DYNAMICS

PROTOCOLS

The

simulator

initializes

the

game

according

to

the

given

parameters

and

a

random

initial

strategy

profile

and

then

iterates

through

rounds.

Initially

the

order

of

player

actions

is

chosen

randomly.

In

each

round,

each

server

performs

the

Nash

dynamics

protocol

that

adjusts

its

strategies

greedily

in

the

chosen

order.

When

a

round

passes

without

any

server

changing

its

strategy,

the

simulation

ends

and

a

Nash

equilibrium

is

reached.

In

the

basic

game,

we

pick

a

random

initial

subset

of

servers

to

replicate

the

object

as

shown

in

Algorithm

After

the

initialization,

each

player

runs

the

move

selection

procedure

described

in

Algorithm

(in

algorithms

and

Costnow

represents

the

current

cost

for

node

i).

This

procedure

chooses

greedily

between

replication

and

non-replication.

It

is

not

hard

to

see

that

this

Nash

dynamics

protocol

converges

in

two

rounds.

In

the

payment

game,

we

pick

a

random

initial

subset

of

servers

to

replicate

the

object

by

setting

their

thresholds

to

In

addition,

we

initialize

a

second

random

subset

of

servers

to

replicate

the

object

with

payments

from

other

servers.

The

details

are

shown

in

Algorithm

After

the

initialization,

each

player

runs

the

move

selection

procedure

described

in

Algorithm

This

procedure

chooses

greedily

between

replication

and

accessing

a

remote

replica,

with

the

possibilities

of

receiving

and

making

payments,

respectively.

In

the

protocol,

each

node

increases

its

threshold

value

by

incr

if

it

does

not

replicate

the

object.

By

this

ramp

up

procedure,

the

cost

of

replicating

an

object

is

shared

fairly

among

the

nodes

that

access

a

replica

from

a

server

that

does

cache.

If

incr

is

small,

cost

is

shared

more

fairly,

and

the

game

tends

to

reach

equilibria

that

encourages

more

servers

to

store

replicas,

though

the

convergence

takes

longer.

If

incr

is

large,

the

protocol

converges

quickly,

but

it

may

miss

efficient

equilibria.

In

the

simulations

we

set

incr

to

Most

of

our

A

B

C

a

b

c

Figure

An

example

where

the

Nash

dynamics

protocol

does

not

converge

in

the

payment

game.

Algorithm

Initialization

for

the

Payment

Game

a

random

subset

of

servers

for

each

node

i

in

N

do

bi

if

i

then

ti

replicate

the

object

else

ti

α

for

each

node

i

in

N

do

if

coin

toss

head

then

Mi

{j

d(j,

i)

d(j,

k)}

if

Mi

then

for

each

node

j

Mi

do

bj

max{

α+

Èk∈Mi

d(i,k)

|Mi|

d(i,

j),

{i}

Algorithm

Move

Selection

of

i

for

the

Payment

Game

α

Ri

minj∈N−{i}{tj

Rj

dij

Costmin

if

Costnow

Costmin

then

if

Costmin

then

ti

Ri

else

ti

Ri

incr

vi

argminj{tj

Rj

dij}

bi

tvi

Rvi

simulation

runs

converged,

but

there

were

a

very

few

cases

where

the

simulation

did

not

converge

due

to

the

cycles

of

dynamics.

The

protocol

does

not

guarantee

convergence

within

a

certain

number

of

rounds

like

the

protocol

for

the

basic

game.

We

provide

an

example

graph

and

an

initial

condition

such

that

the

Nash

dynamics

protocol

does

not

converge

in

the

payment

game

if

started

from

this

initial

condition.

The

graph

is

represented

by

a

shortest

path

metric

on

the

network

shown

in

Figure

In

the

starting

configuration,

only

A

replicates

the

object,

and

a

pays

it

an

amount

to

do

so.

The

thresholds

for

A,

B

and

C

are

each,

and

the

thresholds

for

a,

b

and

c

are

It

is

not

hard

to

verify

that

the

Nash

dynamics

protocol

will

never

converge

if

we

start

with

this

condition.

The

Nash

dynamics

protocol

for

the

payment

game

needs

further

investigation.

The

dynamics

protocol

for

the

payment

game

should

avoid

cycles

of

actions

to

achieve

stabilization

of

the

protocol.

Finding

a

self-stabilizing

dynamics

protocol

is

an

interesting

problem.

In

addition,

a

fixed

value

of

incr

cannot

adapt

to

changing

environments.

A

small

value

of

incr

can

lead

to

efficient

equilibria,

but

it

can

take

long

time

to

converge.

An

important

area

for

future

research

is

looking

at

adaptively

changing

incr.

game-theoretic approach
peer-to-peer file system
anarchy price
instrumentation server
primal-dual technique
distribute system
peer-to-peer system
game-theoretic model

caching problem
nash equilibrium
network topology
remote replica
demand distribution
price of anarchy
social utility
submodularity
group strategyproofness
aggregation effect
cache