[P2P S YSTEMS ] Shrideep Pallickara Computer Science Colorado - - PDF document

p2p s ystems
SMART_READER_LITE
LIVE PREVIEW

[P2P S YSTEMS ] Shrideep Pallickara Computer Science Colorado - - PDF document

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


slide-1
SLIDE 1

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

[P2P SYSTEMS]

Shrideep Pallickara Computer Science Colorado State University

September 10, 2019

L5.1 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.2 Professor: SHRIDEEP PALLICKARA

Frequently asked questions from the previous class survey

¨ Can vector clocks be reset if the count reaches Long.MAX_VALUE? ¨ Can vector clocks handle processes failing at runtime? ¨ In the case of multicasting with Vector clocks, what happens if the

message is lost?

September 10, 2019

slide-2
SLIDE 2

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.3 Professor: SHRIDEEP PALLICKARA

Topics covered in this lecture

¨ Peer to Peer (P2P) Systems ¤ P2P middleware and requirements ¤ Overlays ¤ The P2P lookup problem ¤ Implementing DHTs

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

  • Dept. Of Computer Science, Colorado State University

P2P MIDDLEWARE

September 10, 2019

L5.4

slide-3
SLIDE 3

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.5 Professor: SHRIDEEP PALLICKARA

P2P middleware is designed to orchestrate

September 10, 2019

¨ Automatic placement of resources (data items, objects, files, etc. ) ¨ Subsequent location (discovery) of distributed resources

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.6 Professor: SHRIDEEP PALLICKARA

How different P2P generations cope with this issue

¨ 1st Generation ¤ Maintain a centralized index of available files ¤ Files are stored at the peers ¨ 2nd Generation ¤ Systems such a Gnutella & Freenet employ partitioned distributed indexes ¨ 3rd Generation ¤ Rely on Overlays

September 10, 2019

slide-4
SLIDE 4

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.7 Professor: SHRIDEEP PALLICKARA

Requirements for P2P systems

¨ Functional ¤ Specific behaviors or functions that must be supported ¨ Non-functional (or evaluation metrics) ¤ Criteria that can be used to judge the operation of a system

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

  • Dept. Of Computer Science, Colorado State University

L5.8 Professor: SHRIDEEP PALLICKARA

Functional requirements for P2P middleware

¨ Locate and communicate with any resource made available to the

system

¤ Even though resources are dispersed over a large number of nodes ¨ The ability to add and remove both resources and nodes at will

September 10, 2019

slide-5
SLIDE 5

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.9 Professor: SHRIDEEP PALLICKARA

Non-functional requirements for P2P systems

¨ Scalability ¨ Load balancing ¨ Dynamic host availability

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

  • Dept. Of Computer Science, Colorado State University

L5.10 Professor: SHRIDEEP PALLICKARA

Non-functional requirements: Load balancing

¨ Achieved via random placement of resources ¨ Replicas of heavily used resources are created

September 10, 2019

slide-6
SLIDE 6

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.11 Professor: SHRIDEEP PALLICKARA

Accommodate highly dynamic host availability

September 10, 2019

¨ Host computers are free to join or leave at any time ¨ Provide a dependable service, from unreliable nodes ¨ As nodes join the system ¤ Must be integrated into the system ¤ Load must be redistributed to exploit their capabilities ¨ As nodes leave the system (voluntarily or involuntarily)? ¤ Redistribute their load and resources n Replication levels for some resources must be preserved

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

SYSTEMS THAT WE WILL LOOK AT

September 10, 2019

L5.12

slide-7
SLIDE 7

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.13 Professor: SHRIDEEP PALLICKARA

Systems that we will observe closely

¨ 1st Generation ¤ Napster ¨ 3rd Generation ¤ Chord ¤ Pastry ¤ Tapestry ¨ Unstructured P2P or 2nd Generation ¤ Gnutella and BitTorrent

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

  • Dept. Of Computer Science, Colorado State University

NAPSTER

September 10, 2019

L5.14

slide-8
SLIDE 8

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.15 Professor: SHRIDEEP PALLICKARA

Napster

¨ First application in which demand for massively scalable storage and

retrieval arose

¤ Downloading of digital music files ¨ Became very popular soon after its launch ¨ At its peak ¤ Several million users ¤ Thousands swapped music files simultaneously

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

  • Dept. Of Computer Science, Colorado State University

L5.16 Professor: SHRIDEEP PALLICKARA

Key features of the architecture

¨ Centralized indexes ¨ Users supplied the files ¤ Stored and accessed on their personal computers ¨ Clients add their own music files to the pool of shared resources ¤ Transmit a link to Napster’s indexing service for each available file ¤ Shared resources at the “edge of the internet”

September 10, 2019

slide-9
SLIDE 9

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.17 Professor: SHRIDEEP PALLICKARA

Napster Architecture

Napster Server

Peer

User’s Computer

Peer

User’s Computer

Peer

User’s Computer

Peer

User’s Computer (1) File location request (2) List of peers

  • ffering the file

Peer

User’s Computer (3) File Request (4) File Delivered (5) Index Update Index

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

  • Dept. Of Computer Science, Colorado State University

