33
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Stefan Saroiu, Marvin Theimer, Alec Wolman Presented by Qingqing Yuan Presented by Qingqing Yuan

SkipNet: A Scalable Overlay Network with Practical Locality Properties

  • Upload
    curt

  • View
    34

  • Download
    3

Embed Size (px)

DESCRIPTION

SkipNet: A Scalable Overlay Network with Practical Locality Properties. Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Presented by Qingqing Yuan. Overlay Networks. Overlays have achieved several goals: Scalable and decentralized infrastructure - PowerPoint PPT Presentation

Citation preview

Page 1: SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNet: A Scalable Overlay Network with Practical Locality

PropertiesNick Harvey, Mike Jones, Nick Harvey, Mike Jones,

Stefan Saroiu, Marvin Theimer, Alec WolmanStefan Saroiu, Marvin Theimer, Alec Wolman

Presented by Qingqing YuanPresented by Qingqing Yuan

Page 2: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Overlay NetworksOverlay Networks

Overlays have achieved several goals:Overlays have achieved several goals: Scalable and decentralized infrastructureScalable and decentralized infrastructure Uniform and random load and data Uniform and random load and data

distributiondistribution

But, at the price of data controllabilityBut, at the price of data controllability Data may be stored far from its usersData may be stored far from its users Data may be stored outside its domainData may be stored outside its domain Local accesses leave local organizationLocal accesses leave local organization

Page 3: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Basic Basic trade-offtrade-off: data : data controllability vs. data uniformitycontrollability vs. data uniformity

SkipNet: SkipNet: Traditional overlay functionalityTraditional overlay functionality Provides an abstraction to control Provides an abstraction to control

this this trade-offtrade-off:: Constrained load balancing (CLB)Constrained load balancing (CLB)

Page 4: SkipNet: A Scalable Overlay Network with Practical Locality Properties

OutlineOutline Basic SkipNet designBasic SkipNet design SkipNet locality SkipNet locality

propertiesproperties Performance evaluationPerformance evaluation ConclusionsConclusions

Page 5: SkipNet: A Scalable Overlay Network with Practical Locality Properties

OutlineOutline Basic SkipNet designBasic SkipNet design SkipNet locality SkipNet locality

propertiesproperties Performance evaluationPerformance evaluation ConclusionsConclusions

Page 6: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Why not a DHT?Why not a DHT?

Controlling Data Location is not the Controlling Data Location is not the goal of a DHTgoal of a DHT

DHT’s provide load balancing at the DHT’s provide load balancing at the price of where data is storedprice of where data is stored May be stored far awayMay be stored far away May be stored out of the domainMay be stored out of the domain

Destroy LocalityDestroy Locality Discard useful application-specific Discard useful application-specific

informationinformation

Page 7: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Structure of SkipNet: Structure of SkipNet: Perfect Skip ListsPerfect Skip Lists

Page 8: SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNetSkipNet Key property: two address spacesKey property: two address spaces

1.1. Name ID space: nodes are sorted by their Name ID space: nodes are sorted by their names (e.g. DNS names)names (e.g. DNS names)

2.2. Numeric ID space: nodes are randomly Numeric ID space: nodes are randomly distributeddistributed

Combining both spaces achievesCombining both spaces achieves Content + Path localityContent + Path locality

Scalable peer-to-peer overlay networkScalable peer-to-peer overlay network O(log N) routing performance in both spacesO(log N) routing performance in both spaces O(log N) routing state per nodeO(log N) routing state per node

Page 9: SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNet RingSkipNet Ring

Pointers at level Pointers at level hh skip over 2 skip over 2hh nodes nodes Nodes are ordered by namesNodes are ordered by names

A

D M

V

T

XZ

O

Page 10: SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNet RingSkipNet Ring

Pointers at level Pointers at level hh skip over 2 skip over 2hh nodes nodes Nodes are ordered by namesNodes are ordered by names

A

D M

V

T

XZ

O

Page 11: SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNet RingSkipNet Ring

Pointers at level Pointers at level hh skip over 2 skip over 2hh nodes nodes Nodes are ordered by namesNodes are ordered by names

A

E F

M

H

SZ

G

Page 12: SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNet Global ViewSkipNet Global View

A Level: L = 0

L = 1

L = 3

L = 2

Root Ring

Ring 0 Ring 1

Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

D M OT

VXZ

OZ

A TM

X

DV

A T

M

X

D

VZ

O

O

ZA T

M

X

D

V

Page 13: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Two Address SpacesTwo Address Spaces

