+ All Categories
Home > Technology > Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous...

Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous...

Date post: 13-Jun-2015
Category:
Upload: kalman-graffi
View: 94 times
Download: 1 times
Share this document with a friend
Description:
Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables
Popular Tags:
32
1 NetSys 2013 Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables Philip Wette Computer Networks Group, University of Paderborn Kalman Graffi Technology of Social Networks Group, University of Düsseldorf 1 NetSys 2013
Transcript
Page 1: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

1 NetSys 2013

Adding Capacity-Aware StorageIndirection to HomogeneousDistributed Hash Tables

Philip WetteComputer Networks Group, University of Paderborn

Kalman GraffiTechnology of Social Networks Group, University of Düsseldorf

1 NetSys 2013

Page 2: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

What is a Peer-to-Peer network?

Loosely coupled group of equally treated computers (peers)

Peers share their resources

Service hosted at home computers

Decentralized system⇒ high availability

In this talk: Distributed Hash Tables (DHT) used for file sharing(P2P Online Social Networks; Distributed filesystem)

Introduction MotivationPeer-to-Peer Networks

2 NetSys 2013

Page 3: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Motivation MotivationPrototype of a Distributed Hash Table

3 NetSys 2013

Page 4: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Why do DHTs need loadbalancing?

Peers and files are equally distributed in the identifier space

⇒ in average, each peer serves an equal amount of files

But:

File sizes are heterogeneous

File popularities are heterogeneous

Resources required for hosting a file ∼ file size · file popularity

Real World observations:A small group of files responsible for largest amount of load

In WWW: file popularity is Zipf distributed (heavy tailed)

A small group of peers own largest amount of resourcesUniversity networks: 1 Gbps upload capacity

Motivation MotivationWhy Loadbalancing?

4 NetSys 2013

Page 5: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Why do DHTs need loadbalancing?

Peers and files are equally distributed in the identifier space

⇒ in average, each peer serves an equal amount of files

But:

File sizes are heterogeneous

File popularities are heterogeneous

Resources required for hosting a file ∼ file size · file popularity

Real World observations:A small group of files responsible for largest amount of load

In WWW: file popularity is Zipf distributed (heavy tailed)

A small group of peers own largest amount of resourcesUniversity networks: 1 Gbps upload capacity

Idea

Let “strong” peers host “hot” files

Motivation MotivationWhy Loadbalancing?

4 NetSys 2013

Page 6: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Goal: Creating a DHT that is aware of both heterogeneous peers and files

Considering

Different capacities of individual peers

File sizes and file popularities

Changing file popularities over time

Explained at the showcase of Chord, turning it into Adaptive-Chord

Techniques can be applied to any DHT

Motivation MotivationGoal

5 NetSys 2013

Page 7: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Goal: Creating a DHT that is aware of both heterogeneous peers and files

Considering

Different capacities of individual peers

File sizes and file popularities

Changing file popularities over time

Explained at the showcase of Chord, turning it into Adaptive-Chord

Techniques can be applied to any DHT

Motivation MotivationGoal

5 NetSys 2013

Page 8: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

1 Motivation

2 Adaptive load balancing for DHTsIdeaLoad balancing

3 EvaluationScenariosResults

Overview Adaptive load balancing for DHTs

6 NetSys 2013

Page 9: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

A peer can supply files it is not responsible for: Creating mirrors in thenetwork

Device A

File F

Device B

Device C

capacity: 20 kbps

load: 90 kbps

capacity: 100 kbps

Adaptive-Chord Adaptive load balancing for DHTsIdea: Decoupling of Responsibility and Supply

7 NetSys 2013

Page 10: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

A peer can supply files it is not responsible for: Creating mirrors in thenetwork

Device A

File F

Device B

Device C

capacity: 20 kbps

load: 90 kbps

capacity: 100 kbpsMirror for File Fload: 90 kbps

Adaptive-Chord Adaptive load balancing for DHTsIdea: Decoupling of Responsibility and Supply

7 NetSys 2013

Page 11: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

A peer can supply files it is not responsible for: Creating mirrors in thenetwork

Device A

File F

Device B

Device C

capacity: 20 kbps

load: 90 kbps

capacity: 100 kbpsMirror for File Fload: 90 kbps

