aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-04-13 16:43:08 +0000
committerng0 <ng0@n0.is>2019-04-13 16:43:08 +0000
commit83cf7d019c8421f50637e6ac1bfc60682a101c01 (patch)
tree88cb22e93e97aadd893037afe413a26cdadead62 /doc
downloadmsh-master.tar.gz
msh-master.zip
Re-init from old SVN checkout after data loss in 2019.HEADmaster
No history is preserved as our svn server is long gone.
Diffstat (limited to 'doc')
-rw-r--r--doc/.latexmkrc15
-rw-r--r--doc/Makefile45
-rw-r--r--doc/fig/svg/ip_map.svg280
-rw-r--r--doc/fig/svg/job_startup.svg520
-rw-r--r--doc/msh.tex368
-rw-r--r--doc/related_work.bib1466
6 files changed, 2694 insertions, 0 deletions
diff --git a/doc/.latexmkrc b/doc/.latexmkrc
new file mode 100644
index 0000000..16bc358
--- /dev/null
+++ b/doc/.latexmkrc
@@ -0,0 +1,15 @@
1add_cus_dep('glo', 'gls', 0, 'run_makeglossaries');
2add_cus_dep('acn', 'acr', 0, 'run_makeglossaries');
3
4sub run_makeglossaries {
5 if ( $silent ) {
6 system "makeglossaries -q '$_[0]'";
7 }
8 else {
9 system "makeglossaries '$_[0]'";
10 };
11}
12
13push @generated_exts, 'glo', 'gls', 'glg';
14push @generated_exts, 'acn', 'acr', 'alg';
15$clean_ext .= ' %R.ist %R.xdy';
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..ecf5a3c
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,45 @@
1MAINFILE := msh
2DIA := $(shell find . -iname '*.dia')
3DOT := $(shell find . -iname '*.dot')
4SVG := $(shell find ./fig/svg -iname '*.svg')
5GNUPLOT := $(shell find . -iname '*.gnuplot')
6VIEWERAPP := xdg-open
7
8.PHONY: all pdf clean view
9all: \
10 $(patsubst %.dot,%.pdf,$(DOT)) \
11 $(patsubst %.dia,%.pdf,$(DIA)) \
12 $(patsubst %.gnuplot,%.pdf,$(GNUPLOT)) \
13 $(patsubst %.svg,%.pdf,$(SVG)) \
14 $(patsubst %.svg,%.pdf,$(SVG2)) \
15 pdf
16
17%.pdf: %.dot
18 dot -Tpdf "$<" > "$@"
19
20%.pdf: %.eps
21 epstopdf "$<"
22
23%.eps: %.dia
24 dia -e "$@" -t eps "$<"
25
26%.pdf: %.gnuplot
27 gnuplot "$@"
28
29%.pdf: %.svg
30 inkscape --export-pdf="$@" --export-latex --file="$<"
31
32pdf:
33 latexmk -r .latexmkrc -silent -pdf $(MAINFILE)
34
35view: all
36 $(VIEWERAPP) $(MAINFILE).pdf &
37
38presentation: \
39
40clean:
41 - latexmk -c
42 - find . | egrep ".*((\.(pdfsync|aux|idx|ind|ilg|log|blg|bbl|toc|lof|lot|dvi|tlf|tlt|glo|out|tcp|nlo|nls|glo|gls|acn|acr|alg|glg|ist|loa))|~)$$" | xargs rm
43 - rm -rf $(MAINFILE).run.xml
44 - rm -rf $(patsubst %.svg,%.pdf,$(SVG)) \
45 $(patsubst %.svg,%.pdf_tex,$(SVG)) \ No newline at end of file
diff --git a/doc/fig/svg/ip_map.svg b/doc/fig/svg/ip_map.svg
new file mode 100644
index 0000000..559099a
--- /dev/null
+++ b/doc/fig/svg/ip_map.svg
@@ -0,0 +1,280 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 width="241.875"
13 height="205.5625"
14 id="svg3079"
15 version="1.1"
16 inkscape:version="0.48.3.1 r9886"
17 sodipodi:docname="ip_map.svg">
18 <defs
19 id="defs3081">
20 <marker
21 inkscape:stockid="Arrow1Mend"
22 orient="auto"
23 refY="0"
24 refX="0"
25 id="Arrow1Mend"
26 style="overflow:visible">
27 <path
28 id="path4014"
29 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
30 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
31 transform="matrix(-0.4,0,0,-0.4,-4,0)"
32 inkscape:connector-curvature="0" />
33 </marker>
34 </defs>
35 <sodipodi:namedview
36 id="base"
37 pagecolor="#ffffff"
38 bordercolor="#666666"
39 borderopacity="1.0"
40 inkscape:pageopacity="0.0"
41 inkscape:pageshadow="2"
42 inkscape:zoom="3.959798"
43 inkscape:cx="223.81354"
44 inkscape:cy="94.866244"
45 inkscape:document-units="px"
46 inkscape:current-layer="layer1"
47 showgrid="false"
48 inkscape:window-width="1920"
49 inkscape:window-height="1141"
50 inkscape:window-x="0"
51 inkscape:window-y="27"
52 inkscape:window-maximized="1"
53 fit-margin-top="0"
54 fit-margin-left="0"
55 fit-margin-right="0"
56 fit-margin-bottom="0" />
57 <metadata
58 id="metadata3084">
59 <rdf:RDF>
60 <cc:Work
61 rdf:about="">
62 <dc:format>image/svg+xml</dc:format>
63 <dc:type
64 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
65 </cc:Work>
66 </rdf:RDF>
67 </metadata>
68 <g
69 inkscape:label="Layer 1"
70 inkscape:groupmode="layer"
71 id="layer1"
72 transform="translate(-50.25,-296.25)">
73 <rect
74 style="fill:#000000;fill-opacity:0.48034937;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
75 id="rect3113"
76 width="9.0913725"
77 height="8.3337584"
78 x="102.53047"
79 y="382.12595" />
80 <g
81 id="g3885"
82 transform="translate(-51.265241,-18.94036)">
83 <text
84 sodipodi:linespacing="125%"
85 id="text3109"
86 y="432.36218"
87 x="131.42857"
88 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
89 xml:space="preserve"><tspan
90 y="432.36218"
91 x="131.42857"
92 id="tspan3111"
93 sodipodi:role="line">mshd</tspan></text>
94 <rect
95 y="421.77444"
96 x="111.11678"
97 height="15.909903"
98 width="41.668793"
99 id="rect3883"
100 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
101 </g>
102 <rect
103 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
104 id="rect3893"
105 width="64.649765"
106 height="58.588848"
107 x="50.760166"
108 y="377.0752" />
109 <rect
110 style="fill:#000000;fill-opacity:0.48034937;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
111 id="rect3113-4"
112 width="9.0913725"
113 height="8.3337584"
114 x="181.32236"
115 y="447.02826" />
116 <g
117 id="g3885-4"
118 transform="translate(84.095196,37.375641)">
119 <text
120 sodipodi:linespacing="125%"
121 id="text3109-0"
122 y="432.36218"
123 x="131.42857"
124 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
125 xml:space="preserve"><tspan
126 y="432.36218"
127 x="131.42857"
128 id="tspan3111-6"
129 sodipodi:role="line">mshd</tspan></text>
130 <rect
131 y="421.77444"
132 x="111.11678"
133 height="15.909903"
134 width="41.668793"
135 id="rect3883-4"
136 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
137 </g>
138 <rect
139 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
140 id="rect3893-4"
141 width="64.649765"
142 height="58.588848"
143 x="177.53429"
144 y="442.73511" />
145 <rect
146 style="fill:#000000;fill-opacity:0.48034937;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
147 id="rect3113-3"
148 width="9.0913725"
149 height="8.3337584"
150 x="194.20183"
151 y="342.22491" />
152 <g
153 id="g3885-45"
154 transform="translate(93.691642,-119.70308)">
155 <text
156 sodipodi:linespacing="125%"
157 id="text3109-8"
158 y="432.36218"
159 x="131.42857"
160 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
161 xml:space="preserve"><tspan
162 y="432.36218"
163 x="131.42857"
164 id="tspan3111-2"
165 sodipodi:role="line">mshd</tspan></text>
166 <rect
167 y="421.77444"
168 x="111.11678"
169 height="15.909903"
170 width="41.668793"
171 id="rect3883-7"
172 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
173 </g>
174 <rect
175 style="fill:none;stroke:#0f0707;stroke-width:1.04493999;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
176 id="rect3893-9"
177 width="70.591049"
178 height="58.588848"
179 x="190.41377"
180 y="296.7681" />
181 <text
182 xml:space="preserve"
183 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
184 x="95.206879"
185 y="432.63358"
186 id="text3987"
187 sodipodi:linespacing="125%"><tspan
188 sodipodi:role="line"
189 id="tspan3989"
190 x="95.206879"
191 y="432.63358">Host 0</tspan></text>
192 <text
193 xml:space="preserve"
194 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
195 x="218.69803"
196 y="494.2529"
197 id="text3991"
198 sodipodi:linespacing="125%"><tspan
199 sodipodi:role="line"
200 id="tspan3993"
201 x="218.69803"
202 y="494.2529">Host i</tspan></text>
203 <text
204 xml:space="preserve"
205 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
206 x="234.60793"
207 y="352.32648"
208 id="text3995"
209 sodipodi:linespacing="125%"><tspan
210 sodipodi:role="line"
211 id="tspan3997"
212 x="234.60793"
213 y="352.32648">Host n-i</tspan></text>
214 <path
215 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#Arrow1Mend)"
216 d="m 102.27795,410.66278 c 45.13452,-0.53732 71.31067,22.91671 80.8122,34.59772"
217 id="path3999"
218 inkscape:connector-curvature="0"
219 sodipodi:nodetypes="cc" />
220 <path
221 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#Arrow1Mend)"
222 d="m 217.1828,458.39249 c 0,0 15.15229,-3.53555 24.24367,-35.60789"
223 id="path4445"
224 inkscape:connector-curvature="0"
225 sodipodi:nodetypes="cc" />
226 <path
227 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#Arrow1Mend)"
228 d="m 203.54573,311.41529 c -35.42471,5.93377 -85.13993,36.11772 -95.45941,69.44799"
229 id="path4629"
230 inkscape:connector-curvature="0"
231 sodipodi:nodetypes="cc" />
232 <text
233 xml:space="preserve"
234 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
235 x="264.11429"
236 y="418.23892"
237 id="text4831"
238 sodipodi:linespacing="125%"><tspan
239 sodipodi:role="line"
240 id="tspan4833"
241 x="264.11429"
242 y="418.23892">Host i+1</tspan></text>
243 <text
244 xml:space="preserve"
245 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
246 x="263.12442"
247 y="393.23764"
248 id="text4835"
249 sodipodi:linespacing="125%"><tspan
250 sodipodi:role="line"
251 id="tspan4837"
252 x="263.12442"
253 y="393.23764">Host n-i-1</tspan></text>
254 <path
255 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 2;stroke-dashoffset:0;marker-end:url(#Arrow1Mend)"
256 d="M 232.33508,389.70211 C 217.2561,383.94586 206.33995,370.78455 199.50513,352.07393"
257 id="path5023"
258 inkscape:connector-curvature="0"
259 sodipodi:nodetypes="cc" />
260 <rect
261 style="fill:none;stroke:#0f0707;stroke-width:1.05119431;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
262 id="rect5207"
263 width="57.485756"
264 height="11.869292"
265 x="234.10286"
266 y="408.64249" />
267 <rect
268 style="fill:none;stroke:#0f0707;stroke-width:1.03788722;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
269 id="rect5209"
270 width="57.943794"
271 height="12.879445"
272 x="233.57747"
273 y="383.13611" />
274 <path
275 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
276 d="m 261.37697,408.64247 0,-12.37437"
277 id="path5211"
278 inkscape:connector-curvature="0" />
279 </g>
280</svg>
diff --git a/doc/fig/svg/job_startup.svg b/doc/fig/svg/job_startup.svg
new file mode 100644
index 0000000..12026f2
--- /dev/null
+++ b/doc/fig/svg/job_startup.svg
@@ -0,0 +1,520 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 width="397.59375"
13 height="289.91965"
14 id="svg2"
15 version="1.1"
16 inkscape:version="0.48.3.1 r9886"
17 sodipodi:docname="job_startup.svg">
18 <defs
19 id="defs4">
20 <marker
21 inkscape:stockid="Arrow1Mstart"
22 orient="auto"
23 refY="0"
24 refX="0"
25 id="Arrow1Mstart"
26 style="overflow:visible">
27 <path
28 id="path3802"
29 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
30 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
31 transform="matrix(0.4,0,0,0.4,4,0)"
32 inkscape:connector-curvature="0" />
33 </marker>
34 <marker
35 inkscape:stockid="Arrow1Lstart"
36 orient="auto"
37 refY="0"
38 refX="0"
39 id="Arrow1Lstart"
40 style="overflow:visible">
41 <path
42 id="path3796"
43 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
44 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
45 transform="matrix(0.8,0,0,0.8,10,0)"
46 inkscape:connector-curvature="0" />
47 </marker>
48 <marker
49 inkscape:stockid="Arrow1Mend"
50 orient="auto"
51 refY="0"
52 refX="0"
53 id="Arrow1Mend"
54 style="overflow:visible">
55 <path
56 id="path3805"
57 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
58 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
59 transform="matrix(-0.4,0,0,-0.4,-4,0)"
60 inkscape:connector-curvature="0" />
61 </marker>
62 </defs>
63 <sodipodi:namedview
64 id="base"
65 pagecolor="#ffffff"
66 bordercolor="#666666"
67 borderopacity="1.0"
68 inkscape:pageopacity="0.0"
69 inkscape:pageshadow="2"
70 inkscape:zoom="3.959798"
71 inkscape:cx="177.40865"
72 inkscape:cy="190.59215"
73 inkscape:document-units="px"
74 inkscape:current-layer="layer1"
75 showgrid="false"
76 showguides="true"
77 inkscape:guide-bbox="true"
78 inkscape:snap-midpoints="true"
79 inkscape:window-width="1920"
80 inkscape:window-height="1061"
81 inkscape:window-x="0"
82 inkscape:window-y="2"
83 inkscape:window-maximized="1"
84 fit-margin-top="0"
85 fit-margin-left="0"
86 fit-margin-right="0"
87 fit-margin-bottom="0"
88 inkscape:snap-global="false">
89 <sodipodi:guide
90 orientation="0,1"
91 position="-23.080357,124.91461"
92 id="guide2989" />
93 <sodipodi:guide
94 orientation="1,0"
95 position="84.0625,201.70032"
96 id="guide3012" />
97 <sodipodi:guide
98 orientation="0,1"
99 position="-29.508929,0.27174738"
100 id="guide4452" />
101 <sodipodi:guide
102 orientation="1,0"
103 position="326.20536,186.70032"
104 id="guide4454" />
105 <sodipodi:guide
106 orientation="0,1"
107 position="21.5625,32.771747"
108 id="guide4456" />
109 <sodipodi:guide
110 orientation="0,1"
111 position="-29.866071,190.62889"
112 id="guide6258" />
113 <sodipodi:guide
114 orientation="1,0"
115 position="197.14286,253.21429"
116 id="guide3061" />
117 </sodipodi:namedview>
118 <metadata
119 id="metadata7">
120 <rdf:RDF>
121 <cc:Work
122 rdf:about="">
123 <dc:format>image/svg+xml</dc:format>
124 <dc:type
125 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
126 <dc:title />
127 </cc:Work>
128 </rdf:RDF>
129 </metadata>
130 <g
131 inkscape:label="Layer 1"
132 inkscape:groupmode="layer"
133 id="layer1"
134 transform="translate(-68.4375,-169.14286)">
135 <text
136 xml:space="preserve"
137 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif"
138 x="144.5"
139 y="382.57648"
140 id="text3014"
141 sodipodi:linespacing="125%"><tspan
142 sodipodi:role="line"
143 id="tspan3016"
144 x="144.5"
145 y="382.57648">Application</tspan></text>
146 <text
147 xml:space="preserve"
148 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif"
149 x="144.5"
150 y="426.36218"
151 id="text3018"
152 sodipodi:linespacing="125%"><tspan
153 sodipodi:role="line"
154 id="tspan3020"
155 x="144.5"
156 y="426.36218">msh</tspan></text>
157 <path
158 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
159 d="m 144.5,343.7774 0,26.85662"
160 id="path3022"
161 inkscape:connector-curvature="0"
162 sodipodi:nodetypes="cc" />
163 <path
164 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
165 d="m 144.5,387.394 0,26.82533"
166 id="path4236"
167 inkscape:connector-curvature="0"
168 sodipodi:nodetypes="cc" />
169 <text
170 xml:space="preserve"
171 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
172 x="148.5"
173 y="357.7193"
174 id="text4420"
175 sodipodi:linespacing="125%"><tspan
176 sodipodi:role="line"
177 id="tspan4422"
178 x="148.5"
179 y="357.7193"
180 style="font-style:normal">4</tspan></text>
181 <text
182 xml:space="preserve"
183 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
184 x="151.40085"
185 y="402.89536"
186 id="text4424"
187 sodipodi:linespacing="125%"><tspan
188 sodipodi:role="line"
189 id="tspan4426"
190 x="151.40085"
191 y="402.89536"
192 style="font-style:normal">5</tspan></text>
193 <text
194 xml:space="preserve"
195 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif"
196 x="190"
197 y="452.00507"
198 id="text4430"
199 sodipodi:linespacing="125%"><tspan
200 sodipodi:role="line"
201 id="tspan4432"
202 x="190"
203 y="452.00507"
204 style="font-style:normal;-inkscape-font-specification:Serif">Host 0</tspan></text>
205 <text
206 xml:space="preserve"
207 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
208 x="394.64285"
209 y="426.29074"
210 id="text4458"
211 sodipodi:linespacing="125%"><tspan
212 sodipodi:role="line"
213 id="tspan4460"
214 x="394.64285"
215 y="426.29074">cmd</tspan></text>
216 <text
217 xml:space="preserve"
218 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif"
219 x="110.22112"
220 y="333.25507"
221 id="text2985"
222 sodipodi:linespacing="125%"><tspan
223 sodipodi:role="line"
224 x="110.22112"
225 y="333.25507"
226 id="tspan4262"
227 style="text-align:start;text-anchor:start">mshd (master)</tspan></text>
228 <rect
229 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
230 id="rect4462"
231 width="89.969322"
232 height="25.414677"
233 x="101.97963"
234 y="318.30737" />
235 <rect
236 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
237 id="rect4464"
238 width="70.584412"
239 height="14.268419"
240 x="109.5565"
241 y="372.52951"
242 ry="0" />
243 <rect
244 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
245 id="rect4462-5"
246 width="46.68111"
247 height="14.80503"
248 x="120.98088"
249 y="416.38824" />
250 <rect
251 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
252 id="rect4462-55"
253 width="85.793503"
254 height="24.507414"
255 x="354.93326"
256 y="319.3302" />
257 <rect
258 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
259 id="rect4462-56"
260 width="46.68111"
261 height="14.80503"
262 x="371.12372"
263 y="416.56683" />
264 <path
265 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 4;stroke-dashoffset:0;marker-end:url(#Arrow1Mend)"
266 d="m 168.16199,427.96933 200.75202,-0.0631"
267 id="path4498"
268 inkscape:connector-curvature="0"
269 sodipodi:nodetypes="cc" />
270 <text
271 xml:space="preserve"
272 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
273 x="265.58035"
274 y="424.79111"
275 id="text4720"
276 sodipodi:linespacing="125%"><tspan
277 sodipodi:role="line"
278 id="tspan4722"
279 x="265.58035"
280 y="424.79111"
281 style="font-style:italic">starts</tspan></text>
282 <path
283 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
284 d="M 120.05231,424.68362 C 83.811222,414.77578 84.686394,352.17218 101.2907,331.92244"
285 id="path4728"
286 inkscape:connector-curvature="0"
287 sodipodi:nodetypes="cc" />
288 <text
289 xml:space="preserve"
290 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
291 x="80.388351"
292 y="381.25613"
293 id="text4912"
294 sodipodi:linespacing="125%"><tspan
295 sodipodi:role="line"
296 id="tspan4914"
297 x="80.388351"
298 y="381.25613"
299 style="font-style:normal">6,8</tspan></text>
300 <path
301 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
302 d="m 394.64287,343.09357 -1e-5,71.06255"
303 id="path5100"
304 inkscape:connector-curvature="0"
305 sodipodi:nodetypes="cc" />
306 <text
307 xml:space="preserve"
308 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
309 x="396.73215"
310 y="375.54449"
311 id="text5284"
312 sodipodi:linespacing="125%"><tspan
313 sodipodi:role="line"
314 id="tspan5286"
315 x="396.73215"
316 y="375.54449"
317 style="font-style:normal">10</tspan></text>
318 <text
319 xml:space="preserve"
320 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
321 x="266.08542"
322 y="327.98129"
323 id="text5288"
324 sodipodi:linespacing="125%"><tspan
325 sodipodi:role="line"
326 id="tspan5290"
327 x="266.08542"
328 y="327.98129"
329 style="font-style:normal">3</tspan></text>
330 <rect
331 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
332 id="rect6256"
333 width="141.78572"
334 height="189.64285"
335 x="68.928574"
336 y="268.93362" />
337 <rect
338 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
339 id="rect6256-1"
340 width="141.78572"
341 height="189.64285"
342 x="323.75"
343 y="268.43362" />
344 <text
345 xml:space="preserve"
346 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif"
347 x="442.91574"
348 y="452.79074"
349 id="text4430-9"
350 sodipodi:linespacing="125%"><tspan
351 sodipodi:role="line"
352 id="tspan4432-9"
353 x="442.91574"
354 y="452.79074"
355 style="font-style:normal;-inkscape-font-specification:Serif">Host n</tspan></text>
356 <g
357 id="g3068"
358 transform="translate(-0.35714,32.785706)">
359 <text
360 sodipodi:linespacing="125%"
361 id="text3053"
362 y="189.99107"
363 x="265.58035"
364 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
365 xml:space="preserve"><tspan
366 y="189.99107"
367 x="265.58035"
368 id="tspan3055"
369 sodipodi:role="line">Execution wrapper</tspan></text>
370 <rect
371 y="178.5625"
372 x="210.58035"
373 height="16.785715"
374 width="110.71429"
375 id="rect3057"
376 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
377 </g>
378 <g
379 id="g3063"
380 transform="translate(2.5000072,35.642857)">
381 <text
382 sodipodi:linespacing="125%"
383 id="text3049"
384 y="145.77679"
385 x="262.72321"
386 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans Italic"
387 xml:space="preserve"><tspan
388 style="font-style:normal;-inkscape-font-specification:Serif"
389 y="145.77679"
390 x="262.72321"
391 id="tspan3051"
392 sodipodi:role="line">Scheduler</tspan></text>
393 <rect
394 y="133.99107"
395 x="233.08035"
396 height="16.428572"
397 width="60"
398 id="rect3059"
399 style="fill:none;stroke:#0f0707;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
400 </g>
401 <path
402 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
403 d="m 265.58036,186.0625 0,23.46429"
404 id="path3073"
405 inkscape:connector-curvature="0" />
406 <text
407 xml:space="preserve"
408 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
409 x="188.65617"
410 y="253.72234"
411 id="text4235"
412 sodipodi:linespacing="125%"><tspan
413 sodipodi:role="line"
414 id="tspan4237"
415 x="188.65617"
416 y="253.72234"
417 style="font-style:normal">2</tspan></text>
418 <text
419 xml:space="preserve"
420 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
421 x="348.52972"
422 y="252.59338"
423 id="text4235-4"
424 sodipodi:linespacing="125%"><tspan
425 sodipodi:role="line"
426 id="tspan4237-7"
427 x="348.52972"
428 y="252.59338"
429 style="font-style:normal">2</tspan></text>
430 <path
431 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
432 d="M 157.77049,-39.228872 C 121.40108,-10.95579 100.0674,7.9654718 75.267857,48.178572"
433 id="path4260"
434 inkscape:connector-curvature="0"
435 transform="translate(68.4375,267.9375)"
436 sodipodi:nodetypes="cc" />
437 <path
438 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
439 d="m 232.5,-39.228872 c 50.84902,29.8081673 81.39715,52.309479 106.9979,88.878673"
440 id="path4448"
441 inkscape:connector-curvature="0"
442 transform="translate(68.4375,267.9375)"
443 sodipodi:nodetypes="cc" />
444 <text
445 xml:space="preserve"
446 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
447 x="272.48795"
448 y="200.4348"
449 id="text4636"
450 sodipodi:linespacing="125%"><tspan
451 sodipodi:role="line"
452 id="tspan4638"
453 x="272.48795"
454 y="200.4348"
455 style="font-style:normal">1</tspan></text>
456 <path
457 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
458 d="m 353.03439,332.25537 c -18.36215,-0.16369 -133.52214,0.0345 -159.0412,0.60971"
459 id="path4039"
460 inkscape:connector-curvature="0"
461 sodipodi:nodetypes="cc" />
462 <text
463 xml:space="preserve"
464 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
465 x="269.71039"
466 y="350.38989"
467 id="text4231"
468 sodipodi:linespacing="125%"><tspan
469 sodipodi:role="line"
470 id="tspan4233"
471 x="269.71039"
472 y="350.38989" /></text>
473 <text
474 xml:space="preserve"
475 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Sans"
476 x="266.65179"
477 y="345.34824"
478 id="text4272"
479 sodipodi:linespacing="125%"><tspan
480 sodipodi:role="line"
481 id="tspan4274"
482 x="266.65179"
483 y="345.34824">MPI</tspan></text>
484 <text
485 xml:space="preserve"
486 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif"
487 x="358.54596"
488 y="334.14789"
489 id="text2985-5"
490 sodipodi:linespacing="125%"><tspan
491 sodipodi:role="line"
492 x="358.54596"
493 y="334.14789"
494 id="tspan4262-0"
495 style="text-align:start;text-anchor:start">mshd (worker)</tspan></text>
496 <path
497 style="fill:none;stroke:none"
498 d="m 33.84011,163.65058 c -44.194174,26.26397 0.252538,90.66119 18.182746,87.88327"
499 id="path3063"
500 inkscape:connector-curvature="0"
501 transform="translate(68.4375,169.14286)" />
502 <path
503 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
504 d="M 100.51018,251.28131 285.36809,168.4488"
505 id="path4225"
506 inkscape:connector-curvature="0"
507 transform="translate(68.4375,169.14286)"
508 sodipodi:nodetypes="cc" />
509 <text
510 xml:space="preserve"
511 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Serif;-inkscape-font-specification:Serif"
512 x="266.47687"
513 y="394.60437"
514 id="text5543"><tspan
515 sodipodi:role="line"
516 id="tspan5545"
517 x="268.06866"
518 y="394.60437">7, 9, 11 </tspan></text>
519 </g>
520</svg>
diff --git a/doc/msh.tex b/doc/msh.tex
new file mode 100644
index 0000000..9c728f1
--- /dev/null
+++ b/doc/msh.tex
@@ -0,0 +1,368 @@
1\documentclass[10pt, a4paper, onecolumn, oneside]{scrreprt}
2\usepackage[utf8]{inputenc}
3\usepackage{color}
4\usepackage{graphicx}
5\usepackage{import}
6\usepackage{amsfonts}
7\usepackage[pdftex,hyperfootnotes=false,pdfpagelabels]{hyperref}
8\usepackage{listings}
9\usepackage[sorting=none]{biblatex}
10%\usepackage{courier}
11
12\graphicspath{{fig/svg/}}
13\bibliography{related_work}
14
15
16\title{MSH: A remote shell based on MPI}
17\author{Sree Harsha Totakura}
18\lstset{language=bash,
19 basicstyle=\small\ttfamily,
20 numbers=left,
21 numberstyle=\tiny,
22 frame=b,
23 columns=fullflexible,
24 showstringspaces=false,
25 captionpos=b
26}
27
28\newcommand\todo[1]{
29 \marginpar{\textcolor{red}{TBD:} #1}
30 \PackageWarning{TODO:}{ #1}
31}
32
33\begin{document}
34\maketitle
35\cleardoublepage
36\tableofcontents
37\cleardoublepage
38\listoffigures
39\cleardoublepage
40\begin{abstract}
41 MPI-Shell (MSH) is a remote shell for executing commands remotely on hosts
42 where Message Passing Interface (MPI) layer is available for communication.
43 Such hosts are commonly found in High Performance Computing (HPC) systems such
44 as compute clusters or supercomputers.
45
46 The motivation for this project is that often in such systems Secure-Shell
47 (SSH) is either unavailable or restricted for users due to security reasons.
48 As a result, hosts in these systems cannot be used for non MPI applications
49 such as network emulators or testbeds which rely on SSH to establish
50 connections among the hosts. MSH aims to solve this problem by
51 providing an alternative remote shell which can be used by these applications
52 instead of SSH.
53\end{abstract}
54
55\cleardoublepage
56\chapter{Technical Documentation}
57
58\section{Introduction}
59Large scale network experimentation of distributed systems is achieved by
60distributing the experiment across multiple physical nodes~\cite{dpeersim, wids,
61 netlab, cset2011evans, totakura2013ms}. These tools coordinate the experiment
62among the hosts by establishing SSH connections to run remote commands on the
63available hosts.
64
65A limiting factor in scaling network experiments in the availability of
66computing power and underlying network. This requirement for resources can be
67addressed by running network experiments on High Performance Computing (HPC)
68systems which are made up of many hosts interconnected with a high speed and
69high bandwidth network.
70
71The usage of HPC systems poses some new challenges: since HPC systems are used
72by multiple users simultaneously, they allocate exclusive resources dynamically.
73The user has to determine these dynamically allocated resources before starting
74the experiment on these resources. The \textit{de-facto} standard for remote
75command execution, SSH, is increasingly made unavailable or restricted on HPC
76systems~\cite{supermuc} to prevent users from accessing resources which are not
77allocated to them. While such restriction does not effect the intended usage of
78HPC systems which is to run parallel programs with Message Passing Interface
79(MPI) for communications, it presents users to use network experimentation tools
80which rely on remote command execution.
81
82To overcome these challenges we propose, MSH, a new remote command execution
83system which uses MPI for determining node allocation and addressing. Our aims
84are: to provide MSH as a substitute for SSH for remote command execution; to
85make MSH behave similar to SSH such that the network experimentation tools do
86not have to be heavily modified; to determine the dynamically allocated
87resources on the HPC system and, finally, to be able to run network experiments
88on HPC systems.
89
90\section{Architecture}
91
92MSH consists of two components: the \texttt{mshd} daemon and the \texttt{msh}
93client. \texttt{mshd} is similar to \texttt{sshd} in that one \texttt{mshd}
94daemon per host is started. The daemons execute the commands given from remote
95\texttt{msh} clients. However, unlike \texttt{sshd}, \texttt{mshd} is started
96by the job scheduler and only runs during the job.
97
98The MSH client, \texttt{msh}, takes the IP address of the target host and the
99remote command string as arguments. The client relies on the local
100\texttt{mshd} for learning the address of the remote \texttt{mshd} and
101authenticating itself to the remote \texttt{mshd}.
102
103The command string is executed by the remote \texttt{mshd} after successful
104authentication of \texttt{msh}. The input for the executed command string is
105relayed by \texttt{msh} to the remote \texttt{mshd}. Similarly, the output from
106the executed command string is relayed from the remote \texttt{mshd} to
107\texttt{msh};
108
109\begin{figure}[ht]
110 \centering
111 \input{fig/svg/job_startup.pdf_tex}
112 \caption[Job start-up overview]{Job start-up overview }
113 \label{fig:job_startup}
114\end{figure}
115
116An overview of the interactions involved in starting an application with MSH is
117shown in Figure~\ref{fig:job_startup}:
118\begin{enumerate}
119\item The job scheduler starts the execution wrapper which is used to start
120 multiple instances of MPI programs. Examples for execution wrappers are
121 \texttt{mpiexec}, \texttt{mpirun}, \texttt{poe} and \texttt{srun}.
122\item The execution wrapper starts an \texttt{mshd} instance on each of the
123 allocated hosts. We distinguish the instance having MPI ID 0 as the master
124 instance and all other instances as worker instances.
125\item The instances resolve their addresses. This is further detailed in
126 Section~\ref{sec:addressing}.
127\item All the \texttt{mshd} instances open a local socket for IPC and set the
128 environmental variable \texttt{MSHD\_SOCK} to refer to this socket. They also
129 write to a file the addresses of hosts they learn in step 3. The name of this
130 file is made available through environmental variable
131 \texttt{MP\_SAVEHOSTFILE}. The master instance then starts the given
132 application given as an argument to \texttt{mshd} in the execution wrapper.
133\item The application knows about the available hosts through the environmental
134 variable \texttt{MP\_SAVEHOSTFILE} and calls \texttt{msh} for executing a
135 remote commands on those hosts.
136\item The \texttt{msh} program inherits the environmental variables
137 \texttt{MSHD\_SOCK} set by the master instance and uses it for establishing
138 IPC with the master instance. Using this IPC it learns from the local
139 \texttt{mshd} instance the address of the remote \texttt{mshd} running on the
140 given host.
141\item \texttt{msh} establishes connection to the remote \texttt{mshd} on the
142 learned address and delivers the remote command string that is to be
143 executed. The remote \texttt{mshd} responds with an authentication challenge.
144\item \texttt{msh} forwards the authentication challenge to its local
145 \texttt{mshd} through the IPC it established from step 6. The local
146 \texttt{mshd} responds with a challenge-response.
147\item The challenge-response is forwarded to the remote \texttt{mshd}.
148\item The remote \texttt{mshd} verifies the challenge-response and it
149 successfully verified, it starts executes the command string
150\item The input and output streams for the remote command string are relayed
151 from \texttt{msh} and \texttt{mshd} to each other respectively. Unlike SSH,
152 the streams are not encrypted as we only use MSH on HPC systems.
153\end{enumerate}
154
155\section{Resource Discovery and Addressing}
156\label{sec:addressing}
157
158One of our aims is to determine the resources which are dynamically allocated to
159us and provide their details to the experimentation tools. Since we intend to
160use MSH as a substitute for SSH, we provide the resources' IP addresses so that
161the tools can refer to these resources by IP addresses.
162
163The mapping between the allocated hosts and their IP addresses is determined by
164having each \texttt{mshd} instance verify the IP addresses of all other
165\texttt{mshd} instances running on the allocated hosts. The verification
166proceeds in rounds where each instance verifies IP addresses of several
167instances. At the beginning of each round, every instance opens a socket bound
168to a random port and all available IP addresses on its host and sends the IP
169addresses to a set of instances $\mathbb{N}$ for verification. The set
170$\mathbb{N}$ is determined from the set of all instances $\mathbb{I}$
171depending on the current round $r$ and the round width $R$ as follows:
172\begin{center}
173 $ \mathbb{N} = \{i\in \mathbb{I} | (rR + 1) \le i \le (rR + r)\} $
174\end{center}
175The instances verify the IP addresses of the sending instance by establishing
176TCP connections to the sender's listening socket with one TCP connection for
177each of the sender's IP addresses. The TCP connections are started in parallel
178and in non-blocking mode. This is depicted in Figure~\ref{fig:ip_map}.
179
180\begin{figure}[ht]
181 \centering
182 \input{fig/svg/ip_map.pdf_tex}
183 \caption{Instances verifying IP addresses during $i^{th}$ round}
184 \label{fig:ip_map}
185\end{figure}
186
187At the end of the last round, all instances would have verified the IP
188addresses of other instances and posses an instance-to-IP mapping. At this point,
189they accumulate their mappings using a reduction algorithm (binary/ binomial
190tree reduction). The reduction is made by intersecting the reported IP
191addresses for an instance.
192
193\section{Limitations}
194MSH does not have terminal handling capabilities yet. This means that
195applications such as \texttt{screen}, \texttt{less}, \texttt{vim} which require
196terminal (\texttt{tty}) support do not work through MSH. This also means that
197there is no support for sending control character sequences such as
198\texttt{Control+C} to the remote command.
199
200\cleardoublepage
201\chapter{User Guide}
202This chapter provides information for the installation of MSH and its usage. We
203provide examples which showcase how MSH is used in experiments conducted on HPC
204systems.
205
206\section{Installation}
207The source code for MSH is available from our Subversion repository:\\
208\url{https://gnunet.org/svn/msh/}.
209
210MSH depends on GNUnet's networking API and hence requires
211GNUnet\footnote{\url{https://gnunet.org/}} to be installed. GNUnet sources can
212be downloaded from its repository at \url{https://gnunet.org/svn/gnunet/}.
213Additionally, it requires an MPI implementation to be installed together with
214the MPI compiler wrapper \texttt{mpicc}. Note that the repositories for MSH and
215GNUnet are used for active development and hence checking out the current
216versions may sometimes break the stability of MSH or simply may not compile.
217The version we tested to be stable at the time of writing this document is
218\texttt{30205}. The corresponding version for GNUnet is also \texttt{30205}.
219
220Once the dependencies are installed, MSH can be installed by running the
221commands listed in Listing~\ref{lst:installation} in the MSH source directory:
222\begin{lstlisting}[language=bash,caption=Installation commands,label=lst:installation]
223$ ./configure
224$ make
225$ make install
226\end{lstlisting} %$
227
228If the required dependencies are not in the default search paths of the
229compiler, \texttt{configure} may fail complaining an error. These can be fixed
230by providing the installation directories of the dependencies to
231\texttt{configure}. For a list of available options type:
232\texttt{./configure -{}-help}
233
234
235\section{Starting MSH}
236MSH is started by running the MSH daemon on the available nodes through the MPI
237execution wrappers. The available nodes are determined either manually and
238given to the execution wrapper as a hostlist file (as in the case with small
239group of systems or clusters) or dynamically by either a job scheduling system
240such as LoadLeveler\cite{prenneis1996loadleveler} or SLURM\cite{yoo2003slurm}.
241The execution wrappers can be started as an interactive job or as a batch job.
242Interactive job execution gives more control to the user as the user can
243directly interact with the job through the job's standard input and output.
244Batch job execution allows for the job to be queued in a batch scheduling system
245which executes the job whenever the required number of resources are available.
246
247Since only one MSH daemon should run on each host, the wrappers are configured
248with the respective parameters such that they start only one instance of MSH per
249host.
250
251Examples for starting MSH on various HPC systems are shown in the following
252listings. \todo{Need more examples}
253
254\begin{lstlisting}[language=bash, caption=Starting MSH as an interactive job on
255 a cluster with SLURM job manager, label=lst:slurm_interactive, numbers=left]
256$ salloc --ntasks-per-node=1 -N 3 -p mpp1_inter
257$ srun_ps mshd -- /bin/bash
258\end{lstlisting}
259
260Listing~\ref{lst:slurm_interactive} shows interactive MSH startup on an MPI
261cluster. The cluster uses SLURM for job scheduling. The command
262\texttt{salloc} in line 1 is used to allocate resources. Here we allocate 3
263nodes from the cluster partition \texttt{mpp1\_inter} and configure the MPI
264execution wrapper to run 1 MPI process per node. When the allocation is
265successful, \texttt{mshd} is launched in line 2 with the command
266\texttt{srun\_ps} which is specific to SLURM for launching MPI programs. When
267MSH is launched successfully, the root \texttt{mshd} process will start
268\texttt{bash}.
269
270\begin{lstlisting}[language=bash, caption=Starting MSH as an interactive job using
271 LoadLeveler, label=lst:ll_interactive, numbers=left]
272$ export MP_NODES=3
273$ export MP_TASKS_PER_NODE=1
274$ poe mshd -- /bin/bash
275\end{lstlisting} %$
276
277Listing~\ref{lst:ll_interactive} shows interactive MSH startup on SuperMUC using
278the LoadLeveler scheduler. In lines 1, 2 we specify that we want to allocate 3
279nodes for our experiment and only one instance of \texttt{mshd} has to be
280started on each of them. In line 3, we start \texttt{mshd} processes through
281the LoadLeveler's \texttt{poe} command.
282
283\section{Using MSH}
284\label{sec:using}
285
286The usage of MSH is aimed at HPC systems where remote shells are disabled and
287MPI is available. With MSH, we address two problems: 1. we facilitate remote
288command execution and 2. we provide an easy interface to learn which hosts are
289allocated to the job by listing their addresses.
290
291The IP addresses of the hosts are made available as hostlist file to the
292processes \texttt{mshd} processes start. The path of this hostlist file is made
293available through the environmental variable \texttt{MP\_SAVEHOSTFILE}.
294\texttt{msh} can be used to connect to any of the hosts listed in this file.
295Listing~\ref{lst:msh_connect} shows an example for connecting to the allocated
296hosts. The commands are executed in a \texttt{bash} process started by the root
297\texttt{mshd} instance (run from the line 2 in Listing~\ref{lst:slurm_interactive}).
298
299\begin{lstlisting}[language=bash, caption=Using \texttt{msh} to connect to
300 remote hosts. The commands are run in a \texttt{bash} process started through
301 MSH in a cluster, label=lst:msh_connect]
302$ cat $MP_SAVEHOSTFILE
30310.0.0.3
30410.0.0.4
30510.0.0.5
306$ msh 10.0.0.4 date
307Fri Sep 6 11:17:09 CEST 2013
308$ quit
309\end{lstlisting}
310
311MSH can also be used by programs which are started by \texttt{mshd} instances.
312The programs however should take care to read the addresses of allocated hosts
313from the hostlist file from the evironmental variable and use \texttt{msh} for
314executing remote commands on those hosts.
315
316In our experiments, our distributed testbed~\cite{totakura2013ms} determines the
317allocated hosts through the hostfile and uses \texttt{msh} to spawn controllers
318for each allocated host. The start-up of the testbed is initiated from the root
319\texttt{mshd} instance which starts a master controller on the host where the
320root \texttt{mshd} instance is running.
321Listing~\ref{slurm_interactive_testbed_startup} shows the commands used to start
322the testbed. In the same way, other simulation and emulation software for
323network experiments which rely on SSH for starting remote processes can use MSH
324as a replacement for SSH.
325
326\begin{lstlisting}[language=bash, label=slurm_interactive_testbed_startup,
327 caption=Commands to start a testbed program which uses MSH]
328$ salloc --ntasks-per-node=1 -N 3 -p mpp1_inter
329$ srun_ps mshd -- ./gnunet-testbed-profiler \
330 -c ../../contrib/testbed_infiniband.conf -p 1000 -e 5
331\end{lstlisting}
332
333On a system with LoadLeveler such as SuperMUC the above experiment startup is
334shown in Listing~\ref{lst:ll_interactive_testbed_startup}
335
336\begin{lstlisting}[language=bash, label=lst:ll_interactive_testbed_startup,
337 caption=Commands to start testbed program which uses MSH with LoadLeveler
338 scheduler]
339$ export MP_NODES=3
340$ export MP_TASKS_PER_NODE=1
341$ poe mshd -- ./gnunet-testbed-profiler \
342 -c ../../contrib/testbed_infiniband.conf -p 1000 -e 5
343\end{lstlisting} %$
344
345\section{Termination}
346\label{sec:termination}
347
348Termination in MSH can be divided into two parts: the termination of remote
349access connections started through \texttt{msh} processes and the termination of
350\texttt{mshd} processes.
351
352\texttt{msh} processes terminate successfully when the remote command execution
353is complete and all the output from the command is fetched from the remote
354host. They terminate with error if the remote connection is broken, remote
355\texttt{mshd} process crashes or remote host goes down, if the given command is
356not found on the remote host and if the local \texttt{msh} processes receives
357any of the termination (SIGTERM, SIGINT) signals.
358
359The \texttt{mshd} processes terminate successfully when the main process started
360by the root \texttt{mshd} processes terminates. They terminate with error if
361the main process crashes or terminates with error, or if the binary needed for
362launching the main process is not found, or upon a crash of any of the
363\texttt{mshd} processes.
364
365\cleardoublepage
366\printbibliography
367
368\end{document}
diff --git a/doc/related_work.bib b/doc/related_work.bib
new file mode 100644
index 0000000..e6066d0
--- /dev/null
+++ b/doc/related_work.bib
@@ -0,0 +1,1466 @@
1@mastersthesis {totakura2013ms,
2 title = {Large Scale Distributed Evaluation of Peer-to-Peer Protocols},
3 volume = {Master of Science},
4 year = {2013},
5 month = {6},
6 pages = {76},
7 school = {Technische Universit\"at M\"unchen},
8 type = {Masters },
9 address = {Garching bei M\"unchen},
10 abstract = {Evaluations of P2P protocols during the system{\textquoteright}s design and implementation phases are commonly done through simulation and emulation respectively. While the current state-of-the-art simulation allows evaluations with many millions of peers through the use of abstractions, emulation still lags behind as it involves executing the real implementation at some parts of the system. This difference in scales can make it hard to relate the evaluations made created with simulation and emulation during the design and implementation phases and can results in a limited evaluation of the implementation, which may cause severe problems after deployment.
11
12In this thesis, we build upon an existing emulator for P2P applications to push the scales offered by emulation towards the limits set by simulation. Our approach distributes and co-ordinates the emulation across many hosts. Large deployments are possible by deploying hundreds or thousands of peers on each host.
13
14To address the varying needs of an experimenter and the range of available hardware, we make our approach scalable such that it can easily be adapted to run evaluations on a single machine or a large group of hosts. Specifically, the system automatically adjusts the number of overlapping operations to the available resources efficiently using a feedback mechanism, thus relieving the experimenter from the hassles of manual tuning.
15
16We specifically target HPC systems like compute clusters and supercomputers and demonstrate how such systems can be used for large scale emulations by evaluating two P2P applications with deployment sizes up to 90k peers on a supercomputer.},
17 keywords = {emulation, GNUnet, large scale testing, protocol evaluation, testbed},
18 author = {Totakura, Sree Harsha}
19}
20
21@INPROCEEDINGS{yoo2003slurm,
22 title={SLURM: Simple linux utility for resource management},
23 author={Yoo, Andy B and Jette, Morris A and Grondona, Mark},
24 booktitle={Job Scheduling Strategies for Parallel Processing},
25 pages={44--60},
26 year={2003},
27 organization={Springer}
28}
29
30@ARTICLE{prenneis1996loadleveler,
31 title={Loadleveler: Workload management for parallel and distributed computing environments},
32 author={Prenneis Jr, A},
33 journal={Proceedings of Supercomputing Europe (SUPEUR)},
34 volume={176},
35 year={1996}
36}
37
38
39
40@INPROCEEDINGS{DBLP:conf/tridentcom/AlbrechtH10,
41 author = {Jeannie R. Albrecht and Danny Yuxing Huang},
42 title = {Managing Distributed Applications Using Gush},
43 booktitle = {TRIDENTCOM},
44 year = {2010},
45 pages = {401-411},
46 bibsource = {DBLP, http://dblp.uni-trier.de},
47 crossref = {DBLP:conf/tridentcom/2010},
48 ee = {http://dx.doi.org/10.1007/978-3-642-17851-1_31},
49 file = {:gush.pdf:PDF}
50}
51
52@INPROCEEDINGS{DBLP:conf/acsac/EvansGG07,
53 author = {Nathan S. Evans and Chris GauthierDickey and Christian Grothoff},
54 title = {Routing in the Dark: Pitch Black},
55 booktitle = {ACSAC},
56 year = {2007},
57 pages = {305-314},
58 bibsource = {DBLP, http://dblp.uni-trier.de},
59 crossref = {DBLP:conf/acsac/2007},
60 ee = {http://doi.ieeecomputersociety.org/10.1109/ACSAC.2007.36},
61 file = {:RoutingintheDark.pdf:PDF}
62}
63
64@INPROCEEDINGS{DBLP:conf/tridentcom/HermenierR12,
65 author = {Fabien Hermenier and Robert Ricci},
66 title = {How to Build a Better Testbed: Lessons from a Decade of Network Experiments
67 on Emulab},
68 booktitle = {TRIDENTCOM},
69 year = {2012},
70 pages = {287-304},
71 bibsource = {DBLP, http://dblp.uni-trier.de},
72 crossref = {DBLP:conf/tridentcom/2012},
73 ee = {http://dx.doi.org/10.1007/978-3-642-35576-9_24},
74 file = {:how-to-build-a-better-testbed.pdf:PDF}
75}
76
77@INPROCEEDINGS{emulab,
78 author = {Mike Hibler and Robert Ricci and Leigh Stoller and Jonathon Duerig
79 and Shashi Guruprasad and Tim Stack and Kirk Webb and Jay Lepreau},
80 title = {Large-scale Virtualization in the Emulab Network Testbed},
81 booktitle = {USENIX Annual Technical Conference},
82 year = {2008},
83 pages = {113-128},
84 bibsource = {DBLP, http://dblp.uni-trier.de},
85 crossref = {DBLP:conf/usenix/2008},
86 ee = {http://www.usenix.org/events/usenix08/tech/fullpapers/hibler/hibler.pdf},
87 file = {:emulab_virtualisation.pdf:PDF}
88}
89
90@INPROCEEDINGS{DBLP:conf/tridentcom/NguyenRKFMB10,
91 author = {Hung X. Nguyen and Matthew Roughan and Simon Knight and Nick Falkner
92 and Olaf Maennel and Randy Bush},
93 title = {How to Build Complex, Large-Scale Emulated Networks},
94 booktitle = {TRIDENTCOM},
95 year = {2010},
96 pages = {3-18},
97 bibsource = {DBLP, http://dblp.uni-trier.de},
98 crossref = {DBLP:conf/tridentcom/2010},
99 ee = {http://dx.doi.org/10.1007/978-3-642-17851-1_1},
100 file = {:AutoNetkit.pdf:PDF}
101}
102
103@INPROCEEDINGS{DBLP:conf/tridentcom/PeralaPML10,
104 author = {Pekka H. J. Per{\"a}l{\"a} and Jori P. Paananen and Milton Mukhopadhyay
105 and Jukka-Pekka Laulajainen},
106 title = {A Novel Testbed for P2P Networks},
107 booktitle = {TRIDENTCOM},
108 year = {2010},
109 pages = {69-83},
110 bibsource = {DBLP, http://dblp.uni-trier.de},
111 crossref = {DBLP:conf/tridentcom/2010},
112 ee = {http://dx.doi.org/10.1007/978-3-642-17851-1_5},
113 file = {:A Novel Testbed for P2P Networks.pdf:PDF}
114}
115
116@ARTICLE{albrecht2006planetlab,
117 author = {Albrecht, J. and Tuttle, C. and Snoeren, A.C. and Vahdat, A.},
118 title = {PlanetLab application management using Plush},
119 journal = {ACM SIGOPS Operating Systems Review},
120 year = {2006},
121 volume = {40},
122 pages = {33--40},
123 number = {1},
124 file = {:plush.pdf:PDF},
125 publisher = {ACM}
126}
127
128@BOOK{infiniband2000,
129 title = {InfiniBand Architecture Specification: Release 1.0},
130 publisher = {InfiniBand Trade Association},
131 year = {2000},
132 author = {InfiniBand Trade Association}
133}
134
135@BOOK{banks1998handbook,
136 title = {Handbook of simulation},
137 publisher = {Wiley Online Library},
138 year = {1998},
139 author = {Banks, Jerry and others}
140}
141
142@ARTICLE{barabasi1999emergence,
143 author = {Barab{\'a}si, Albert-L{\'a}szl{\'o} and Albert, R{\'e}ka},
144 title = {Emergence of scaling in random networks},
145 journal = {science},
146 year = {1999},
147 volume = {286},
148 pages = {509--512},
149 number = {5439},
150 file = {:emergence_of_scaling_in_random_networks.pdf:PDF},
151 publisher = {American Association for the Advancement of Science}
152}
153
154@ARTICLE{barham2003xen,
155 author = {Barham, Paul and Dragovic, Boris and Fraser, Keir and Hand, Steven
156 and Harris, Tim and Ho, Alex and Neugebauer, Rolf and Pratt, Ian
157 and Warfield, Andrew},
158 title = {Xen and the art of virtualization},
159 journal = {ACM SIGOPS Operating Systems Review},
160 year = {2003},
161 volume = {37},
162 pages = {164--177},
163 number = {5},
164 publisher = {ACM}
165}
166
167@INPROCEEDINGS{oversim,
168 author = {Baumgart, I. and Heep, B. and Krause, S.},
169 title = {OverSim: A Flexible Overlay Network Simulation Framework},
170 booktitle = {IEEE Global Internet Symposium, 2007},
171 year = {2007},
172 pages = {79-84},
173 doi = {10.1109/GI.2007.4301435},
174 file = {:OverSim_2007.pdf:PDF},
175 keywords = {graphical user interfaces;peer-to-peer computing;protocols;OMNeT++;OverSim;flexible
176 overlay network simulation framework;generic lookup mechanism;overlay
177 protocols;peer-to- peer networks;peer-to-peer protocols;Access protocols;Application
178 software;Computational modeling;Costs;Discrete event simulation;Java;Next
179 generation networking;Object oriented modeling;Peer to peer computing;Testing}
180}
181
182@INPROCEEDINGS{deter,
183 author = {Benzel, T. and Braden, R. and Kim, D. and Neuman, C. and Joseph,
184 A. and Sklower, K. and Ostrenga, R. and Schwab, S.},
185 title = {Experience with DETER: a testbed for security research},
186 booktitle = {Testbeds and Research Infrastructures for the Development of Networks
187 and Communities, 2006. TRIDENTCOM 2006. 2nd International Conference
188 on},
189 year = {2006},
190 pages = {10 pp.-388},
191 doi = {10.1109/TRIDNT.2006.1649172},
192 issn = {Not Applica},
193 keywords = {security of data;telecommunication security;DETER;malicious code;security
194 research;Computer science;Computer security;Data security;Hardware;Information
195 security;Internet;Protection;System testing;Telecommunication traffic;Traffic
196 control}
197}
198
199@ARTICLE{grid5000,
200 author = {Bolze, Raphaël and Cappello, Franck and Caron, Eddy and Daydé, Michel
201 and Desprez, Frédéric and Jeannot, Emmanuel and Jégou, Yvon and Lanteri,
202 Stephane and Leduc, Julien and Melab, Noredine and Mornet, Guillaume
203 and Namyst, Raymond and Primet, Pascale and Quetier, Benjamin and
204 Richard, Olivier and Talbi, El-Ghazali and Touche, Iréa},
205 title = {Grid'5000: A Large Scale And Highly Reconfigurable Experimental Grid
206 Testbed},
207 journal = {International Journal of High Performance Computing Applications},
208 year = {2006},
209 volume = {20},
210 pages = {481-494},
211 number = {4},
212 abstract = {Large scale distributed systems such as Grids are difficult to study
213 from theoretical models and simulators only. Most Grids deployed
214 at large scale are production platforms that are inappropriate research
215 tools because of their limited reconfiguration, control and monitoring
216 capabilities. In this paper, we present Grid'5000, a 5000 CPU nation-wide
217 infrastructure for research in Grid computing. Grid'5000 is designed
218 to provide a scientific tool for computer scientists similar to the
219 large-scale instruments used by physicists, astronomers, and biologists.
220 We describe the motivations, design considerations, architecture,
221 control, and monitoring infrastructure of this experimental platform.
222 We present configuration examples and performance results for the
223 reconfiguration subsystem.},
224 doi = {10.1177/1094342006070078},
225 eprint = {http://hpc.sagepub.com/content/20/4/481.full.pdf+html},
226 url = {http://hpc.sagepub.com/content/20/4/481.abstract}
227}
228
229@ARTICLE{2009Chertov,
230 author = {Chertov, Roman and Fahmy, Sonia and Shroff, Ness B.},
231 title = {Fidelity of network simulation and emulation: A case study of TCP-targeted
232 denial of service attacks},
233 journal = {ACM Trans. Model. Comput. Simul.},
234 year = {2009},
235 volume = {19},
236 pages = {4:1--4:29},
237 number = {1},
238 month = jan,
239 acmid = {1456649},
240 address = {New York, NY, USA},
241 articleno = {4},
242 doi = {10.1145/1456645.1456649},
243 file = {:fidelity_sim_emu.pdf:PDF},
244 issn = {1049-3301},
245 issue_date = {December 2008},
246 keywords = {Simulation, TCP, congestion control, denial of service attacks, emulation,
247 low-rate TCP-targeted attacks, testbeds},
248 numpages = {29},
249 publisher = {ACM},
250 url = {http://doi.acm.org/10.1145/1456645.1456649}
251}
252
253@ARTICLE{planetlab,
254 author = {Chun, Brent and Culler, David and Roscoe, Timothy and Bavier, Andy
255 and Peterson, Larry and Wawrzoniak, Mike and Bowman, Mic},
256 title = {PlanetLab: an overlay testbed for broad-coverage services},
257 journal = {SIGCOMM Comput. Commun. Rev.},
258 year = {2003},
259 volume = {33},
260 pages = {3--12},
261 number = {3},
262 month = jul,
263 acmid = {956995},
264 address = {New York, NY, USA},
265 doi = {10.1145/956993.956995},
266 issn = {0146-4833},
267 issue_date = {July 2003},
268 numpages = {10},
269 publisher = {ACM},
270 url = {http://doi.acm.org/10.1145/956993.956995}
271}
272
273@INCOLLECTION{freenet,
274 author = {Clarke, Ian and Sandberg, Oskar and Wiley, Brandon and Hong, TheodoreW.},
275 title = {Freenet: A Distributed Anonymous Information Storage and Retrieval
276 System},
277 booktitle = {Designing Privacy Enhancing Technologies},
278 publisher = {Springer Berlin Heidelberg},
279 year = {2001},
280 editor = {Federrath, Hannes},
281 volume = {2009},
282 series = {Lecture Notes in Computer Science},
283 pages = {46-66},
284 doi = {10.1007/3-540-44702-4_4},
285 file = {:freenet.pdf:PDF},
286 isbn = {978-3-540-41724-8},
287 language = {English},
288 url = {http://dx.doi.org/10.1007/3-540-44702-4_4}
289}
290
291@MISC{cohen2008bittorrent,
292 author = {Cohen, Bram},
293 title = {The BitTorrent protocol specification},
294 year = {2008},
295 publisher = {BITTORRENT}
296}
297
298@ARTICLE{openmp,
299 author = {Dagum, L. and Menon, R.},
300 title = {OpenMP: an industry standard API for shared-memory programming},
301 journal = {Computational Science Engineering, IEEE},
302 year = {1998},
303 volume = {5},
304 pages = {46-55},
305 number = {1},
306 doi = {10.1109/99.660313},
307 issn = {1070-9924},
308 keywords = {application program interfaces;parallel programming;shared memory
309 systems;software portability;software reviews;software standards;Fortran;Fortran
310 90;Fortran 95;Fortran compiler;OpenMP;X3H5 concepts;allocatables;callable
311 runtime library;callable runtime library routines;coarse grain parallelism;compiler
312 directives;environment variables;industry standard API;pointers;shared
313 memory parallelism;shared memory programming;ANSI standards;Coherence;Computer
314 architecture;Hardware;Message passing;Parallel processing;Parallel
315 programming;Power system modeling;Scalability;Software systems}
316}
317
318@MISC{torproject,
319 author = {Dingledine, R and Mathewson, N and Syverson, P},
320 title = {TOR: the onion router. Tor Project/EFF},
321 howpublished = {\url{https://www.torproject.org/}}
322}
323
324@INPROCEEDINGS{dpeersim,
325 author = {Tien Tuan Anh Dinh and Lees, M. and Theodoropoulos, G. and Minson,
326 R.},
327 title = {Large Scale Distributed Simulation of p2p Networks},
328 booktitle = {Parallel, Distributed and Network-Based Processing, 2008. PDP 2008.
329 16th Euromicro Conference on},
330 year = {2008},
331 pages = {499-507},
332 doi = {10.1109/PDP.2008.67},
333 file = {:dpeersim.pdf:PDF},
334 keywords = {discrete event simulation;peer-to-peer computing;Chord p2p protocol;PeerSim;large
335 scale distributed simulation;p2p networks;parallel discrete event
336 simulation techniques;Algorithm design and analysis;Analytical models;Computational
337 modeling;Discrete event simulation;Large-scale systems;Network servers;Peer
338 to peer computing;Protocols;Robustness;Scalability;Distributed;Large
339 Scale;Parallel;Simulation}
340}
341
342@INPROCEEDINGS{Eger:2007:ESL:1272980.1272986,
343 author = {Eger, Kolja and Ho\ssfeld, Tobias and Binzenh\"{o}fer, Andreas and
344 Kunzmann, Gerald},
345 title = {Efficient simulation of large-scale p2p networks: packet-level vs.
346 flow-level simulations},
347 booktitle = {Proceedings of the second workshop on Use of P2P, GRID and agents
348 for the development of content networks},
349 year = {2007},
350 series = {UPGRADE '07},
351 pages = {9--16},
352 address = {New York, NY, USA},
353 publisher = {ACM},
354 acmid = {1272986},
355 doi = {10.1145/1272980.1272986},
356 file = {:p2p_sim_flow_level_vs_packet_level.pdf:PDF},
357 isbn = {978-1-59593-718-6},
358 keywords = {BitTorrent, content distribution, peer-to-peer, simulation},
359 location = {Monterey, California, USA},
360 numpages = {8},
361 url = {http://doi.acm.org/10.1145/1272980.1272986}
362}
363
364@ARTICLE{erdos,
365 author = {Erdos, Paul and R{\'e}nyi, Alfr{\'e}d},
366 title = {On the evolution of random graphs},
367 journal = {Bull. Inst. Internat. Statist},
368 year = {1961},
369 volume = {38},
370 pages = {343--347},
371 number = {4}
372}
373
374@ARTICLE{Eugster:2003:LPB:945506.945507,
375 author = {Eugster, P. Th. and Guerraoui, R. and Handurukande, S. B. and Kouznetsov,
376 P. and Kermarrec, A.-M.},
377 title = {Lightweight probabilistic broadcast},
378 journal = {ACM Trans. Comput. Syst.},
379 year = {2003},
380 volume = {21},
381 pages = {341--374},
382 number = {4},
383 month = nov,
384 acmid = {945507},
385 address = {New York, NY, USA},
386 doi = {10.1145/945506.945507},
387 issn = {0734-2071},
388 issue_date = {November 2003},
389 keywords = {Broadcast, buffering, garbage collection, gossip, noise, randomization,
390 reliability, scalability},
391 numpages = {34},
392 publisher = {ACM},
393 url = {http://doi.acm.org/10.1145/945506.945507}
394}
395
396@INPROCEEDINGS{evans2011r5n,
397 author = {Evans, N.S. and Grothoff, C.},
398 title = {R5n: Randomized recursive routing for restricted-route networks},
399 booktitle = {Network and System Security (NSS), 2011 5th International Conference
400 on},
401 year = {2011},
402 pages = {316--321},
403 organization = {IEEE},
404 file = {:r5n.pdf:PDF}
405}
406
407@INCOLLECTION{evans2012efficient,
408 author = {Evans, Nathan and Polot, Bartlomiej and Grothoff, Christian},
409 title = {Efficient and secure decentralized network size estimation},
410 booktitle = {NETWORKING 2012},
411 publisher = {Springer},
412 year = {2012},
413 pages = {304--317}
414}
415
416@MASTERSTHESIS{evans2011thesis,
417 author = {Nathan S. Evans},
418 title = {Methods for Secure Decentralized Routing in Open Networks},
419 school = {Technische Universit{\"a}t M{\"u}nchen},
420 year = {2011},
421 address = {Garching bei M{\"u}nchen},
422 month = {08/2011},
423 abstract = { The contribution of this thesis is the study and improvement of secure,
424 decentralized, robust routing algorithms for open networks including
425 ad-hoc networks and peer-to-peer (P2P) overlay networks. The main
426 goals for our secure routing algorithm are openness, efficiency,
427 scalability and resilience to various types of attacks. Common P2P
428 routing algorithms trade-off decentralization for security; for instance
429 by choosing whether or not to require a centralized authority to
430 allow peers to join the network. Other algorithms trade scalability
431 for security, for example employing random search or flooding to
432 prevent certain types of attacks. Our design attempts to meet our
433 security goals in an open system, while limiting the performance
434 penalties incurred.
435
436 The first step we took towards designing our routing algorithm was
437 an analysis of the routing algorithm in Freenet. This algorithm is
438 relevant because it achieves efficient (order O(log n)) routing in
439 realistic network topologies in a fully decentralized open network.
440 However, we demonstrate why their algorithm is not secure, as malicious
441 participants are able to severely disrupt the operation of the network.
442 The main difficulty with the Freenet routing algorithm is that for
443 performance it relies on information received from untrusted peers.
444 We also detail a range of proposed solutions, none of which we found
445 to fully fix the problem.
446
447 A related problem for efficient routing in sparsely connected networks
448 is the difficulty in sufficiently populating routing tables. One
449 way to improve connectivity in P2P overlay networks is by utilizing
450 modern NAT traversal techniques. We employ a number of standard NAT
451 traversal techniques in our approach, and also developed and experimented
452 with a novel method for NAT traversal based on ICMP and UDP hole
453 punching. Unlike other NAT traversal techniques ours does not require
454 a trusted third party.
455
456 Another technique we use in our implementation to help address the
457 connectivity problem in sparse networks is the use of distance vector
458 routing in a small local neighborhood. The distance vector variant
459 used in our system employs onion routing to secure the resulting
460 indirect connections. Materially to this design, we discovered a
461 serious vulnerability in the Tor protocol which allowed us to use
462 a DoS attack to reduce the anonymity of the users of this extant
463 anonymizing P2P network. This vulnerability is based on allowing
464 paths of unrestricted length for onion routes through the network.
465 Analyzing Tor and implementing this attack gave us valuable knowledge
466 which helped when designing the distance vector routing protocol
467 for our system.
468
469 Finally, we present the design of our new secure randomized routing
470 algorithm that does not suffer from the various problems we discovered
471 in previous designs. Goals for the algorithm include providing efficiency
472 and robustness in the presence of malicious participants for an open,
473 fully decentralized network without trusted authorities. We provide
474 a mathematical analysis of the algorithm itself and have created
475 and deployed an implementation of this algorithm in GNUnet. In this
476 thesis we also provide a detailed overview of a distributed emulation
477 framework capable of running a large number of nodes using our full
478 code base as well as some of the challenges encountered in creating
479 and using such a testing framework. We present extensive experimental
480 results showing that our routing algorithm outperforms the dominant
481 DHT design in target topologies, and performs comparably in other
482 scenarios.},
483 attachments = {https://gnunet.org/sites/default/files/NET-2011-08-1.pdf},
484 file = {:NET-2011-08-1.pdf:PDF},
485 isbn = {3-937201-26-2},
486 issn = {1868-2642},
487 keywords = {DHT, Freenet, GNUnet, NAT, R5N, Tor},
488 pages = {234},
489 volume = {Dr. rer. nat.}
490}
491
492@CONFERENCE{cset2011evans,
493 author = {Nathan S. Evans and Christian Grothoff},
494 title = {Beyond Simulation: Large-Scale Distributed Emulation of P2P Protocols},
495 booktitle = {4th Workshop on Cyber Security Experimentation and Test (CSET 2011)},
496 year = {2011},
497 address = {San Francisco, California},
498 organization = {USENIX Association},
499 publisher = {USENIX Association},
500 abstract = {This paper presents details on the design and implementation of a
501 scalable framework for evaluating peer-to-peer protocols. Unlike
502 systems based on simulation, emulation-based systems enable the experimenter
503 to obtain data that reflects directly on the concrete implementation
504 in much greater detail. This paper argues that emulation is a better
505 model for experiments with peer-to-peer protocols since it can provide
506 scalability and high flexibility while eliminating the cost of moving
507 from experimentation to deployment. We discuss our unique experience
508 with large-scale emulation using the GNUnet peer-to-peer framework
509 and provide experimental results to support these claims. },
510 file = {:cset2011.pdf:PDF},
511 keywords = {DHT, emulation, GNUnet, scalability, security analysis}
512}
513
514@ARTICLE{nate2012report,
515 author = {Nathan S. Evans and Polot, Bartlomiej and Christian Grothoff},
516 title = {Efficient and Secure Decentralized Network Size Estimation, Tech
517 Report},
518 year = {2012},
519 month = {05/2012},
520 abstract = {The size of a Peer-to-Peer (P2P) network is an important parameter
521 for performance tuning of P2P routing algorithms. This paper introduces
522 and evaluates a new efficient method for participants in an unstructured
523 P2P network to establish the size of the overall network. The presented
524 method is highly efficient, propagating information about the current
525 size of the network to all participants using O(|E|) operations where
526 |E| is the number of edges in the network. Afterwards, all nodes
527 have the same network size estimate, which can be made arbitrarily
528 accurate by averaging results from multiple rounds of the protocol.
529 Security measures are included which make it prohibitively expensive
530 for a typical active participating adversary to significantly manipulate
531 the estimates. This paper includes experimental results that demonstrate
532 the viability, efficiency and accuracy of the protocol.},
533 address = {Garching bei Muenchen},
534 attachments = {https://gnunet.org/sites/default/files/nse-techreport.pdf},
535 file = {:nse2012.pdf:PDF},
536 institution = {Technische Universitaet Muenchen},
537 keywords = {GNUnet, network security, network size estimation, peer-to-peer networking}
538}
539
540@ARTICLE{fall2007network,
541 author = {Fall, Kevin and Varadhan, Kannan},
542 title = {The network simulator (ns-2)},
543 journal = {URL: http://www. isi. edu/nsnam/ns},
544 year = {2007}
545}
546
547@INCOLLECTION{freire2012,
548 author = {Freire, ClaudioDaniel and Quereilhac, Alina and Turletti, Thierry
549 and Dabbous, Walid},
550 title = {Automated Deployment and Customization of Routing Overlays on Planetlab},
551 booktitle = {Testbeds and Research Infrastructure. Development of Networks and
552 Communities},
553 publisher = {Springer Berlin Heidelberg},
554 year = {2012},
555 editor = {Korakis, Thanasis and Zink, Michael and Ott, Maximilian},
556 volume = {44},
557 series = {Lecture Notes of the Institute for Computer Sciences, Social Informatics
558 and Telecommunications Engineering},
559 pages = {240-255},
560 doi = {10.1007/978-3-642-35576-9_21},
561 isbn = {978-3-642-35575-2},
562 keywords = {networking; overlays; PlanetLab; NEPI},
563 url = {http://dx.doi.org/10.1007/978-3-642-35576-9_21}
564}
565
566@INPROCEEDINGS{1209239,
567 author = {Zihui Ge and Figueiredo, D.R. and Jaiswal, S. and Kurose, J. and
568 Towsley, D.},
569 title = {Modeling peer-peer file sharing systems},
570 booktitle = {INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer
571 and Communications. IEEE Societies},
572 year = {2003},
573 volume = {3},
574 pages = {2188-2198 vol.3},
575 doi = {10.1109/INFCOM.2003.1209239},
576 file = {:modelling_p2p_file_sharing.pdf:PDF},
577 issn = {0743-166X},
578 keywords = {Internet;distributed processing;file organisation;query processing;centralized
579 indexing;distributed indexing;distributed network applications;file
580 sharing systems;flooded queries;freeloaders;hashing directed queries;mathematical
581 models;peer-peer network;performance degradation;spare capacity;system
582 throughput;Application software;Availability;Computer science;Degradation;Indexing;Mathematical
583 model;Network servers;Peer to peer computing;System performance;Throughput}
584}
585
586@ARTICLE{Giuli2002narses,
587 author = {Thomas J. Giuli and Mary Baker},
588 title = {Narses: A Scalable Flow-Based Network Simulator},
589 journal = {CoRR},
590 year = {2002},
591 volume = {cs.PF/0211024},
592 bibsource = {DBLP, http://dblp.uni-trier.de},
593 ee = {http://arxiv.org/abs/cs.PF/0211024},
594 file = {:Narses_a_scalable_flow_based_network_simulator.pdf:PDF}
595}
596
597@BOOK{mpi,
598 title = {Using MPI-: Portable Parallel Programming with the Message Passing
599 Interface},
600 publisher = {MIT press},
601 year = {1999},
602 author = {Gropp, William and Lusk, Ewing L and Skjellum, Anthony},
603 volume = {1}
604}
605
606@ARTICLE{diecast,
607 author = {Gupta, Diwaker and Vishwanath, Kashi Venkatesh and McNett, Marvin
608 and Vahdat, Amin and Yocum, Ken and Snoeren, Alex and Voelker, Geoffrey
609 M.},
610 title = {DieCast: Testing Distributed Systems with an Accurate Scale Model},
611 journal = {ACM Trans. Comput. Syst.},
612 year = {2011},
613 volume = {29},
614 pages = {4:1--4:48},
615 number = {2},
616 month = may,
617 acmid = {1963560},
618 address = {New York, NY, USA},
619 articleno = {4},
620 doi = {10.1145/1963559.1963560},
621 file = {:diecast.pdf:PDF},
622 issn = {0734-2071},
623 issue_date = {May 2011},
624 keywords = {Virtualization, Xen, network emulation},
625 numpages = {48},
626 publisher = {ACM},
627 url = {http://static.usenix.org/event/nsdi08/tech/full_papers/gupta/gupta_html/}
628}
629
630@INPROCEEDINGS{Gupta2005timewrap,
631 author = {Gupta, Diwaker and Yocum, Kenneth and McNett, Marvin and Snoeren,
632 Alex C. and Vahdat, Amin and Voelker, Geoffrey M.},
633 title = {To infinity and beyond: time warped network emulation},
634 booktitle = {Proceedings of the twentieth ACM symposium on Operating systems principles},
635 year = {2005},
636 series = {SOSP '05},
637 pages = {1--2},
638 address = {New York, NY, USA},
639 publisher = {ACM},
640 acmid = {1118605},
641 doi = {10.1145/1095810.1118605},
642 file = {:emulation_timewrap.pdf:PDF},
643 isbn = {1-59593-079-5},
644 location = {Brighton, United Kingdom},
645 numpages = {2},
646 url = {http://doi.acm.org/10.1145/1095810.1118605}
647}
648
649@INCOLLECTION{gupta2003kelips,
650 author = {Gupta, Indranil and Birman, Ken and Linga, Prakash and Demers, Al
651 and Van Renesse, Robbert},
652 title = {Kelips: Building an efficient and stable P2P DHT through increased
653 memory and background overhead},
654 booktitle = {Peer-to-Peer Systems II},
655 publisher = {Springer},
656 year = {2003},
657 pages = {160--169},
658 file = {:kelips.pdf:PDF}
659}
660
661@INPROCEEDINGS{fuzzybarrier,
662 author = {Gupta, Rajiv},
663 title = {The fuzzy barrier: a mechanism for high speed synchronization of
664 processors},
665 booktitle = {ACM SIGARCH Computer Architecture News},
666 year = {1989},
667 volume = {17},
668 number = {2},
669 pages = {54--63},
670 organization = {ACM}
671}
672
673@ARTICLE{handigol2012reproducible,
674 author = {Handigol, N. and Heller, B. and Jeyakumar, V. and Lantz, B. and McKeown,
675 N.},
676 title = {Reproducible network experiments using container based emulation},
677 journal = {Proc. CoNEXT},
678 year = {2012},
679 __markedentry = {[harsha:1]},
680 file = {:mininet-hifi.pdf:PDF}
681}
682
683@INPROCEEDINGS{mascots2003qi,
684 author = {Qi He and Ammar, M. and Riley, G. and Raj, H. and Fujimoto, R.},
685 title = {Mapping peer behavior to packet-level details: a framework for packet-level
686 simulation of peer-to-peer systems},
687 booktitle = {Modeling, Analysis and Simulation of Computer Telecommunications
688 Systems, 2003. MASCOTS 2003. 11th IEEE/ACM International Symposium
689 on},
690 year = {2003},
691 pages = {71-78},
692 doi = {10.1109/MASCOT.2003.1240644},
693 file = {:p2p_sim_framework.pdf:PDF},
694 issn = {1526-7539},
695 keywords = {discrete event simulation;parallel processing;performance evaluation;transport
696 protocols;Gnutella protocol;Gnutella system performance;discrete-event
697 simulation;network simulator;packet-level simulation;parallelization
698 techniques;peer-to-peer system;underlying network characteristic;Computational
699 modeling;Network servers;Network topology;Peer to peer computing;Proposals;Protocols;Telecommunication
700 computing;Telecommunication traffic;Throughput;Traffic control}
701}
702
703@INCOLLECTION{herrmann2011i2p,
704 author = {Herrmann, Michael and Grothoff, Christian},
705 title = {Privacy-Implications of Performance-Based Peer Selection by Onion-Routers:
706 A Real-World Case Study Using I2P},
707 booktitle = {Privacy Enhancing Technologies},
708 publisher = {Springer Berlin Heidelberg},
709 year = {2011},
710 editor = {Fischer-Hübner, Simone and Hopper, Nicholas},
711 volume = {6794},
712 series = {Lecture Notes in Computer Science},
713 pages = {155-174},
714 doi = {10.1007/978-3-642-22263-4_9},
715 isbn = {978-3-642-22262-7},
716 url = {http://dx.doi.org/10.1007/978-3-642-22263-4_9}
717}
718
719@INPROCEEDINGS{oneswarm,
720 author = {Isdal, Tomas and Piatek, Michael and Krishnamurthy, Arvind and Anderson,
721 Thomas},
722 title = {Privacy-preserving P2P data sharing with OneSwarm},
723 booktitle = {ACM SIGCOMM Computer Communication Review},
724 year = {2010},
725 volume = {40},
726 number = {4},
727 pages = {111--122},
728 organization = {ACM},
729 file = {:oneswarm.pdf:PDF}
730}
731
732@TECHREPORT{jansen2011shadow,
733 author = {Jansen, Rob and Hooper, Nicholas},
734 title = {Shadow: Running Tor in a box for accurate and efficient experimentation},
735 institution = {DTIC Document},
736 year = {2011}
737}
738
739@INPROCEEDINGS{chunksim,
740 author = {Kangasharju, Jussi and Schmidt, Uwe and Bradler, Dirk and Schr\"{o}der-Bernhardi,
741 Julian},
742 title = {ChunkSim: simulating peer-to-peer content distribution},
743 booktitle = {Proceedings of the 2007 spring simulaiton multiconference - Volume
744 1},
745 year = {2007},
746 series = {SpringSim '07},
747 pages = {25--32},
748 address = {San Diego, CA, USA},
749 publisher = {Society for Computer Simulation International},
750 acmid = {1404599},
751 file = {:chunksim.pdf:PDF},
752 isbn = {1-56555-312-8},
753 keywords = {BitTorrent, content distribution, peer-to-peer},
754 location = {Norfolk, Virginia},
755 numpages = {8},
756 url = {http://dl.acm.org/citation.cfm?id=1404595.1404599}
757}
758
759@ARTICLE{ipoib,
760 author = {Kashyap, Vivek},
761 title = {IP over InfiniBand (IPoIB) Architecture},
762 year = {2006},
763 howpublished = {\url{https://tools.ietf.org/html/rfc4392}}
764}
765
766@ARTICLE{knight2012autonetkit,
767 author = {Knight, Simon and Jaboldinov, Askar and Maennel, Olaf and Phillips,
768 Iain and Roughan, Matthew},
769 title = {AutoNetkit: simplifying large scale, open-source network experimentation},
770 journal = {SIGCOMM Comput. Commun. Rev.},
771 year = {2012},
772 volume = {42},
773 pages = {97--98},
774 number = {4},
775 month = aug,
776 acmid = {2377699},
777 address = {New York, NY, USA},
778 doi = {10.1145/2377677.2377699},
779 file = {:autonetkit-small.pdf:PDF},
780 issn = {0146-4833},
781 issue_date = {October 2012},
782 keywords = {automated configuration, emulation, network management},
783 numpages = {2},
784 publisher = {ACM},
785 url = {http://doi.acm.org/10.1145/2377677.2377699}
786}
787
788@INPROCEEDINGS{1565936,
789 author = {Kostoulas, D. and Psaltoulis, D. and Gupta, I. and Birman, K. and
790 Al Demers},
791 title = {Decentralized Schemes for Size Estimation in Large and Dynamic Groups},
792 booktitle = {Network Computing and Applications, Fourth IEEE International Symposium
793 on},
794 year = {2005},
795 pages = {41-48},
796 doi = {10.1109/NCA.2005.15},
797 keywords = {grid computing;peer-to-peer computing;decentralized algorithm;distributed
798 system;dynamic group;grid system;group size estimation;large-scale
799 group;nonfaulty process;peer-to-peer system;probabilistic accuracy;scalable
800 per-process overhead;statistic collection problem;Algorithm design
801 and analysis;Computer science;Delay estimation;Global communication;Large-scale
802 systems;Multicast algorithms;Peer to peer computing;Protocols;Routing;Statistical
803 distributions}
804}
805
806@INPROCEEDINGS{p2prealm,
807 author = {Kotilainen, N. and Vapa, M. and Keltanen, T. and Auvinen, A. and
808 Vuori, J.},
809 title = {P2PRealm - peer-to-peer network simulator},
810 booktitle = {Computer-Aided Modeling, Analysis and Design of Communication Links
811 and Networks, 2006 11th International Workshop on},
812 year = {2006},
813 pages = {93-99},
814 doi = {10.1109/CAMAD.2006.1649724},
815 file = {:p2prealm.pdf:PDF},
816 keywords = {Java;neural nets;peer-to-peer computing;Java native interface;P2PRealm;P2PStudio
817 network visualization tool;neural networks;peer-to-peer network simulator;Computational
818 modeling;Crawlers;Data structures;Information technology;Monitoring;Neural
819 networks;Peer to peer computing;Protocols;Visualization;Workstations}
820}
821
822@INPROCEEDINGS{mininet,
823 author = {Lantz, Bob and Heller, Brandon and McKeown, Nick},
824 title = {A network in a laptop: rapid prototyping for software-defined networks},
825 booktitle = {Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks},
826 year = {2010},
827 series = {Hotnets-IX},
828 pages = {19:1--19:6},
829 address = {New York, NY, USA},
830 publisher = {ACM},
831 acmid = {1868466},
832 articleno = {19},
833 doi = {10.1145/1868447.1868466},
834 file = {:mininet.pdf:PDF},
835 isbn = {978-1-4503-0409-2},
836 keywords = {emulation, open-flow, rapid prototyping, software defined networking,
837 virtualization},
838 location = {Monterey, California},
839 numpages = {6},
840 url = {http://doi.acm.org/10.1145/1868447.1868466}
841}
842
843@ARTICLE{leber2009ipv6report,
844 author = {Leber, Mike},
845 title = {Global IPv6 Deployment Progress Report},
846 journal = {Hurricane Electric,[Online]},
847 year = {2009},
848 howpublished = {\url{http://bgp.he.net/ipv6-progress-report.cgi}}
849}
850
851@ARTICLE{fattree,
852 author = {Leiserson, C.E.},
853 title = {Fat-trees: Universal networks for hardware-efficient supercomputing},
854 journal = {Computers, IEEE Transactions on},
855 year = {1985},
856 volume = {C-34},
857 pages = {892-901},
858 number = {10},
859 doi = {10.1109/TC.1985.6312192},
860 issn = {0018-9340},
861 keywords = {computer networks;finite element analysis;parallel processing;trees
862 (mathematics);fat trees;finite-element analysis;general-purpose parallel
863 supercomputer;hardware size;hardware-efficient supercomputing;simultaneous
864 communication;three-dimensional VLSI model;universal networks;universality
865 theorem;Channel capacity;Hardware;Program processors;Routing;Switches;Wires;Fat-trees;VLSI
866 theory;interconnection networks;parallel supercomputing;routing networks;universality}
867}
868
869@INPROCEEDINGS{p2psim_dht_structured,
870 author = {Jinyang Li and Stribling, J. and Morris, R. and Kaashoek, M.F. and
871 Gil, T.M.},
872 title = {A performance vs. cost framework for evaluating DHT design tradeoffs
873 under churn},
874 booktitle = {INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and
875 Communications Societies. Proceedings IEEE},
876 year = {2005},
877 volume = {1},
878 pages = {225-236 vol. 1},
879 doi = {10.1109/INFCOM.2005.1497894},
880 file = {:p2psim_structured_DHT.pdf:PDF},
881 issn = {0743-166X},
882 keywords = {bandwidth allocation;file organisation;maintenance engineering;routing
883 protocols;table lookup;telecommunication traffic;distributed hash
884 tables;lookup traffic;maintenance traffic;network bandwidth;performance
885 versus cost framework;proactive flooding;routing protocols;routing
886 table stabilization;stabilization protocols;Artificial intelligence;Bandwidth;Computer
887 science;Costs;Delay;Floods;Gas insulated transmission lines;Laboratories;Routing
888 protocols;Telecommunication traffic}
889}
890
891@INPROCEEDINGS{wids,
892 author = {Shiding Lin and Aimin Pan and Rui Guo and Zheng Zhang},
893 title = {Simulating large-scale P2P systems with the WiDS toolkit},
894 booktitle = {Modeling, Analysis, and Simulation of Computer and Telecommunication
895 Systems, 2005. 13th IEEE International Symposium on},
896 year = {2005},
897 pages = {415-424},
898 doi = {10.1109/MASCOTS.2005.63},
899 file = {:p2p_simulation_with_wids_toolkit.pdf:PDF},
900 issn = {1526-7539},
901 keywords = {large-scale systems;logic simulation;peer-to-peer computing;protocols;relaxation
902 theory;workstation clusters;SMR;WiDS toolkit;commodity PC cluster;critical
903 optimization;distributed protocol;large-scale P2P system;logical
904 time window;lookahead scheme;simulation engine;slow message relaxation;trade
905 simulation accuracy;Debugging;Discrete event simulation;Engines;Large-scale
906 systems;Libraries;Logic testing;Production;Protocols;Runtime;Switches}
907}
908
909@INCOLLECTION{makris2012,
910 author = {Makris, Nikos and Keranidis, Stratos and Giatsios, Dimitris and Korakis,
911 Thanasis and Koutsopoulos, Iordanis and Tassiulas, Leandros and Rakotoarivelo,
912 Thierry and Parmentelat, Thierry},
913 title = {Cross-Testbed Experimentation Using the Planetlab-NITOS Federation},
914 booktitle = {Testbeds and Research Infrastructure. Development of Networks and
915 Communities},
916 publisher = {Springer Berlin Heidelberg},
917 year = {2012},
918 editor = {Korakis, Thanasis and Zink, Michael and Ott, Maximilian},
919 volume = {44},
920 series = {Lecture Notes of the Institute for Computer Sciences, Social Informatics
921 and Telecommunications Engineering},
922 pages = {373-376},
923 doi = {10.1007/978-3-642-35576-9_34},
924 isbn = {978-3-642-35575-2},
925 url = {http://dx.doi.org/10.1007/978-3-642-35576-9_34}
926}
927
928@INPROCEEDINGS{manku2003symphony,
929 author = {Manku, Gurmeet Singh and Bawa, Mayank and Raghavan, Prabhakar and
930 others},
931 title = {Symphony: Distributed hashing in a small world},
932 booktitle = {Proceedings of the 4th USENIX Symposium on Internet Technologies
933 and Systems},
934 year = {2003},
935 volume = {4},
936 pages = {10--10},
937 file = {:symphony.pdf:PDF}
938}
939
940@INPROCEEDINGS{Massoulie:2006:PCS:1146381.1146402,
941 author = {Massouli{\'e}, Laurent and Le Merrer, Erwan and Kermarrec, Anne-Marie
942 and Ganesh, Ayalvadi},
943 title = {Peer counting and sampling in overlay networks: random walk methods},
944 booktitle = {Proceedings of the twenty-fifth annual ACM symposium on Principles
945 of distributed computing},
946 year = {2006},
947 series = {PODC '06},
948 pages = {123--132},
949 address = {New York, NY, USA},
950 publisher = {ACM},
951 acmid = {1146402},
952 doi = {10.1145/1146381.1146402},
953 isbn = {1-59593-384-0},
954 keywords = {expander graphs, peer-to-peer systems, random walks, sampling},
955 location = {Denver, Colorado, USA},
956 numpages = {10},
957 url = {http://doi.acm.org/10.1145/1146381.1146402}
958}
959
960@INCOLLECTION{maymounkov2002kademlia,
961 author = {Maymounkov, Petar and Mazieres, David},
962 title = {Kademlia: A peer-to-peer information system based on the xor metric},
963 booktitle = {Peer-to-Peer Systems},
964 publisher = {Springer},
965 year = {2002},
966 pages = {53--65},
967 file = {:kademlia.pdf:PDF}
968}
969
970@INPROCEEDINGS{peersim,
971 author = {Montresor, A. and Jelasity, M.},
972 title = {PeerSim: A scalable P2P simulator},
973 booktitle = {Peer-to-Peer Computing, 2009. P2P '09. IEEE Ninth International Conference
974 on},
975 year = {2009},
976 pages = {99-100},
977 doi = {10.1109/P2P.2009.5284506},
978 file = {:PeerSim.pdf:PDF},
979 keywords = {peer-to-peer computing;PeerSim;peer-to-peer system;scalable P2P simulator;Discrete
980 event simulation;Engines;Java;Monitoring;Peer to peer computing;Protocols;Scalability;Testing;Topology;Writing}
981}
982
983@ARTICLE{Naicken2007p2psimsurvey,
984 author = {Naicken, S. and Livingston, B. and Basu, A. and Rodhetbhai, S. and
985 Wakeman, I. and Chalmers, D.},
986 title = {The state of peer-to-peer simulators and simulations},
987 journal = {SIGCOMM Comput. Commun. Rev.},
988 year = {2007},
989 volume = {37},
990 pages = {95--98},
991 number = {2},
992 month = mar,
993 acmid = {1232932},
994 address = {New York, NY, USA},
995 doi = {10.1145/1232919.1232932},
996 file = {:TheStateOfP2PSimulatorsAndSimulations.pdf:PDF},
997 issn = {0146-4833},
998 issue_date = {April 2007},
999 keywords = {peer-to-peer, simulator evaluation, simulator usage},
1000 numpages = {4},
1001 publisher = {ACM},
1002 url = {http://doi.acm.org/10.1145/1232919.1232932}
1003}
1004
1005@ARTICLE{nakamoto2008bitcoin,
1006 author = {Nakamoto, Satoshi},
1007 title = {Bitcoin: A peer-to-peer electronic cash system},
1008 journal = {Consulted},
1009 year = {2008},
1010 volume = {1},
1011 pages = {2012}
1012}
1013
1014@ARTICLE{nussbaum2008p2plab,
1015 author = {Nussbaum, Lucas and Richard, Olivier},
1016 title = {Lightweight emulation to study peer-to-peer systems},
1017 journal = {Concurrency and Computation: Practice and Experience},
1018 year = {2008},
1019 volume = {20},
1020 pages = {735--749},
1021 number = {6},
1022 doi = {10.1002/cpe.1242},
1023 file = {:p2plab-cpe.pdf:PDF},
1024 issn = {1532-0634},
1025 keywords = {peer-to-peer, evaluation, emulation, network, virtualization, BitTorrent},
1026 publisher = {John Wiley \& Sons, Ltd.},
1027 url = {http://dx.doi.org/10.1002/cpe.1242}
1028}
1029
1030@INPROCEEDINGS{pizzonia2008netkit,
1031 author = {Pizzonia, Maurizio and Rimondini, Massimo},
1032 title = {Netkit: easy emulation of complex networks on inexpensive hardware},
1033 booktitle = {Proceedings of the 4th International Conference on Testbeds and research
1034 infrastructures for the development of networks \& communities},
1035 year = {2008},
1036 series = {TridentCom '08},
1037 pages = {7:1--7:10},
1038 address = {ICST, Brussels, Belgium, Belgium},
1039 publisher = {ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications
1040 Engineering)},
1041 acmid = {1390585},
1042 articleno = {7},
1043 file = {:netkit.pdf:PDF},
1044 isbn = {978-963-9799-24-0},
1045 keywords = {network emulation, routing, user-mode Linux, virtual laboratories},
1046 location = {Innsbruck, Austria},
1047 numpages = {10},
1048 url = {http://dl.acm.org/citation.cfm?id=1390576.1390585}
1049}
1050
1051@INPROCEEDINGS{planetsim,
1052 author = {Pujol-Ahullo, J. and Garcia-Lopez, P.},
1053 title = {PlanetSim: An extensible simulation tool for peer-to-peer networks
1054 and services},
1055 booktitle = {Peer-to-Peer Computing, 2009. P2P '09. IEEE Ninth International Conference
1056 on},
1057 year = {2009},
1058 pages = {85-86},
1059 doi = {10.1109/P2P.2009.5284504},
1060 file = {:planetsim.pdf:PDF},
1061 keywords = {Java;discrete event simulation;peer-to-peer computing;Java;PlanetSim
1062 tool;discrete event-based simulation framework;peer-to-peer overlay
1063 network;Analytical models;Computational modeling;Computer simulation;Discrete
1064 event simulation;Documentation;Java;Peer to peer computing;Protocols;Statistics;Testing;Java;event-based;peer-to-peer;simulator}
1065}
1066
1067@ARTICLE{opendht,
1068 author = {Rhea, Sean and Godfrey, Brighten and Karp, Brad and Kubiatowicz,
1069 John and Ratnasamy, Sylvia and Shenker, Scott and Stoica, Ion and
1070 Yu, Harlan},
1071 title = {OpenDHT: a public DHT service and its uses},
1072 journal = {SIGCOMM Comput. Commun. Rev.},
1073 year = {2005},
1074 volume = {35},
1075 pages = {73--84},
1076 number = {4},
1077 month = aug,
1078 acmid = {1080102},
1079 address = {New York, NY, USA},
1080 doi = {10.1145/1090191.1080102},
1081 file = {:openDHT.pdf:PDF},
1082 issn = {0146-4833},
1083 issue_date = {October 2005},
1084 keywords = {distributed hash table, peer-to-peer, resource allocation},
1085 numpages = {12},
1086 publisher = {ACM},
1087 url = {http://doi.acm.org/10.1145/1090191.1080102}
1088}
1089
1090@MISC{ritter2001gnutella,
1091 author = {Ritter, Jordan},
1092 title = {Why gnutella can’t scale. no, really},
1093 year = {2001}
1094}
1095
1096@INPROCEEDINGS{macedon,
1097 author = {Rodriguez, A. and Killian, C. and Bhat, S. and Kostic, D. and Vahdat,
1098 A.},
1099 title = {{MACEDON: Methodology for Automatically Creating, Evaluating, and
1100 Designing Overlay Networks",}},
1101 booktitle = {Proc. of the 1st USENIX/ACM Symposium on Networked Systems Design
1102 and Implementation (NSDI)},
1103 year = {\# 2004},
1104 month = mar,
1105 abstract = {{Currently, researchers designing and implementing largescale overlay
1106 services employ disparate techniques at each stage in the production
1107 cycle: design, implementation, experimentation, and evaluation. As
1108 a result, complex and tedious tasks are often duplicated leading
1109 to ine\#ective resource use and di\#culty in fairly comparing competing
1110 algorithms. In this paper, we present MACEDON, an infrastructure
1111 that provides facilities to: i) specify distributed algorithms in
1112 a concise domainspecific...}},
1113 citeulike-article-id = {217372},
1114 citeulike-linkout-0 = {http://citeseer.ist.psu.edu/rodriguez04macedon.html},
1115 citeulike-linkout-1 = {http://citeseer.lcs.mit.edu/rodriguez04macedon.html},
1116 citeulike-linkout-2 = {http://citeseer.ifi.unizh.ch/rodriguez04macedon.html},
1117 citeulike-linkout-3 = {http://citeseer.comp.nus.edu.sg/rodriguez04macedon.html},
1118 file = {:macedon.pdf:PDF},
1119 keywords = {2004, distributed, nsdi, overlays},
1120 posted-at = {2005-06-02 23:45:16},
1121 priority = {0},
1122 url = {http://citeseer.ist.psu.edu/rodriguez04macedon.html}
1123}
1124
1125@ARTICLE{rossi2012modelnet,
1126 author = {Rossi, D. and Veglia, P. and Sammarco, M. and Larroca, F.},
1127 title = {ModelNet-TE: An emulation tool for the study of P2P and traffic engineering
1128 interaction dynamics},
1129 journal = {Peer-to-Peer Networking and Applications},
1130 year = {2012},
1131 pages = {1--19},
1132 file = {:modelnet-si-ppna11.pdf:PDF},
1133 publisher = {Springer}
1134}
1135
1136@INPROCEEDINGS{rowstron2001pastry,
1137 author = {Rowstron, Antony and Druschel, Peter},
1138 title = {Pastry: Scalable, decentralized object location, and routing for
1139 large-scale peer-to-peer systems},
1140 booktitle = {Middleware 2001},
1141 year = {2001},
1142 pages = {329--350},
1143 organization = {Springer},
1144 file = {:pastry.pdf:PDF}
1145}
1146
1147@INPROCEEDINGS{2007sakumoto,
1148 author = {Sakumoto, Y. and Asai, R. and Ohsaki, H. and Imase, M.},
1149 title = {Design and Implementation of Flow-Level Simulator for Performance
1150 Evaluation of Large Scale Networks},
1151 booktitle = {Modeling, Analysis, and Simulation of Computer and Telecommunication
1152 Systems, 2007. MASCOTS '07. 15th International Symposium on},
1153 year = {2007},
1154 pages = {166-172},
1155 doi = {10.1109/MASCOTS.2007.17},
1156 file = {:Sakumoto07_MASCOTS.pdf:PDF},
1157 issn = {1526-7539},
1158 keywords = {Acceleration;Analytical models;Computational modeling;Computer simulation;Differential
1159 equations;Discrete event simulation;Information science;Internet;Large-scale
1160 systems;Mathematical analysis}
1161}
1162
1163@ARTICLE{overlayweaver,
1164 author = {Kazuyuki Shudo and Yoshio Tanaka and Satoshi Sekiguchi},
1165 title = {Overlay Weaver: An overlay construction toolkit },
1166 journal = {Computer Communications },
1167 year = {2008},
1168 volume = {31},
1169 pages = {402 - 412},
1170 number = {2},
1171 note = {<ce:title>Special Issue: Foundation of Peer-to-Peer Computing</ce:title>
1172 },
1173 doi = {10.1016/j.comcom.2007.08.002},
1174 file = {:overlayweaver.pdf:PDF},
1175 issn = {0140-3664},
1176 keywords = {Overlay network},
1177 url = {http://www.sciencedirect.com/science/article/pii/S0140366407002939}
1178}
1179
1180@ARTICLE{usingplanetlab,
1181 author = {Spring, Neil and Peterson, Larry and Bavier, Andy and Pai, Vivek},
1182 title = {Using PlanetLab for network research: myths, realities, and best
1183 practices},
1184 journal = {SIGOPS Oper. Syst. Rev.},
1185 year = {2006},
1186 volume = {40},
1187 pages = {17--24},
1188 number = {1},
1189 month = jan,
1190 acmid = {1113368},
1191 address = {New York, NY, USA},
1192 doi = {10.1145/1113361.1113368},
1193 issn = {0163-5980},
1194 issue_date = {January 2006},
1195 numpages = {8},
1196 publisher = {ACM},
1197 url = {http://doi.acm.org/10.1145/1113361.1113368}
1198}
1199
1200@ARTICLE{stoica2003chord,
1201 author = {Stoica, Ion and Morris, Robert and Liben-Nowell, David and Karger,
1202 David R and Kaashoek, M Frans and Dabek, Frank and Balakrishnan,
1203 Hari},
1204 title = {Chord: a scalable peer-to-peer lookup protocol for internet applications},
1205 journal = {Networking, IEEE/ACM Transactions on},
1206 year = {2003},
1207 volume = {11},
1208 pages = {17--32},
1209 number = {1},
1210 file = {:chord.pdf:PDF},
1211 publisher = {IEEE}
1212}
1213
1214@INPROCEEDINGS{Stutzbach:2006:UCP:1177080.1177105,
1215 author = {Stutzbach, Daniel and Rejaie, Reza},
1216 title = {Understanding churn in peer-to-peer networks},
1217 booktitle = {Proceedings of the 6th ACM SIGCOMM conference on Internet measurement},
1218 year = {2006},
1219 series = {IMC '06},
1220 pages = {189--202},
1221 address = {New York, NY, USA},
1222 publisher = {ACM},
1223 acmid = {1177105},
1224 doi = {10.1145/1177080.1177105},
1225 file = {:understanding_churn.pdf:PDF},
1226 isbn = {1-59593-561-4},
1227 keywords = {Gnutella, bitTorrent, churn, kad, peer-to-peer, session length, uptime},
1228 location = {Rio de Janeriro, Brazil},
1229 numpages = {14},
1230 url = {http://doi.acm.org/10.1145/1177080.1177105}
1231}
1232
1233@MASTERSTHESIS{regex2012szengel,
1234 author = {Maximilian Szengel},
1235 title = {Decentralized Evaluation of Regular Expressions for Capability Discovery
1236 in Peer-to-Peer Networks},
1237 school = {Technische Universitaet Muenchen},
1238 year = {2012},
1239 type = {Masters},
1240 address = {Garching bei Muenchen},
1241 month = {11/2012},
1242 abstract = {This thesis presents a novel approach for decentralized evaluation
1243 of regular expressions for capability discovery in DHT-based overlays.
1244 The system provides support for announcing capabilities expressed
1245 as regular expressions and discovering participants offering adequate
1246 capabilities.
1247
1248 The idea behind our approach is to convert regular expressions into
1249 finite automatons and store the corresponding states and transitions
1250 in a DHT. We show how locally constructed DFA are merged in the DHT
1251 into an NFA without the knowledge of any NFA already present in the
1252 DHT and without the need for any central authority. Furthermore we
1253 present options of optimizing the DFA.
1254
1255 There exist several possible applications for this general approach
1256 of decentralized regular expression evaluation. However, in this
1257 thesis we focus on the application of discovering users that are
1258 willing to provide network access using a specified protocol to a
1259 particular destination.
1260
1261 We have implemented the system for our proposed approach and conducted
1262 a simulation. Moreover we present the results of an emulation of
1263 the implemented system in a cluster.},
1264 file = {:szengel2012ms.pdf:PDF},
1265 howpublished = {\url{https://www.gnunet.org/szengel2012ms}},
1266 keywords = {DFA, DHT, GNUnet, NFA, regular expressions, search},
1267 pages = {100},
1268 volume = {M.S.}
1269}
1270
1271@INPROCEEDINGS{barrier,
1272 author = {Tang, Peiyi and Yew, Pen-Chung},
1273 title = {Processor self-scheduling for multiple-nested parallel loops},
1274 booktitle = {Proceedings of the 1986 international conference on parallel processing},
1275 year = {1986},
1276 pages = {528--535}
1277}
1278
1279@ARTICLE{modelnet,
1280 author = {Vahdat, Amin and Yocum, Ken and Walsh, Kevin and Mahadevan, Priya
1281 and Kosti\'{c}, Dejan and Chase, Jeff and Becker, David},
1282 title = {Scalability and accuracy in a large-scale network emulator},
1283 journal = {SIGOPS Oper. Syst. Rev.},
1284 year = {2002},
1285 volume = {36},
1286 pages = {271--284},
1287 number = {SI},
1288 month = dec,
1289 acmid = {844154},
1290 address = {New York, NY, USA},
1291 doi = {10.1145/844128.844154},
1292 file = {:modelnet-osdi02.pdf:PDF},
1293 issn = {0163-5980},
1294 issue_date = {Winter 2002},
1295 numpages = {14},
1296 publisher = {ACM},
1297 url = {http://doi.acm.org/10.1145/844128.844154}
1298}
1299
1300@INPROCEEDINGS{varga2001omnet++,
1301 author = {Varga, Andr{\'a}s and others},
1302 title = {The OMNeT++ discrete event simulation system},
1303 booktitle = {Proceedings of the European Simulation Multiconference (ESM’2001)},
1304 year = {2001},
1305 volume = {9},
1306 organization = {sn},
1307 file = {:OMNet++.pdf:PDF}
1308}
1309
1310@INPROCEEDINGS{modelnet-timedilation,
1311 author = {Vishwanath, K.V. and Gupta, D. and Vahdat, A. and Yocum, K.},
1312 title = {ModelNet: Towards a datacenter emulation environment},
1313 booktitle = {Peer-to-Peer Computing, 2009. P2P '09. IEEE Ninth International Conference
1314 on},
1315 year = {2009},
1316 pages = {81-82},
1317 doi = {10.1109/P2P.2009.5284497},
1318 file = {:modelnet-timedilation.pdf:PDF},
1319 keywords = {computer centres;computer networks;protocols;virtual machines;ModelNet;complex
1320 network load;data center emulation environment;high-capacity networks;large-scale
1321 experimentation;multicore architectures;network emulator;network
1322 protocols;sophisticated infrastructure software;virtualization;Application
1323 software;Complex networks;Computer architecture;Computer networks;Emulation;Large-scale
1324 systems;Multicore processing;Next generation networking;Protocols;Testing}
1325}
1326
1327@INPROCEEDINGS{weingartner2011slicetime,
1328 author = {Weing{\"a}rtner, Elias and Schmidt, Florian and Vom Lehn, Hendrik
1329 and Heer, Tobias and Wehrle, Klaus},
1330 title = {Slicetime: A platform for scalable and accurate network emulation},
1331 booktitle = {Proceedings of the 8th USENIX conference on Networked systems design
1332 and implementation},
1333 year = {2011},
1334 pages = {19--19},
1335 organization = {USENIX Association},
1336 file = {:slicetime.pdf:PDF}
1337}
1338
1339@ARTICLE{netlab,
1340 author = {White, Brian and Lepreau, Jay and Stoller, Leigh and Ricci, Robert
1341 and Guruprasad, Shashi and Newbold, Mac and Hibler, Mike and Barb,
1342 Chad and Joglekar, Abhijeet},
1343 title = {An integrated experimental environment for distributed systems and
1344 networks},
1345 journal = {SIGOPS Oper. Syst. Rev.},
1346 year = {2002},
1347 volume = {36},
1348 pages = {255--270},
1349 number = {SI},
1350 month = dec,
1351 acmid = {844152},
1352 address = {New York, NY, USA},
1353 doi = {10.1145/844128.844152},
1354 file = {:emulab.pdf:PDF},
1355 issn = {0163-5980},
1356 issue_date = {Winter 2002},
1357 numpages = {16},
1358 publisher = {ACM},
1359 review = {combines simulation, emulation and live networks. Netlab is a descendant
1360 of Emulab},
1361 url = {http://doi.acm.org/10.1145/844128.844152}
1362}
1363
1364@INPROCEEDINGS{tribler,
1365 author = {Zeilemaker, N. and Capota, M. and Bakker, A. and Pouwelse, J.},
1366 title = {Tribler: Search and stream},
1367 booktitle = {Peer-to-Peer Computing (P2P), 2011 IEEE International Conference
1368 on},
1369 year = {2011},
1370 pages = {164-165},
1371 doi = {10.1109/P2P.2011.6038729},
1372 issn = {2161-3559},
1373 keywords = {media streaming;peer-to-peer computing;public domain software;security
1374 of data;video on demand;P2P technology;Tribler;content publishing;content
1375 searching;content sharing;content streaming;live streaming;open-source
1376 software;spam prevention;video on demand;Graphical user interfaces;Open
1377 source software;Peer to peer computing;Protocols;Publishing;Video
1378 on demand}
1379}
1380
1381@ARTICLE{zhao2004tapestry,
1382 author = {Zhao, Ben Y and Huang, Ling and Stribling, Jeremy and Rhea, Sean
1383 C and Joseph, Anthony D and Kubiatowicz, John D},
1384 title = {Tapestry: A resilient global-scale overlay for service deployment},
1385 journal = {Selected Areas in Communications, IEEE Journal on},
1386 year = {2004},
1387 volume = {22},
1388 pages = {41--53},
1389 number = {1},
1390 file = {:tapestry.pdf:PDF},
1391 publisher = {IEEE}
1392}
1393
1394@PROCEEDINGS{DBLP:conf/usenix/2008,
1395 title = {2008 USENIX Annual Technical Conference, Boston, MA, USA, June 22-27,
1396 2008. Proceedings},
1397 year = {2008},
1398 editor = {Rebecca Isaacs and Yuanyuan Zhou},
1399 publisher = {USENIX Association},
1400 bibsource = {DBLP, http://dblp.uni-trier.de},
1401 booktitle = {USENIX Annual Technical Conference},
1402 isbn = {978-1-931971-59-1}
1403}
1404
1405@PROCEEDINGS{DBLP:conf/tridentcom/2012,
1406 title = {Testbeds and Research Infrastructure. Development of Networks and
1407 Communities - 8th International ICST Conference, TridentCom 2012,
1408 Thessanoliki, Greece, June 11-13, 2012, Revised Selected Papers},
1409 year = {2012},
1410 editor = {Thanasis Korakis and Michael Zink and Maximilian Ott},
1411 volume = {44},
1412 series = {Lecture Notes of the Institute for Computer Sciences, Social Informatics
1413 and Telecommunications Engineering},
1414 publisher = {Springer},
1415 bibsource = {DBLP, http://dblp.uni-trier.de},
1416 booktitle = {TRIDENTCOM},
1417 ee = {http://dx.doi.org/10.1007/978-3-642-35576-9},
1418 isbn = {978-3-642-35575-2}
1419}
1420
1421@PROCEEDINGS{DBLP:conf/tridentcom/2010,
1422 title = {Testbeds and Research Infrastructures. Development of Networks and
1423 Communities - 6th International ICST Conference, TridentCom 2010,
1424 Berlin, Germany, May 18-20, 2010, Revised Selected Papers},
1425 year = {2011},
1426 editor = {Thomas Magedanz and Anastasius Gavras and Huu-Thanh Nguyen and Jeffrey
1427 S. Chase},
1428 volume = {46},
1429 series = {Lecture Notes of the Institute for Computer Sciences, Social Informatics
1430 and Telecommunications Engineering},
1431 publisher = {Springer},
1432 bibsource = {DBLP, http://dblp.uni-trier.de},
1433 booktitle = {TRIDENTCOM},
1434 ee = {http://dx.doi.org/10.1007/978-3-642-17851-1},
1435 isbn = {978-3-642-17850-4}
1436}
1437
1438@MISC{infiniband,
1439 title = {Infiniband cluster at LRR-TUM},
1440 howpublished = {\url{http://www.lrr.in.tum.de/Par/arch/infiniband/}}
1441}
1442
1443@MISC{nitos,
1444 title = {NITOS Wireless Testbed - Network Implementation Testbed Laboratory},
1445 howpublished = {\url{http://nitlab.inf.uth.gr/NITlab/index.php/testbed}},
1446 owner = {totakura},
1447 timestamp = {2013.06.03},
1448 url = {http://nitlab.inf.uth.gr/NITlab/index.php/testbed}
1449}
1450
1451@MISC{supermuc,
1452 title = {SuperMUC: Petascale System at Leibniz-Rechenzentrum},
1453 howpublished = {\url{https://www.lrz.de/services/compute/supermuc/}},
1454 year = {2012},
1455 url = {https://www.lrz.de/services/compute/supermuc/}
1456}
1457
1458@PROCEEDINGS{DBLP:conf/acsac/2007,
1459 title = {23rd Annual Computer Security Applications Conference (ACSAC 2007),
1460 December 10-14, 2007, Miami Beach, Florida, USA},
1461 year = {2007},
1462 publisher = {IEEE Computer Society},
1463 bibsource = {DBLP, http://dblp.uni-trier.de},
1464 booktitle = {ACSAC}
1465}
1466