Scalable node addressing Scalable node addre and message routing - - PowerPoint PPT Presentation

scalable node addressing scalable node addre and message
SMART_READER_LITE
LIVE PREVIEW

Scalable node addressing Scalable node addre and message routing - - PowerPoint PPT Presentation

Scalable node addressing Scalable node addre and message routing for global computing lobal computing Peer-to-peer (P2P) Global computing


slide-1
SLIDE 1

Scalable node addressing and message routing for global computing

  • Scalable node addre

lobal computing

slide-2
SLIDE 2

Peer-to-peer (P2P)

Global computing

slide-3
SLIDE 3

P2P

  • message routing

Fault tolerance

slide-4
SLIDE 4
  • IP address

IP address Private address

IP addressing Addressing scalable

slide-5
SLIDE 5
  • message routing

routing Routing table O(log N) hop routing

(N : )

Minimum-hop neighborly

slide-6
SLIDE 6

Fault tolerance

Network failure Node failure

slide-7
SLIDE 7
  • Phoenix model[’01]
slide-8
SLIDE 8

Phoenix model on General graphs

(interval)

e.g. [0,16)= {0,1,…,15}

disjoint

[0,264)

1 ()

slide-9
SLIDE 9

Message routing

64bitkey key routing

slide-10
SLIDE 10

Routing table

  • (1)
  • [0,264)

() key Join

slide-11
SLIDE 11
  • (
  • )

a

64

slide-12
SLIDE 12
  • (
  • )

a

64

b

slide-13
SLIDE 13
  • (
  • )

a

64

b

Join(key=10)

slide-14
SLIDE 14
  • (
  • )

a

64

b

Join(key=10) 10

slide-15
SLIDE 15
  • (
  • )

a

64

b

Join(key=10) 10

slide-16
SLIDE 16
  • (
  • )

a

64

b

Join(key=10) 10

slide-17
SLIDE 17
  • (
  • )

a

64

b

Join(key=10) 10 32

slide-18
SLIDE 18
  • (
  • )

a

64

b

Join(key=10) 10 32

slide-19
SLIDE 19
  • (
  • )

a

64

b

32

slide-20
SLIDE 20
  • (
  • )

a

64

b

32

c

slide-21
SLIDE 21
  • (
  • )

a

64

b

32

c

Join(key=50)

slide-22
SLIDE 22
  • (
  • )

a

64

b

32

c

Join(key=50) 50

slide-23
SLIDE 23
  • (
  • )

a

64

b

32

c

Join(key=50) 50

slide-24
SLIDE 24
  • (
  • )

a

64

b

32

c

Join(key=50) 50

slide-25
SLIDE 25
  • (
  • )

a

64

b

32

c

Join(key=50) 50 48

slide-26
SLIDE 26
  • (
  • )

a

64

b

32

c

Join(key=50) 50 48

slide-27
SLIDE 27
  • (
  • )

a

64

b

32

c

48

slide-28
SLIDE 28

Routing table

  • (2)

cluster

Level 0 cluster Level i cluster

Level i - 1 clusterb

slide-29
SLIDE 29

cluster (

  • )

b = 2

64 32 16 48 8 24 40 36 a b c d e g h f

slide-30
SLIDE 30

cluster (

  • )

b = 2

64 32 16 48 8 24 40 36 a b c d e g h f L=0 a b c d e g h f

slide-31
SLIDE 31

cluster (

  • )

b = 2

64 32 16 48 8 24 40 36 a b c d e g h f L=0 a b c d e g h f L=1 a b c d e g h f

slide-32
SLIDE 32

cluster (

  • )

b = 2

64 32 16 48 8 24 40 36 a b c d e g h f L=0 a b c d e g h f L=1 a b c d e g h f L=2 a b c d e g h f

slide-33
SLIDE 33

cluster (

  • )

b = 2

64 32 16 48 8 24 40 36 a b c d e g h f L=0 a b c d e g h f L=1 a b c d e g h f L=2 a b c d e g h f L=3 a b c d e g h f

slide-34
SLIDE 34

Routing table

  • (3)

routing table

  • level i cluster

blevel i +1 subcluster

