SlideShare a Scribd company logo
CHORD: A SCALABLE PEER-TO-PEER
LOOKUP SERVICE FOR INTERNET
APPLICATIONS
Ion Stoica Robert Morris
David Liben-Nowell David R. Karger
M. Frans Kaashoek Frank Dabek
Hari Balakrishnan
Presented By-
Chaitanya Pratap
MCA(4th Semester)
South Asian University, New Delhi.
INTRODUCTION
 A fundamental problem that confronts peer-to-peer
applications is to efficiently locate the node that
stores a particular data item.
 Chord provides support for just one operation:
given a key, it maps the key onto a node.
 Data location can be easily implemented on top of
Chord by associating a key with each data item,
and storing the key/data item pair at the node to
which the key maps.
SYSTEM MODEL (FEATURES)
 Load balance: Chord acts as a distributed hash
function, spreading keys evenly over the nodes. this
provides a degree of natural load balance.
 Decentralization: Chord is fully distributed: no
node is more important than any other. This
improves robustness.
CONT…
 Scalability: The cost of a Chord lookup grows as
the log of the number of nodes, so even very large
systems are feasible.
 Availability: Chord automatically adjusts its internal
tables to reflect newly joined nodes as well as node
failures, ensuring that the node responsible for a
key can always be found.
 Flexible naming: Chord places no constraints on
the structure of the keys it looks up: the Chord key-
space is flat.
THE BASE CHORD PROTOCOL
 The Chord protocol specifies how to find the
locations of keys, how new nodes join the system,
and how to recover from the failure (or planned
departure) of existing nodes.
OVERVIEW
 Chord provides fast distributed computation of a
hash function mapping keys to nodes responsible
for them.
 when an Nth node joins (or leaves) the network,
only an O(1/N) fraction of the keys are moved to a
different location
 A Chord node needs only a small amount of
“routing” information about other nodes.
 In an N node network, each node maintains
information only about O(log N) other nodes, and a
lookup requires O(log N) messages.
 a join or leave requires O(log N^2) messages.
CONSISTENT HASHING
 Consistent hashing is designed to let nodes enter
and leave the network with minimal disruption.
 To maintain the consistent hashing mapping when a
node n joins the network, certain keys previously
assigned to n’s successor now become assigned to
n.
 When node n leaves the network, all of its assigned
keys are reassigned to n’s successor.
SCALABLE KEY LOCATION
 This scheme has two important characteristics.
 First, each node stores information about only a
small number of other nodes, it only knows about
closer nodes.
 Second, a node’s finger table generally does not
contain enough information to determine the
successor of an arbitrary key.
FINGER TABLE
NODE JOINS
 Initialize the predecessor and fingers of node n.
 Update the fingers and predecessors of existing
nodes to reflect the addition of n.
 Notify the higher layer software so that it can
transfer state (e.g. values) associated with keys
that node n is now responsible for.
IMPACT OF NODE JOINS ON
LOOKUPS
 Correctness
 If finger table entries are reasonably current
 Lookup finds the correct successor in O(log N) steps
 If successor pointers are correct but finger tables are
incorrect
 Correct lookup but slower
 If incorrect successor pointers
 Lookup may fail
IMPACT OF NODE JOINS ON LOOKUPS
 Performance
 If stabilization is complete
 Lookup can be done in O(log N) time
 If stabilization is not complete
 Existing nodes finger tables may not reflect the new
nodes
 Doesn’t significantly affect lookup speed
 Newly joined nodes can affect the lookup speed, if the
new nodes ID’s are in between target and target’s
predecessor
 Lookup will have to be forwarded through the intervening
nodes, one at a time
13
STABILIZATION AFTER JOIN
np
succ(np)=ns
ns
n
pred(ns)=np  n joins
 predecessor = nil
 n acquires ns as successor via some n’
 n notifies ns being the new predecessor
 ns acquires n as its predecessor
 np runs stabilize
 np asks ns for its predecessor (now n)
 np acquires n as its successor
 np notifies n
 n will acquire np as its predecessor
 all predecessor and successor pointers
are now correct
 fingers still need to be fixed, but old
fingers will still work
nil
pred(ns)=n
succ(np)=n
14
SOURCE OF INCONSISTENCIES:
CONCURRENT OPERATIONS AND FAILURES
 Basic “stabilization” protocol is used to keep nodes’ successor
pointers up to date, which is sufficient to guarantee
correctness of lookups
 Those successor pointers can then be used to verify the finger
table entries
 Every node runs stabilize periodically to find newly joined
