Distributed Selfish Replication under Node Churn

21
1 Distributed Selfish Replication under Node Churn Eva Jaho, Ioannis Koukoutsidis, Ioannis Stavrakakis, Ina Jaho Advanced Networking Research Group National and Kapodistrian University of Athens Οctober 2007

description

Distributed Selfish Replication under Node Churn. Eva Jaho, Ioannis Koukoutsidis, Ioannis Stavrakakis, Ina Jaho. Advanced Networking Research Group National and Kapodistrian University of Athens Ο ctober 2007. Overview. Setting of a distributed replication group: N nodes, M objects - PowerPoint PPT Presentation

Transcript of Distributed Selfish Replication under Node Churn

Page 1: Distributed Selfish Replication under Node Churn

1

Distributed Selfish Replication under Node Churn

Eva Jaho, Ioannis Koukoutsidis, Ioannis Stavrakakis, Ina Jaho

Advanced Networking Research GroupNational and Kapodistrian University of Athens

Οctober 2007

Page 2: Distributed Selfish Replication under Node Churn

2

Overview

Setting of a distributed replication group:

N nodes, M objects rij: request rate of node j for

object i Cj: capacity of node j tl: local access cost, tr:

remote access cost, ts: access cost from an origin server

Presence of node churn each node is “active” or

“available” with a certain probability (ON probability) πj

vj

tr

ts

tl

tl <tr< ts

origin server

Page 3: Distributed Selfish Replication under Node Churn

Access cost of a node under a given placement

Pj = {set of objects replicated by node j} global placement P = {P1, P2, …, PN} P-j = P - Pj

mean access cost per unit time for node j :

(the cost for an unsuccessful query is negligible)

j

j

kkj

jjPiPi

N

Pikjkk

ks

N

Pikjkk

krij

PiPi

sijPi

lijj ttrtrtrPC

,

:,,1

:,,1

