[P ASTRY ] Shrideep Pallickara Computer Science Colorado State - - PDF document

p astry
SMART_READER_LITE
LIVE PREVIEW

[P ASTRY ] Shrideep Pallickara Computer Science Colorado State - - PDF document

CS555: Distributed Systems [Fall 2019] Dept. Of Computer Science , Colorado State University CS 555: D ISTRIBUTED S YSTEMS [P ASTRY ] Shrideep Pallickara Computer Science Colorado State University CS555: Distributed Systems [Fall 2019] September


slide-1
SLIDE 1

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.1

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS 555: DISTRIBUTED SYSTEMS

[PASTRY]

Shrideep Pallickara Computer Science Colorado State University

September 12, 2019

L6.1 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.2 Professor: SHRIDEEP PALLICKARA

Frequently asked questions from the previous class survey

¨ Napster ¤ Clients are the only ones used for resources? ¤ Any backup servers that host resources, so that you have retrieval

guarantees?

¨ How can you locate a specific node with partial information about

  • ther nodes?

September 12, 2019

slide-2
SLIDE 2

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.2

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.3 Professor: SHRIDEEP PALLICKARA

Topics covered in this lecture

¨ Pastry ¤ Simplified algorithm ¤ The complete routing algorithm ¤ Assimilation of new nodes ¤ Host failures and departures

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

IMPLEMENTING DHTS

September 12, 2019

L6.4

slide-3
SLIDE 3

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.3

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.5 Professor: SHRIDEEP PALLICKARA

Implementing DHTs: 3 core elements

September 12, 2019

¨ Mapping keys to nodes ¨ Forwarding a lookup for a key to the appropriate node ¨ Building routing tables

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.6 Professor: SHRIDEEP PALLICKARA

Implementing DHTs: Mapping keys to nodes

¨ Must be load balanced ¨ Done using one-way hash functions ¤ MD5 (128-bit) or SHA-1 (160-bit) ¨ Ensures that content is distributed uniformly

September 12, 2019

slide-4
SLIDE 4

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.4

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.7 Professor: SHRIDEEP PALLICKARA

Implementing DHTs Forwarding lookups

¨ Any node that receives query for key ¤ Must forward it to a node whose ID is closer to the key ¨ Above rule guarantees that query eventually arrives at the closest node ¨ For e.g.: ¤ Node has ID 346, and key has ID 542 ¤ Forwarding to node 495 gets it numerically closer

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.8 Professor: SHRIDEEP PALLICKARA

Implementing DHTs: Building routing tables

September 12, 2019

¨ Multiple nodes participate in locating content ¨ Each node must know about some other nodes ¤ To forward lookup requests ¤ SUCCESSOR n The node with the closest succeeding ID ¤ Other nodes n For efficiency in routing

slide-5
SLIDE 5

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.5

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.9 Professor: SHRIDEEP PALLICKARA

Distributed hash tables: Identifiers

¨ Data items are assigned an identifier from a large random space ¤ 128-bit UUIDs or 160-bit SHA1 digests ¨ Nodes are also assigned a number from the same identifier space

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.10 Professor: SHRIDEEP PALLICKARA

Crux of the DHT problem

September 12, 2019

¨ Implement an efficient, deterministic scheme to ¤ Map data items to node ¨ When you look up a data item ¤ Network address of node holding the data is returned

slide-6
SLIDE 6

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.6

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

PASTRY

September 12, 2019

L6.11 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.12 Professor: SHRIDEEP PALLICKARA

Pastry

¨ All nodes and objects are assigned 128-bit GUIDs ¨ Applies secure hash function to: ¤ The public-key assigned to each node è Node GUID ¤ The object’s name or some part of the object’s stored state

September 12, 2019

slide-7
SLIDE 7

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.7

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.13 Professor: SHRIDEEP PALLICKARA

Resulting GUIDs have usual properties of secure hash values

¨ They are randomly distributed in the range

0 – (2128 –1)

¨ Provide no clue about the values from which they were computed ¨ Collisions in the GUID space (for nodes and objects) are extremely

unlikely

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.14 Professor: SHRIDEEP PALLICKARA

The Pastry routing

¨ The number of nodes in the network, N ¨ The algorithm will correctly route messages addressed to any GUID in

O(log N) steps

n Delivered to an active node whose GUID is numerically closest to it

¨ Active nodes take responsibility for processing requests addressed to

all objects in their numerical neighborhood

September 12, 2019

slide-8
SLIDE 8

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.8

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.15 Professor: SHRIDEEP PALLICKARA