get(File F)

Adaptive-Chord Adaptive load balancing for DHTsIdea: Decoupling of Responsibility and Supply

7 NetSys 2013

Page 12: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

A peer can supply files it is not responsible for: Creating mirrors in thenetwork

Device A

File F

Device B

Device C

capacity: 20 kbps

load: 90 kbps

capacity: 100 kbpsMirror for File Fload: 90 kbps

get(File F)ge

t(Fi

le F)

Adaptive-Chord Adaptive load balancing for DHTsIdea: Decoupling of Responsibility and Supply

7 NetSys 2013

Page 13: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

A peer can supply files it is not responsible for: Creating mirrors in thenetwork

Device A

File F

Device B

Device C

capacity: 20 kbps

load: 90 kbps

capacity: 100 kbpsMirror for File Fload: 90 kbps

get(File F)ge

t(Fi

le F)

File F

Adaptive-Chord Adaptive load balancing for DHTsIdea: Decoupling of Responsibility and Supply

7 NetSys 2013

Page 14: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Main Problem:Given a file, how to find a peer capable of hosting a mirror without gettingoverloaded?

getPeer(100 kbps)

Peer p

Solution:A second P2P to address peers based on their free resources: theCapacity overlay

Adaptive-Chord Adaptive load balancing for DHTsIdea: How to find a peer to host a mirror?

8 NetSys 2013

Page 15: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Main Problem:Given a file, how to find a peer capable of hosting a mirror without gettingoverloaded?

getPeer(100 kbps)

Peer p

Solution:A second P2P to address peers based on their free resources: theCapacity overlay

Adaptive-Chord Adaptive load balancing for DHTsIdea: How to find a peer to host a mirror?

8 NetSys 2013

Page 16: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Idea: Capacity overlay

Quickly find peers based on their free resource countUse slightly modified Chord (works with any P2P using 1D keyspace)Peer identifier reflects free resource countSorts peers based on free resource count

IDK = (2m−1) ·min(1,vM)

0

1/2 M

1/4 M3/4 M

Adaptive-Chord Adaptive load balancing for DHTsCapacity overlay

9 NetSys 2013

Page 17: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Adaptive-Chord

Chord overlay Capacity overlay

Adaptive-Chord Adaptive load balancing for DHTsSystem Architecture

10 NetSys 2013

Page 18: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

1 Motivation

2 Adaptive load balancing for DHTsIdeaLoad balancing

3 EvaluationScenariosResults

Overview Adaptive load balancing for DHTs

11 NetSys 2013

Page 19: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

overloaded?

hosting mirrors for other

peers?

enough free resources to take

back mirror?

remove mirror with highest load

create mirror for f ile with highest load

Yes

Yes

No

Yes

take back mirror

No No

Adaptive-Chord Adaptive load balancing for DHTsLoad balancing

12 NetSys 2013

Page 20: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

1 Motivation

2 Adaptive load balancing for DHTsIdeaLoad balancing

3 EvaluationScenariosResults

Overview Evaluation

13 NetSys 2013

Page 21: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

PeerfactSim.KOM

Discrete P2P-Simulator

Event based

Layers independently configurable

Simulation at packet level

Latency Model: Global Network Positioning ICS

Bandwidth Model: Last Mile Model

http://www.peerfact.org

Evaluation EvaluationSimulator: PeerfactSim.KOM

14 NetSys 2013

Page 22: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Parameters for Simulation1000 Peers simulated with PeerfactSim.KOM24 Hour period10.000 DocumentsUniformly distributed file sizes 0 – 10 MBZipf distributed file popularitieswith / without Churnhigh / low number of queries (10 min / 30 min inter query time)unstable / stable file popularity patterns (10 min / 30 min pop. change)

t40 60 90

IdleJoin Publish

Churn

Query

Evaluation EvaluationScenarios

15 NetSys 2013

Page 23: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

1 Motivation

2 Adaptive load balancing for DHTsIdeaLoad balancing

3 EvaluationScenariosResults

Overview Evaluation

16 NetSys 2013

Page 24: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Average download duration:

0

200

400

600

800

1000

1200

0 200 400 600 800 1000 1200 1400

Dur

atio

n [s

ec]

Simulation time [min]