nodes
15
FAILURE RECOVERY
 Key step in failure recovery is maintaining correct successor pointers
 To help achieve this, each node maintains a successor-list of its r
nearest successors on the ring
 If node n notices that its successor has failed, it replaces it with the
first live entry in the list
 stabilize will correct finger table entries and successor-list entries
pointing to failed node
 Performance is sensitive to the frequency of node joins and leaves
versus the frequency at which the stabilization protocol is invoked
SIMULATION
 Protocol Simulator:
 The Chord protocol can be implemented in an iterative
or recursive style.
 In the iterative style, a node resolving a lookup initiates
all communication: it asks a series of nodes for
information from their finger tables, each time moving
closer on the Chord ring to the desired successor.
 In the recursive style, each intermediate node forwards
a request to the next node until it reaches the
successor.
 The simulator implements the protocols in an iterative
style.
17
EXPERIMENTAL RESULTS
 Latency grows slowly with the total
number of nodes
 Path length for lookups is about ½
log2N
 Chord is robust in the face of multiple
node failures
CONCLUSION
 Efficient location of the node that stores a
desired data item is a fundamental problem in
P2P networks
 Chord protocol solves it in a efficient
decentralized manner
 Routing information: O(log N) nodes
 Lookup: O(log N) nodes
 Update: O(log2 N) messages
 It also adapts dynamically to the topology
changes introduced during the run
FUTURE WORK
 Using Chord to detect and heal partitions whose
nodes know of each other.
 Every node should know of some same set of initial
nodes
 Nodes should maintain long-term memory of a random
set of nodes that they have visited earlier
 Malicious set of Chord participants could present an
incorrect view of the Chord ring
 Node n periodically asks other nodes to do a lookup for
n
REFERENCES
 Chord: A Scalable Peer-to-Peer Lookup Service
for Internet Applications by Ion Stoica, Robert Morris,
David Karger, M. Frans Kaashoek, Hari Balakrishnan.

More Related Content

Similar to Chord 120427053647-phpapp01 (1)

Chord Algorithm
Chord AlgorithmChord Algorithm
Chord Algorithm
Sijia Lyu
 
lec03-chord(1).pptx
lec03-chord(1).pptxlec03-chord(1).pptx
lec03-chord(1).pptx
SangitaRoy34
 
lec03-chord-150210004632-conversion-gate.ppt
lec03-chord-150210004632-conversion-gate.pptlec03-chord-150210004632-conversion-gate.ppt
lec03-chord-150210004632-conversion-gate.ppt
abdouramanmouchigam
 
Chord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
Chord- A Scalable Peer-to-Peer Lookup Service for Internet ApplicationsChord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
Chord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
Chandan Thakur
 
Paul presentation P2P Chord v1
Paul presentation P2P Chord v1Paul presentation P2P Chord v1
Paul presentation P2P Chord v1
Paul Yang
 
Routing Protocols of Distributed Hash Table Based Peer to Peer Networks
Routing Protocols of Distributed Hash Table Based Peer to Peer NetworksRouting Protocols of Distributed Hash Table Based Peer to Peer Networks
Routing Protocols of Distributed Hash Table Based Peer to Peer Networks
IOSR Journals
 
5.1.3. Chord.pptx
5.1.3. Chord.pptx5.1.3. Chord.pptx
5.1.3. Chord.pptx
Anusuya123
 
Protocols for wireless sensor networks
Protocols for wireless sensor networks Protocols for wireless sensor networks
Protocols for wireless sensor networks
DEBABRATASINGH3
 
ewsn09
ewsn09ewsn09
ewsn09
Dang Thanh
 
2018a 1324654jhjkhkhkkjhk
2018a 1324654jhjkhkhkkjhk2018a 1324654jhjkhkhkkjhk
2018a 1324654jhjkhkhkkjhk
Jasser Kouki
 
Chord
ChordChord
Chord
Sutha31
 
Node clone detection using a stable overlay network
Node clone detection using a stable overlay network Node clone detection using a stable overlay network
Node clone detection using a stable overlay network
IJECEIAES
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
researchinventy
 
Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...
Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...
Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...
ijtsrd
 
Distributed Coordination
Distributed CoordinationDistributed Coordination
Distributed Coordination
Luis Galárraga
 
Ijnsa050209
Ijnsa050209Ijnsa050209
Ijnsa050209
IJNSA Journal
 
Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...
Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...
Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...
ijceronline
 
