selfish caching in distributed systems: a game-theoretic analysis by byung-gon chun et al. uc...

38
Selfish Caching in Distributed Systems: A Game- Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Post on 20-Dec-2015

240 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Selfish Caching in Distributed Systems: A Game-Theoretic Analysis

By Byung-Gon Chun et al.UC Berkeley

PODC’04

Page 2: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 2

Outline

Motivation Game Theory Problem Formulation Theoretical Results Simulation Results Conclusions

Page 3: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 3

Motivation

Traditional networks assume nodes are cooperative and follow certain protocol

In reality, nodes may behave selfishly Seek to maximize their own benefit Many applications: P2P, ad hoc network

Selfish Caching is to: Find appropriate object placement strategies for distributed replication groups of selfish nodes

Page 4: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Game Theory Definition: A formal way to analyze interaction among a

group of rational players who behave strategically. Game

a set of players: {1, 2, …, n} player i has a set of alternative strategies: S_i

each strategy is called a pure strategy mixed strategy: choosing all strategies according to prob. dist.

Strategy profile s= (s_1, s_2, …, s_n), where s_i є S_i Payoff function h_i(s): the payoff to player i when the

players choose strategy profile s All above are common knowledge to each player

Page 5: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 5

Game Theory Continued Nash equilibrium (NE): strategy profile in

which no player can be strictly better off by unilateral deviation

Why NE? It is a stable, self-enforcing solution Theorem (Nash, 1951) – “For a game with finite

players and each player having a set of finite strategies, there always exists an equilibrium in (mixed) strategy.”

In most cases, NE does not achieve social optimum due to selfishness of each player

Page 6: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 6

How to quantify the selfishness?

Price of anarchy (Papadimitriou et al, 1999) loss of efficiency ratio of the social cost of the worst possible

Nash equilibrium to the cost of social optimum

Optimistic Price of anarchy Smallest ratio of NE and social optimum

Page 7: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Caching and Selfish Caching

Page 8: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 8

Traditional Caching Problem

Given: n servers; m objects distance matrix D: d_{ij} is the distance from server i to

server j demand matrix W: w_{ij} is the demand of server i to

object j Placement cost matrix P: α_{ij} is the placement cost of

server i for object j No memory constraint

Goal:Place objects into servers s.t. the total access cost + placement cost is minimized

It is uncapacitated multi-facility location problem – NP hard

Page 9: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 9

Selfish caching problem

Each node tries to minimize its own access + placement cost

Model selfish caching problem as a non-cooperative game with n players whose strategies are sets of objects to cache

Each node (player) chooses a pure strategy that minimize its own cost

Page 10: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 10

Basic Selfish Caching Cost Model Given:

s_i: strategy chosen by server i (set of objects i places)

Strategy profile: s = (s_1, s_2, …, s_n) the cost of server i:

For each object, at least one server will choose to cache

Page 11: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 11

Separability of Uncapacitated Version

We can look at individual object placement separately due to no memory constraint

Nash equilibrium of the multi-object caching game is the combination of the Nash Equilibria of single object caching game

Page 12: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 12

Social Optimal Caching

Page 13: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 13

Social Optimal Caching

Social Optimal Cost: C(So) = minS

Page 14: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 14

Single Object Selfish Caching Game

Strategy: si = 1, when i replicates ; 0, otherwise

strategy profile: s = (s1, s2, …, sn) Cost of server i to access object j

Social cost of s: ∑ ci(s)

Page 15: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 15

Major Questions Does a pure strategy Nash equilibrium exist in single object selfish caching game?

If so, what is the price of anarchy in such NE?

How does price of anarchy vary under different demand distribution, underlying topology and placement cost?

Can Nash equilibrium achieve social optimum?

Page 16: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 16

Major Results

Pure strategy NE exists in single-object caching game

Price of anarchy can be bad: O(n)

With payment as incentive for nodes to replicate, there exists pure strategy NE achieving social optimum

Page 17: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 17

How to find the pure strategy NE in single object caching game?

Assume placement cost the same for all servers: α ; server i’s demand is w_i

Algorithm:1. Remove “zero demand” servers from the server set N2. Pick a server y s.t. α/w_y is the minimum 1) y places the object 2) Remove y and all z where w_z*d_{zy} ≤ α