C hordAdaptive-C hord

Average download up to 9 times faster when using Adaptive-Chord

Evaluation EvaluationSzenario: High load - unstable popularities - no churn

17 NetSys 2013

Page 25: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Success rate:

60

65

70

75

80

85

90

95

100

0 200 400 600 800 1000 1200 1400

Succ

ess r

ate

Simulation time [min]

C hordAdaptive-C hord

Overloaded Peers:

0

20

40

60

80

100

120

140

160

180

200

0 200 400 600 800 1000 1200 1400

# Pe

ers

Simulation time [min]

C hordAdaptive-C hord

To model user’s impatience, a download is aborted when it’s data ratefalls below 1 kbpsNearly 100% success rate in Adaptive-ChordA peer is overloaded when more than 95% of its resources areconsumed

Evaluation EvaluationSzenario: High load - unstable popularities - no churn

18 NetSys 2013

Page 26: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Creating more realistic simulation by considering churn

No file replication in Chord: Peer offline = files are no longer available

100

200

300

400

500

600

700

800

900

1000

0 200 400 600 800 1000 1200 1400

# Pe

ers o

nlin

e

Simulation time [min]

Peers online

Evaluation EvaluationChurn

19 NetSys 2013

Page 27: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Average download duration:

0

100

200

300

400

500

600

700

800

900

0 200 400 600 800 1000 1200 1400

Dur

atio

n [s

ec]

Simulation time [min]

C hordAdaptive-C hord

Still significantly shorter download durations

Average data rates higher for Adaptive-Chord

Evaluation EvaluationSzenario: High load - unstable popularities - churn

20 NetSys 2013

Page 28: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Success rate:

60

65

70

75

80

85

90

95

100

0 200 400 600 800 1000 1200 1400

Succ

ess r

ate

Simulation time [min]

C hordAdaptive-C hord

Overloaded peers:

0

10

20

30

40

50

60

70

80

0 200 400 600 800 1000 1200 1400

# Pe

ers

Simulation time [min]

C hordAdaptive-C hord

Higher success rate in Adaptive-Chord

Overall load much lower than for nochurn scenarios because of offlinepeers

Evaluation EvaluationSzenario: High load - unstable popularities - churn

21 NetSys 2013

Page 29: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

DHTs are not designed to handle heterogeneous files

Largest amount of load is created by small group of files

Small number of peers own most resources

When creating mirrors in a DHT, a function is required to addresspeers by free capacity

We propose a second P2P aside to accomplish such an addressing

We propose a simple load balancing technique based on mirrors

As a showcase we turned Chord into Adaptive-Chord

Simulation showed that, even under churn, Adaptive-Chord lowersdownload time significantly

Conclusion Evaluation

22 NetSys 2013

Page 30: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

23 NetSys 2013

Philip Wette

Sonderforschungsbereich 901Universität PaderbornFürstenallee 1133102 Paderborn

http://sfb901.uni-paderborn.de/

Page 31: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

A method for handling non-uniform identifier distribution in Chord:

Thorsten Schütt, Florian Schintke, Alexander Reinefeld:Chord#: Structured Overlay Network for Non-UniformLoad-Distribution, Technical Report, ZIB, Berlin, 2005.

Evaluation EvaluationHandling Non-Uniform Identifiers in Chord

24 NetSys 2013

Page 32: Kalman Graffi - IEEE NetSys 2013 - Adding Capacity-Aware Storage Indirection to Homogeneous Distributed Hash Tables

Szenario v [kbps] t [s] # O success

busy_unstable_nochurnChord 118.6 806.7 158.6 71.8 %Adaptive-Chord 275.4 85.9 18.2 97.1 %idle_unstable_nochurnChord 126.5 619.9 76.4 87.7 %Adaptive-Chord 243.8 72.8 5.3 98.8 %busy_unstable_churnChord 249.2 514.4 29.4 38.1 %Adaptive-Chord 379.8 186.1 21.8 43.6 %idle_unstable_churnChord 207.8 370.3 12.7 43.2 %Adaptive-Chord 333.7 159.1 11 46.8 %

v data rate

t duration of a download

# O Number of overloaded peers

success success rate

Evaluation EvaluationResults

25 NetSys 2013


Recommended