OVERLAYS

[USED IN 3RD GENERATION P2P SYSTEMS]

September 10, 2019

L5.18

slide-10
SLIDE 10

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.19 Professor: SHRIDEEP PALLICKARA

Overlays

September 10, 2019

¨ A distributed algorithm takes the responsibility of locating nodes and

  • bjects

¤ This is the routing overlay ¨ Denotes that the middleware is a layer that is responsible for routing

requests

¤ From a client to the host that holds the requested object

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.20 Professor: SHRIDEEP PALLICKARA

But why call it an overlay?

September 10, 2019

¨ Denotes that it implements a routing mechanism in the application

layer

¤ This is different from routing mechanisms deployed at the network level, e.g.,

IP

¨ A logical hop in the routing overlay, encompasses multiple underlying

router hops

slide-11
SLIDE 11

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.21 Professor: SHRIDEEP PALLICKARA

What does the routing overlay do?

September 10, 2019

¨ Ensures any node can access any object ¨ Routes requests through a sequence of nodes ¤ Exploits (local) knowledge at each of the intermediate nodes to locate the

destination object

¨ If there are multiple replicas of objects? ¤ Overlay maintains knowledge of all available replicas, and then delivers

request to the nearest “live” node

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

OVERLAY VS IP ROUTING

September 10, 2019

L5.22

slide-12
SLIDE 12

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.23 Professor: SHRIDEEP PALLICKARA

Overlay Routing vs IP Routing

¨ There are several similarities between the two ¨ Why have a separate mechanism? ¤ The legacy nature of IP ¤ The legacy’s impact is too strong for it to be overcome n Hard to support P2P applications directly

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

  • Dept. Of Computer Science, Colorado State University

L5.24 Professor: SHRIDEEP PALLICKARA

IP Routing vs Overlay routing: Scale

September 10, 2019

¨ IP ¤ IPv4 is limited to 232 nodes ¤ IPv6 is 2128 ¤ But addresses are hierarchically structured n Much of the space is pre-allocated to meet administrative requirements ¨ Overlay ¤ GUID namespace is very large (2128 or 2160) ¤ The namespace is also flat allowing for it to be much more fully occupied

slide-13
SLIDE 13

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.25 Professor: SHRIDEEP PALLICKARA

IP Routing vs Overlay routing: Load Balancing

¨ IP ¤ Loads are determined by network topology and associated network

patterns

¨ Overlays ¤ Object locations can be randomized, so … ¤ Traffic patterns can be divorced from the network topology

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

  • Dept. Of Computer Science, Colorado State University

L5.26 Professor: SHRIDEEP PALLICKARA

IP Routing vs Overlay routing: Network dynamics

¨ IP ¤ Routing tables are updated asynchronously on a best-effort basis ¤ Typically on the order of an hour ¨ Overlays ¤ Can be updated synchronously or asynchronously ¤ Fractions of seconds

September 10, 2019

slide-14
SLIDE 14

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.27 Professor: SHRIDEEP PALLICKARA

IP Routing vs Overlay routing: Fault tolerance

¨ IP ¤ Redundancy provided by network managers n To handle router or network connectivity failure ¤ N-fold replication is costly ¨ Overlay ¤ Routes and object references can be replicated n-fold n Tolerance of (n-1) failures of nodes or connections

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

  • Dept. Of Computer Science, Colorado State University

L5.28 Professor: SHRIDEEP PALLICKARA

IP Routing vs Overlay routing: Target identification

¨ IP ¤ Each IP address maps to exactly one node ¨ Overlay ¤ Message can be routed to nearest replica of a target object

September 10, 2019

slide-15
SLIDE 15

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.29 Professor: SHRIDEEP PALLICKARA

Main task of a routing overlay

① Routing of requests to objects ② Insertion of objects ③ Deletion of objects ④ Node additions and removals

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

  • Dept. Of Computer Science, Colorado State University

L5.30 Professor: SHRIDEEP PALLICKARA

Calculation of Globally Unique Identifiers (GUIDs)

¨ This is computed from all or part of the state of the object ¨ Function delivers a value that is, with a very high probability, unique ¤ One way hash functions, such as SHA-1 or MD5 are often used

September 10, 2019

slide-16
SLIDE 16

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.31 Professor: SHRIDEEP PALLICKARA

Why are overlay systems also called Distributed Hash Tables (DHTs)?

¨ Randomly distributed identifiers are used to determine resource ¤ Placements ¤ Retrievals

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

  • Dept. Of Computer Science, Colorado State University

L5.32 Professor: SHRIDEEP PALLICKARA

In the DHT model, a data item with GUID X

¨ Is stored at the node whose GUID is numerically close to X ¨ If the replication factor is r? ¤ Then it is stored at the r hosts whose GUIDs are next-closest to it numerically

September 10, 2019

slide-17
SLIDE 17

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.33 Professor: SHRIDEEP PALLICKARA

A quick tour of how different P2P systems solve this

¨ Prefix routing ¨ Exploiting distance measures

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

  • Dept. Of Computer Science, Colorado State University

