































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth exploration of distributed hash tables (dhts), focusing on content-addressable networks (can) and coral. Learn about the desirable properties of dhts, routing mechanisms, node joining and exit, and handling failure. Additionally, discover how can and coral are used in peer-to-peer systems like web content caching and distribution.
Typology: Study notes
1 / 39
This page cannot be seen from the preview
Don't miss anything!
































Chris Brooks Department of Computer ScienceUniversity of San Francisco^ Department of Computer Science — University of San Francisco – p. 1/
-^ On Tuesday, we talked about Distributed Hash Tables^ •^
Used Chord as an example
-^ Able to act as a distributed storage and indexing mechanism •^ Maps “keys” (hashes of data) to “values” (coordinates in aspace of nodes.) •^ Each node is responsible for a set of the keyspace.
Department of Computer Science — University of San Francisco – p. 2/
-^ Recall that Chord uses a 1-D ring to structure the network. •^ Nodes keep a
finger table
that tells them the successors at
various points in the network. • Routing requires
O(logn
)^ messages.
-^ Can tolerate failures through replication of data.
Department of Computer Science — University of San Francisco – p. 4/
-^ CAN stands for Content Addressable Network •^ Developed at Berkeley at the same time as Chord wasdeveloped at MIT. •^ Also provides hash-table like functionality.^ •^
get, store, delete
Department of Computer Science — University of San Francisco – p. 5/
-^ An example CAN in a 2-Dspace. •^ Node 1 is responsible fordata in the range( (0-0.25), (0.5-1) ) •^ Node 4 is responsible fordata in the range( (0.5-1), (0.5-1) ) Department of Computer Science — University of San Francisco – p. 7/
-^ Each node keeps track of the IP address and zone of itsneighbors. •^ A neighbor is a node whose zone overlaps a node in
n^ −^1
dimensions, and abuts it in the
nth dimension.
-^ In our example, 2,3, and 4 are neighbors of 1.^ •^
Remember that the space is really a torus.
-^ Routing is done by greedy search. •^ Always forward the message to the neighbor who is closestto the data, using standard Euclidean distance. (ties brokenrandomly)
Department of Computer Science — University of San Francisco – p. 8/
-^ New nodes are added to the system by choosing an existingzone and subdividing it. •^ First, the new node must find an existing bootstrap node. •^ Then it must find its coordinates within CAN •^ Finally, it must update its neighbors’ routing tables.
Department of Computer Science — University of San Francisco – p. 10/
Department of Computer Science — University of San Francisco – p. 11/
Department of Computer Science — University of San Francisco – p. 13/
-^ Initially, 3’s neighbors are 1,2and 5. •^ 6 joins and splits 3’s zone alongthe x axis. •^ 6 gets 3’s list of neighghbors •^ 6 adds 3 to its neighbor list andsends an update to 1,2, and 5 •^ 3 adds 6 to its list of neighbors •^ 3 removes 1 and 2 from its listof neighbors and sends them anupdate. Department of Computer Science — University of San Francisco – p. 14/
-^ CAN nodes send periodic “I’m alive” messages to theirneighbors^ •^
Contains a node’s zone coordinates and their neighborsand their coordinates.
-^ If a node does not receive an “I’m alive” message after agiven time period, it begins a takeover.
Department of Computer Science — University of San Francisco – p. 16/
-^ To begin, it starts a timer^ •^
Length is proportionate to its zone size. • Intuition: we want to merge smaller zones
-^ Once the timer expires, send a TAKEOVER message to allof the failed node’s neighbors. •^ When a TAKEOVER message is received, a node turns offits own timer if the zone volume of the sender is less thanits own. •^ Otherwise, it replies with its own TAKEOVER message.^ •^
Somewhat like leader election.
Department of Computer Science — University of San Francisco – p. 17/
r^ realities, this means that
r^ copies of the data
are stored in the network. • This provides fault tolerance. • By translating routing messages between realities, nodes canpotentially find shorter-latency routes between nodes.
Department of Computer Science — University of San Francisco – p. 19/
-^ The basic CAN routing algorithm uses greedy search. Itchooses the node that produces the greatest reduction indistance between the present node and the data to be found. •^ An alternative is to also measure the round-trip-timebetween a node and each of its neighbors. •^ When choosing where to forward a packet, select the nodethat maximizes progress over RTT. •^ This favors low-latency paths at the IP level.
Department of Computer Science — University of San Francisco – p. 20/