b - 1subcluster

  • Routing table i b - 1
  • level i +1 subcluster

IP address

slide-35
SLIDE 35

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64

slide-36
SLIDE 36

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64

slide-37
SLIDE 37

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a

slide-38
SLIDE 38

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a

slide-39
SLIDE 39

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a

slide-40
SLIDE 40

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b

slide-41
SLIDE 41

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b

slide-42
SLIDE 42

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b

slide-43
SLIDE 43

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b c

slide-44
SLIDE 44

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b c

slide-45
SLIDE 45

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b c

slide-46
SLIDE 46

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b c d

slide-47
SLIDE 47

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b c d

slide-48
SLIDE 48

routing table

  • (
  • 1)

b = 2

x 4 8 16 32 64 a b c d

[0,4) x [4,8) d [8,16) c [16,32) b [32,64) a

x routing table

slide-49
SLIDE 49

routing table

  • (
  • 2)

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4

b = 4, x [30,31)

slide-50
SLIDE 50

routing table

  • (
  • 2)

[31,32) d4 [30,31)

  • x

[29,30) d1 [28,29)d1 [24,48)c3 [20,24)c2 [16,20)c1 [48,64)b4 [32,48) b3 [0,16)b1 [192,256)a4 [128,192)a3 [64,128)a2

b = 4, x [30,31) routing table

slide-51
SLIDE 51

Routing

  • Level i routing

level i +1routing

  • : log N / log b
  • Routing table : (b - 1) log N / log b
  • N
  • b = 16 , N = 220 = 1,048,576
  • : 5, Routing table: 75
slide-52
SLIDE 52
  • (1)
  • IP address p

1. kkeyJoin(k,p)

  • 2.

k

  • 3.

Routing table NewNode(k,0,p)

slide-53
SLIDE 53
  • (2)

NewNode

  • NewNode (k,i,p) routing

1. Level i + 1subcluster k

  • l , lkey

NewNeighbor(l,p)routing 2. Level i + 1subcluster k

  • m

NewNode (m,i+1,p) routing

  • NewNeighbor (l,p)

1. p IP address

  • NewNeighbor

routing table

slide-54
SLIDE 54
  • (
  • )

d4

xd4Join (k,p)

slide-55
SLIDE 55
  • (
  • )

d4

xd4Join (k,p)

x

slide-56
SLIDE 56
  • (
  • )

d4

xd4NewNode(k,0,p)

x

slide-57
SLIDE 57
  • (
  • )

d4

xd4NewNode(k,0,p)

x

NewNode

slide-58
SLIDE 58
  • (
  • )

d4 d4kLevel 1subcluser NewNeighbor x

slide-59
SLIDE 59
  • (
  • )

d4 d4kLevel 1subcluser NewNeighbor x a2 a3 a4

slide-60
SLIDE 60
  • (
  • )

d4 d4kLevel 1subcluser NewNeighbor x a2 a3 a4

NewNeigbor NewNeigbor NewNeigbor

slide-61
SLIDE 61
  • (
  • )

d4 NewNeighborIP address x a2 a3 a4

slide-62
SLIDE 62
  • (
  • )

d4 NewNeighborIP address x a2 a3 a4

IP address IP address IP address

slide-63
SLIDE 63
  • (
  • )

d4 d4kLevel 1subcluser NewNode x a2 a3 a4

slide-64
SLIDE 64
  • (
  • )

d4 d4kLevel 1subcluser NewNode x a2 a3 a4 b1

slide-65
SLIDE 65
  • (
  • )

d4 d4kLevel 1subcluser NewNode x a2 a3 a4 b1

NewNode

slide-66
SLIDE 66
  • (
  • )

d4 x a2 a3 a4 b1 b1kLevel 2subcluser NewNeighbor

slide-67
SLIDE 67
  • (
  • )

d4 x a2 a3 a4 b1 b1kLevel 2subcluser NewNeighbor b4 b3

slide-68
SLIDE 68
  • (
  • )

d4 x a2 a3 a4 b1 b1kLevel 2subcluser NewNeighbor b4 b3

NewNeighbor NewNeighbor NewNeighbor

slide-69
SLIDE 69
  • (
  • )