,

]])1())1(1([[ )(

Page 4: Distributed Selfish Replication under Node Churn

Game formulation

At the beginning of the game, each node has stored Cj objects in decreasing order of rij values

During the game, nodes play sequentially and make changes to their placements so as to decrease their access cost at the end of the game

Each node knows the global placement P prior to making its move (some kind of communication exists)

The game is studied as a dynamic noncooperative game

Page 5: Distributed Selfish Replication under Node Churn

Strategies

Greedy local strategy: nodes locally replicate their most requested objects

Greedy churn-unaware strategy: nodes change their initial placements to minimize their imminent access cost. However, they falsely consider other nodes to be always ON

Greedy churn-aware strategy: nodes change their initial placements to minimize their imminent access cost, considering the probabilities with which other nodes are ON

Page 6: Distributed Selfish Replication under Node Churn

Greedy churn-aware strategy

Each node changes its initial placement to minimize its average access cost immediately after its move

For an object e replicated at node j, define the average eviction cost as:

For an object i not replicated at node j, define the average insertion gain as:

)])1(1)(()1()[(

:,,1

:,,1

,

N

Pekjkk

klr

N

Pekjkk

klsejje

kk

ttttrL

j

N

Pikjkk

klr

N

Pikjkk

klsij

jlsij

ji Pittttr

Pittr

G

kk

if )],)1(1)(()1()[(

if ),(

:,,1

:,,1

,

Page 7: Distributed Selfish Replication under Node Churn

Greedy churn-aware strategy (contd.)

Set of “eviction candidates” of node j, Єj = {e1j, e2j, …, e|Єj|j}

Eviction candidates indexed by increasing costs: Le1,j ≤ Le2,j ≤ … ≤ Le|Єj|,j

Set of “insertion candidates” of node j,Ij = {i1j, i2j, …, i|Ij|j}

Insertion candidates indexed by decreasing costs: Gi1,j ≥ Gi2,j ≥ … ≥ Gi|Ij|,j

Node j makes a maximum number mj of changes ekj <- ikj, k=1,…,mj s.t

(mj ≤ min(|Єj| ,| Ij|))

jejijmjm

LG ,,

Page 8: Distributed Selfish Replication under Node Churn

Greedy churn-aware strategy with multiple rounds

Each node applies the greedy churn-aware strategy in each round of the game

The same order of the play is maintained in each round

Theorem: the algorithm ends in a finite number of rounds irrespective of the order of play in each round

Proof: At each step, each player may evict an object owned by a number of nodes to insert an object owned by:

a) a smaller number of nodes (or none)b) a larger number of nodes with smaller probability that at least one of them is ON

Hence, at a certain epoch in the future either all nodes have no objects in common, or no further replacements are possible

Page 9: Distributed Selfish Replication under Node Churn

Equilibrium properties

The strategy may not arrive in a Nash equilibrium

Proof:

. . … . . . 1 2 N-2 N-1 N

We show that the greedy churn-aware strategy is not always sequentially rational for player N-1. Suppose both N-1, N evict the same object e. That is, the following conditions hold:

Gi,N-1 > Le,N-1 Gi’,N > Le,N (i’ may be equal to i)

If Gi,N-1 < Le,N, then the move e <- i is not sequentially rational for node N-1 (Le,N > Le,N-1)

Page 10: Distributed Selfish Replication under Node Churn

Mistreatment under the greedy churn-aware strategy

for N=2 nodes, mistreatment never occurs (the 2nd node only evicts objects belonging to the 1st node, so the access cost of node 1 is not decreased)

for N≥3, mistreatment may occur

Given that the churn-aware strategy is followed by all nodes, we say a node is mistreated when its incurred access cost is higher than its greedy-local cost

Page 11: Distributed Selfish Replication under Node Churn

Mistreatment under the greedy churn-aware strategy (contd.)

In the homogeneous case (rij ri for all i, j, Cj = C), where less reliable nodes play first (π1 ≤ π2 ≤ … ≤ πN)

If the set of objects evicted by node j+1 are also evicted by node j, for all j = 1,…, N-1, the greedy churn-aware strategy is mistreatment-free.

The proof follows by showing that subsequent nodes have decreasing gain when making the kth feasible replacement, k = 1,2, …

Page 12: Distributed Selfish Replication under Node Churn

Numerical evaluation

We study cases where nodes have similar request rates for objects, so that mutual benefits emerge by cooperation

Request rates drawn from Zipf distribution

s≈0.8-0.9

tl=1, tr=10, ts=100 N=10, M=50 C=10

M

m

sm

kMskf

1

/1

/1),;(

Page 13: Distributed Selfish Replication under Node Churn

Case studies

Case I Nodes have the same request rates for each object

Case II Nodes have different request rates and different

priorities for objects

)9.0( /1

/1

1

sm

ir M

m

s

s

i

,

,mod)1(),(

,...,1 ,1.08.0

/1

/1

1

),(

Ciifi

CiifCjijio

Njjs

m

ir

j

M

m

s

s

jjioj

j

Page 14: Distributed Selfish Replication under Node Churn

Access costs (case I)

Under an LRF order, the greedy churn-aware strategy significantly improves performance

When all nodes follow the greedy churn-unaware strategy, MRF better than LRF order Repeating the greedy churn-aware strategy for multiple rounds only yields a small

benefit to some nodes

Page 15: Distributed Selfish Replication under Node Churn

Access costs (case I-cntd.)

Page 16: Distributed Selfish Replication under Node Churn

Potential gains of nodes by playing again after 1 round (case I)

Node 1 2 3 4 5 6 7 8 9 10

LRF 1.52 1.61 0.83 1.93 0 0 0 0 0 0

MRF 0 0 0 0 0 0 0 0 0 0

Random order

2.81 2.73 0 2.94 2.69 0 0 0 0 0

πj=0.5 j=1…N

0.35 0.40 0 0 0 0 0 0 0 0

Page 17: Distributed Selfish Replication under Node Churn

Participation gain (case I)

Gain of a node if it follows the common churn-aware strategy, vs. keeping the greedy local placement

Page 18: Distributed Selfish Replication under Node Churn

Access costs (case II)

Page 19: Distributed Selfish Replication under Node Churn

Mistreatment example

Set of objects: {1, 2, 3, 4, 5}, set of nodes: {1, 2} C1=4, C2=1 r1={0.5, 0.4, 0.3, 0.2, 0.1}, r2={0.4, 0.3, 0.5, 0.2,

0.1} π1=0,9, π2: variable tl=1, tr=10, ts=100 Placements

greedy local: P1={1, 2, 3, 4}, P2={3} greedy churn-unaware when node 1 plays first: P1={1, 2,

4, 5}, P2={3} Greedy churn-aware when node 1 plays first:

P1={1, 2, 3, 4}, P2={5} when π2 ≤ 0.74

P1={1, 2, 4, 5}, P2={3} when π2 > 0.74

Page 20: Distributed Selfish Replication under Node Churn

Mistreatment example (cntd.)

• The greedy churn-unaware strategy causes mistreatment to node 1 when π2≤0.74 • The greedy churn-aware strategy is always better than the greedy local

Page 21: Distributed Selfish Replication under Node Churn

Conclusions

In the majority of test cases, the greedy churn-aware strategy reduces access cost over the greedy local

and greedy churn-unaware strategy in most of the nodes

alleviates mistreatment problems the LRF order is fair and incites nodes to

participate in the game