Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d...

27
Cache me if you can Capacitated Selfish Replica0on Games Dimitrios Kanoulas R. Rajaraman, R. Sundaram R. Gopalakrishnan, N. Karuturi, C. P. Rangan LATIN’12, CCIS Department, Northeastern University

Transcript of Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d...

Page 1: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Cache  me  if  you  can  Capacitated  Selfish  Replica0on  Games  

Dimitrios  Kanoulas    R.  Rajaraman,  R.  Sundaram  

R.  Gopalakrishnan,  N.  Karuturi,  C.  P.  Rangan  

LATIN’12,  CCIS  Department,  Northeastern  University    

Page 2: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2  

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)2  

Page 3: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

β  β  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2  

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)3  

Page 4: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

β  β  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*6  +  1*0  =  24  4*6  +  2*0  =  24  

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)4  

Page 5: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

β  β  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*6  +  1*0  =  24  4*6  +  2*0  =  24  

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)5  

Page 6: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

β  α  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*2  +  1*0  =  8  4*0  +  2*2  =  4  

cost   cost    

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)6  

Page 7: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

β  α  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*2  +  1*0  =  8  4*0  +  2*2  =  4  

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)7  

Page 8: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

α  α  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*0  +  1*6  =  6  4*0  +  2*6  =  12  

cost   cost    

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)8  

Page 9: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

α  α  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*0  +  1*6  =  6  4*0  +  2*6  =  12  

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)9  

Page 10: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

α  β  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*0  +  1*2  =  2  4*2  +  2*0  =  8  

cost   cost    

Costj =�

α∈O

ratej(α)d(j, j’s nearest node holding α)10  

Page 11: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  Game  Instance  

Server  

Server  

i   k  

α   β  

α  β  

d(S,k)  =  6  

d(i,k)  =  2  

d(S,i)  =  6  

ratek(α)  =  4  ratek(β)  =  1  

ratei(α)  =  4  ratei(β)  =  2   4*0  +  1*2  =  2  4*2  +  2*0  =  8  

cost   cost    

Stable  11  

Page 12: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  (CSR)  CSR  Network:    

•   A  set  V  of  nodes  sharing  a  collec0on  O  of  unit-­‐sized  objects.  

•   Access  cost  func0on  d:  V  x  V  -­‐>  ℜ  •   d(i,j)  is  the  cost  incurred  at  node  i  for  accessing  an  object  at  node    j.  

•   Each  node  has  a  cache  with  limited  capacity  to  store  a  certain  number  of  objects.        Server  node:  has  the  capacity  to  store  all  objects.  

•   Node’s  placement:  set  of  stored  objects.      Global  placement:  the  set  of  all  nodes’  placements.  

12  

Page 13: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Capacitated  Selfish  Replica0on  (CSR)  CSR  Game:  A  CSR  network,  where  each  node  i:  •   aYaches  a  uFlity  Ui  to  each  global  placement  •   has  a  rate  ri  for  each  object  α,  represen0ng  the  rate  at  which  node  accesses  the  object.  •   has  a  strategy  set  which  is  the  set  of  all  feasible  placements  at  the  node.  

Example  of  a  numerical  u0lity  func0on  (sum):  

Pure  Nash  Equilibria:  global  placement  such  that  there  is  no  node  that  can  increase  its  u0lity  by  unilaterally  devia0ng  from  its  strategy,  i.e.  by  replica0ng  different  set  of  objects.  

Ui(P ) = −�

α∈O

ri(α)d(i,i’s nearest node holding α)

13  

Page 14: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Applica0ons  

P2P  networks  and  content  delivery  applica0ons    

•   P2P  movie  sharing  service:  distributed  version  of  ne,lix  where  you  can  access  movies  (objects)  both  from  other  users  (nodes)  and  from  the  ne\lix  server  at  some  cost  ($$).  

•   Brave  new  4G  wireless  world:    being  both  a  consumer  and  provider  of  apps  (objects)  to  others  (nodes)  around  you,  where  the  server  is  the  app  store.  

14  

Page 15: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Related  Work  

[B.  Chun,  K.  Chaudhuri,  H.  Wee,  M.  Barreno,  C.  H.  Papadimitriou,  and  J.  Kubiatowicz]  -­‐  PODC  2006  