Pastry routing

¨ Routing transfers message to a node that is closer to its destination ¨ Closeness is in an artificial space ¤ The space of GUIDs

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.16 Professor: SHRIDEEP PALLICKARA

Minimizing unnecessarily extended transport paths

¨ Pastry uses a locality metric based on network distance ¤ Hop-counts, round-trip delay measurements ¨ Uses locality metric to select appropriate neighbors when setting up

the routing tables

September 12, 2019

slide-9
SLIDE 9

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.9

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.17 Professor: SHRIDEEP PALLICKARA

Managing churn: Nodes joining and leaving the system

¨ Fully self-organizing ¨ When new nodes join the overlay? ¤ Obtain data needed to construct routing table and other required state

from existing members

n In O(log N) messages: N is the number of hosts in overlay ¨ When a node fails or departs? ¤ Remaining nodes detect its absence ¤ Nodes cooperatively reconfigure to reflect required changes in routing

structure

n In O(log N) messages

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

THE PASTRY ROUTING ALGORITHM

September 12, 2019

L6.18

slide-10
SLIDE 10

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.10

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.19 Professor: SHRIDEEP PALLICKARA

We will look at the routing algorithm in two parts

¨ STAGE I: A simplified form ¤ Routes messages correctly but inefficiently without a routing table ¨ STAGE II: A modified approach that uses a routing table ¤ Full routing algorithm ¤ Routes requests to any node in O(log N) messages

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

STAGE 1:

SIMPLIFIED PASTRY ALGORITHM

September 12, 2019

L6.20

slide-11
SLIDE 11

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.11

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.21 Professor: SHRIDEEP PALLICKARA

Stage I

¨ Each active node stores a leaf set ¤ A vector L of size 2l ¤ Contains GUIDs and and IP addresses of nodes n With GUIDs that are numerically closer on either side of its own n l above and l below ¨ Leaf sets are maintained as nodes join and leave

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.22 Professor: SHRIDEEP PALLICKARA

Invariant of the Pastry system

¨ Leaf sets reflect a recent state of the system, and that they converge

  • n the current state

¤ In the face of failures up to some maximum failure rate

September 12, 2019

slide-12
SLIDE 12

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.12

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.23 Professor: SHRIDEEP PALLICKARA

Pastry GUID space

¨ Is treated as a circular space ¤ Similar to Chord ¨ GUID 0’s lower neighbor is 2128–1

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.24 Professor: SHRIDEEP PALLICKARA

Stage 1:

¨ Leaf set for a node contains the GUIDs and IP addresses of the node’s

immediate neighbors

¨ With correct leaf sets of size at least 2? ¤ Message routing to any node is possible ¤ Node A that receives a message M with destination address D n Compares D with its own GUID A and with each of the GUIDs in the leaf-set n Forwards M to nodes in leaf-set that are numerically closest to D

September 12, 2019

slide-13
SLIDE 13

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.13

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.25 Professor: SHRIDEEP PALLICKARA

STAGE 1: Pastry routing example with leaf sets of size 8 (l=4)

65A1FC D13DA3 D467C4 D471F1 D46A1C Routing of message D46A1C from node 65A1FC

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.26 Professor: SHRIDEEP PALLICKARA

Stage 1: Routing analysis

¨ It will require about N/2l hops to deliver a message in a network with

N nodes

¨ Number of hops is very inefficient

September 12, 2019

slide-14
SLIDE 14

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.14

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

STAGE 2:

THE FULL PASTRY ALGORITHM

September 12, 2019

L6.27 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.28 Professor: SHRIDEEP PALLICKARA

Stage 2: Pastry Routing

¨ Each node maintains a tree-structured routing table ¨ Table contains GUIDs and IP addresses for nodes spread throughout

the 2128 possible GUID values

¤ Increased density of coverage for GUIDs numerically closer to its own

September 12, 2019

slide-15
SLIDE 15

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.15

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.29 Professor: SHRIDEEP PALLICKARA

Structure of the routing table

¨ GUIDs are viewed as hexadecimal values ¨ Table classifies GUIDs based on their hexadecimal prefixes ¨ Table has as many rows as there are hexadecimal digits in a GUID ¤ For a 128-bit GUID? 128/4 = 32 rows ¨ Any row n contains 15 entries ¤ 1 for each possible value of the nth hexadecimal digit ¤ Excludes values in the local node’s GUID

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.30 Professor: SHRIDEEP PALLICKARA

Structure of the routing table at node 65A1

