/
Distributed Computing Peer-to-Peer Computing and Overlay Graphs Distributed Computing Peer-to-Peer Computing and Overlay Graphs

Distributed Computing Peer-to-Peer Computing and Overlay Graphs - PowerPoint Presentation

ariel
ariel . @ariel
Follow
66 views
Uploaded On 2023-07-22

Distributed Computing Peer-to-Peer Computing and Overlay Graphs - PPT Presentation

Dr Barsha Mitra CSIS Dept BITS Pilani Hyderabad Campus Introduction Course ID SS ZG526 Title Distributed Computing allows for flexibly sharing resources eg files and multimedia documents stored across networkwide computers ID: 1009924

key distributed title zg526 distributed key zg526 title successor node data indexing network table identifier n115102 n6958 computing hash

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Distributed Computing Peer-to-Peer Compu..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1. Distributed ComputingPeer-to-Peer Computing and Overlay Graphs Dr. Barsha MitraCSIS Dept, BITS Pilani, Hyderabad Campus

2. IntroductionCourse ID: SS ZG526, Title: Distributed Computingallows for flexibly sharing resources (e.g., files and multimedia documents) stored across network-wide computersany node in a P2P network can act as a server to others and also as a clientcommunication and exchange of information is performed directly between the participating peers relationships between the nodes in the network are equal

3. IntroductionCourse ID: SS ZG526, Title: Distributed Computingsource: http://www.terndrup.net/2015/10/27/Building-a-P2P-Peer-Client-with-Node-js/

4. IntroductionCourse ID: SS ZG526, Title: Distributed Computingwell known P2P networks that allow P2P file-sharing Napster Gnutella Freenet Pastry Chord CAN

5. IntroductionCourse ID: SS ZG526, Title: Distributed ComputingP2P networks allow the location of arbitrary data objectsimpose a low cost for scalability, and for entry into and exit from the networkongoing entry and exit of various nodes and dynamic insertion and deletion of objects is termed as churnimpact of churn should be as transparent as possible

6. Data Indexing and OverlaysCourse ID: SS ZG526, Title: Distributed Computingdata in a P2P network is identified by using indexingindexing mechanisms can be classified as:centralizedlocaldistributed

7. Data Indexing and OverlaysCourse ID: SS ZG526, Title: Distributed ComputingCentralized Indexing:use of one or a few central servers to store references (indexes) to the data on many peerseg. NapsterLocal indexing:requires each peer to index only the local data objects remote objects need to be searched forused in unstructured overlaysGnutella uses local indexing

8. Data Indexing and OverlaysCourse ID: SS ZG526, Title: Distributed ComputingDistributed Indexing:involves the indexes to the objects at various peers being scattered across other peers throughout the P2P network distributed indexing is the most challenging of the indexing schemesmany novel mechanisms have been proposed, most notably the distributed hash table (DHT)

9. Structured OverlaysCourse ID: SS ZG526, Title: Distributed ComputingP2P network topology has a definite structureplacement of files or data in this network is highly deterministic as per some algorithmic mappinguse a hash table interface for the mappinghash function maps keys to valuesallows fast search for the location of a filedisadvantage of such mapping:arbitrary queries such as range queries, attribute queries and exact keyword queries cannot be handled directly

10. Unstructured OverlaysCourse ID: SS ZG526, Title: Distributed ComputingP2P network topology does not have any particular controlled structureno control over where files/data is placedlocal indexing is usedfile placement is not governed by the topologysearch for a file may have high message overhead and high delaysqueries may be unsuccessful even if the queried object existscomplex queries are supported because the search criteria can be arbitrary

11. Chord distributed hash table: Overview11Course ID: SS ZG526, Title: Distributed Computing uses a flat key space to associate the mapping between network nodes and data objects/files/valuesnode address and data object/file/value is mapped to a logical identifier in the common key space using a hash functionequal distribution of keys among nodes

12. Chord distributed hash table: Overview12Course ID: SS ZG526, Title: Distributed Computingsupports a single operation, lookup(x)lookup(x) maps a given key x to a network nodeChord stores a file/object/value at the node to which the file/object/value’s key maps

