58 |
Why GISP? Why are we using it versus some other systems? |
Why GISP? Why are we using it versus some other systems? |
59 |
What properties does it share with others, to such a degree |
What properties does it share with others, to such a degree |
60 |
that its performance might be deduced from theirs? |
that its performance might be deduced from theirs? |
61 |
|
|
62 |
|
RESOLVED: |
63 |
|
|
64 |
|
Why GISP ? Why are we using it versus some other systems? |
65 |
|
|
66 |
|
1) According to Benja, "it's written in Java" :) |
67 |
|
2) Aasy implementation (and it's implemented) |
68 |
|
3) (belief that) GISP is a Kademlia implementation (which |
69 |
|
is not true - only distance function is similar) |
70 |
|
|
71 |
|
There is also a Python implemenation of Kademlia called |
72 |
|
Kashmir_. |
73 |
|
|
74 |
|
What properties does it share with others, to such a degree |
75 |
|
that its performance might be deduced from theirs? |
76 |
|
|
77 |
-because "it's written in Java" |
GISP's routing table is based on Chord's routing |
78 |
-Kashmir - a Python implemenation of pure Kademlia |
table - O(log^2 n) messages are required to join/leave |
79 |
-with Kademlia: XOR-metric |
operations and O(log n) lookup efficiency (according to |
80 |
-with Chord: routing table (more space for cache) |
original Chord publication). GISP extends Chord's routing |
81 |
|
table to have more space for cached data (peer information) |
82 |
|
|
83 |
|
|
84 |
ISSUE: |
ISSUE: |
85 |
|
|
86 |
What experiments / simulations / methods are used in the literature? |
What experiments / simulations / methods are used in the literature? |
87 |
|
|
88 |
-rather static simulations |
RESOLVED: |
89 |
|
|
90 |
|
-very early (theoretical) experiments |
91 |
|
-limited amount of uncontrolled (real life), great amount of |
92 |
|
controlled (simulation environment) |
93 |
|
-simulations have been rather static and are often favored a |
94 |
|
proposed algorithm |
95 |
-not much real life experiments |
-not much real life experiments |
96 |
-simulations |
-somewhat controlled experiments |
97 |
-formal analyses |
-very fast connections between peers |
98 |
|
-some form of formal analyses ("proofs") are used with, |
99 |
|
e.g., Chord and Kademlia |
100 |
|
-number of peers used in simulations: from 2^7 to 2^20 |
101 |
|
|
102 |
Plan |
Plan |
103 |
==== |
==== |
107 |
if necessary, we program (rather short) test cases which will test |
if necessary, we program (rather short) test cases which will test |
108 |
the GISP/Storm P2P properties, as discussed in this document. Finally, we will |
the GISP/Storm P2P properties, as discussed in this document. Finally, we will |
109 |
collect and analyse test cases' information and publish any interesting |
collect and analyse test cases' information and publish any interesting |
110 |
discoveries. |
discoveries. |
111 |
|
|
112 |
|
|
113 |
The GISP protocol |
The GISP protocol |
114 |
================= |
================= |
115 |
|
|
116 |
- "GISP intends leverage those (DHT) algoritms and make a practical protocol." |
According to Daishi Kato, the author of GISP, GISP ''...intends leverage |
117 |
- *distance function* is based on XOR-metric (Kademlia uses XOR) |
those (DHT) algoritms and make a practical protocol.''. GISP's distance |
118 |
- protocol (most recent) talks about XOR-metric, publication |
function is based on the XOR-metric, which is similar to Kademlia's XOR-metric |
119 |
numerical metric |
(unsigned integer of XOR). The GISP protocol specification paper describes the |
120 |
- lacks of Kademlia's binary-tree abstraction (routing table) -the benefits |
XOR-metric but the original GISP publication describes only numerical |
121 |
of Kademlia's lookup properties are not available |
metric (which is little confusing since Chord_ uses numerical distance |
122 |
- uses Chord_'s extended routing table expect more space is used for caching |
metric). |
123 |
(Log^2 messages): asymmetric (requires stabilization protocol like Chord) |
|
124 |
and lookup process is unidirectional (a virtual ring) |
GISP extends Chord's routing table to have more peer information as a cache. |
125 |
-Chord's routing table is rigid compared to Kademlia's (well known issue) |
Thus, log^2 messages are required to join/leave operations (according to the |
126 |
- replicates in a same way as Kademlia ? |
original Chord publication). Additionally, Chord's routing table is asymmetric |
127 |
- no concurrent RPCs during lookup -- no free of choice during |
(requires stabilization protocol) and lookup process is unidirectional |
128 |
lookups ? |
(in a virtual overlay ring). Original Kademlia publication states that |
129 |
- does GISP have the property of Kademlia: leaving peer costs nothing ? |
Chord's routing table is rigid compared to Kademlia's routing table. |
130 |
- no, since GISP's routing table is based on Chord's routing table |
|
131 |
- supports "peer strength" for peer heteregeneity |
Since GISP lacks of Kademlia's binary-tree-like abstraction of the routing |
132 |
- nothing mentioned about the overlay topology -- however, routing table |
table, it is evident that the benefits of Kademlia's lookup properties (over |
133 |
is based on Chord's routing table --> toplogy resembles Chord's virtual |
other DHTs) are not available in the GISP protocol, e.g., no concurrent and |
134 |
ring |
asynchronous lookups (no free of choice) and when a peer leaves the system |
135 |
|
no messages are required. |
136 |
|
|
137 |
|
Original GISP publication describes "peer strength" as a measure for peer |
138 |
|
heteregeneity but do not describe what properties are used and how this |
139 |
|
value is calculated. |
140 |
|
|
141 |
|
For network communication the GISP protocol uses XML-RPC. |
142 |
|
|
143 |
Research problems |
Research problems |
144 |
================= |
================= |
153 |
|
|
154 |
- GISP does not use Kademlia's binary-tree abstraction - does it have influences |
- GISP does not use Kademlia's binary-tree abstraction - does it have influences |
155 |
and if it does, what are the influences ? |
and if it does, what are the influences ? |
156 |
|
|
157 |
|
- How much better/worse pure Kademlia implementation (e.g. Kashmir) is over the GISP |
158 |
|
protocol if face performance and fault-tolerance ? |
159 |
|
|
160 |
- How well GISP is able to perform in adverse conditions, e.g., a |
- How well GISP is able to perform in adverse conditions, e.g., a |
161 |
network partition occurs ? |
network partition occurs ? |
239 |
.. _GISP: http://gisp.jxta.org |
.. _GISP: http://gisp.jxta.org |
240 |
.. _Kademlia: http://kademlia.scs.cs.nyu.edu |
.. _Kademlia: http://kademlia.scs.cs.nyu.edu |
241 |
.. _Chord: http://www.pdos.lcs.mit.edu/chord/ |
.. _Chord: http://www.pdos.lcs.mit.edu/chord/ |
242 |
|
.. _Kahsmir: http://khashmir.sourceforge.net/ |