p = GUID prefixes and corresponding node handles n

n 1 n 2 n 3 n 4 n 5 n 6 7 n 8 n 9 n A n B n C n D n E n F n 1 60 n 61 n 62 n 63 n 64 n 65 66 n 67 n 68 n 69 n 6A n 6B n 6C n 6D n 6E n 6F n 2 65 n 65 1 n 65 2 n 65 3 n 65 4 n 65 5 n 65 6 n 65 7 n 65 8 n 65 9 n 65 A 65 B n 65 C n 65 D n 65 E n 65 F n

3

65 A0 n 65 A1 65 A2 n 65 A3 n 65 A4 n 65 A5 n 65 A6 n 65 A7 n 65 A8 n 65 A9 n 65 AA n 65 AB n 65 AC n 65 AD n 65 AE n 65 AF n

Each entry points to one of the potentially many nodes whose GUIDs have a relevant prefix

September 12, 2019

slide-16
SLIDE 16

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.16

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.31 Professor: SHRIDEEP PALLICKARA

Pastry’s Routing Algorithm

If (L-l < D < Ll) {

/** Destination is within leaf set or is the current node */ Forward M to element Li of the leafset with GUID closest to D or the current node A

} else { /** Use the routing table to dispatch M to a node with a closer GUID */ }

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.32 Professor: SHRIDEEP PALLICKARA

Using the Routing Table: Core concept

¨ Compare the hexadecimal digits of D with those of A (this is the GUID

  • f the current node where the message is being processed)

¨ Comparison proceeds from left-to-right to discover the length, p, of

their longest common prefix

¤ Used as row offset ¤ The fist non-matching digit of D is used as the column offset n This gets us to the required element in the routing table n Construction of the routing table ensures that this element (if not empty) contains the

IP address of node whose GUID has (p +1) prefix digits in common with D

September 12, 2019

slide-17
SLIDE 17

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.17

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.33 Professor: SHRIDEEP PALLICKARA

Using the routing table to dispatch M to a node with a closer GUID [1/3]

¨ R[p, i]: Element at row p and column i of the routing table ¨ Find § p: the length of the longest common prefix of D and A § i: the (p+1)th hexadecimal digit of D

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.34 Professor: SHRIDEEP PALLICKARA

Using the routing table to dispatch M to a node with a closer GUID [2/3]

¨ If (R[p, i] ≠ null) forward M to R[p, i] ¤ Route M to a node with a longer common prefix ¨ This step comes into play when: ¤ D does not fall within the numeric range of current node’s leaf set ¤ Relevant routing table entries are available

September 12, 2019

slide-18
SLIDE 18

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.18

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.35 Professor: SHRIDEEP PALLICKARA

Using the routing table to dispatch M to a node with a closer GUID [3/3]

¨ If (R[p, i]) is null ? ¤ Forward M to any node in L or R with a common prefix of length p but a

numerically closer GUID

¨ D falls outside the numeric range of leaf set and there isn’t a relevant

routing table entry

¤ Rare! ¤ If it is in R? n Then it must be closer to D than any node in L n We are improving on Stage 1

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

INTEGRATING NEW NODES INTO PASTRY

September 12, 2019

L6.36

slide-19
SLIDE 19

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.19

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.37 Professor: SHRIDEEP PALLICKARA

Adding new nodes

¨ New nodes use a joining protocol ¨ Join protocol allows ¤ The new node to acquire their routing table and leaf set contents ¤ Notifying other nodes of changes that they must make to their tables

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.38 Professor: SHRIDEEP PALLICKARA

Let’s look at the join protocol involving a new node

¨ New node’s GUID is X ¨ Nearby node that this new node contacts is A ¨ Node X send a special join request message to A ¤ Giving X as its destination ¨ Node A dispatches the join message via Pastry ¨ Pastry will route message to an existing node with GUID numerically

closest to X

¤ Let’s call this the destination node Z

September 12, 2019

slide-20
SLIDE 20

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.20

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.39 Professor: SHRIDEEP PALLICKARA

Routing and transmissions relating to the join message

¨ The join message is routed through the network ¤ A, Z and intermediate nodes (B, C, …) ¨ This results in the transmission of relevant parts of their routing tables

and leaf sets to X

¨ X examines and constructs its own routing table and leaf set from them

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.40 Professor: SHRIDEEP PALLICKARA

How X builds its own routing table [1/2]

¨ First row of X depends on the value of X’s GUID ¤ To minimize routing distances, table should be constructed to route messages

via neighboring nodes