Wsn
WsnWsn
Efficient algorithms for neighbor discovery in wireless networks
Efficient algorithms for neighbor discovery in wireless networksEfficient algorithms for neighbor discovery in wireless networks
Efficient algorithms for neighbor discovery in wireless networks
JPINFOTECH JAYAPRAKASH
 
P2P Lookup Protocols
P2P Lookup ProtocolsP2P Lookup Protocols
P2P Lookup Protocols
Zubin Bhuyan
 

Similar to Chord 120427053647-phpapp01 (1) (20)

Chord Algorithm
Chord AlgorithmChord Algorithm
Chord Algorithm
 
lec03-chord(1).pptx
lec03-chord(1).pptxlec03-chord(1).pptx
lec03-chord(1).pptx
 
lec03-chord-150210004632-conversion-gate.ppt
lec03-chord-150210004632-conversion-gate.pptlec03-chord-150210004632-conversion-gate.ppt
lec03-chord-150210004632-conversion-gate.ppt
 
Chord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
Chord- A Scalable Peer-to-Peer Lookup Service for Internet ApplicationsChord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
Chord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
 
Paul presentation P2P Chord v1
Paul presentation P2P Chord v1Paul presentation P2P Chord v1
Paul presentation P2P Chord v1
 
Routing Protocols of Distributed Hash Table Based Peer to Peer Networks
Routing Protocols of Distributed Hash Table Based Peer to Peer NetworksRouting Protocols of Distributed Hash Table Based Peer to Peer Networks
Routing Protocols of Distributed Hash Table Based Peer to Peer Networks
 
5.1.3. Chord.pptx
5.1.3. Chord.pptx5.1.3. Chord.pptx
5.1.3. Chord.pptx
 
Protocols for wireless sensor networks
Protocols for wireless sensor networks Protocols for wireless sensor networks
Protocols for wireless sensor networks
 
ewsn09
ewsn09ewsn09
ewsn09
 
2018a 1324654jhjkhkhkkjhk
2018a 1324654jhjkhkhkkjhk2018a 1324654jhjkhkhkkjhk
2018a 1324654jhjkhkhkkjhk
 
Chord
ChordChord
Chord
 
Node clone detection using a stable overlay network
Node clone detection using a stable overlay network Node clone detection using a stable overlay network
Node clone detection using a stable overlay network
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
 
Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...
Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...
Energy Efficient Routing Strategies for Large Scale Wireless Sensor in Hetero...
 
Distributed Coordination
Distributed CoordinationDistributed Coordination
Distributed Coordination
 
Ijnsa050209
Ijnsa050209Ijnsa050209
Ijnsa050209
 
Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...
Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...
Key Establishment using Selective Repeat Automatic Repeat Request Mechanism f...
 
Wsn
WsnWsn
Wsn
 
Efficient algorithms for neighbor discovery in wireless networks
Efficient algorithms for neighbor discovery in wireless networksEfficient algorithms for neighbor discovery in wireless networks
Efficient algorithms for neighbor discovery in wireless networks
 
P2P Lookup Protocols
P2P Lookup ProtocolsP2P Lookup Protocols
P2P Lookup Protocols
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 

