Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evaluation of a Scalable P2P Lookup Protocol for Internet Applications Master Thesis Presentation by Samer Al-Kassimi Supervisors: Per Brand & Sameh El-Ansary.

Similar presentations


Presentation on theme: "Evaluation of a Scalable P2P Lookup Protocol for Internet Applications Master Thesis Presentation by Samer Al-Kassimi Supervisors: Per Brand & Sameh El-Ansary."— Presentation transcript:

1 Evaluation of a Scalable P2P Lookup Protocol for Internet Applications Master Thesis Presentation by Samer Al-Kassimi Supervisors: Per Brand & Sameh El-Ansary Examiner: Vladimir Vlassov

2 Contents P2P & the Chord protocol P2P & the Chord protocol Goals, Tools and Methodology Goals, Tools and Methodology Traffic generator Simulator Experiments & Data Analysis Experiments & Data Analysis Conclusions & Future Work Conclusions & Future Work

3 Peer to Peer (P2P) Server Client Internet Node Internet Server-ClientPeer-to-Peer 1

4 Weaknesses of previous P2P systems Gnutella Gnutellaunreliability high cost O(N) flooding network Napster Napster single point of failure high cost O(N) Client Lookup(“title”) SetLoc(“title”, N4) Key=“title” Value=file data… N6N6 N9N9 N7N7 DB N8N8 N3N3 N2N2 N1N1 N4N4 N4N4 N8N8 N6N6 N9N9 N7N7 N3N3 N2N2 N1N1 Key=“title” Value=MP3 data… Client Lookup(“title”) 1

5 Chord Belongs to the family of “routing” algorithms Belongs to the family of “routing” algorithms Distributed hash tables Distributed hash tables Scalable Scalable most operations cost O(log 2 N) Robust Robust Handles node failures well Reliable Reliable correct results in the face of network changes 1

6 Basic Topology: responsibilities and path following successors N14 N1 N8 N21 N32 N38 N42 N48 N51 N56 INSERT (doc 24) doc 24 doc 30 doc 10doc 54 doc 38 LOOKUP(54) The successor of a key is responsible for that key Lookups follow successors This topology offers O(N) performance (non scalable) 1

7 Performance and scalability: fingers N14 N1 N8 N21 N32 N38 N42 N48 N51 N56 N14’s Finger table icandidatenode = = = = = =

8 Performance and scalability: fingers (2) N14 N1 N8 N21 N32 N38 N42 N48 N51 N56 LOOKUP(54) doc 10 doc 54 doc 38 doc 24 doc 30 1

9 N14 N1 N8 N21 N38 N42 N48 N51 N56 doc 10 doc 54 doc 38 Robustness: successors list and referrers list N32 doc 24 doc 30 When a node fails, the network reorganizes itself Further data structures are needed The Chord ring holds its properties 1

10 Objectives and methodology Goal: case study of Chord Goal: case study of Chord Methodology: simulations that test scalability, robustness and reliability Methodology: simulations that test scalability, robustness and reliability Development: simulator and changes to a traffic generator Development: simulator and changes to a traffic generator Design of test cases and run of the simulations Design of test cases and run of the simulations 2

11 The traffic generator It’s a tool that generates network activity It’s a tool that generates network activity inserts nodes into the network makes nodes to leave makes that nodes request lookups Small changes were made to the way the generator works Small changes were made to the way the generator works 2

12 The simulator Programmed in Java Programmed in Java Internals: loop traversing all nodes at each time unit to execute events Internals: loop traversing all nodes at each time unit to execute events Messages are sent from node to node Messages are sent from node to node Adjustable verbosity Adjustable verbosity Extendable properties Extendable properties Customizable options (with XML) Customizable options (with XML) 2

13 The experiments Changes in the network size Changes in the network size is Chord scalable? network growth Massive simultaneous node failures Massive simultaneous node failures is it robust? make nodes drop at once Constant node joins and departures Constant node joins and departures Test reliability: are requests correctly replied? 3

14 Changes in the network size (1) One common changing value: One common changing value: networks with size N=2 K, K=3..14 networks with size N=2 K, K=3..14 N = 8, 16, 32,…, 8192, nodes N = 8, 16, 32,…, 8192, nodes Four subsets of experiments, combinations of two variables: Four subsets of experiments, combinations of two variables: with/without successors list constant/proportional identifier space Path length is logged Path length is logged 3

15 Scalability Data Analysis (Changes in network size) 3

