diff options
author | ng0 <ng0@n0.is> | 2019-04-13 16:43:08 +0000 |
---|---|---|
committer | ng0 <ng0@n0.is> | 2019-04-13 16:43:08 +0000 |
commit | 83cf7d019c8421f50637e6ac1bfc60682a101c01 (patch) | |
tree | 88cb22e93e97aadd893037afe413a26cdadead62 /doc | |
download | msh-master.tar.gz msh-master.zip |
No history is preserved as our svn server is long gone.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/.latexmkrc | 15 | ||||
-rw-r--r-- | doc/Makefile | 45 | ||||
-rw-r--r-- | doc/fig/svg/ip_map.svg | 280 | ||||
-rw-r--r-- | doc/fig/svg/job_startup.svg | 520 | ||||
-rw-r--r-- | doc/msh.tex | 368 | ||||
-rw-r--r-- | doc/related_work.bib | 1466 |
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 @@ | |||
1 | add_cus_dep('glo', 'gls', 0, 'run_makeglossaries'); | ||
2 | add_cus_dep('acn', 'acr', 0, 'run_makeglossaries'); | ||
3 | |||
4 | sub run_makeglossaries { | ||
5 | if ( $silent ) { | ||
6 | system "makeglossaries -q '$_[0]'"; | ||
7 | } | ||
8 | else { | ||
9 | system "makeglossaries '$_[0]'"; | ||
10 | }; | ||
11 | } | ||
12 | |||
13 | push @generated_exts, 'glo', 'gls', 'glg'; | ||
14 | push @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 @@ | |||
1 | MAINFILE := msh | ||
2 | DIA := $(shell find . -iname '*.dia') | ||
3 | DOT := $(shell find . -iname '*.dot') | ||
4 | SVG := $(shell find ./fig/svg -iname '*.svg') | ||
5 | GNUPLOT := $(shell find . -iname '*.gnuplot') | ||
6 | VIEWERAPP := xdg-open | ||
7 | |||
8 | .PHONY: all pdf clean view | ||
9 | all: \ | ||
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 | |||
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 | |||
32 | pdf: | ||
33 | latexmk -r .latexmkrc -silent -pdf $(MAINFILE) | ||
34 | |||
35 | view: all | ||
36 | $(VIEWERAPP) $(MAINFILE).pdf & | ||
37 | |||
38 | presentation: \ | ||
39 | |||
40 | clean: | ||
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} | ||
59 | Large scale network experimentation of distributed systems is achieved by | ||
60 | distributing the experiment across multiple physical nodes~\cite{dpeersim, wids, | ||
61 | netlab, cset2011evans, totakura2013ms}. These tools coordinate the experiment | ||
62 | among the hosts by establishing SSH connections to run remote commands on the | ||
63 | available hosts. | ||
64 | |||
65 | A limiting factor in scaling network experiments in the availability of | ||
66 | computing power and underlying network. This requirement for resources can be | ||
67 | addressed by running network experiments on High Performance Computing (HPC) | ||
68 | systems which are made up of many hosts interconnected with a high speed and | ||
69 | high bandwidth network. | ||
70 | |||
71 | The usage of HPC systems poses some new challenges: since HPC systems are used | ||
72 | by multiple users simultaneously, they allocate exclusive resources dynamically. | ||
73 | The user has to determine these dynamically allocated resources before starting | ||
74 | the experiment on these resources. The \textit{de-facto} standard for remote | ||
75 | command execution, SSH, is increasingly made unavailable or restricted on HPC | ||
76 | systems~\cite{supermuc} to prevent users from accessing resources which are not | ||
77 | allocated to them. While such restriction does not effect the intended usage of | ||
78 | HPC systems which is to run parallel programs with Message Passing Interface | ||
79 | (MPI) for communications, it presents users to use network experimentation tools | ||
80 | which rely on remote command execution. | ||
81 | |||
82 | To overcome these challenges we propose, MSH, a new remote command execution | ||
83 | system which uses MPI for determining node allocation and addressing. Our aims | ||
84 | are: to provide MSH as a substitute for SSH for remote command execution; to | ||
85 | make MSH behave similar to SSH such that the network experimentation tools do | ||
86 | not have to be heavily modified; to determine the dynamically allocated | ||
87 | resources on the HPC system and, finally, to be able to run network experiments | ||
88 | on HPC systems. | ||
89 | |||
90 | \section{Architecture} | ||
91 | |||
92 | MSH consists of two components: the \texttt{mshd} daemon and the \texttt{msh} | ||
93 | client. \texttt{mshd} is similar to \texttt{sshd} in that one \texttt{mshd} | ||
94 | daemon per host is started. The daemons execute the commands given from remote | ||
95 | \texttt{msh} clients. However, unlike \texttt{sshd}, \texttt{mshd} is started | ||
96 | by the job scheduler and only runs during the job. | ||
97 | |||
98 | The MSH client, \texttt{msh}, takes the IP address of the target host and the | ||
99 | remote command string as arguments. The client relies on the local | ||
100 | \texttt{mshd} for learning the address of the remote \texttt{mshd} and | ||
101 | authenticating itself to the remote \texttt{mshd}. | ||
102 | |||
103 | The command string is executed by the remote \texttt{mshd} after successful | ||
104 | authentication of \texttt{msh}. The input for the executed command string is | ||
105 | relayed by \texttt{msh} to the remote \texttt{mshd}. Similarly, the output from | ||
106 | the 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 | |||
116 | An overview of the interactions involved in starting an application with MSH is | ||
117 | shown 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 | |||
158 | One of our aims is to determine the resources which are dynamically allocated to | ||
159 | us and provide their details to the experimentation tools. Since we intend to | ||
160 | use MSH as a substitute for SSH, we provide the resources' IP addresses so that | ||
161 | the tools can refer to these resources by IP addresses. | ||
162 | |||
163 | The mapping between the allocated hosts and their IP addresses is determined by | ||
164 | having each \texttt{mshd} instance verify the IP addresses of all other | ||
165 | \texttt{mshd} instances running on the allocated hosts. The verification | ||
166 | proceeds in rounds where each instance verifies IP addresses of several | ||
167 | instances. At the beginning of each round, every instance opens a socket bound | ||
168 | to a random port and all available IP addresses on its host and sends the IP | ||
169 | addresses to a set of instances $\mathbb{N}$ for verification. The set | ||
170 | $\mathbb{N}$ is determined from the set of all instances $\mathbb{I}$ | ||
171 | depending 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} | ||
175 | The instances verify the IP addresses of the sending instance by establishing | ||
176 | TCP connections to the sender's listening socket with one TCP connection for | ||
177 | each of the sender's IP addresses. The TCP connections are started in parallel | ||
178 | and 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 | |||
187 | At the end of the last round, all instances would have verified the IP | ||
188 | addresses of other instances and posses an instance-to-IP mapping. At this point, | ||
189 | they accumulate their mappings using a reduction algorithm (binary/ binomial | ||
190 | tree reduction). The reduction is made by intersecting the reported IP | ||
191 | addresses for an instance. | ||
192 | |||
193 | \section{Limitations} | ||
194 | MSH does not have terminal handling capabilities yet. This means that | ||
195 | applications such as \texttt{screen}, \texttt{less}, \texttt{vim} which require | ||
196 | terminal (\texttt{tty}) support do not work through MSH. This also means that | ||
197 | there 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} | ||
202 | This chapter provides information for the installation of MSH and its usage. We | ||
203 | provide examples which showcase how MSH is used in experiments conducted on HPC | ||
204 | systems. | ||
205 | |||
206 | \section{Installation} | ||
207 | The source code for MSH is available from our Subversion repository:\\ | ||
208 | \url{https://gnunet.org/svn/msh/}. | ||
209 | |||
210 | MSH depends on GNUnet's networking API and hence requires | ||
211 | GNUnet\footnote{\url{https://gnunet.org/}} to be installed. GNUnet sources can | ||
212 | be downloaded from its repository at \url{https://gnunet.org/svn/gnunet/}. | ||
213 | Additionally, it requires an MPI implementation to be installed together with | ||
214 | the MPI compiler wrapper \texttt{mpicc}. Note that the repositories for MSH and | ||
215 | GNUnet are used for active development and hence checking out the current | ||
216 | versions may sometimes break the stability of MSH or simply may not compile. | ||
217 | The 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 | |||
220 | Once the dependencies are installed, MSH can be installed by running the | ||
221 | commands 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 | |||
228 | If the required dependencies are not in the default search paths of the | ||
229 | compiler, \texttt{configure} may fail complaining an error. These can be fixed | ||
230 | by 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} | ||
236 | MSH is started by running the MSH daemon on the available nodes through the MPI | ||
237 | execution wrappers. The available nodes are determined either manually and | ||
238 | given to the execution wrapper as a hostlist file (as in the case with small | ||
239 | group of systems or clusters) or dynamically by either a job scheduling system | ||
240 | such as LoadLeveler\cite{prenneis1996loadleveler} or SLURM\cite{yoo2003slurm}. | ||
241 | The execution wrappers can be started as an interactive job or as a batch job. | ||
242 | Interactive job execution gives more control to the user as the user can | ||
243 | directly interact with the job through the job's standard input and output. | ||
244 | Batch job execution allows for the job to be queued in a batch scheduling system | ||
245 | which executes the job whenever the required number of resources are available. | ||
246 | |||
247 | Since only one MSH daemon should run on each host, the wrappers are configured | ||
248 | with the respective parameters such that they start only one instance of MSH per | ||
249 | host. | ||
250 | |||
251 | Examples for starting MSH on various HPC systems are shown in the following | ||
252 | listings. \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 | |||
260 | Listing~\ref{lst:slurm_interactive} shows interactive MSH startup on an MPI | ||
261 | cluster. The cluster uses SLURM for job scheduling. The command | ||
262 | \texttt{salloc} in line 1 is used to allocate resources. Here we allocate 3 | ||
263 | nodes from the cluster partition \texttt{mpp1\_inter} and configure the MPI | ||
264 | execution wrapper to run 1 MPI process per node. When the allocation is | ||
265 | successful, \texttt{mshd} is launched in line 2 with the command | ||
266 | \texttt{srun\_ps} which is specific to SLURM for launching MPI programs. When | ||
267 | MSH 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 | |||
277 | Listing~\ref{lst:ll_interactive} shows interactive MSH startup on SuperMUC using | ||
278 | the LoadLeveler scheduler. In lines 1, 2 we specify that we want to allocate 3 | ||
279 | nodes for our experiment and only one instance of \texttt{mshd} has to be | ||
280 | started on each of them. In line 3, we start \texttt{mshd} processes through | ||
281 | the LoadLeveler's \texttt{poe} command. | ||
282 | |||
283 | \section{Using MSH} | ||
284 | \label{sec:using} | ||
285 | |||
286 | The usage of MSH is aimed at HPC systems where remote shells are disabled and | ||
287 | MPI is available. With MSH, we address two problems: 1. we facilitate remote | ||
288 | command execution and 2. we provide an easy interface to learn which hosts are | ||
289 | allocated to the job by listing their addresses. | ||
290 | |||
291 | The IP addresses of the hosts are made available as hostlist file to the | ||
292 | processes \texttt{mshd} processes start. The path of this hostlist file is made | ||
293 | available through the environmental variable \texttt{MP\_SAVEHOSTFILE}. | ||
294 | \texttt{msh} can be used to connect to any of the hosts listed in this file. | ||
295 | Listing~\ref{lst:msh_connect} shows an example for connecting to the allocated | ||
296 | hosts. 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 | ||
303 | 10.0.0.3 | ||
304 | 10.0.0.4 | ||
305 | 10.0.0.5 | ||
306 | $ msh 10.0.0.4 date | ||
307 | Fri Sep 6 11:17:09 CEST 2013 | ||
308 | $ quit | ||
309 | \end{lstlisting} | ||
310 | |||
311 | MSH can also be used by programs which are started by \texttt{mshd} instances. | ||
312 | The programs however should take care to read the addresses of allocated hosts | ||
313 | from the hostlist file from the evironmental variable and use \texttt{msh} for | ||
314 | executing remote commands on those hosts. | ||
315 | |||
316 | In our experiments, our distributed testbed~\cite{totakura2013ms} determines the | ||
317 | allocated hosts through the hostfile and uses \texttt{msh} to spawn controllers | ||
318 | for 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 | ||
320 | root \texttt{mshd} instance is running. | ||
321 | Listing~\ref{slurm_interactive_testbed_startup} shows the commands used to start | ||
322 | the testbed. In the same way, other simulation and emulation software for | ||
323 | network experiments which rely on SSH for starting remote processes can use MSH | ||
324 | as 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 | |||
333 | On a system with LoadLeveler such as SuperMUC the above experiment startup is | ||
334 | shown 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 | |||
348 | Termination in MSH can be divided into two parts: the termination of remote | ||
349 | access 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 | ||
353 | is complete and all the output from the command is fetched from the remote | ||
354 | host. 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 | ||
356 | not found on the remote host and if the local \texttt{msh} processes receives | ||
357 | any of the termination (SIGTERM, SIGINT) signals. | ||
358 | |||
359 | The \texttt{mshd} processes terminate successfully when the main process started | ||
360 | by the root \texttt{mshd} processes terminates. They terminate with error if | ||
361 | the main process crashes or terminates with error, or if the binary needed for | ||
362 | launching 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 | |||
12 | In 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 | |||
14 | To 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 | |||
16 | We 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 | |||