13. Chord distributed hash table: Overview13Course ID: SS ZG526, Title: Distributed Computingnode’s IP address is hashed to an m-bit identifier that serves as the node identifier in the common key (identifier) spacefile/data key is hashed to an m-bit identifier that serves as the key identifieridentifier space is ordered on the logical ring modulo 2m a key k gets assigned to the first node such that its node identifier equals or follows the key identifier of k in the common identifier spacenode is the successor of k, denoted succ(k)

14. Chord distributed hash table: Overview14Course ID: SS ZG526, Title: Distributed Computingm = 7 succ(2) = 2succ(10) = 13succ(60) = 69succ(65) = 69succ(80) = 102succ(125) = 2succ(148) = 23Convention:(x, y]  left-open right-closed segment of the Chord ringN69N75N2K2K10N123N13N102K60K125N23N30N58N115K65K80N8

15. Simple Lookup15Course ID: SS ZG526, Title: Distributed Computing(variable)integer: successor ← initial value;(1) i.Locate_Successor(key), where key is not at i:(1a) if key ∈ (i, successor] then(1b) return (successor)(1c) else return (successor.Locate_Successor(key)).N69N75N2K10N123N13N102N23N30N58N115N8lookup(K10)

16. Scalable Lookup16Course ID: SS ZG526, Title: Distributed Computingeach node i maintains a routing table, called finger tablexth entry (1 ≤ x ≤ m) is the node identifier of the node succ(i+2x−1)size of the finger table is bounded by m entriesN69N75N2N123N13N102N23N30N58N115N8N88 + 1 = 9 – N138 + 2 = 10 – N138 + 4 = 12 – N138 + 8 = 16 – N238 + 16 = 24 – N308 + 32 = 40 – N588 + 64 = 72 – N75N5858 + 1 = 59 – N6958 + 2 = 60 – N6958 + 4 = 62 – N6958 + 8 = 66 – N6958 + 16 = 74 – N7558 + 32 = 90 – N10258 + 64 = 122 – N123N102102 + 1 = 103 – N115102 + 2 = 104 – N115102 + 4 = 106 – N115102 + 8 = 110 – N115102 + 16 = 118 – N123102 + 32 = 134 – N8102 + 64 = 166 – N58

17. Scalable Lookup17Course ID: SS ZG526, Title: Distributed Computingsearch is highly scalablefor a query on key key at node i, if key lies between i and its successor, then key would reside at the successor and the successor’s address is returnedelse the finger table is searched(variables)integer: successor ← initial value;integer: predecessor ← initial value;integer: finger[1…m];

18. Scalable Lookup18Course ID: SS ZG526, Title: Distributed Computing(1) i.Locate_Successor(key), where key is not at i:(1a) if key ∈ (i, successor] then(1b) return (successor)(1c) else(1d) j ← Closest_Preceding_Node(key);(1e) return (j.Locate_Successor(key))(2) i.Closest_Preceding_Node(key), where key  i:(2a) for count = m down to 1 do(2b) if finger[count] ∈ (i, key] then(2c) break();(2d) return (finger[count])N88 + 1 = 9 – N138 + 2 = 10 – N138 + 4 = 12 – N138 + 8 = 16 – N238 + 16 = 24 – N308 + 32 = 40 – N588 + 64 = 72 – N75N5858 + 1 = 59 – N6958 + 2 = 60 – N6958 + 4 = 62 – N6958 + 8 = 66 – N6958 + 16 = 74 – N7558 + 32 = 90 – N10258 + 64 = 122 – N123N102102 + 1 = 103 – N115102 + 2 = 104 – N115102 + 4 = 106 – N115102 + 8 = 110 – N115102 + 16 = 118 – N123102 + 32 = 134 – N8102 + 64 = 166 – N58N69N75N2N123N13N102N23N30N58N115N8K2lookup(K2)

19. ReferencesAjay D. Kshemkalyani, and Mukesh Singhal, Chapter 18, “Distributed Computing: Principles, Algorithms, and Systems”, Cambridge University Press, 2008.Course ID: SS ZG526, Title: Distributed Computing

20. Thank YouCourse ID: SS ZG526, Title: Distributed Computing