L5.34 Professor: SHRIDEEP PALLICKARA

Prefix routing

¨ Routes for delivery of messages based on values of GUIDs to which

they are addressed

¨ Narrow search for the next node along the route by applying a

binary mask

¤ Selects an increasing number of hexadecimal digits from the destination

GUID after each hop

¨ Used in Pastry and Tapestry

September 10, 2019

slide-18
SLIDE 18

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.35 Professor: SHRIDEEP PALLICKARA

Exploiting different measures of distance to narrow search for next hop destination

September 10, 2019

¨ Chord ¤ Numerical difference between GUIDs of the selected node and the

destination node

¨ CAN ¤ Uses distance in a d-dimensional hyperspace into which nodes are placed ¨ Kadmelia ¤ Uses XOR of pairs of GUIDs as a metric for distance between nodes

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.36 Professor: SHRIDEEP PALLICKARA

A final note about GUIDs

September 10, 2019

¨ These are not human readable ¨ Client applications must obtain GUIDs for resources of interest through

some indexing service

¤ Human readable names or search requests ¨ For e.g., BitTorrent ¤ Web index search leads to a sub file containing details of desired resource n GUID n URL of tracker: Host that holds up to date list of network providers willing to supply

the file

slide-19
SLIDE 19

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

THE P2P LOOKUP PROBLEM

September 10, 2019

L5.37 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.38 Professor: SHRIDEEP PALLICKARA

The peer-to-peer (P2P) lookup problem

September 10, 2019

¨ How do you find a data item in a large collection of peers? ¨ Lookup must be scalable and decentralized ¤ Without hierarchy

slide-20
SLIDE 20

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.39 Professor: SHRIDEEP PALLICKARA

The lookup problem: Centralized Approach

¨ Maintain central database ¨ Maintain table that maps file name to server that holds content ¤ NAPSTER ¨ Problems ¤ Reliability ¤ Scalability ¤ Vulnerability

Single point of failure Database bottleneck for all requests Targeted denial of service attacks

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

  • Dept. Of Computer Science, Colorado State University

L5.40 Professor: SHRIDEEP PALLICKARA

The lookup problem: Broadcast

¨ Flood the network with requests looking for X ¨ When a node receives the request: ¤ Check local repository ¤ If it has X, node responds back with a message ¨ Scaling problems ¤ ALL discovery requests sent to ALL nodes ¤ ALL nodes process every discovery request

September 10, 2019

slide-21
SLIDE 21

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.41 Professor: SHRIDEEP PALLICKARA

Broadcast costs can be reduced by organizing nodes into a hierarchy

¨ Searches start at the top ¤ Traverse single path to the node that holds the desired data ¨ Directed traversal more frugal than broadcast ¨ Problems ¤ Nodes at the top of the tree take larger fraction of load than leaf nodes ¤ Requires expensive hardware n Loss of tree root (or node close to it) catastrophic

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

  • Dept. Of Computer Science, Colorado State University

L5.42 Professor: SHRIDEEP PALLICKARA

Distributed hash tables

¨ Few constraints on the structure of the keys ¨ REQUIREMENTS ¤ Data identified using numeric keys ¤ Nodes must be willing to store keys for each other

September 10, 2019

slide-22
SLIDE 22

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.43 Professor: SHRIDEEP PALLICKARA

Storage and retrieval in distributed hash tables

September 10, 2019

¨ Data items are inserted and found by specifying a unique key for the

data

¨ Underlying algorithm must determine which node is responsible for

storing the data

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.44 Professor: SHRIDEEP PALLICKARA

Distributed Storage using DHTs: Publishing a file

¨ Convert file-name to numeric key ¤ Using one-way hash functions like MD5 or SHA-1 ¨ Call lookup(key) ¤ Returns IP address of node responsible for key ¨ Send file to be stored at node returned by lookup

September 10, 2019

slide-23
SLIDE 23

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.45 Professor: SHRIDEEP PALLICKARA

Distributed Storage using DHTs: Retrieving a file

September 10, 2019

① Obtain name of file ② Convert it to a key using one-way hash function ③ Call lookup(key) ④ Ask resulting node, from (3), for a copy of the file

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

IMPLEMENTING DHTS

September 10, 2019

L5.46

slide-24
SLIDE 24

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.47 Professor: SHRIDEEP PALLICKARA

Implementing DHTs: 3 core elements

September 10, 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

L5.48 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 10, 2019

slide-25
SLIDE 25

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.49 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 10, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.50 Professor: SHRIDEEP PALLICKARA

Implementing DHTs: Building routing tables

September 10, 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-26
SLIDE 26

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.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

L5.51 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 10, 2019 CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.52 Professor: SHRIDEEP PALLICKARA

Crux of the DHT problem

September 10, 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-27
SLIDE 27

SLIDES CREATED BY: SHRIDEEP PALLICKARA L5.27

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2019]

  • Dept. Of Computer Science, Colorado State University

L5.53 Professor: SHRIDEEP PALLICKARA

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

September 10, 2019 ¨ Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten Van

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

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

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

¨ http://en.wikipedia.org/wiki/Non-functional_requirement