¤ A is a neighbor of X, so first row of A’s table A0 is a good initial choice for

the first row of X‘s table X0

September 12, 2019

slide-21
SLIDE 21

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.21

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.41 Professor: SHRIDEEP PALLICKARA

How X builds its own routing table [2/2]

¨ A’s table is not relevant for for the second row ¤ GUIDs for X and A may not share the first hexadecimal digit ¨ But the routing algorithm ensures that ¤ X and B’s GUID do share the first hexadecimal digit n Second row of B’s routing table B1 is a suitable initial value for X1 ¨ Similarly, C2 is suitable for X2 and so on.

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.42 Professor: SHRIDEEP PALLICKARA

Leaf sets for X

¨ Since Z’s GUID is numerically closest to X’s ¤ X’s ideal leaf set will differ from Z’s by just one member ¨ Z’s leaf set is an adequate approximation ¤ Eventually optimized through interaction with the neighbors

September 12, 2019

slide-22
SLIDE 22

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.22

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.43 Professor: SHRIDEEP PALLICKARA

Once X has constructed the its leaf set and routing table …

¨ X sends their contents to all nodes identified in the leaf set and the

routing table

¨ The nodes that receive these updates, adjust their own tables to

incorporate the node

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

HOST FAILURE OR DEPARTURE

September 12, 2019

L6.44

slide-23
SLIDE 23

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.23

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.45 Professor: SHRIDEEP PALLICKARA

Detection and coping with node failures

¨ When a node’s immediate neighbors (in GUID space) cannot

communicate with it?

¤ The node is considered failed ¨ Necessary to repair leaf sets and routing tables that contain the failed

GUID

¤ Leaf sets are repaired proactively ¤ Routing tables at the other nodes are updated on a “when discovered basis”

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.46 Professor: SHRIDEEP PALLICKARA

Repairing leaf sets

¨ Node that discovers the failure ¤ Looks for a live node close to the failed node, and requests copy of that

node’s leaf set, L’

¤ This should contain GUIDs that partly overlap those in the node that

discovered failure

n Include one that should replace the failed node ¨ Other neighboring nodes are informed ¤ They perform a similar procedure

September 12, 2019

slide-24
SLIDE 24

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.24

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.47 Professor: SHRIDEEP PALLICKARA

Locality

¨ Pastry routing structure is redundant ¤ Multiple routes between pairs of nodes ¨ Construction of routing tables tries to take advantage of this

redundancy

¤ Reduce message transmission times by exploiting locality properties of

underlying network

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.48 Professor: SHRIDEEP PALLICKARA

Routing table: Exploiting locality. [1/2]

¨ In the routing table, each row contains 16 entries ¤ Entries in the ith row give addresses of 16 nodes with GUIDs with i-1 initial

hexadecimal digits

¤ Ith digit takes each of the possible hexadecimal values ¨ Well-populated Pastry system contains more nodes than can be

contained in an individual routing table

September 12, 2019

slide-25
SLIDE 25

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.25

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.49 Professor: SHRIDEEP PALLICKARA

Routing table: Exploiting locality. [2/2]

¨ When routing table is constructed choice is made for each position ¤ Between multiple candidates ¤ Based on proximity neighbor selection ¨ Locality metric ¤ IP hops or measured latency

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.50 Professor: SHRIDEEP PALLICKARA

Performance of exploiting locality

¨ Since the information in the routing table is not comprehensive ¤ Mechanism does not produce globally optimal routing ¨ Simulations show that ¤ On average, the routing is 30-50% longer than the optimum

September 12, 2019

slide-26
SLIDE 26

SLIDES CREATED BY: SHRIDEEP PALLICKARA L6.26

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.51 Professor: SHRIDEEP PALLICKARA

Coping with malicious nodes

¨ Small degree of randomness is introduced into route selection ¨ Randomized to yield a common prefix that is less than the maximum

length

¤ With a certain probability ¨ Routes are taken from an earlier row ¤ Less optimal, but different than standard version ¤ Client transmission succeed in the presence of small numbers of malicious

nodes

September 12, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L6.52 Professor: SHRIDEEP PALLICKARA

The contents of this slide-set are based on the following references

¨ Distributed Systems: Concepts and Design. George Coulouris, Jean Dollimore, Tim

Kindberg, Gordon Blair. 5th Edition. Addison Wesley. ISBN: 978-0132143011. [Chapter 10]

¨ Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten Van

der Steen. 2nd Edition. Prentice Hall. ISBN: 0132392275/978-0132392273. [Chapter 5]

September 12, 2019