Chord 120427053647-phpapp01 (1)

  • 1. CHORD: A SCALABLE PEER-TO-PEER LOOKUP SERVICE FOR INTERNET APPLICATIONS Ion Stoica Robert Morris David Liben-Nowell David R. Karger M. Frans Kaashoek Frank Dabek Hari Balakrishnan Presented By- Chaitanya Pratap MCA(4th Semester) South Asian University, New Delhi.
  • 2. INTRODUCTION  A fundamental problem that confronts peer-to-peer applications is to efficiently locate the node that stores a particular data item.  Chord provides support for just one operation: given a key, it maps the key onto a node.  Data location can be easily implemented on top of Chord by associating a key with each data item, and storing the key/data item pair at the node to which the key maps.
  • 3. SYSTEM MODEL (FEATURES)  Load balance: Chord acts as a distributed hash function, spreading keys evenly over the nodes. this provides a degree of natural load balance.  Decentralization: Chord is fully distributed: no node is more important than any other. This improves robustness.
  • 4. CONT…  Scalability: The cost of a Chord lookup grows as the log of the number of nodes, so even very large systems are feasible.  Availability: Chord automatically adjusts its internal tables to reflect newly joined nodes as well as node failures, ensuring that the node responsible for a key can always be found.  Flexible naming: Chord places no constraints on the structure of the keys it looks up: the Chord key- space is flat.
  • 5. THE BASE CHORD PROTOCOL  The Chord protocol specifies how to find the locations of keys, how new nodes join the system, and how to recover from the failure (or planned departure) of existing nodes.
  • 6. OVERVIEW  Chord provides fast distributed computation of a hash function mapping keys to nodes responsible for them.  when an Nth node joins (or leaves) the network, only an O(1/N) fraction of the keys are moved to a different location  A Chord node needs only a small amount of “routing” information about other nodes.  In an N node network, each node maintains information only about O(log N) other nodes, and a lookup requires O(log N) messages.  a join or leave requires O(log N^2) messages.
  • 7. CONSISTENT HASHING  Consistent hashing is designed to let nodes enter and leave the network with minimal disruption.  To maintain the consistent hashing mapping when a node n joins the network, certain keys previously assigned to n’s successor now become assigned to n.  When node n leaves the network, all of its assigned keys are reassigned to n’s successor.
  • 8. SCALABLE KEY LOCATION  This scheme has two important characteristics.  First, each node stores information about only a small number of other nodes, it only knows about closer nodes.  Second, a node’s finger table generally does not contain enough information to determine the successor of an arbitrary key.
  • 10. NODE JOINS  Initialize the predecessor and fingers of node n.  Update the fingers and predecessors of existing nodes to reflect the addition of n.  Notify the higher layer software so that it can transfer state (e.g. values) associated with keys that node n is now responsible for.
  • 11. IMPACT OF NODE JOINS ON LOOKUPS  Correctness  If finger table entries are reasonably current  Lookup finds the correct successor in O(log N) steps  If successor pointers are correct but finger tables are incorrect  Correct lookup but slower  If incorrect successor pointers  Lookup may fail
  • 12. IMPACT OF NODE JOINS ON LOOKUPS  Performance  If stabilization is complete  Lookup can be done in O(log N) time  If stabilization is not complete  Existing nodes finger tables may not reflect the new nodes  Doesn’t significantly affect lookup speed  Newly joined nodes can affect the lookup speed, if the new nodes ID’s are in between target and target’s predecessor  Lookup will have to be forwarded through the intervening nodes, one at a time
  • 13. 13 STABILIZATION AFTER JOIN np succ(np)=ns ns n pred(ns)=np  n joins  predecessor = nil  n acquires ns as successor via some n’  n notifies ns being the new predecessor  ns acquires n as its predecessor  np runs stabilize  np asks ns for its predecessor (now n)  np acquires n as its successor  np notifies n  n will acquire np as its predecessor  all predecessor and successor pointers are now correct  fingers still need to be fixed, but old fingers will still work nil pred(ns)=n succ(np)=n
  • 14. 14 SOURCE OF INCONSISTENCIES: CONCURRENT OPERATIONS AND FAILURES  Basic “stabilization” protocol is used to keep nodes’ successor pointers up to date, which is sufficient to guarantee correctness of lookups  Those successor pointers can then be used to verify the finger table entries  Every node runs stabilize periodically to find newly joined nodes
  • 15. 15 FAILURE RECOVERY  Key step in failure recovery is maintaining correct successor pointers  To help achieve this, each node maintains a successor-list of its r nearest successors on the ring  If node n notices that its successor has failed, it replaces it with the first live entry in the list  stabilize will correct finger table entries and successor-list entries pointing to failed node  Performance is sensitive to the frequency of node joins and leaves versus the frequency at which the stabilization protocol is invoked
  • 16. SIMULATION  Protocol Simulator:  The Chord protocol can be implemented in an iterative or recursive style.  In the iterative style, a node resolving a lookup initiates all communication: it asks a series of nodes for information from their finger tables, each time moving closer on the Chord ring to the desired successor.  In the recursive style, each intermediate node forwards a request to the next node until it reaches the successor.  The simulator implements the protocols in an iterative style.
  • 17. 17 EXPERIMENTAL RESULTS  Latency grows slowly with the total number of nodes  Path length for lookups is about ½ log2N  Chord is robust in the face of multiple node failures
  • 18. CONCLUSION  Efficient location of the node that stores a desired data item is a fundamental problem in P2P networks  Chord protocol solves it in a efficient decentralized manner  Routing information: O(log N) nodes  Lookup: O(log N) nodes  Update: O(log2 N) messages  It also adapts dynamically to the topology changes introduced during the run
  • 19. FUTURE WORK  Using Chord to detect and heal partitions whose nodes know of each other.  Every node should know of some same set of initial nodes  Nodes should maintain long-term memory of a random set of nodes that they have visited earlier  Malicious set of Chord participants could present an incorrect view of the Chord ring  Node n periodically asks other nodes to do a lookup for n
  • 20. REFERENCES  Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.