Cycloid: A constant degree P2P network architecture Team: Comfortably Dumb Report 3 Pavan Deshpande (
[email protected]) Punit Gadenkanahalli (
[email protected]) Sahil Shah (
[email protected])
Cycloid (Revisited) Cycloid ■ Combination of pastry and CCC graphs. ■ Like Pastry, Cycloid uses consistent hashing to map keys to nodes ■ Every node is replaced by a cycle of d nodes. ■ The average lookup path is O(d) where n=dx2d
Hypothesis (Revisited) ● "Number of hops for a lookup request in Cycloid is proportional to d, dimension of the network"
● In a network with n nodes, relation between n and dimension d is given by equation n = d × 2d .
● Avg. number of hops, H = A + Cd where A and C are constants
Representation of node in cycloid ● Each node represented in the form ○ (k, ad-1 ad-2 ...... a0) ● k is called cyclic index ● ad-1 ad-2 ...... a0 called as cubical index ● k is integer which ranges from 0 to (d-1) ● ad-1 ad-2 ...... a0 are binary numbers from 0 to 2d - 1
Routing table of a node in cycloid ● Each node (k, ad-1...a0) has 7 entries in it's routing table. ● Cubical neighbour (k-1 , ad-1 ad-2 ... ak' x x x ) ● Cyclic neighbour one with smaller cubical index and one with larger cubical index. ○ MSDB should be < k-1 ● Inside leaf set node ○ same cubical index but differ in cyclic index. ○ one smaller and one larger ● Outside leaf set ○ primary node with preceding and succeeding cubical index
Routing ● Three conditions for routing. ○ Ascending: if nodes k < MSDB it forwards the request outside leaf set ○ Descending: if k = MSDB, forward request to cubical neighbour else if k > MSDB forward the request to cyclic neighbour or inside leaf set, whichever is closer to the target. ○ Traverse Cycle: If target ID is within leaf set the request is forwarded to the closest node in the leaf set.
Routing table <1,001> ● Routing table(dimension=3) ○ ○ ○ ○ ○ ○ ○
Cubical Neighbor= <0,011 > Cyclic Neighbor1= <0,000> Cyclic Neighbor2= <0,000> Inside LeafSet1= <2,001> Inside LeafSet2= <0,001> Outside LeafSet1= <2,010> Outside LeafSet2= <2,000>
● MSDB for <1,001> and <2,011> = 1 ● k== MSDB, so Cubical Neighbor
Routing table <0,011> Routing table(dimension=3) ○ Cubical Neighbor= (2,010 ) ○ Cyclic Neighbor1= (2,100 ) ○ Cyclic Neighbor2= (2,010 ) ○ Inside LeafSet1= (1,011 ) ○ Inside LeafSet2= (2,011 ) ○ Outside LeafSet1= (2,100 ) ○ Outside LeafSet2= (2,010 ) ● MSDB for <0,011> and <2,011> = 0 ● MSDB =0, so Inside leafset ●
Software Design ● Implementation consists of three classes ○ Simulate.java ○ Cycloid.java ○ Node.java
● Node class represents the structure of a node in cycloid and gives the routing table entries of a node. ● Cycloid class implements the routing algorithm of the cycloid. ● Simulate class runs the simulation. It generates the source and destination node for each iteration.
Class Diagram
Testing parameters ● We assume that the cycloid structure is static. ● d - dimension of the cycloid network. ○ a range of dimension is passed. ● n - number of iterations to be performed for each dimension ● seed for random generator ● n number of iterations are performed for each dimension in the range with different source node and destination node and average hop counts for that dimension is calculated
Progress ● Implemented the structure of Cycloid network. ● Implemented the routing algorithm of the cycloid. ● Currently testing the correctness of hypothesis for the range of dimensions
Results so far (so good?) ● The results so far obtained shows that average no of hop counts per lookup is in the order of the dimension.
Demo
Research Paper 1 Haiying Shen; Cheng-Zhong Xu; Guihai Chen, "Cycloid: a constant-degree and lookup-efficient P2P overlay network,". Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International , vol., no., pp. 26,, 26-30 April 2004 doi: 10.1109/IPDPS.2004.1302935
URL: http://ieeexplore.ieee.org.ezproxy.rit.edu/stamp/stamp.jsp? tp=&arnumber=1302935&isnumber=28950
Research Paper 2 Zhang Jianzhe, "Advanced routing algorithm based on Cycloid model for P2P network," .Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on , vol., no., pp.167,171, 27-29 May 2011 doi: 10.1109/ICCSN.2011.6013568 URL: http://ieeexplore.ieee.org.ezproxy.rit.edu/stamp/stamp.jsp? tp=&arnumber=6013568&isnumber=6013532
Research Paper 3 Xing Li; Jiguo Yu, "A Novel P2P Overlay Network Based on Cycloid and Folded Hypercube,". Grid and Cooperative Computing, 2008. GCC '08. Seventh International Conference on , vol., no., pp.374,379, 24-26 Oct. 2008 doi: 10.1109/GCC.2008.33 URL: http://ieeexplore.ieee.org.ezproxy.rit.edu/stamp/stamp.jsp? tp=&arnumber=4662889&isnumber=4662826
Thank you