SlideShare une entreprise Scribd logo
1  sur  13
Distributed Hash Tables (DHT)
                Harisankar H
            PhD student, DOS lab,
           Dept. of CSE, IIT Madras
                 11/8/2012

       http://harisankarh.wordpress.com
Motivation
• Bittorrent
  – Given a file id, find the list of nodes currently
    associated with the file
     • File id -> node mapping
     • e.g., get(“sfdsfdsf…”) -> {203.12.123.45,201.128.249.123,…}
• Domain Naming System(DNS)
  – Find IP address of server associated with a domain
    name
     • Domain name -> IP address mapping
     • e.g., get(“google.co.in”) -> {209.234.67.32}
Abstract problem
– Realize a hash table functionality in a
  decentralized manner
   • Interface
      – put(key,value)
      – get(key) -> value
   • Realize using nodes which can join and leave at any
     time


      ....                                  ....




                    [try yourself!]
Simple solutions
• Flooding
   – Put() -> store in any node
      • Cost: O(1)
   – Get() -> send query to all nodes
      • Cost: O(N)
• Full replication
   – Put() -> store in all nodes
      • Cost: O(N)
   – Get() -> check in any one node
      • Cost: O(1)


            [more solutions? try yourself!]
Partitioning in a small setting
• Assign different keys to different nodes
• Need a key to node mapping
  – getnode(key) -> node id
• How to distribute the keys ?
  – assume that every node knows when a node
    join/leave the system
  – Assume key range: 0 to (2k – 1), k-bit key


                 [try yourself!]
Consistent hashing
                           2k – 1   0             40


                                                               Key:51



                                                   70




• Nodes assigned ids in the same space( 0 to 2k – 1)
• Each node is responsible for the key range between
   – Its node id and the id of previous node in the id space
• Responsibilities split accordingly when nodes join and leave
   – Responsibility of each node ≈ K/N
   – <k,v> pairs transferred during node join/leave ≈ K/N
Issues
• In a large internet-scale setting
   – Millions of nodes
   – Low bandwidth
• Costly to inform all the nodes when a node
  joins/leaves the system
   – O(N) messages
• Problem
   – How to realize consistent hashing in a large internet-
     scale setting ?
      • How to implement node join/leave, key put/get ?
      • Assume that you know the IP address of one of the nodes
        which is already part of the system

                      [try yourself!]
Distributed Hash Tables(e.g., Chord)
• Each node(id = n) maintains list of nodes
  responsible for ids: (n + 2i)mod 2k, 0 <= i <= k-1
Key lookup
• Each key lookup query is forwarded to the
  node in the finger table which immediately
  precedes it
Performance
• Key lookup/put
   – O(logN) hops/messages
• Node join/leave
   – O(logN) messages
       • Uses information from neighbours and periodic refreshing
• O(logN) entries in the finger table
                 [proof: try yourself!]
• Scales to large number of nodes in dynamic settings
   – Used in bittorrent
• Different types of DHTs
   – Pastry, Kademlia
Amazon Dynamo
• Key-value store inspired from DHTs
   – Used for Amazon shopping cart
       • Cart id -> added items
• Key features
   – 1 hop key lookup(O(N) neighbours per node)
       • Latency-sensitive application
   – Uses virtual nodes for handling heterogeneity and better load
     dispersion
       • Virtual nodes already proposed in Chord
   – Each data item replicated for availability
       • Versioning using vector clocks
   – Handles several implementation issues
• Cassandra’s architecture inspired from Dynamo
Further research related to DHTs
• Search using DHTs
• Active key-value store
   – Incremental processing
   – Distributed processing
• P2P Computational grid
   – Vishwa: DHT used for coordinator assignment and storing
     task-related data
• Node-capability aware object placement
   – Virat
• P2P file system
   – ENFS
• …
References
1.      Consistent hashing
       1.   Karger, D. etal. (1999). "Web Caching with Consistent
            Hashing". Computer Networks 31 (11): 1203–1213.
2.      Chord
       1.   Ion Stoica etal. “Chord: A Scalable Peer-to-Peer Lookup Protocol for
            Internet Applications”. IEEE/ACM TRANSACTIONS ON NETWORKING,
            VOL. 11, NO. 1, FEBRUARY 2003
3.      Dynamo
       1.   DeCandia etal., “Dynamo: Amazon’s Highly Available Key-value
            Store”, SOSP’07




     Image credits: DHT figures taken from Chord[2] paper

Contenu connexe

Plus de Harisankar H

Hariintro exebit 2014
Hariintro exebit 2014Hariintro exebit 2014
Hariintro exebit 2014Harisankar H
 
Large scale graph processing
Large scale graph processingLarge scale graph processing
Large scale graph processingHarisankar H
 
Addressing scalability challenges in peer-to-peer search
Addressing scalability challenges in peer-to-peer searchAddressing scalability challenges in peer-to-peer search
Addressing scalability challenges in peer-to-peer searchHarisankar H
 