d4 x a2 a3 a4 b1 b4 b3 NewNeighborIP address

slide-70
SLIDE 70
  • (
  • )

d4 x a2 a3 a4 b1 b4 b3 NewNeighborIP address

IP address IP address IP address

slide-71
SLIDE 71
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1kLevel 2subcluser NewNode b1

slide-72
SLIDE 72
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1kLevel 2subcluser NewNode b1 c2

slide-73
SLIDE 73
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1kLevel 2subcluser NewNode b1 c2

NewNode

slide-74
SLIDE 74
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c2kLevel 3subcluser NewNeighbor

slide-75
SLIDE 75
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c2kLevel 3subcluser NewNeighbor c3 c1

slide-76
SLIDE 76
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c2kLevel 3subcluser NewNeighbor c3 c1

NewNeighbor NewNeighbor NewNeighbor

slide-77
SLIDE 77
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c3 c1 NewNeighborIP address

slide-78
SLIDE 78
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c3 c1 NewNeighborIP address

IP address IP address IP address

slide-79
SLIDE 79
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c3 c1 c2kLevel 3subcluser NewNode

slide-80
SLIDE 80
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c3 c1 c2kLevel 3subcluser NewNode d1

slide-81
SLIDE 81
  • (
  • )

d4 x a2 a3 a4 b4 b3 b1 c2 c3 c1 c2kLevel 3subcluser NewNode d1

NewNode

slide-82
SLIDE 82
  • (
  • )

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4 d1kLevel 4subcluser NewNeighbor

slide-83
SLIDE 83
  • (
  • )

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4 d1kLevel 4subcluser NewNeighbor

NewNeighbor NewNeighbor

slide-84
SLIDE 84
  • (
  • )

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4 NewNeighborIP address

slide-85
SLIDE 85
  • (
  • )

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4 NewNeighborIP address

IP address IP address

slide-86
SLIDE 86
  • (
  • )

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4 d1kLevel 4subcluser NewNode

slide-87
SLIDE 87
  • (
  • )

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4 d1kLevel 4subcluser NewNode

NewNode

slide-88
SLIDE 88
  • (
  • )

d1 d4 x c3 c2 c1 b1 b3 b4 a2 a3 a4

xIP addressrouting table

slide-89
SLIDE 89
  • [a,b]level i

level i - 1cluster [,]

  • a – 1 [,], a - 1

, - 1

slide-90
SLIDE 90
  • (
  • )

64 32 48 16 a1 a2 a4 b1 b2 b3 b4

slide-91
SLIDE 91
  • (
  • )

64 32 48 16 a1 a2 a4 b1 b2 b3 b4

b2

slide-92
SLIDE 92
  • (
  • )

64 32 48 16 a1 a2 a4 b1 b3 b4

slide-93
SLIDE 93
  • (
  • )

64 32 48 16 a1 a2 a4 b1 b3 b4

b1

slide-94
SLIDE 94
  • (
  • )

64 32 48 16 a1 a2 a4 b4 b3 b4

slide-95
SLIDE 95
  • (
  • )

64 32 48 16 a1 a2 a4 b4 b3 b4

a4

slide-96
SLIDE 96
  • (
  • )

64 32 16 a1 a2 b4 b3 b4

slide-97
SLIDE 97
  • (
  • )

64 32 16 a1 a2 b4 b3 b4

b3

slide-98
SLIDE 98
  • (
  • )

64 32 16 a1 a2 b4

slide-99
SLIDE 99

Fault tolerance

Network failure

Failchannelrouting table

k k channel

Node failure

slide-100
SLIDE 100
  • Pastry [Rowstron et al. ’01]

128bitID 128bitkeyID

routing

O(log N) hops

CAN [Ratnasamy et al. ’01]

d[0,1][0,1]

  • O(N1/d) hops
slide-101
SLIDE 101
  • Phoenix model on General graphs

P2P Scalable node addressing Scalable message routing

: O(log N) routing table: O(log N)

Network failure(?)

slide-102
SLIDE 102
  • cluster

Firewall NAT levelcluster2-hoprouting

?

Node failure

?

slide-103
SLIDE 103

TODO