Pure  Nash  equilibria  in  a  sebng  with  storage  cost,  but  no  cache  capaci0es.  

[N.  Laoutaris,  O.  Telelis,  V.  Zissimopoulos,  and  I.  Stavrakakis]  –  Trans.  Parallel  Distr.  Syst.  2006  [G.  Pollatos,  O.  Telelis,  and  V.  Zissimopoulos]  -­‐  Networking  2008  Hierarchical  networks:  one-­‐level  using  sum  u0lity  func0on.  

Our  work:  Capacitated  in  general  networks  15  

Page 16: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  (  Does  pure  Nash  equilibrium  always  exist?)  

Object  rates  &  count   Undirected  networks   Directed  Networks  

Binary,  two  objects   Yes  (Finding  an  equilibrium:  in  P)  

No  (In  P  to  decide)  

Binary,  three  or  more  objects  

Yes  (Finding  an  equilibrium:  we  don’t  know  if  in  P)  

No  (NP-­‐complete  to  decide)  

General,  two  objects   Yes  (Finding  an  equilibrium:  in  P)  

No  (NP-­‐complete  to  decide)  

General,  three  or  more  objects  

No  (NP-­‐complete  to  decide)  

Hierarchical:  Yes  (Finding  an  equilibrium:  in  P)  

No  (NP-­‐complete  to  decide)  

16  

Page 17: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Hierarchical  Networks  

3  

1  

Example  of  a  3-­‐level  hierarchical  network:  

17  

10  

8  

i   j   k   l   server  

Page 18: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Why  Hierarchical  Networks?  

18  

Have  been  extensively  used  to  model  communica0on  costs  of  content  delivery  and  P2P  systems:  

•   [Karger  et  al.  –  STOC  1997]:  for  modeling  content  delivery  networks.  

•   [Leff  et  al.  -­‐  IEEE  Trans.  Parallel  Distrib.  Syst.  1993],  [Tewari  et  al.  –  ICDCS  1999],  [Korupolu  et  al.  -­‐  Journal  of  Algorithms  2001]:  for  modeling  cooperaFve  caching  in  hierarchical  networks.  

Page 19: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

Poly-­‐0me  construc0on  of  equilibrium:  FicFonal  Players  Algorithm  

3  

1  

19  

i   j   k  

α   β   γ   α   β   γ   α   β   γ  

Page 20: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

3  

1  

20  

i:γ   j:β   k:γ  

α   β   γ   α   β   γ   α   β   γ  

Equilibrium  

Page 21: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

3  

1  

21  

i:γ   j:β   k:γ  

α  

β   γ   α   β   γ   α   β   γ  

Page 22: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

3  

1  

22  

i:α   j:β   k:γ  

α  

β   γ   α   β   γ   α   β   γ  

Equilibrium  (in  polynomial  number  of  steps)  

Page 23: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

3  

1  

23  

i:γ   j:β   k:γ  

α  

β  

γ  

α   β   γ   α   β   γ  

Equilibrium  (in  polynomial  number  of  steps)  

Page 24: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

3  

1  

24  

i:γ   j:β   k:γ  

α  

β  

γ  

α   β   γ   α   β   γ  

Equilibrium  (in  polynomial  number  of  steps)  

Page 25: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

3  

1  

25  

i:γ   j:β   k:γ  

α  

β  

γ  

β   γ   α   β   γ  

Equilibrium  (in  polynomial  number  of  steps)  

Page 26: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Our  Results  on  Hierarchical  Networks  

3  

1  

26  

i:γ   j:α   k:γ  

Equilibrium  

Page 27: Cachemeifyoucan& - College of Computer and Information · PDF file · 2012-05-18d (i,k))=2) d (S,i))=6) rate k (α))=4) rate k (β))=1) rate i ... has)arate&r i) for)each)objectα

Concluding  Remarks  •  Numerical  u0li0es  -­‐>  General  framework  •  Frac0onal  version:  nodes  hold  frac0ons  of  objects.  

Open  QuesFons  •  Open  complexity  ques0ons:  finding  a  pure  Nash  equilibrium  for  undirected  networks  with  binary  preferences.  

•  Dynamically  changing  networks.  

•  Finding  approximate  equilibria  (mixed  or  correlated).  

27