Google Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implicationsGoogle Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implicationsHarisankar H
 
Learn Australia through multimedia
Learn Australia through multimediaLearn Australia through multimedia
Learn Australia through multimediaHarisankar H
 

Plus de Harisankar H (6)

Hariintro exebit 2014
Hariintro exebit 2014Hariintro exebit 2014
Hariintro exebit 2014
 
Large scale graph processing
Large scale graph processingLarge scale graph processing
Large scale graph processing
 
Addressing scalability challenges in peer-to-peer search
Addressing scalability challenges in peer-to-peer searchAddressing scalability challenges in peer-to-peer search
Addressing scalability challenges in peer-to-peer search
 
MapReduce basics
MapReduce basicsMapReduce basics
MapReduce basics
 
Google Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implicationsGoogle Spanner : our understanding of concepts and implications
Google Spanner : our understanding of concepts and implications
 
Learn Australia through multimedia
Learn Australia through multimediaLearn Australia through multimedia
Learn Australia through multimedia
 

Dernier

Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 

Dernier (20)

Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 

Slides used in course lecture on distributed hash tables

  • 1. Distributed Hash Tables (DHT) Harisankar H PhD student, DOS lab, Dept. of CSE, IIT Madras 11/8/2012 http://harisankarh.wordpress.com
  • 2. Motivation • Bittorrent – Given a file id, find the list of nodes currently associated with the file • File id -> node mapping • e.g., get(“sfdsfdsf…”) -> {203.12.123.45,201.128.249.123,…} • Domain Naming System(DNS) – Find IP address of server associated with a domain name • Domain name -> IP address mapping • e.g., get(“google.co.in”) -> {209.234.67.32}
  • 3. Abstract problem – Realize a hash table functionality in a decentralized manner • Interface – put(key,value) – get(key) -> value • Realize using nodes which can join and leave at any time .... .... [try yourself!]
  • 4. Simple solutions • Flooding – Put() -> store in any node • Cost: O(1) – Get() -> send query to all nodes • Cost: O(N) • Full replication – Put() -> store in all nodes • Cost: O(N) – Get() -> check in any one node • Cost: O(1) [more solutions? try yourself!]
  • 5. Partitioning in a small setting • Assign different keys to different nodes • Need a key to node mapping – getnode(key) -> node id • How to distribute the keys ? – assume that every node knows when a node join/leave the system – Assume key range: 0 to (2k – 1), k-bit key [try yourself!]
  • 6. Consistent hashing 2k – 1 0 40 Key:51 70 • Nodes assigned ids in the same space( 0 to 2k – 1) • Each node is responsible for the key range between – Its node id and the id of previous node in the id space • Responsibilities split accordingly when nodes join and leave – Responsibility of each node ≈ K/N – <k,v> pairs transferred during node join/leave ≈ K/N
  • 7. Issues • In a large internet-scale setting – Millions of nodes – Low bandwidth • Costly to inform all the nodes when a node joins/leaves the system – O(N) messages • Problem – How to realize consistent hashing in a large internet- scale setting ? • How to implement node join/leave, key put/get ? • Assume that you know the IP address of one of the nodes which is already part of the system [try yourself!]
  • 8. Distributed Hash Tables(e.g., Chord) • Each node(id = n) maintains list of nodes responsible for ids: (n + 2i)mod 2k, 0 <= i <= k-1
  • 9. Key lookup • Each key lookup query is forwarded to the node in the finger table which immediately precedes it
  • 10. Performance • Key lookup/put – O(logN) hops/messages • Node join/leave – O(logN) messages • Uses information from neighbours and periodic refreshing • O(logN) entries in the finger table [proof: try yourself!] • Scales to large number of nodes in dynamic settings – Used in bittorrent • Different types of DHTs – Pastry, Kademlia
  • 11. Amazon Dynamo • Key-value store inspired from DHTs – Used for Amazon shopping cart • Cart id -> added items • Key features – 1 hop key lookup(O(N) neighbours per node) • Latency-sensitive application – Uses virtual nodes for handling heterogeneity and better load dispersion • Virtual nodes already proposed in Chord – Each data item replicated for availability • Versioning using vector clocks – Handles several implementation issues • Cassandra’s architecture inspired from Dynamo
  • 12. Further research related to DHTs • Search using DHTs • Active key-value store – Incremental processing – Distributed processing • P2P Computational grid – Vishwa: DHT used for coordinator assignment and storing task-related data • Node-capability aware object placement – Virat • P2P file system – ENFS • …
  • 13. References 1. Consistent hashing 1. Karger, D. etal. (1999). "Web Caching with Consistent Hashing". Computer Networks 31 (11): 1203–1213. 2. Chord 1. Ion Stoica etal. “Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications”. IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 11, NO. 1, FEBRUARY 2003 3. Dynamo 1. DeCandia etal., “Dynamo: Amazon’s Highly Available Key-value Store”, SOSP’07 Image credits: DHT figures taken from Chord[2] paper