SkipNet can route efficiently SkipNet can route efficiently in both address spaces:in both address spaces: Name ID space (e.g. DNS Name ID space (e.g. DNS

names)names) Numeric ID spaceNumeric ID space

Page 14: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Name IDRouting by Name ID

Level: L = 0

L = 1

L = 2

Example: route from A to VExample: route from A to V Simple Rule: Forward the message to node that is closest to Simple Rule: Forward the message to node that is closest to

dest, without going too far.dest, without going too far.

Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

A Root RingD M O

TVXZ

Ring 0A

M

T

X

Ring 1D

Z V

O

O

ZA T

M

X

DV

A TM

XD

V Z

OL = 3

Node A’sRoutingTable

Page 15: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Name IDRouting by Name ID

Level: L = 0

L = 1

L = 2

Example: route from A to VExample: route from A to V Simple Rule: Forward the message to node that is closest to Simple Rule: Forward the message to node that is closest to

dest, without going too far.dest, without going too far.

Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

A Root RingD M O

TVXZ

Ring 0A

M

T

X

Ring 1D

Z V

O

O

ZA T

M

X

DV

A TM

XD

V Z

OL = 3

Page 16: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Name IDRouting by Name ID

Level: L = 0

L = 1

L = 2

Example: route from A to VExample: route from A to V Simple Rule: Forward the message to node that is closest to Simple Rule: Forward the message to node that is closest to

dest, without going too far.dest, without going too far.

Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

A Root RingD M O

TVXZ

Ring 0A

M

T

X

Ring 1D

Z V

O

O

ZA T

M

X

DV

A TM

XD

V Z

OL = 3

Node T’sRoutingTable

Page 17: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Name IDRouting by Name ID

Level: L = 0

L = 1

L = 2

Example: route from A to VExample: route from A to V Simple Rule: Forward the message to node that is closest to Simple Rule: Forward the message to node that is closest to

dest, without going too far.dest, without going too far.

Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

A Root RingD M O

TVXZ

Ring 0A

M

T

X

Ring 1D

Z V

O

O

ZA T

M

X

DV

A TM

XD

V Z

OL = 3

Node T’sRoutingTable

Page 18: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Name IDRouting by Name ID

Level: L = 0

L = 1

L = 2

Example: route from A to VExample: route from A to V Simple Rule: Forward the message to node that is closest to Simple Rule: Forward the message to node that is closest to

dest, without going too far.dest, without going too far.

Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

A Root RingD M O

TVXZ

Ring 0A

M

T

X

Ring 1D

Z V

O

OZ

A TM

X

DV

A TM

XD

V Z

OL = 3

Node T’sRoutingTable

Page 19: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Name IDRouting by Name ID

Example: route from A to VExample: route from A to V Simple Rule: Forward the message to node that is closest to Simple Rule: Forward the message to node that is closest to

dest, without going too far.dest, without going too far.

Level: L = 0

L = 1

L = 2Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

A Root RingD M O

TVXZ

Ring 0A

M

T

X

Ring 1D

Z V

O

OZ

A TM

X

DV

A TM

XD

V Z

OL = 3

Page 20: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Numeric IDRouting by Numeric ID Provides the basic DHT Provides the basic DHT

primitiveprimitive To store file “Foo.c”To store file “Foo.c”

Hash(“Foo.c”) Hash(“Foo.c”) a random numeric a random numeric IDID

Find highest ring matching that Find highest ring matching that numeric IDnumeric ID

Store file on node in that ringStore file on node in that ring

Log N routing efficiencyLog N routing efficiency

Page 21: SkipNet: A Scalable Overlay Network with Practical Locality Properties

DHT ExampleDHT Example

Store file “Foo.c” from node AStore file “Foo.c” from node A Hash(“Foo.c”) = 101…Hash(“Foo.c”) = 101…

Route from A to V in Route from A to V in numeric numeric spacespace

Level: L = 0

L = 1

L = 2Ring 00 Ring 01 Ring 10 Ring 11

Ring000

Ring001

Ring010

Ring011

Ring100

Ring101

Ring110

Ring111

A Root RingD M O

TVXZ

Ring 0A

M

T

X

Ring 1D

Z V

O

O

ZA T

M

X

DV

A TM

XD

V Z

OL = 3

Foo.c

Page 22: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Talk OutlineTalk Outline

Basic SkipNet designBasic SkipNet design SkipNet locality SkipNet locality

propertiesproperties Performance evaluationPerformance evaluation ConclusionsConclusions

