7
LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON PLAXTON ROUTING CA4006 Lecture Notes (Martin Crane 2015) 1 Lecture 3: Architectures: Supplementary on Plaxton

LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

LECTURE 3: ARCHITECTURES:

SUPPLEMENTARY SLIDES ON PLAXTON

ROUTING

CA4006 Lecture Notes (Martin Crane 2015) 1Lecture 3: Architectures: Supplementary on Plaxton

Page 2: LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

Plaxton Routing• Plaxton, Rajamaran and Richa: mechanism for efficient

dissemination of objects in a network, published in 1997

– Before P2P systems came about!

• Basic idea: prefix-oriented routing (assume fixed no. of nodes)

– Store object ID=A at node with ID of longest common prefix with A

• If many such nodes exist, choose node with longest common suffix

– Goal: uniform data dissemination

– Routing based on pointer list (object – node mapping) and

neigbour list (primary + secondary neighbours)

• Basis for well-known DHTs Pastry, etc (and follow-up projects)

– Method adapted to needs of P2P systems + simplified

CA4006 Lecture Notes (Martin Crane 2015) 2Lecture 3: Architectures: Supplementary on Plaxton

Page 3: LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

0…

01..010. 011.

012. 013.0131

0110

0112

03..030. 031.

032. 033.

02..

022.

020. 021.

023.

00..

002.

000. 001.

003.

Pastry Example

3CA4006 Lecture Notes (Martin Crane 2015)Lecture 3: Architectures: Supplementary on Plaxton

1…

10.. 11..

13..12..

122.

120. 121.

123.

130. 131.

132. 133.

102.

100. 101.

103.

010. 111.

112. 113.0130

2…

20.. 21..

23..22..

222.

220. 021.

023.

230. 231.

232. 233.

202.

200. 201.

003.

210. 211.

212. 213.

3…

30.. 31..

33..32..

322.

320. 321.

323.

330. 331.

332. 333.

302.

300. 301.

303.

310. 311.

312. 313.

Page 4: LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

Pastry: Topology• Identifier space:

– 2�-bit identifiers (typically: � = 128), wrap-around at 2�− 1 ↔ 0

– Interpret identifiers to the base of 2� (typically: � = 4, base 16)

– Prefix-based tree topology

– Leaves: keys & node IDs; (key, value) pairs under numerically

closest node

managed by

xxx

l=6: 6-bit identifiersb=2: base 4

0xx 1xx 2xx 3xx

00x 01x 02x 03x 10x 11x 12x 13x 20x 21x 22x 23x 30x 31x 32x 33x

key node

4Lecture 3: Architectures: Supplementary on Plaxton © Prof Michael Welzl

Page 5: LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

Pastry: Routing Basics• Example

• Goal: find node responsible for �, e.g. 120

• Tree-based search for lookup(�)

– Traverse tree search structure top-down

• Prefix-based routing for lookup(�)

– Approximate tree search in distributed scenario

– Forward query to known node with longest prefix matching �

xxx

0xx 1xx 2xx 3xx

00x 01x 02x 03x 10x 11x 12x 13x 20x 21x 22x 23x 30x 31x 32x 33x

5Lecture 3: Architectures: Supplementary on Plaxton © Prof Michael Welzl

Page 6: LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

Pastry: Routing Basics (/2)

• Routing in Pastry:

– Each step, route towards “numerically“

closest node

• That is, query is routed to a node with a

one character longer prefix (= b Bits)

� � log�� � routing steps

– If that is not possible:

• Route towards node numerically closer to ��

012321

321321

022222

013331

012110

012300

012322

012321

Destination:

Start

1. Hop

2. Hop

3. Hop

4. Hop

5. Hop

Destination:

(b = 2)

6Lecture 3: Architectures: Supplementary on Plaxton © Prof Michael Welzl

Page 7: LECTURE 3: ARCHITECTURES: SUPPLEMENTARY SLIDES ON …mcrane/CA4006/CA4006 Lecture 3... · • Basis for well-known DHTs Pastry, etc (and follow-up projects) – Method adapted to

xxx

0xx 1xx 2xx 3xx

00x 01x 02x 03x 10x 11x 12x 13x 20x 21x 22x 23x 30x 31x 32x 33x

?xx: 011 1 - 301

1?x: 102 - 2 -

12?: 0 - - 123

Pastry: Routing Table• Routing table

– Long distance links to other prefix realms

– �/� rows: one per prefix length

– 2� − 1 columns: 1 per digit different from local node ID

– Routing table for node 120: