source: doc/theses/thierry_delisle_PhD/thesis/local.bib@ 38a238d

ADT ast-experimental pthread-emulation
Last change on this file since 38a238d was 38a238d, checked in by Peter A. Buhr <pabuhr@…>, 3 years ago

proofread conclusion, small change to eval_macro

  • Property mode set to 100644
File size: 38.9 KB
Line 
1% --------------------------------------------------
2% Cforall
3@misc{cfa:frontpage,
4 howpublished = {\href{https://cforall.uwaterloo.ca}{https://\-cforall.uwaterloo.ca}}
5}
6@article{cfa:typesystem,
7 author = {Aaron Moss and Robert Schluntz and Peter A. Buhr},
8 title = {{\CFA} : Adding modern programming language features to {C}},
9 journal = {Softw. Pract. Exp.},
10 volume = {48},
11 number = {12},
12 pages = {2111--2146},
13 year = {2018},
14 url = {https://doi.org/10.1002/spe.2624},
15 doi = {10.1002/spe.2624},
16 timestamp = {Thu, 09 Apr 2020 17:14:14 +0200},
17 biburl = {https://dblp.org/rec/journals/spe/MossSB18.bib},
18 bibsource = {dblp computer science bibliography, https://dblp.org}
19}
20
21
22
23% --------------------------------------------------
24% old survey mostly about job scheduling
25% talks about the literature mostly centering on upfront/static scheduling with task graphs as inputs
26% already mentions multi-core
27@article{DBLP:journals/csur/Gonzalez77,
28 author = {Mario J. Gonzalez Jr.},
29 title = {Deterministic Processor Scheduling},
30 journal = {{ACM} Comput. Surv.},
31 volume = {9},
32 number = {3},
33 pages = {173--204},
34 year = {1977},
35 url = {https://doi.org/10.1145/356698.356700},
36 doi = {10.1145/356698.356700},
37 timestamp = {Tue, 06 Nov 2018 12:50:48 +0100},
38 biburl = {https://dblp.org/rec/journals/csur/Gonzalez77.bib},
39 bibsource = {dblp computer science bibliography, https://dblp.org}
40}
41
42% very short survey, highlights more interseting surveys as :
43% Casavant and Kuhl [1988], Chapin [1993], Shirazi et al. [1995], and Singhal and Shivaratri [1994]
44% still seems to mention static or partially static scheduling as a dominating trend
45@article{DBLP:journals/csur/Chapin96,
46 author = {Steve J. Chapin},
47 title = {Distributed and Multiprocessor Scheduling},
48 journal = {{ACM} Comput. Surv.},
49 volume = {28},
50 number = {1},
51 pages = {233--235},
52 year = {1996},
53 url = {https://doi.org/10.1145/234313.234410},
54 doi = {10.1145/234313.234410},
55 timestamp = {Tue, 06 Nov 2018 12:50:49 +0100},
56 biburl = {https://dblp.org/rec/journals/csur/Chapin96.bib},
57 bibsource = {dblp computer science bibliography, https://dblp.org}
58}
59
60% more comprehensive survey that discusses many algorithms
61% still exclusively static scheduling
62@article{DBLP:journals/csur/KwokA99,
63 author = {Yu{-}Kwong Kwok and Ishfaq Ahmad},
64 title = {Static scheduling algorithms for allocating directed task graphs to multiprocessors},
65 journal = {{ACM} Comput. Surv.},
66 volume = {31},
67 number = {4},
68 pages = {406--471},
69 year = {1999},
70 url = {https://doi.org/10.1145/344588.344618},
71 doi = {10.1145/344588.344618},
72 timestamp = {Fri, 30 Nov 2018 12:48:46 +0100},
73 biburl = {https://dblp.org/rec/journals/csur/KwokA99.bib},
74 bibsource = {dblp computer science bibliography, https://dblp.org}
75}
76
77% recent survey on kernel-thread scheduling
78% specifically focusing on schedulers that try to optimize to
79% reduce contention or reduce cache conflicts or improve some other ressource sharing metric
80@article{DBLP:journals/csur/ZhuravlevSBFP12,
81 author = {Sergey Zhuravlev and Juan Carlos Saez and Sergey Blagodurov and Alexandra Fedorova and Manuel Prieto},
82 title = {Survey of scheduling techniques for addressing shared resources in multicore processors},
83 journal = {{ACM} Comput. Surv.},
84 volume = {45},
85 number = {1},
86 pages = {4:1--4:28},
87 year = {2012},
88 url = {https://doi.org/10.1145/2379776.2379780},
89 doi = {10.1145/2379776.2379780},
90 timestamp = {Tue, 06 Nov 2018 12:50:49 +0100},
91 biburl = {https://dblp.org/rec/journals/csur/ZhuravlevSBFP12.bib},
92 bibsource = {dblp computer science bibliography, https://dblp.org}
93}
94
95% great survey on work-stealing
96% highlights many of the recent work both theoretical and not
97@article{DBLP:journals/ijpp/YangH18,
98 author = {Jixiang Yang and Qingbi He},
99 title = {Scheduling Parallel Computations by Work Stealing: {A} Survey},
100 journal = {Int. J. Parallel Program.},
101 volume = {46},
102 number = {2},
103 pages = {173--197},
104 year = {2018},
105 url = {https://doi.org/10.1007/s10766-016-0484-8},
106 doi = {10.1007/s10766-016-0484-8},
107 timestamp = {Wed, 01 Apr 2020 08:50:06 +0200},
108 biburl = {https://dblp.org/rec/journals/ijpp/YangH18.bib},
109 bibsource = {dblp computer science bibliography, https://dblp.org}
110}
111
112% --------------------------------------------------
113% introduction of work stealing
114@inproceedings{DBLP:conf/fpca/BurtonS81,
115 author = {F. Warren Burton and M. Ronan Sleep},
116 editor = {Arvind and Jack B. Dennis},
117 title = {Executing functional programs on a virtual tree of processors},
118 booktitle = {Proceedings of the 1981 conference on Functional programming languages and computer architecture, {FPCA} 1981, Wentworth, New Hampshire, USA, October 1981},
119 pages = {187--194},
120 publisher = {{ACM}},
121 year = {1981},
122 url = {https://doi.org/10.1145/800223.806778},
123 doi = {10.1145/800223.806778},
124 timestamp = {Tue, 06 Nov 2018 11:07:48 +0100},
125 biburl = {https://dblp.org/rec/conf/fpca/BurtonS81.bib},
126 bibsource = {dblp computer science bibliography, https://dblp.org}
127}
128
129% introduction of randomized work stealing
130@inproceedings{DBLP:conf/focs/Blumofe94,
131 author = {Robert D. Blumofe},
132 title = {Scheduling Multithreaded Computations by Work Stealing},
133 booktitle = {35th Annual Symposium on Foundations of Computer Science, Santa Fe, New Mexico, USA, 20-22 November 1994},
134 pages = {356--368},
135 publisher = {{IEEE} Computer Society},
136 year = {1994},
137 url = {https://doi.org/10.1109/SFCS.1994.365680},
138 doi = {10.1109/SFCS.1994.365680},
139 timestamp = {Wed, 16 Oct 2019 14:14:54 +0200},
140 biburl = {https://dblp.org/rec/conf/focs/Blumofe94.bib},
141 bibsource = {dblp computer science bibliography, https://dblp.org}
142}
143
144% migration cost
145@inproceedings{DBLP:conf/sigmetrics/SquillanteN91,
146 author = {Mark S. Squillante and Randolph D. Nelson},
147 editor = {Tom W. Keller},
148 title = {Analysis of Task Migration in Shared-Memory Multiprocessor Scheduling},
149 booktitle = {Proceedings of the 1991 {ACM} {SIGMETRICS} conference on Measurement and modeling of computer systems, San Diego, California, USA, May 21-24, 1991},
150 pages = {143--155},
151 publisher = {{ACM}},
152 year = {1991},
153 url = {https://doi.org/10.1145/107971.107987},
154 doi = {10.1145/107971.107987},
155 timestamp = {Sat, 07 Sep 2019 11:59:22 +0200},
156 biburl = {https://dblp.org/rec/conf/sigmetrics/SquillanteN91.bib},
157 bibsource = {dblp computer science bibliography, https://dblp.org}
158}
159
160@article{DBLP:journals/pe/EagerLZ86,
161 author = {Derek L. Eager and Edward D. Lazowska and John Zahorjan},
162 title = {A Comparison of Receiver-Initiated and Sender-Initiated Adaptive Load Sharing},
163 journal = {Perform. Evaluation},
164 volume = {6},
165 number = {1},
166 pages = {53--68},
167 year = {1986},
168 url = {https://doi.org/10.1016/0166-5316(86)90008-8},
169 doi = {10.1016/0166-5316(86)90008-8},
170 timestamp = {Sat, 22 Feb 2020 19:26:16 +0100},
171 biburl = {https://dblp.org/rec/journals/pe/EagerLZ86.bib},
172 bibsource = {dblp computer science bibliography, https://dblp.org}
173}
174
175% affinity for work-stealing
176@article{DBLP:journals/tpds/SquillanteL93,
177 author = {Mark S. Squillante and Edward D. Lazowska},
178 title = {Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling},
179 journal = {{IEEE} Trans. Parallel Distributed Syst.},
180 volume = {4},
181 number = {2},
182 pages = {131--143},
183 year = {1993},
184 url = {https://doi.org/10.1109/71.207589},
185 doi = {10.1109/71.207589},
186 timestamp = {Fri, 02 Oct 2020 14:40:30 +0200},
187 biburl = {https://dblp.org/rec/journals/tpds/SquillanteL93.bib},
188 bibsource = {dblp computer science bibliography, https://dblp.org}
189}
190
191 systems with affinity scheduling
192@inproceedings{squillante2001threshold,
193 title={Threshold-based priority policies for parallel-server systems with affinity scheduling},
194 author={Squillante, Mark S and Xia, Cathy H and Yao, David D and Zhang, Li},
195 booktitle={Proceedings of the 2001 American Control Conference.(Cat. No. 01CH37148)},
196 volume={4},
197 pages={2992--2999},
198 year={2001},
199 organization={IEEE}
200}
201
202@article{DBLP:journals/mst/AcarBB02,
203 author = {Umut A. Acar and Guy E. Blelloch and Robert D. Blumofe},
204 title = {The Data Locality of Work Stealing},
205 journal = {Theory Comput. Syst.},
206 volume = {35},
207 number = {3},
208 pages = {321--347},
209 year = {2002},
210 url = {https://doi.org/10.1007/s00224-002-1057-3},
211 doi = {10.1007/s00224-002-1057-3},
212 timestamp = {Sun, 28 May 2017 13:18:25 +0200},
213 biburl = {https://dblp.org/rec/journals/mst/AcarBB02.bib},
214 bibsource = {dblp computer science bibliography, https://dblp.org}
215}
216
217@article{DBLP:journals/tcs/NarangS11,
218 author = {Ankur Narang and Rudrapatna K. Shyamasundar},
219 title = {Performance driven distributed scheduling of parallel hybrid computations},
220 journal = {Theor. Comput. Sci.},
221 volume = {412},
222 number = {32},
223 pages = {4212--4225},
224 year = {2011},
225 url = {https://doi.org/10.1016/j.tcs.2010.11.044},
226 doi = {10.1016/j.tcs.2010.11.044},
227 timestamp = {Sun, 28 May 2017 13:20:06 +0200},
228 biburl = {https://dblp.org/rec/journals/tcs/NarangS11.bib},
229 bibsource = {dblp computer science bibliography, https://dblp.org}
230}
231
232Optimization via reflection on work stealing in TBB
233@inproceedings{DBLP:conf/ipps/RobisonVK08,
234 author = {Arch Robison and Michael Voss and Alexey Kukanov},
235 title = {Optimization via Reflection on Work Stealing in {TBB}},
236 booktitle = {22nd {IEEE} International Symposium on Parallel and Distributed Processing, {IPDPS} 2008, Miami, Florida USA, April 14-18, 2008},
237 pages = {1--8},
238 publisher = {{IEEE}},
239 year = {2008},
240 url = {https://doi.org/10.1109/IPDPS.2008.4536188},
241 doi = {10.1109/IPDPS.2008.4536188},
242 timestamp = {Wed, 16 Oct 2019 14:14:51 +0200},
243 biburl = {https://dblp.org/rec/conf/ipps/RobisonVK08.bib},
244 bibsource = {dblp computer science bibliography, https://dblp.org}
245}
246
247@article{DBLP:journals/ipl/SuksompongLS16,
248 author = {Warut Suksompong and Charles E. Leiserson and Tao B. Schardl},
249 title = {On the efficiency of localized work stealing},
250 journal = {Inf. Process. Lett.},
251 volume = {116},
252 number = {2},
253 pages = {100--106},
254 year = {2016},
255 url = {https://doi.org/10.1016/j.ipl.2015.10.002},
256 doi = {10.1016/j.ipl.2015.10.002},
257 timestamp = {Fri, 26 May 2017 22:54:40 +0200},
258 biburl = {https://dblp.org/rec/journals/ipl/SuksompongLS16.bib},
259 bibsource = {dblp computer science bibliography, https://dblp.org}
260}
261
262%theory
263@article{DBLP:journals/jpdc/MirchandaneyTS90,
264 author = {Ravi Mirchandaney and Donald F. Towsley and John A. Stankovic},
265 title = {Adaptive Load Sharing in Heterogeneous Distributed Systems},
266 journal = {J. Parallel Distributed Comput.},
267 volume = {9},
268 number = {4},
269 pages = {331--346},
270 year = {1990},
271 url = {https://doi.org/10.1016/0743-7315(90)90118-9},
272 doi = {10.1016/0743-7315(90)90118-9},
273 timestamp = {Sat, 22 Feb 2020 19:36:31 +0100},
274 biburl = {https://dblp.org/rec/journals/jpdc/MirchandaneyTS90.bib},
275 bibsource = {dblp computer science bibliography, https://dblp.org}
276}
277
278@article{DBLP:journals/mst/BenderR02,
279 author = {Michael A. Bender and Michael O. Rabin},
280 title = {Online Scheduling of Parallel Programs on Heterogeneous Systems with Applications to Cilk},
281 journal = {Theory Comput. Syst.},
282 volume = {35},
283 number = {3},
284 pages = {289--304},
285 year = {2002},
286 url = {https://doi.org/10.1007/s00224-002-1055-5},
287 doi = {10.1007/s00224-002-1055-5},
288 timestamp = {Sun, 28 May 2017 13:18:24 +0200},
289 biburl = {https://dblp.org/rec/journals/mst/BenderR02.bib},
290 bibsource = {dblp computer science bibliography, https://dblp.org}
291}
292
293@inproceedings{DBLP:conf/sigmetrics/GastG10,
294 author = {Nicolas Gast and Bruno Gaujal},
295 editor = {Vishal Misra and Paul Barford and Mark S. Squillante},
296 title = {A mean field model of work stealing in large-scale systems},
297 booktitle = {{SIGMETRICS} 2010, Proceedings of the 2010 {ACM} {SIGMETRICS} International Conference on Measurement and Modeling of Computer Systems, New York, New York, USA, 14-18 June 2010},
298 pages = {13--24},
299 publisher = {{ACM}},
300 year = {2010},
301 url = {https://doi.org/10.1145/1811039.1811042},
302 doi = {10.1145/1811039.1811042},
303 timestamp = {Tue, 06 Nov 2018 11:07:18 +0100},
304 biburl = {https://dblp.org/rec/conf/sigmetrics/GastG10.bib},
305 bibsource = {dblp computer science bibliography, https://dblp.org}
306}
307
308@article{DBLP:journals/jacm/BlellochGM99,
309 author = {Guy E. Blelloch and Phillip B. Gibbons and Yossi Matias},
310 title = {Provably Efficient Scheduling for Languages with Fine-Grained Parallelism},
311 journal = {J. {ACM}},
312 volume = {46},
313 number = {2},
314 pages = {281--321},
315 year = {1999},
316 url = {https://doi.org/10.1145/301970.301974},
317 doi = {10.1145/301970.301974},
318 timestamp = {Tue, 06 Nov 2018 12:51:45 +0100},
319 biburl = {https://dblp.org/rec/journals/jacm/BlellochGM99.bib},
320 bibsource = {dblp computer science bibliography, https://dblp.org}
321}
322
323@article{DBLP:journals/siamcomp/BerenbrinkFG03,
324 author = {Petra Berenbrink and Tom Friedetzky and Leslie Ann Goldberg},
325 title = {The Natural Work-Stealing Algorithm is Stable},
326 journal = {{SIAM} J. Comput.},
327 volume = {32},
328 number = {5},
329 pages = {1260--1279},
330 year = {2003},
331 url = {https://doi.org/10.1137/S0097539701399551},
332 doi = {10.1137/S0097539701399551},
333 timestamp = {Sat, 27 May 2017 14:22:58 +0200},
334 biburl = {https://dblp.org/rec/journals/siamcomp/BerenbrinkFG03.bib},
335 bibsource = {dblp computer science bibliography, https://dblp.org}
336}
337
338@article{DBLP:journals/mst/AroraBP01,
339 author = {Nimar S. Arora and Robert D. Blumofe and C. Greg Plaxton},
340 title = {Thread Scheduling for Multiprogrammed Multiprocessors},
341 journal = {Theory Comput. Syst.},
342 volume = {34},
343 number = {2},
344 pages = {115--144},
345 year = {2001},
346 url = {https://doi.org/10.1007/s00224-001-0004-z},
347 doi = {10.1007/s00224-001-0004-z},
348 timestamp = {Sun, 28 May 2017 13:18:24 +0200},
349 biburl = {https://dblp.org/rec/journals/mst/AroraBP01.bib},
350 bibsource = {dblp computer science bibliography, https://dblp.org}
351}
352
353@article{DBLP:journals/anor/TchiboukdjianGT13,
354 author = {Marc Tchiboukdjian and Nicolas Gast and Denis Trystram},
355 title = {Decentralized list scheduling},
356 journal = {Ann. Oper. Res.},
357 volume = {207},
358 number = {1},
359 pages = {237--259},
360 year = {2013},
361 url = {https://doi.org/10.1007/s10479-012-1149-7},
362 doi = {10.1007/s10479-012-1149-7},
363 timestamp = {Thu, 13 Aug 2020 12:41:25 +0200},
364 biburl = {https://dblp.org/rec/journals/anor/TchiboukdjianGT13.bib},
365 bibsource = {dblp computer science bibliography, https://dblp.org}
366}
367
368@inproceedings{DBLP:conf/isaac/TchiboukdjianGTRB10,
369 author = {Marc Tchiboukdjian and Nicolas Gast and Denis Trystram and Jean{-}Louis Roch and Julien Bernard},
370 editor = {Otfried Cheong and Kyung{-}Yong Chwa and Kunsoo Park},
371 title = {A Tighter Analysis of Work Stealing},
372 booktitle = {Algorithms and Computation - 21st International Symposium, {ISAAC} 2010, Jeju Island, Korea, December 15-17, 2010, Proceedings, Part {II}},
373 series = {Lecture Notes in Computer Science},
374 volume = {6507},
375 pages = {291--302},
376 publisher = {Springer},
377 year = {2010},
378 url = {https://doi.org/10.1007/978-3-642-17514-5\_25},
379 doi = {10.1007/978-3-642-17514-5\_25},
380 timestamp = {Fri, 13 Dec 2019 13:08:09 +0100},
381 biburl = {https://dblp.org/rec/conf/isaac/TchiboukdjianGTRB10.bib},
382 bibsource = {dblp computer science bibliography, https://dblp.org}
383}
384
385@inproceedings{DBLP:conf/ppopp/AgrawalLS10,
386 author = {Kunal Agrawal and Charles E. Leiserson and Jim Sukha},
387 editor = {R. Govindarajan and David A. Padua and Mary W. Hall},
388 title = {Helper locks for fork-join parallel programming},
389 booktitle = {Proceedings of the 15th {ACM} {SIGPLAN} Symposium on Principles and Practice of Parallel Programming, {PPOPP} 2010, Bangalore, India, January 9-14, 2010},
390 pages = {245--256},
391 publisher = {{ACM}},
392 year = {2010},
393 url = {https://doi.org/10.1145/1693453.1693487},
394 doi = {10.1145/1693453.1693487},
395 timestamp = {Tue, 06 Nov 2018 16:57:27 +0100},
396 biburl = {https://dblp.org/rec/conf/ppopp/AgrawalLS10.bib},
397 bibsource = {dblp computer science bibliography, https://dblp.org}
398}
399
400@inproceedings{DBLP:conf/spaa/AgrawalFLSSU14,
401 author = {Kunal Agrawal and Jeremy T. Fineman and Kefu Lu and Brendan Sheridan and Jim Sukha and Robert Utterback},
402 editor = {Guy E. Blelloch and Peter Sanders},
403 title = {Provably good scheduling for parallel programs that use data structures through implicit batching},
404 booktitle = {26th {ACM} Symposium on Parallelism in Algorithms and Architectures, {SPAA} '14, Prague, Czech Republic - June 23 - 25, 2014},
405 pages = {84--95},
406 publisher = {{ACM}},
407 year = {2014},
408 url = {https://doi.org/10.1145/2612669.2612688},
409 doi = {10.1145/2612669.2612688},
410 timestamp = {Wed, 21 Nov 2018 11:18:43 +0100},
411 biburl = {https://dblp.org/rec/conf/spaa/AgrawalFLSSU14.bib},
412 bibsource = {dblp computer science bibliography, https://dblp.org}
413}
414
415@inproceedings{DBLP:conf/ipps/ColeR13,
416 author = {Richard Cole and
417 Vijaya Ramachandran},
418 title = {Analysis of Randomized Work Stealing with False Sharing},
419 booktitle = {27th {IEEE} International Symposium on Parallel and Distributed Processing,
420 {IPDPS} 2013, Cambridge, MA, USA, May 20-24, 2013},
421 pages = {985--998},
422 publisher = {{IEEE} Computer Society},
423 year = {2013},
424 url = {https://doi.org/10.1109/IPDPS.2013.86},
425 doi = {10.1109/IPDPS.2013.86},
426 timestamp = {Wed, 16 Oct 2019 14:14:51 +0200},
427 biburl = {https://dblp.org/rec/conf/ipps/ColeR13.bib},
428 bibsource = {dblp computer science bibliography, https://dblp.org}
429}
430
431@inproceedings{Albers12,
432 author = {Susanne Albers and Antonios Antoniadis},
433 title = {Race to Idle: New Algorithms for Speed Scaling with a Sleep State},
434 booktitle = {Proceedings of the 2012 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA)},
435 doi = {10.1137/1.9781611973099.100},
436 URL = {https://epubs.siam.org/doi/abs/10.1137/1.9781611973099.100},
437 eprint = {https://epubs.siam.org/doi/pdf/10.1137/1.9781611973099.100},
438 year = 2012,
439 month = jan,
440 pages = {1266-1285},
441}
442
443@inproceedings{atikoglu2012workload,
444 title={Workload analysis of a large-scale key-value store},
445 author={Atikoglu, Berk and Xu, Yuehai and Frachtenberg, Eitan and Jiang, Song and Paleczny, Mike},
446 booktitle={Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on Measurement and Modeling of Computer Systems},
447 pages={53--64},
448 year={2012}
449}
450
451@article{schillings1996engineering,
452 title={Be engineering insights: Benaphores},
453 author={Schillings, Benoit},
454 journal={Be Newsletters},
455 volume={1},
456 number={26},
457 year={1996}
458}
459
460
461
462% --------------------------------------------------
463% ULE FreeBSD scheduler
464@inproceedings{DBLP:conf/bsdcon/Roberson03,
465 author = {Jeff Roberson},
466 editor = {Gregory Neil Shapiro},
467 title = {{ULE:} {A} Modern Scheduler for FreeBSD},
468 booktitle = {Proceedings of BSDCon 2003, San Mateo, California, USA, September 8-12, 2003},
469 pages = {17--28},
470 publisher = {{USENIX}},
471 year = {2003},
472 url = {http://www.usenix.org/publications/library/proceedings/bsdcon03/tech/roberson.html},
473 timestamp = {Wed, 04 Jul 2018 13:06:34 +0200},
474 biburl = {https://dblp.org/rec/conf/bsdcon/Roberson03.bib},
475 bibsource = {dblp computer science bibliography, https://dblp.org}
476}
477
478% --------------------------------------------------
479% Martin's LibFibre
480@article{DBLP:journals/pomacs/KarstenB20,
481 author = {Martin Karsten and Saman Barghi},
482 title = {User-level Threading: Have Your Cake and Eat It Too},
483 journal = {Proc. {ACM} Meas. Anal. Comput. Syst.},
484 volume = {4},
485 number = {1},
486 pages = {17:1--17:30},
487 year = {2020},
488 url = {https://doi.org/10.1145/3379483},
489 doi = {10.1145/3379483},
490 timestamp = {Thu, 09 Jul 2020 22:58:54 +0200},
491 biburl = {https://dblp.org/rec/journals/pomacs/KarstenB20.bib},
492 bibsource = {dblp computer science bibliography, https://dblp.org}
493}
494
495% --------------------------------------------------
496% Linux CFS
497@inproceedings{DBLP:conf/eurosys/LoziLFGQF16,
498 author = {Jean{-}Pierre Lozi and Baptiste Lepers and Justin R. Funston and Fabien Gaud and Vivien Qu{\'{e}}ma and Alexandra Fedorova},
499 editor = {Cristian Cadar and Peter R. Pietzuch and Kimberly Keeton and Rodrigo Rodrigues},
500 title = {The Linux scheduler: a decade of wasted cores},
501 booktitle = {Proceedings of the Eleventh European Conference on Computer Systems, EuroSys 2016, London, United Kingdom, April 18-21, 2016},
502 pages = {1:1--1:16},
503 publisher = {{ACM}},
504 year = {2016},
505 url = {https://doi.org/10.1145/2901318.2901326},
506 doi = {10.1145/2901318.2901326},
507 timestamp = {Tue, 06 Nov 2018 16:58:31 +0100},
508 biburl = {https://dblp.org/rec/conf/eurosys/LoziLFGQF16.bib},
509 bibsource = {dblp computer science bibliography, https://dblp.org}
510}
511
512@misc{MAN:linux/cfs,
513 title = {{CFS} Scheduler - The Linux Kernel documentation},
514 howpublished = {\href{https://www.kernel.org/doc/html/latest/scheduler/sched-design-CFS.html}{https://\-www.kernel.org/\-doc/\-html/\-latest/\-scheduler/\-sched-design-CFS.html}}
515}
516
517@misc{MAN:linux/cfs2,
518 title = {{CFS}: Completely fair process scheduling in Linux},
519 author = {Marty Kalin},
520 year = {2019},
521 month = {February},
522 howpublished = {\href{https://opensource.com/article/19/2/fair-scheduling-linux}{https://\-opensource.com/\-article/\-19/2\-/\-fair-scheduling-linux}}
523}
524
525@article{MAN:linux/cfs/pelt,
526 title={Per-entity load tracking},
527 author={Corbet, Jonathan},
528 journal={LWN article, available at: https://lwn.net/Articles/531853},
529 year={2013}
530}
531
532@misc{MAN:linux/cfs/balancing,
533 title={Reworking {CFS} load balancing},
534 journal={LWN article},
535 year={2019},
536 howpublished = {\href{https://lwn.net/Articles/793427}{https://\-lwn.net/\-Articles/\-793427}},
537}
538
539@manual{MAN:linux/sched,
540 title = {SCHED(7) - Linux Programmer's Manual},
541 url = {https://man7.org/linux/man-pages/man7/sched.7.html},
542 year = {2019},
543 month = {august}
544}
545
546@manual{MAN:bsd/kqueue,
547 title = {KQUEUE(2) - FreeBSD System Calls Manual},
548 url = {https://www.freebsd.org/cgi/man.cgi?query=kqueue},
549 year = {2020},
550 month = {may}
551}
552
553% Apple's MAC OS X
554@manual{MAN:apple/scheduler,
555 title = {Mach Scheduling and Thread Interfaces - Kernel Programming Guide},
556 organization = {Apple Inc.},
557 note = {\href{https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/scheduler/scheduler.html}{https://\-developer.apple.com/\-library/archive/\-documentation/\-Darwin/\-Conceptual/\-KernelProgramming/\-scheduler/\-scheduler.html}}
558}
559
560@misc{MemcachedThreading,
561 author = {Oracle},
562 title = {MySQL 5.6 Reference Manual Including MySQL NDB Cluster 7.3-7.4 Reference Guide},
563 howpublished = {\href{https://docs.oracle.com/cd/E17952_01/mysql-5.6-en/ha-memcached-using-threads.html}{https://docs.oracle.com/\-cd/E17952\_01/\-mysql-5.6-en/\-ha-memcached-using-threads.html}},
564 note = "[Online; accessed 5-August-2022]"
565}
566
567Windows's Scheduler
568@inbook{MAN:windows/scheduler,
569 author = {Kate Chase and Mark E. Russinovich},
570 title = {Windows Internals},
571 chapter = {Processes, Threads, and Jobs in the Windows Operating System},
572 edition = {5th Edition},
573 publisher = {Microsoft Press},
574 year = {2009},
575 month = {June},
576 series = {Developer Reference},
577 howpublished = {\href{https://www.microsoftpressstore.com/articles/article.aspx?p=2233328&seqNum=7#:~:text=Overview\%20of\%20Windows\%20Scheduling,a\%20phenomenon\%20called\%20processor\%20affinity}{https://\-www.microsoftpressstore.com/\-articles/\-article.aspx?p=2233328&seqNum=7#:~:text=Overview\%20of\%20Windows\%20Scheduling,a\%20phenomenon\%20called\%20processor\%20affinity}}
578}
579
580@misc{GITHUB:go,
581 title = {GitHub - The Go Programming Language},
582 author = {The Go Programming Language},
583 howpublished = {\href{https://github.com/golang/go}{https://\-github.com/\-golang/\-go}},
584 version = {Change-Id: If07f40b1d73b8f276ee28ffb8b7214175e56c24d}
585}
586
587@inproceedings{YTUBE:go,
588 author = {Dmitry Vyukov},
589 title = {Go scheduler: Implementing language with lightweight concurrency},
590 year = {2019},
591 booktitle = {Hydra},
592 howpublished = {\href{https://www.youtube.com/watch?v=-K11rY57K7k&ab_channel=Hydra}{https://\-www.youtube.com/\-watch?v=-K11rY57K7k&ab_channel=Hydra}}
593}
594
595@inproceedings{:erlang,
596 author = {Kenneth Lundin, Ericsson AB},
597 title = {Inside the Erlang VM},
598 year = {2008},
599 booktitle = {Erlang User Conference},
600 howpublished = {\href{http://www.erlang.se/euc/08/euc_smp.pdf}{http://\-www.erlang.se/\-euc/\-08/\-euc_smp.pdf}}
601}
602
603@manual{MAN:tbb/scheduler,
604 title = {Scheduling Algorithm - Intel{\textregistered} Threading Building Blocks Developer Reference},
605 organization = {Intel{\textregistered}},
606 howpublished = {\href{https://www.threadingbuildingblocks.org/docs/help/reference/task_scheduler/scheduling_algorithm.html}{https://\-www.threadingbuildingblocks.org/\-docs/\-help/\-reference/\-task\_scheduler/\-scheduling\_algorithm.html}}
607}
608
609@manual{MAN:quasar,
610 title = {Quasar Core - Quasar User Manual},
611 organization = {Parallel Universe},
612 howpublished = {\href{https://docs.paralleluniverse.co/quasar}{https://\-docs.paralleluniverse.co/\-quasar}}
613}
614@misc{MAN:project-loom,
615 howpublished = {\href{https://www.baeldung.com/openjdk-project-loom}{https://\-www.baeldung.com/\-openjdk-project-loom}}
616}
617
618@misc{MAN:java/fork-join,
619 howpublished = {\href{https://www.baeldung.com/java-fork-join}{https://\-www.baeldung.com/\-java-fork-join}}
620}
621
622@misc{apache,
623 key = {Apache Software Foundation},
624 title = {{T}he {A}pache Web Server},
625 howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}},
626 note = "[Online; accessed 6-June-2022]"
627}
628
629@misc{memcached,
630 key = {Brad Fitzpatrick},
631 title = {{M}emcached},
632 year = {2003},
633 howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}},
634 note = "[Online; accessed 6-June-2022]"
635}
636
637@misc{libuv,
638 author = {libuv team},
639 title = {libuv: Asynchronous I/O made simple.},
640 howpublished = {\href{https://libuv.org/}{https://\-libuv.org/}},
641 note = "[Online; accessed 5-August-2022]"
642}
643
644@misc{SeriallyReusable,
645 author = {IBM},
646 title = {Serially reusable programs},
647 month = mar,
648 howpublished= {\href{https://www.ibm.com/docs/en/ztpf/1.1.0.15?topic=structures-serially-reusable-programs}{https://www.ibm.com/\-docs/\-en/\-ztpf/\-1.1.0.15?\-topic=structures\--serially\--reusable-programs}},
649 year = 2021,
650}
651
652@misc{GITHUB:mutilate,
653 title = {Mutilate: high-performance memcached load generator },
654 author = { Jacob Leverich },
655 howpublished = {\href{https://github.com/leverich/mutilate}{https://\-github.com/\-leverich/\-mutilate}},
656 version = {Change-Id: d65c6ef7c2f78ae05a9db3e37d7f6ddff1c0af64}
657}
658
659% --------------------------------------------------
660% Tech documents
661@techreport{rfc:tcp,
662 title={Transmission control protocol},
663 author={Postel, Jon},
664 year={1981}
665}
666
667@manual{win:priority,
668 key = {TaskSettings Priority},
669 title = {TaskSettings.Priority property},
670 year = "2020",
671 month = "September",
672 howpublished = {\href{https://docs.microsoft.com/en-us/windows/win32/taskschd/tasksettings-priority}{https://\-docs.microsoft.com/\-en-us/\-windows/\-win32/\-taskschd/\-tasksettings-priority}},
673 note = "[Online; accessed 5-August-2022]"
674}
675
676@manual{win:overlap,
677 key = {Synchronous and Asynchronous IO},
678 title = {Synchronous and Asynchronous I\/O},
679 year = "2021",
680 month = "March",
681 howpublished = {\href{https://docs.microsoft.com/en-us/windows/win32/fileio/synchronous-and-asynchronous-i-o}{https://\-docs.microsoft.com/\-en-us/\-windows/\-win32/\-fileio/\-synchronous-and-asynchronous-i-o}},
682 note = "[Online; accessed 5-August-2022]"
683}
684
685@book{russinovich2009windows,
686 title={Windows Internals},
687 author={Russinovich, M.E. and Solomon, D.A. and Ionescu, A.},
688 isbn={9780735625303},
689 lccn={2009927697},
690 series={Developer Reference Series},
691 url={https://books.google.ca/books?id=SfglSQAACAAJ},
692 year={2009},
693 publisher={Microsoft Press}
694}
695
696@manual{apple:gcd,
697 key = {Grand Central Dispatch},
698 title = {Grand Central Dispatch},
699 year = "2022",
700 author = {Apple Inc.},
701 howpublished = {https://developer.apple.com/documentation/DISPATCH},
702 note = "[Online; accessed 5-August-2022]"
703}
704
705@techreport{apple:gcd2,
706 key = {Grand Central Dispatch},
707 title = {Grand Central Dispatch, A better way to do multicore.},
708 year = "2009",
709 month = "August",
710 author = {Apple Inc.},
711 howpublished = {\href{http://web.archive.org/web/20090920043909/http://images.apple.com/macosx/technology/docs/GrandCentral_TB_brief_20090903.pdf}{http://web.archive.org/web/20090920043909/http://\-images.apple.com/\-macosx/\-technology/\-docs/\-GrandCentral\_TB\_brief\_20090903.pdf}},
712 note = "[Online; accessed 5-August-2022]"
713}
714
715
716% --------------------------------------------------
717% Man Pages
718@manual{MAN:open,
719 key = "open",
720 title = "open(2) Linux User's Manual",
721 year = "2020",
722 month = "February",
723}
724
725@manual{MAN:accept,
726 key = "accept",
727 title = "accept(2) Linux User's Manual",
728 year = "2019",
729 month = "March",
730}
731
732@manual{MAN:select,
733 key = "select",
734 title = "select(2) Linux User's Manual",
735 year = "2019",
736 month = "March",
737}
738
739@manual{MAN:poll,
740 key = "poll",
741 title = "poll(2) Linux User's Manual",
742 year = "2019",
743 month = "July",
744}
745
746@manual{MAN:epoll,
747 key = "epoll",
748 title = "epoll(7) Linux User's Manual",
749 year = "2019",
750 month = "March",
751}
752
753@manual{MAN:sendfile,
754 key = "sendfile",
755 title = "sendfile(2) Linux User's Manual",
756 year = "2017",
757 month = "September",
758}
759
760@manual{MAN:splice,
761 key = "splice",
762 title = "splice(2) Linux User's Manual",
763 year = "2019",
764 month = "May",
765}
766
767@manual{MAN:aio,
768 key = "aio",
769 title = "aio(7) Linux User's Manual",
770 year = "2019",
771 month = "March",
772}
773
774@misc{MAN:io_uring,
775 title = {Efficient IO with io\_uring},
776 author = {Axboe, Jens},
777 year = "2019",
778 month = "March",
779 version = {0,4},
780 howpublished = {\href{https://kernel.dk/io_uring.pdf}{https://\-kernel.dk/\-io\_uring.pdf}}
781}
782
783% --------------------------------------------------
784% Wikipedia Entries
785@misc{wiki:taskparallel,
786 author = "{Wikipedia contributors}",
787 title = "Control theory --- {W}ikipedia{,} The Free Encyclopedia",
788 year = "2020",
789 howpublished = {\href{https://en.wikipedia.org/wiki/Task_parallelism}{https://\-en.wikipedia.org/\-wiki/\-Task\_parallelism}},
790 note = "[Online; accessed 22-October-2020]"
791}
792
793@misc{wiki:controltheory,
794 author = "{Wikipedia contributors}",
795 title = "Task parallelism --- {W}ikipedia{,} The Free Encyclopedia",
796 year = "2020",
797 howpublished = "\href{https://en.wikipedia.org/wiki/Control_theory}{https://\-en.wikipedia.org/\-wiki/\-Control\_theory}",
798 note = "[Online; accessed 22-October-2020]"
799}
800
801@misc{wiki:implicitpar,
802 author = "{Wikipedia contributors}",
803 title = "Implicit parallelism --- {W}ikipedia{,} The Free Encyclopedia",
804 year = "2020",
805 howpublished = "\href{https://en.wikipedia.org/wiki/Implicit_parallelism}{https://\-en.wikipedia.org/\-wiki/\-Implicit\_parallelism}",
806 note = "[Online; accessed 23-October-2020]"
807}
808
809@misc{wiki:explicitpar,
810 author = "{Wikipedia contributors}",
811 title = "Explicit parallelism --- {W}ikipedia{,} The Free Encyclopedia",
812 year = "2017",
813 howpublished = "\href{https://en.wikipedia.org/wiki/Explicit_parallelism}{https://\-en.wikipedia.org/\-wiki/\-Explicit\_parallelism}",
814 note = "[Online; accessed 23-October-2020]"
815}
816
817@misc{wiki:lcg,
818 author = "{Wikipedia contributors}",
819 title = "Linear congruential generator --- {W}ikipedia{,} The Free Encyclopedia",
820 year = "2020",
821 howpublished = "\href{https://en.wikipedia.org/wiki/Linear_congruential_generator}{https://en.wikipedia.org/wiki/Linear\_congruential\_generator}",
822 note = "[Online; accessed 2-January-2021]"
823}
824
825@misc{wiki:future,
826 author = "{Wikipedia contributors}",
827 title = "Futures and promises --- {W}ikipedia{,} The Free Encyclopedia",
828 year = "2020",
829 howpublished = "\href{https://en.wikipedia.org/wiki/Futures_and_promises}{https://\-en.wikipedia.org/\-wiki/Futures\_and\_promises}",
830 note = "[Online; accessed 9-February-2021]"
831}
832
833@misc{wiki:rcu,
834 author = "{Wikipedia contributors}",
835 title = "Read-copy-update --- {W}ikipedia{,} The Free Encyclopedia",
836 year = "2022",
837 howpublished = "\href{https://en.wikipedia.org/wiki/Linear_congruential_generator}{https://\-en.wikipedia.org/\-wiki/\-Linear\_congruential\_generator}",
838 note = "[Online; accessed 12-April-2022]"
839}
840
841@misc{wiki:rwlock,
842 author = "{Wikipedia contributors}",
843 title = "Readers-writer lock --- {W}ikipedia{,} The Free Encyclopedia",
844 year = "2021",
845 howpublished = "\href{https://en.wikipedia.org/wiki/Readers-writer_lock}{https://\-en.wikipedia.org/\-wiki/\-Readers-writer\_lock}",
846 note = "[Online; accessed 12-April-2022]"
847}
848
849@misc{wiki:binpak,
850 author = "{Wikipedia contributors}",
851 title = "Bin packing problem --- {W}ikipedia{,} The Free Encyclopedia",
852 year = "2022",
853 howpublished = "\href{https://en.wikipedia.org/wiki/Bin_packing_problem}{https://\-en.wikipedia.org/\-wiki/\-Bin\_packing\_problem}",
854 note = "[Online; accessed 29-June-2022]"
855}
856
857@misc{wiki:ma,
858 author = "{Wikipedia contributors}",
859 title = "Bin packing problem --- {W}ikipedia{,} The Free Encyclopedia",
860 year = "2022",
861 howpublished = "\href{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average}{https://\-en.wikipedia.org/\-wiki/\-Moving\_average\#Exponential\_moving\_average}",
862 note = "[Online; accessed 5-August-2022]"
863}
864
865@misc{wiki:jni,
866 author = "{Wikipedia contributors}",
867 title = "Java Native Interface --- {W}ikipedia{,} The Free Encyclopedia",
868 year = "2021",
869 howpublished = "\href{https://en.wikipedia.org/wiki/Java_Native_Interface}{https://\-en.wikipedia.org/\-wiki/\-Java\_Native\_Interface}",
870 note = "[Online; accessed 5-August-2022]"
871}
872
873@misc{wiki:zipf,
874 author = "{Wikipedia contributors}",
875 title = "Zipf's law --- {W}ikipedia{,} The Free Encyclopedia",
876 year = "2021",
877 howpublished = "\href{https://en.wikipedia.org/wiki/Zipf%27s_law}{https://\-en.wikipedia.org/\-wiki/\-Zipf\%27s\-\_law}",
878 note = "[Online; accessed 5-August-2022]"
879}
880
881@inproceedings{Pai99Flash,
882 contributer = {pabuhr@watmsg},
883 author = {Vivek S. Pai and Peter Druschel and Willy Zwaenepoel},
884 title = {{F}lash: An efficient and portable {W}eb server},
885 booktitle = {Proceedings of the 1999 USENIX Annual Technical Conference},
886 organization= {USENIX Association},
887 address = {Monterey, California, U.S.A.},
888 month = jun,
889 year = {1999},
890}
891
892@inproceedings{Behren03,
893 contributer = {pabuhr@watmsg},
894 author = {Rob von Behren and Jeremy Condit and Feng Zhou and George C. Necula and Eric Brewer},
895 title = {Capriccio: Scalable Threads for Internet Services},
896 booktitle = {Proceedings of the 19th ACM Symposium on Operating Systems Principles},
897 year = {2003},
898 pages = {268-281},
899 location = {Bolton Landing, NY, USA},
900 publisher = {ACM Press},
901 address = {New York, NY, USA},
902}
903
904@article{Welsh01,
905 contributer = {pabuhr@plg},
906 author = {Welsh, Matt and Culler, David and Brewer, Eric},
907 title = {{SEDA}: An Architecture for Well-conditioned, Scalable Internet Services},
908 journal = {SIGOPS Oper. Syst. Rev.},
909 volume = {35},
910 number = {5},
911 month = oct,
912 year = {2001},
913 pages = {230--243},
914 numpages = {14},
915 publisher = {ACM},
916 address = {New York, NY, USA},
917}
918
919@inproceedings{Harji12,
920 keywords = {web server, architecture, multi-core},
921 contributer = {pabuhr@plg},
922 author = {Ashif S. Harji and Peter A. Buhr and Tim Brecht},
923 title = {Comparing High-Performance Multi-core Web-Server Architectures},
924 booktitle = {Proceedings of the 5th Annual International Systems and Storage Conference},
925 series = {SYSTOR '12},
926 publisher = {ACM},
927 address = {New York, NY, USA},
928 location = {Haifa, Israel},
929 month = jun,
930 year = 2012,
931 articleno = 1,
932 pages = {1:1--1:12},
933}
934
935
936@inproceedings{Barford98,
937 title = {Generating Representative Web Workloads for Network and Server Performance Evaluation},
938 author = {Paul Barford and Mark Crovella},
939 booktitle = {Proc. of ACM SIGMETRICS 1998},
940 address = {Madison, Wis.},
941 year = {1998}
942}
943
944@article{httperf,
945 author = {David Mosberger and Tai Jin},
946 title = {httperf Tool for Measuring Web Server Performance},
947 journal = {ACM SIGMETRICS},
948 volume = {26},
949 number = {3},
950 year = {1998},
951 optissn = {0163-5999},
952 pages = {31-37},
953 optdoi = {http://doi.acm.org/10.1145/306225.306235},
954 publisher = {ACM Press},
955 address = {New York, NY, USA},
956}
957
958% --------------------------------------------------
959% True Misc
960@misc{AIORant,
961 author = "Linus Torvalds",
962 title = "Re: [PATCH 09/13] aio: add support for async openat()",
963 year = "2016",
964 month = jan,
965 howpublished = "\href{https://lwn.net/Articles/671657}{https://\-lwn.net/\-Articles/671657}",
966 note = "[Online; accessed 6-June-2022]"
967}
968
969@misc{xkcd:dynamicentropy,
970 author = "Randall Munroe",
971 title = "2318: Dynamic Entropy",
972 year = "2020",
973 month = "June",
974 howpublished = "\href{https://xkcd.com/2318/}",
975 note = "[Online; accessed 10-June-2020]"
976}
977
978@misc{xkcd:cloud,
979 author = "Randall Munroe",
980 title = "908: The Cloud",
981 year = "2011",
982 month = "June",
983 howpublished = "\href{https://xkcd.com/908/}",
984 note = "[Online; accessed 25-August-2022]"
985}
986
987@misc{go:safepoints,
988 author = "The Go Programming Language",
989 title = "src/runtime/preempt.go",
990 howpublished = {\href{https://go.dev/src/runtime/preempt.go}},
991 note = "[Online; accessed 5-August-2022]"
992}
993
994@misc{go:cgo,
995 author = "The Go Programming Language",
996 title = "cgo",
997 howpublished = {\href{https://pkg.go.dev/cmd/cgo}},
998 note = "[Online; accessed 5-August-2022]"
999}
1000
1001@article{reese2008nginx,
1002 title = {NGINX: the high-performance web server and reverse proxy},
1003 author = {Reese, Will},
1004 journal = {Linux Journal},
1005 volume = {2008},
1006 number = {173},
1007 pages = {2},
1008 year = {2008},
1009 publisher = {Belltown Media}
1010}
1011
1012@phdthesis{Harji10,
1013 author = {Ashif Harji},
1014 title = {Performance Comparison of Uniprocessor and Multiprocessor Web Server Architectures},
1015 school = {University of Waterloo},
1016 year = 2010,
1017 month = feb,
1018 address = {Waterloo, Ontario, Canada, N2L 3G1},
1019 note = {\textsf{http://uwspace.uwaterloo.ca/\-bitstream/\-10012/\-5040/\-1/\-Harji\_thesis.pdf}},
1020}
Note: See TracBrowser for help on using the repository browser.