3. Continue 2 until N is empty

Page 18: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 18

Continued… Claim: The resulting configuration X is

a pure strategy NE

All such y have no incentive to remove its object

All such z have no incentive to replicate

No player has incentive to deviate, its NE.

Page 19: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 19

Price of Anarchy (PoA) of Single Object Game

PoA = C(WNE)/C(SO)

Page 20: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 20

Inefficiency of NE

Page 21: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 21

Payment Game Each player i offers a payment to another

player j as incentive for j to replicate object Strategy for player i: (v_i, b_i, t_i)

v_i: the player to whom i makes a bid b_i: the value of the i’s bid t_i: payment threshold beyond which i will

replicate Total amount of bids received by i: R_i i replicates iff R_i >= t_i I_i = 1 if i replicates object, I_i = 0 if not

Page 22: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 22

Payment Game Continued…

If i makes bid b_i to j If j replicates the object, then i must pay j amount of

b_i If j does not replicate, i does not pay j

The outcome of the game is: {(I_i, v_i, b_i, R_i)}

Cost Model

Page 23: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 23

Results of Payment Game

Theorem In the payment game, there is

always Nash equilibrium that implements the social optimum configuration

Page 24: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Simulation

Page 25: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 25

Proof Observation If node i replicates the object, j is the nearest node to

i that replicates the object, and dij < α, then i should have a threshold at least (α – dij )

Consider the social optimal configuration Φ. i is one of the cache nodes, Qi the set of nodes that

access object from i (not including i). For each j in Qi, δj is extra cost needed if not

accessing j Claim: If node i replicates the object, j is the nearest

node to i that replicates the object, if i is

Page 26: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 26

Page 27: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 27

Varying Placement Cost

Page 28: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Effects of Payment and Different Underlying Topology

Page 29: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 29

Page 30: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 30

Page 31: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 31

Conclusions Introduce a non-cooperative game

model for selfish caching

Pure strategy NE exists and the price of anarchy can be O(n)

With payments, price of anarchy can be improved as one

Page 32: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Distributed Selfish Replication

By N. Laoutaris etcIEEE TPDS 2005

Page 33: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 33

Network Model Object sets O={o_1, o_2…,o_N}, n

players Accessing object from a node’s local

cache costs t_l, from a remote node’s cache t_r, and from origin server t_s,

with t_l <= t_r <= t_s Each node has memory capacity: C_i Goal is to maximize the excess gain

(access cost reduced due to caching)

Page 34: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 34

Game Model

Node i’s strategy P_i: the set of objects replicated at i

Global object placement P = {P_1, P_2,…, P_n}; P_-i = P_1 U … U P_{i-1} U P_{i+1} U… U P_n

The gain for i under P is

Page 35: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 35

There exists a NE Step 1 (Greedy Local): each node

caches the top C_i popular object according to its own access demand

Step 2: in the order of their node id, each node adjusts its placement (move in/out objects) according to the current placement of all other nodes.

What obtained is a NE.

Page 36: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

Sketch of proof (why its NE):

Only need to show in step 2 above, for any node i, the changes in the cache placement by the nodes following i’s turn do not affect the optimality of i’s placement (i.e. the top C_i popular data do not change).

Lemma 1: In step 2, for any node, only object with more than 1 copy in the network can be removed

Otherwise, the object’s gain won’t be reduced and thus won’t be removed out

Lemma 2: In sep 2, only object with zero copy in the network can be moved in

By way of contradiction Each removed object does not affect i’s cache placement

optimality since there are at one more copy in the network Each moved-in object does not affect i’s cache placement

optimality since its gain must be lower than that of any objects currently in i’s cache.

So each node has no incentive to change its cache placement.

Page 37: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 37

Our approach

Network Model (two major difference compared with existing work): Consider both memory capacity of

each node and the number of hops between nodes; consider both caching cost and access cost

Network nodes are the source nodes of all the objects

Page 38: Selfish Caching in Distributed Systems: A Game-Theoretic Analysis By Byung-Gon Chun et al. UC Berkeley PODC’04

CSE658 wireless Seminar 38

Game model becomes more complicated!!

Thus a pure strategy NE is in question, even omitting the caching cost!