Page 23: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Key Locality PropertiesKey Locality Properties In practice, two properties are In practice, two properties are

important:important: Content LocalityContent Locality – ability to explicitly – ability to explicitly

place dataplace data Placement on a single node or on a set of Placement on a single node or on a set of

nodesnodes Path LocalityPath Locality – ability to – ability to guaranteeguarantee that that

local traffic remains locallocal traffic remains local

One abstraction is important – CLB:One abstraction is important – CLB:

Page 24: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Constrained Load Balancing Constrained Load Balancing (CLB)(CLB)

Multiple DHTs with differing scopes using a single Multiple DHTs with differing scopes using a single SkipNet structureSkipNet structure

A result of the ability to route in both address A result of the ability to route in both address spacesspaces

Divide data object names into 2 partsDivide data object names into 2 partsusing the ‘!’ special character using the ‘!’ special character CLB DomainCLB Domain CLB SuffixCLB Suffix

microsoft.commicrosoft.com!!skipnet.htmlskipnet.htmlNumeric RoutingName Routing

Page 25: SkipNet: A Scalable Overlay Network with Practical Locality Properties

CLB ExampleCLB Example

To read file “com.microsoftTo read file “com.microsoft!!skipnet.html”skipnet.html” Route by name ID to “com.microsoft”Route by name ID to “com.microsoft” Route by numeric ID to Hash(“skipnet.html”)Route by numeric ID to Hash(“skipnet.html”)

within the “com.microsoft” constraintwithin the “com.microsoft” constraint

com.sun

edu.ucbgov.irs

com.microsoftskipnet.html

Page 26: SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNet Path LocalitySkipNet Path Locality

Organizations correspond to contiguous SkipNet Organizations correspond to contiguous SkipNet segmentssegments Internal routing by NameID remains internalInternal routing by NameID remains internal

Nodes have left / right pointersNodes have left / right pointers

com.sun

edu.ucbgov.irs

com.microsoft

com.microsoft.research

Page 27: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Fault ToleranceFault Tolerance Many failures occur along organizational Many failures occur along organizational

boundaries:boundaries: Gateway/firewall failure, BGP misconfig, physical Gateway/firewall failure, BGP misconfig, physical

network cut, …network cut, …

SkipNet handles organizational disconnect SkipNet handles organizational disconnect gracefullygracefully Results in two well-connected, partitioned SkipNetsResults in two well-connected, partitioned SkipNets Efficient remerging algorithmsEfficient remerging algorithms

Node independent failuresNode independent failures Same resiliency as systems such as Chord and PastrySame resiliency as systems such as Chord and Pastry

Page 28: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Primary Security Benefit & Primary Security Benefit & WeaknessWeakness+ SkipNet + name access control SkipNet + name access control

mechanism:mechanism: Content locality ensures that content stays Content locality ensures that content stays

within organizationwithin organization Path locality prevents: Path locality prevents:

malicious forwarders malicious forwarders analysis of internal trafficanalysis of internal traffic external tampering external tampering

- Easier to target organizations:Easier to target organizations: Someone creates one million nodes with Someone creates one million nodes with

name prefixes name prefixes microsofa.com microsofa.com and and microsort.commicrosort.com

Most traffic to/from Microsoft will go through Most traffic to/from Microsoft will go through a microsofa / microsort intermediate nodea microsofa / microsort intermediate node

Page 29: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Talk OutlineTalk Outline

Basic SkipNet designBasic SkipNet design SkipNet locality SkipNet locality

propertiesproperties Performance evaluationPerformance evaluation ConclusionsConclusions

Page 30: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Routing by Name ID PerformanceRouting by Name ID Performance

Benefits come at no extra costBenefits come at no extra cost

Page 31: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Surviving Organizational Surviving Organizational DisconnectDisconnect

Disconnected Org Size = 15% of all Disconnected Org Size = 15% of all nodesnodes

Page 32: SkipNet: A Scalable Overlay Network with Practical Locality Properties

ConclusionsConclusions SkipNetSkipNet: :

Traditional overlay functionalityTraditional overlay functionality Explicit control of data placementExplicit control of data placement

Constrained load balancingConstrained load balancing Content + Path Locality are basic Content + Path Locality are basic

ingredients to:ingredients to: Data controllability Data controllability ManageabilityManageability SecuritySecurity Data availabilityData availability PerformancePerformance

Page 33: SkipNet: A Scalable Overlay Network with Practical Locality Properties

Questions?Questions?

Thank Thank you!you!