16 3

17 3

18 The successors list data structure provides slight improvement in queries path length The successors list data structure provides slight improvement in queries path length The fact that the identifier space is constant or proportional to the size of the network does not affect the results, although each node has more absolute information (but not relative) The fact that the identifier space is constant or proportional to the size of the network does not affect the results, although each node has more absolute information (but not relative) 3

19 Scalability Data Analysis (Changes in network size) 3

20 Changes in the network size (2) 3 One common changing value: One common changing value: networks with size N=2 K, K=3..12 N = 8, 16, 32,…, 2048, 4096 nodes Three subsets of experiments, in which each node issues 10, 20 and 25 document search requests respectively Three subsets of experiments, in which each node issues 10, 20 and 25 document search requests respectively Path length and work load are logged Path length and work load are logged

21 Scalability Data Analysis (Process load per node) 3

22 3 kN=2 k L path #Calls 10 L·#lookups(L+1)·#lookups

23 Massive simultaneous node failures 1,000 nodes 1,000 nodes 0, 10, 20, 30, 40 and 50% of nodes are made to disappear at once respectively in each one of the 6 experiments 0, 10, 20, 30, 40 and 50% of nodes are made to disappear at once respectively in each one of the 6 experiments Successors list is of size r=2·log 2 N Successors list is of size r=2·log 2 N Path lengths, timeouts and reply successes are logged Path lengths, timeouts and reply successes are logged 3

24 Robustness Data Analysis (Massive node failures) 3

25 When a node fails and it’s in the path of a lookup, a timeout is counted, and the lookup is retried. When a node fails and it’s in the path of a lookup, a timeout is counted, and the lookup is retried. Differences are minor Differences are minor No undershooting, there’s always a reply No undershooting, there’s always a reply Path lengths and timeouts (experiments) Path lengths and timeouts (paper data) 3

26 Constant node joins and departures 1,000 nodes, size is kept “constant” 1,000 nodes, size is kept “constant” Nodes continuously leave and join Nodes continuously leave and join frequencies f=1/(0.5i) per second, i=1..8 rates R=0.05 to 0.40 in steps of 0.05 Successors list is of size r=2·log 2 N Successors list is of size r=2·log 2 N Referrers list (fingers that point the node) Referrers list (fingers that point the node) Path lengths, timeouts, reply successes and accuracy are logged Path lengths, timeouts, reply successes and accuracy are logged 3

27 Reliability Data Analysis (Constant network changes) Data extracted from the experiments regarding reliability Data extracted from the paper 3

28 Reliability Data Analysis (Constant network changes) The traffic generator adds a source of error The traffic generator adds a source of error It’s difficult to design the experiments with the way the traffic generator provides output It’s difficult to design the experiments with the way the traffic generator provides output The referrers list provides better behaviour of the network under changing conditions The referrers list provides better behaviour of the network under changing conditions Chord behaves well in these scenarios Chord behaves well in these scenarios 3

29 Conclusions Chord is a simple, and yet robust, reliable and scalable P2P protocol Chord is a simple, and yet robust, reliable and scalable P2P protocol Chord might not be the best solution for typical P2P uses Chord might not be the best solution for typical P2P uses The simulator is a useful, easy-to-use, highly customizable tool The simulator is a useful, easy-to-use, highly customizable tool The traffic generator can be improved, some outputs are not accurate The traffic generator can be improved, some outputs are not accurate 4

30 Conclusions (2) A few points of the paper were not easy to interpret A few points of the paper were not easy to interpret The results of the experiments reasonably match previous research The results of the experiments reasonably match previous research Some experiments were difficult to reproduce Some experiments were difficult to reproduce 4

31 Future work Broaden the set of uses in which P2P technology can be put Broaden the set of uses in which P2P technology can be put Improve scalability and efficiency, offering O(log K N) instead of O(log 2 N) Improve scalability and efficiency, offering O(log K N) instead of O(log 2 N) Devise more experiments to get a deeper understanding of the protocol Devise more experiments to get a deeper understanding of the protocol Further development of the simulator (GUI? Interactivity?) Further development of the simulator (GUI? Interactivity?) 4

32 Questions? Okay, then… Thank you for coming!


Download ppt "Evaluation of a Scalable P2P Lookup Protocol for Internet Applications Master Thesis Presentation by Samer Al-Kassimi Supervisors: Per Brand & Sameh El-Ansary."

Similar presentations


Ads by Google