[b9537e6] | 1 | % -------------------------------------------------- |
---|
| 2 | % Cforall |
---|
| 3 | @misc{cfa:frontpage, |
---|
[847bb6f] | 4 | howpublished = {\href{https://cforall.uwaterloo.ca}{https://\-cforall.uwaterloo.ca}} |
---|
[b9537e6] | 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 | |
---|
| 232 | Optimization 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 | |
---|
[8040286] | 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 | |
---|
[b9537e6] | 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}, |
---|
[847bb6f] | 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}} |
---|
[b9537e6] | 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}, |
---|
[847bb6f] | 522 | howpublished = {\href{https://opensource.com/article/19/2/fair-scheduling-linux}{https://\-opensource.com/\-article/\-19/2\-/\-fair-scheduling-linux}} |
---|
[b9537e6] | 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 | |
---|
[d677355] | 532 | @misc{MAN:linux/cfs/balancing, |
---|
[b9537e6] | 533 | title={Reworking {CFS} load balancing}, |
---|
[d677355] | 534 | journal={LWN article}, |
---|
| 535 | year={2019}, |
---|
| 536 | howpublished = {\href{https://lwn.net/Articles/793427}{https://\-lwn.net/\-Articles/\-793427}}, |
---|
[b9537e6] | 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 | |
---|
[c292244] | 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 | |
---|
[b9537e6] | 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.}, |
---|
[847bb6f] | 557 | howPublish = {\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}} |
---|
[b9537e6] | 558 | } |
---|
| 559 | |
---|
| 560 | Windows's Scheduler |
---|
| 561 | @inbook{MAN:windows/scheduler, |
---|
| 562 | author = {Kate Chase and Mark E. Russinovich}, |
---|
| 563 | title = {Windows Internals}, |
---|
| 564 | chapter = {Processes, Threads, and Jobs in the Windows Operating System}, |
---|
| 565 | edition = {5th Edition}, |
---|
| 566 | publisher = {Microsoft Press}, |
---|
| 567 | year = {2009}, |
---|
| 568 | month = {June}, |
---|
| 569 | series = {Developer Reference}, |
---|
[847bb6f] | 570 | 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}} |
---|
[b9537e6] | 571 | } |
---|
| 572 | |
---|
[d677355] | 573 | @misc{GITHUB:go, |
---|
[b9537e6] | 574 | title = {GitHub - The Go Programming Language}, |
---|
| 575 | author = {The Go Programming Language}, |
---|
[847bb6f] | 576 | howpublished = {\href{https://github.com/golang/go}{https://\-github.com/\-golang/\-go}}, |
---|
[b9537e6] | 577 | version = {Change-Id: If07f40b1d73b8f276ee28ffb8b7214175e56c24d} |
---|
| 578 | } |
---|
| 579 | |
---|
| 580 | @inproceedings{YTUBE:go, |
---|
| 581 | author = {Dmitry Vyukov}, |
---|
| 582 | title = {Go scheduler: Implementing language with lightweight concurrency}, |
---|
| 583 | year = {2019}, |
---|
| 584 | booktitle = {Hydra}, |
---|
[847bb6f] | 585 | howpublished = {\href{https://www.youtube.com/watch?v=-K11rY57K7k&ab_channel=Hydra}{https://\-www.youtube.com/\-watch?v=-K11rY57K7k&ab_channel=Hydra}} |
---|
[b9537e6] | 586 | } |
---|
| 587 | |
---|
| 588 | @inproceedings{:erlang, |
---|
| 589 | author = {Kenneth Lundin, Ericsson AB}, |
---|
| 590 | title = {Inside the Erlang VM}, |
---|
| 591 | year = {2008}, |
---|
| 592 | booktitle = {Erlang User Conference}, |
---|
[847bb6f] | 593 | howpublished = {\href{http://www.erlang.se/euc/08/euc_smp.pdf}{http://\-www.erlang.se/\-euc/\-08/\-euc_smp.pdf}} |
---|
[b9537e6] | 594 | } |
---|
| 595 | |
---|
| 596 | @manual{MAN:tbb/scheduler, |
---|
| 597 | title = {Scheduling Algorithm - Intel{\textregistered} Threading Building Blocks Developer Reference}, |
---|
| 598 | organization = {Intel{\textregistered}}, |
---|
[847bb6f] | 599 | 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}} |
---|
[b9537e6] | 600 | } |
---|
| 601 | |
---|
| 602 | @manual{MAN:quasar, |
---|
| 603 | title = {Quasar Core - Quasar User Manual}, |
---|
| 604 | organization = {Parallel Universe}, |
---|
[847bb6f] | 605 | howpublished = {\href{https://docs.paralleluniverse.co/quasar}{https://\-docs.paralleluniverse.co/\-quasar}} |
---|
[b9537e6] | 606 | } |
---|
| 607 | @misc{MAN:project-loom, |
---|
[847bb6f] | 608 | howpublished = {\href{https://www.baeldung.com/openjdk-project-loom}{https://\-www.baeldung.com/\-openjdk-project-loom}} |
---|
[b9537e6] | 609 | } |
---|
| 610 | |
---|
| 611 | @misc{MAN:java/fork-join, |
---|
[847bb6f] | 612 | howpublished = {\href{https://www.baeldung.com/java-fork-join}{https://\-www.baeldung.com/\-java-fork-join}} |
---|
[b9537e6] | 613 | } |
---|
| 614 | |
---|
[8040286] | 615 | @misc{apache, |
---|
| 616 | key = {Apache Software Foundation}, |
---|
| 617 | title = {{T}he {A}pache Web Server}, |
---|
| 618 | howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}}, |
---|
| 619 | note = "[Online; accessed 6-June-2022]" |
---|
| 620 | } |
---|
| 621 | |
---|
| 622 | @misc{memcached, |
---|
| 623 | key = {Brad Fitzpatrick}, |
---|
| 624 | title = {{M}emcached}, |
---|
| 625 | year = {2003}, |
---|
| 626 | howpublished = {\href{http://httpd.apache.org}{http://\-httpd.apache.org}}, |
---|
| 627 | note = "[Online; accessed 6-June-2022]" |
---|
| 628 | } |
---|
| 629 | |
---|
| 630 | @misc{libuv, |
---|
| 631 | author = {libuv team}, |
---|
| 632 | title = {libuv: Asynchronous I/O made simple.}, |
---|
| 633 | howpublished = {\href{https://libuv.org/}{https://\-libuv.org/}}, |
---|
| 634 | note = "[Online; accessed 5-August-2022]" |
---|
| 635 | } |
---|
| 636 | |
---|
| 637 | @misc{SeriallyReusable, |
---|
| 638 | author = {IBM}, |
---|
| 639 | title = {Serially reusable programs}, |
---|
| 640 | month = mar, |
---|
| 641 | 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}}, |
---|
| 642 | year = 2021, |
---|
| 643 | } |
---|
| 644 | |
---|
| 645 | @misc{GITHUB:mutilate, |
---|
| 646 | title = {Mutilate: high-performance memcached load generator }, |
---|
| 647 | author = { Jacob Leverich }, |
---|
| 648 | howpublished = {\href{https://github.com/leverich/mutilate}{https://\-github.com/\-leverich/\-mutilate}}, |
---|
| 649 | version = {Change-Id: d65c6ef7c2f78ae05a9db3e37d7f6ddff1c0af64} |
---|
| 650 | } |
---|
| 651 | |
---|
| 652 | % -------------------------------------------------- |
---|
| 653 | % Tech documents |
---|
| 654 | @techreport{rfc:tcp, |
---|
| 655 | title={Transmission control protocol}, |
---|
| 656 | author={Postel, Jon}, |
---|
| 657 | year={1981} |
---|
| 658 | } |
---|
| 659 | |
---|
| 660 | @manual{win:priority, |
---|
| 661 | key = {TaskSettings Priority}, |
---|
| 662 | title = {TaskSettings.Priority property}, |
---|
| 663 | year = "2020", |
---|
| 664 | month = "September", |
---|
| 665 | howpublished = {\href{https://docs.microsoft.com/en-us/windows/win32/taskschd/tasksettings-priority}{https://\-docs.microsoft.com/\-en-us/\-windows/\-win32/\-taskschd/\-tasksettings-priority}}, |
---|
| 666 | note = "[Online; accessed 5-August-2022]" |
---|
| 667 | } |
---|
| 668 | |
---|
| 669 | @manual{win:overlap, |
---|
| 670 | key = {Synchronous and Asynchronous IO}, |
---|
| 671 | title = {Synchronous and Asynchronous I\/O}, |
---|
| 672 | year = "2021", |
---|
| 673 | month = "March", |
---|
| 674 | 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}}, |
---|
| 675 | note = "[Online; accessed 5-August-2022]" |
---|
| 676 | } |
---|
| 677 | |
---|
| 678 | @book{russinovich2009windows, |
---|
| 679 | title={Windows Internals}, |
---|
| 680 | author={Russinovich, M.E. and Solomon, D.A. and Ionescu, A.}, |
---|
| 681 | isbn={9780735625303}, |
---|
| 682 | lccn={2009927697}, |
---|
| 683 | series={Developer Reference Series}, |
---|
| 684 | url={https://books.google.ca/books?id=SfglSQAACAAJ}, |
---|
| 685 | year={2009}, |
---|
| 686 | publisher={Microsoft Press} |
---|
| 687 | } |
---|
| 688 | |
---|
| 689 | @manual{apple:gcd, |
---|
| 690 | key = {Grand Central Dispatch}, |
---|
| 691 | title = {Grand Central Dispatch}, |
---|
| 692 | year = "2022", |
---|
| 693 | author = {Apple Inc.}, |
---|
| 694 | howpublished = {https://developer.apple.com/documentation/DISPATCH}, |
---|
| 695 | note = "[Online; accessed 5-August-2022]" |
---|
| 696 | } |
---|
| 697 | |
---|
| 698 | @techreport{apple:gcd2, |
---|
| 699 | key = {Grand Central Dispatch}, |
---|
| 700 | title = {Grand Central Dispatch, A better way to do multicore.}, |
---|
| 701 | year = "2009", |
---|
| 702 | month = "August", |
---|
| 703 | author = {Apple Inc.}, |
---|
| 704 | 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}}, |
---|
| 705 | note = "[Online; accessed 5-August-2022]" |
---|
| 706 | } |
---|
| 707 | |
---|
| 708 | |
---|
[c292244] | 709 | % -------------------------------------------------- |
---|
| 710 | % Man Pages |
---|
| 711 | @manual{MAN:open, |
---|
| 712 | key = "open", |
---|
| 713 | title = "open(2) Linux User's Manual", |
---|
| 714 | year = "2020", |
---|
| 715 | month = "February", |
---|
| 716 | } |
---|
| 717 | |
---|
| 718 | @manual{MAN:accept, |
---|
| 719 | key = "accept", |
---|
| 720 | title = "accept(2) Linux User's Manual", |
---|
| 721 | year = "2019", |
---|
| 722 | month = "March", |
---|
| 723 | } |
---|
| 724 | |
---|
| 725 | @manual{MAN:select, |
---|
| 726 | key = "select", |
---|
| 727 | title = "select(2) Linux User's Manual", |
---|
| 728 | year = "2019", |
---|
| 729 | month = "March", |
---|
| 730 | } |
---|
| 731 | |
---|
| 732 | @manual{MAN:poll, |
---|
| 733 | key = "poll", |
---|
| 734 | title = "poll(2) Linux User's Manual", |
---|
| 735 | year = "2019", |
---|
| 736 | month = "July", |
---|
| 737 | } |
---|
| 738 | |
---|
| 739 | @manual{MAN:epoll, |
---|
| 740 | key = "epoll", |
---|
| 741 | title = "epoll(7) Linux User's Manual", |
---|
| 742 | year = "2019", |
---|
| 743 | month = "March", |
---|
| 744 | } |
---|
| 745 | |
---|
[8040286] | 746 | @manual{MAN:sendfile, |
---|
| 747 | key = "sendfile", |
---|
| 748 | title = "sendfile(2) Linux User's Manual", |
---|
| 749 | year = "2017", |
---|
| 750 | month = "September", |
---|
| 751 | } |
---|
| 752 | |
---|
| 753 | @manual{MAN:splice, |
---|
| 754 | key = "splice", |
---|
| 755 | title = "splice(2) Linux User's Manual", |
---|
| 756 | year = "2019", |
---|
| 757 | month = "May", |
---|
| 758 | } |
---|
| 759 | |
---|
[c292244] | 760 | @manual{MAN:aio, |
---|
| 761 | key = "aio", |
---|
| 762 | title = "aio(7) Linux User's Manual", |
---|
| 763 | year = "2019", |
---|
| 764 | month = "March", |
---|
| 765 | } |
---|
| 766 | |
---|
| 767 | @misc{MAN:io_uring, |
---|
| 768 | title = {Efficient IO with io\_uring}, |
---|
| 769 | author = {Axboe, Jens}, |
---|
| 770 | year = "2019", |
---|
| 771 | month = "March", |
---|
| 772 | version = {0,4}, |
---|
[847bb6f] | 773 | howpublished = {\href{https://kernel.dk/io_uring.pdf}{https://\-kernel.dk/\-io\_uring.pdf}} |
---|
[c292244] | 774 | } |
---|
| 775 | |
---|
[b9537e6] | 776 | % -------------------------------------------------- |
---|
| 777 | % Wikipedia Entries |
---|
| 778 | @misc{wiki:taskparallel, |
---|
| 779 | author = "{Wikipedia contributors}", |
---|
| 780 | title = "Control theory --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 781 | year = "2020", |
---|
[847bb6f] | 782 | howpublished = {\href{https://en.wikipedia.org/wiki/Task_parallelism}{https://\-en.wikipedia.org/\-wiki/\-Task\_parallelism}}, |
---|
[b9537e6] | 783 | note = "[Online; accessed 22-October-2020]" |
---|
| 784 | } |
---|
| 785 | |
---|
| 786 | @misc{wiki:controltheory, |
---|
| 787 | author = "{Wikipedia contributors}", |
---|
| 788 | title = "Task parallelism --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 789 | year = "2020", |
---|
[847bb6f] | 790 | howpublished = "\href{https://en.wikipedia.org/wiki/Control_theory}{https://\-en.wikipedia.org/\-wiki/\-Control\_theory}", |
---|
[b9537e6] | 791 | note = "[Online; accessed 22-October-2020]" |
---|
| 792 | } |
---|
| 793 | |
---|
| 794 | @misc{wiki:implicitpar, |
---|
| 795 | author = "{Wikipedia contributors}", |
---|
| 796 | title = "Implicit parallelism --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 797 | year = "2020", |
---|
[847bb6f] | 798 | howpublished = "\href{https://en.wikipedia.org/wiki/Implicit_parallelism}{https://\-en.wikipedia.org/\-wiki/\-Implicit\_parallelism}", |
---|
[b9537e6] | 799 | note = "[Online; accessed 23-October-2020]" |
---|
| 800 | } |
---|
| 801 | |
---|
| 802 | @misc{wiki:explicitpar, |
---|
| 803 | author = "{Wikipedia contributors}", |
---|
| 804 | title = "Explicit parallelism --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 805 | year = "2017", |
---|
[847bb6f] | 806 | howpublished = "\href{https://en.wikipedia.org/wiki/Explicit_parallelism}{https://\-en.wikipedia.org/\-wiki/\-Explicit\_parallelism}", |
---|
[b9537e6] | 807 | note = "[Online; accessed 23-October-2020]" |
---|
[c04a19e] | 808 | } |
---|
| 809 | |
---|
| 810 | @misc{wiki:lcg, |
---|
| 811 | author = "{Wikipedia contributors}", |
---|
| 812 | title = "Linear congruential generator --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 813 | year = "2020", |
---|
[847bb6f] | 814 | howpublished = "\href{https://en.wikipedia.org/wiki/Linear_congruential_generator}{https://en.wikipedia.org/wiki/Linear\_congruential\_generator}", |
---|
[c04a19e] | 815 | note = "[Online; accessed 2-January-2021]" |
---|
[d4a4b17] | 816 | } |
---|
| 817 | |
---|
| 818 | @misc{wiki:future, |
---|
| 819 | author = "{Wikipedia contributors}", |
---|
| 820 | title = "Futures and promises --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 821 | year = "2020", |
---|
[847bb6f] | 822 | howpublished = "\href{https://en.wikipedia.org/wiki/Futures_and_promises}{https://\-en.wikipedia.org/\-wiki/Futures\_and\_promises}", |
---|
[d4a4b17] | 823 | note = "[Online; accessed 9-February-2021]" |
---|
| 824 | } |
---|
[6b06abe] | 825 | |
---|
| 826 | @misc{wiki:rcu, |
---|
| 827 | author = "{Wikipedia contributors}", |
---|
| 828 | title = "Read-copy-update --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 829 | year = "2022", |
---|
[847bb6f] | 830 | howpublished = "\href{https://en.wikipedia.org/wiki/Linear_congruential_generator}{https://\-en.wikipedia.org/\-wiki/\-Linear\_congruential\_generator}", |
---|
[6b06abe] | 831 | note = "[Online; accessed 12-April-2022]" |
---|
| 832 | } |
---|
| 833 | |
---|
| 834 | @misc{wiki:rwlock, |
---|
| 835 | author = "{Wikipedia contributors}", |
---|
| 836 | title = "Readers-writer lock --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 837 | year = "2021", |
---|
[847bb6f] | 838 | howpublished = "\href{https://en.wikipedia.org/wiki/Readers-writer_lock}{https://\-en.wikipedia.org/\-wiki/\-Readers-writer\_lock}", |
---|
[6b06abe] | 839 | note = "[Online; accessed 12-April-2022]" |
---|
[622a358] | 840 | } |
---|
[d677355] | 841 | |
---|
[adf03a6] | 842 | @misc{wiki:binpak, |
---|
| 843 | author = "{Wikipedia contributors}", |
---|
| 844 | title = "Bin packing problem --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 845 | year = "2022", |
---|
[847bb6f] | 846 | howpublished = "\href{https://en.wikipedia.org/wiki/Bin_packing_problem}{https://\-en.wikipedia.org/\-wiki/\-Bin\_packing\_problem}", |
---|
[adf03a6] | 847 | note = "[Online; accessed 29-June-2022]" |
---|
| 848 | } |
---|
[622a358] | 849 | |
---|
[8040286] | 850 | @misc{wiki:ma, |
---|
| 851 | author = "{Wikipedia contributors}", |
---|
| 852 | title = "Bin packing problem --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 853 | year = "2022", |
---|
| 854 | howpublished = "\href{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average}{https://\-en.wikipedia.org/\-wiki/\-Moving\_average\#Exponential\_moving\_average}", |
---|
| 855 | note = "[Online; accessed 5-August-2022]" |
---|
| 856 | } |
---|
[847bb6f] | 857 | |
---|
[8040286] | 858 | @misc{wiki:jni, |
---|
| 859 | author = "{Wikipedia contributors}", |
---|
| 860 | title = "Java Native Interface --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 861 | year = "2021", |
---|
| 862 | howpublished = "\href{https://en.wikipedia.org/wiki/Java_Native_Interface}{https://\-en.wikipedia.org/\-wiki/\-Java\_Native\_Interface}", |
---|
| 863 | note = "[Online; accessed 5-August-2022]" |
---|
| 864 | } |
---|
[847bb6f] | 865 | |
---|
[29b0aa8] | 866 | @misc{wiki:zipf, |
---|
| 867 | author = "{Wikipedia contributors}", |
---|
| 868 | title = "Zipf's law --- {W}ikipedia{,} The Free Encyclopedia", |
---|
| 869 | year = "2021", |
---|
| 870 | howpublished = "\href{https://en.wikipedia.org/wiki/Zipf%27s_law}{https://\-en.wikipedia.org/\-wiki/\-Zipf\%27s\-\_law}", |
---|
| 871 | note = "[Online; accessed 5-August-2022]" |
---|
| 872 | } |
---|
| 873 | |
---|
[94eff4c] | 874 | @inproceedings{Pai99Flash, |
---|
| 875 | contributer = {pabuhr@watmsg}, |
---|
| 876 | author = {Vivek S. Pai and Peter Druschel and Willy Zwaenepoel}, |
---|
| 877 | title = {{F}lash: An efficient and portable {W}eb server}, |
---|
| 878 | booktitle = {Proceedings of the 1999 USENIX Annual Technical Conference}, |
---|
| 879 | organization= {USENIX Association}, |
---|
| 880 | address = {Monterey, California, U.S.A.}, |
---|
| 881 | month = jun, |
---|
| 882 | year = {1999}, |
---|
| 883 | } |
---|
| 884 | |
---|
| 885 | @inproceedings{Behren03, |
---|
| 886 | contributer = {pabuhr@watmsg}, |
---|
| 887 | author = {Rob von Behren and Jeremy Condit and Feng Zhou and George C. Necula and Eric Brewer}, |
---|
| 888 | title = {Capriccio: Scalable Threads for Internet Services}, |
---|
| 889 | booktitle = {Proceedings of the 19th ACM Symposium on Operating Systems Principles}, |
---|
| 890 | year = {2003}, |
---|
| 891 | pages = {268-281}, |
---|
| 892 | location = {Bolton Landing, NY, USA}, |
---|
| 893 | publisher = {ACM Press}, |
---|
| 894 | address = {New York, NY, USA}, |
---|
| 895 | } |
---|
| 896 | |
---|
| 897 | @article{Welsh01, |
---|
| 898 | contributer = {pabuhr@plg}, |
---|
| 899 | author = {Welsh, Matt and Culler, David and Brewer, Eric}, |
---|
| 900 | title = {{SEDA}: An Architecture for Well-conditioned, Scalable Internet Services}, |
---|
| 901 | journal = {SIGOPS Oper. Syst. Rev.}, |
---|
| 902 | volume = {35}, |
---|
| 903 | number = {5}, |
---|
| 904 | month = oct, |
---|
| 905 | year = {2001}, |
---|
| 906 | pages = {230--243}, |
---|
| 907 | numpages = {14}, |
---|
| 908 | publisher = {ACM}, |
---|
| 909 | address = {New York, NY, USA}, |
---|
| 910 | } |
---|
| 911 | |
---|
| 912 | @inproceedings{Harji12, |
---|
| 913 | keywords = {web server, architecture, multi-core}, |
---|
| 914 | contributer = {pabuhr@plg}, |
---|
| 915 | author = {Ashif S. Harji and Peter A. Buhr and Tim Brecht}, |
---|
| 916 | title = {Comparing High-Performance Multi-core Web-Server Architectures}, |
---|
| 917 | booktitle = {Proceedings of the 5th Annual International Systems and Storage Conference}, |
---|
| 918 | series = {SYSTOR '12}, |
---|
| 919 | publisher = {ACM}, |
---|
| 920 | address = {New York, NY, USA}, |
---|
| 921 | location = {Haifa, Israel}, |
---|
| 922 | month = jun, |
---|
| 923 | year = 2012, |
---|
| 924 | articleno = 1, |
---|
| 925 | pages = {1:1--1:12}, |
---|
| 926 | } |
---|
| 927 | |
---|
| 928 | |
---|
| 929 | @inproceedings{Barford98, |
---|
| 930 | title = {Generating Representative Web Workloads for Network and Server Performance Evaluation}, |
---|
| 931 | author = {Paul Barford and Mark Crovella}, |
---|
| 932 | booktitle = {Proc. of ACM SIGMETRICS 1998}, |
---|
| 933 | address = {Madison, Wis.}, |
---|
| 934 | year = {1998} |
---|
| 935 | } |
---|
| 936 | |
---|
| 937 | @article{httperf, |
---|
| 938 | author = {David Mosberger and Tai Jin}, |
---|
| 939 | title = {httperf Tool for Measuring Web Server Performance}, |
---|
| 940 | journal = {ACM SIGMETRICS}, |
---|
| 941 | volume = {26}, |
---|
| 942 | number = {3}, |
---|
| 943 | year = {1998}, |
---|
| 944 | optissn = {0163-5999}, |
---|
| 945 | pages = {31-37}, |
---|
| 946 | optdoi = {http://doi.acm.org/10.1145/306225.306235}, |
---|
| 947 | publisher = {ACM Press}, |
---|
| 948 | address = {New York, NY, USA}, |
---|
| 949 | } |
---|
[29b0aa8] | 950 | |
---|
[8040286] | 951 | % -------------------------------------------------- |
---|
| 952 | % True Misc |
---|
[847bb6f] | 953 | @misc{AIORant, |
---|
| 954 | author = "Linus Torvalds", |
---|
| 955 | title = "Re: [PATCH 09/13] aio: add support for async openat()", |
---|
| 956 | year = "2016", |
---|
| 957 | month = jan, |
---|
| 958 | howpublished = "\href{https://lwn.net/Articles/671657}{https://\-lwn.net/\-Articles/671657}", |
---|
| 959 | note = "[Online; accessed 6-June-2022]" |
---|
| 960 | } |
---|
| 961 | |
---|
[8040286] | 962 | @misc{xkcd:dynamicentropy, |
---|
| 963 | author = "Randall Munroe", |
---|
| 964 | title = "2318: Dynamic Entropy", |
---|
| 965 | year = "2020", |
---|
| 966 | month = "June", |
---|
| 967 | howpublished = "\href{https://xkcd.com/2318/}", |
---|
| 968 | note = "[Online; accessed 10-June-2020]" |
---|
[847bb6f] | 969 | } |
---|
| 970 | |
---|
[8040286] | 971 | @misc{go:safepoints, |
---|
| 972 | author = "The Go Programming Language", |
---|
| 973 | title = "src/runtime/preempt.go", |
---|
| 974 | howpublished = {\href{https://go.dev/src/runtime/preempt.go}}, |
---|
| 975 | note = "[Online; accessed 5-August-2022]" |
---|
[847bb6f] | 976 | } |
---|
| 977 | |
---|
[8040286] | 978 | @misc{go:cgo, |
---|
| 979 | author = "The Go Programming Language", |
---|
| 980 | title = "cgo", |
---|
| 981 | howpublished = {\href{https://pkg.go.dev/cmd/cgo}}, |
---|
| 982 | note = "[Online; accessed 5-August-2022]" |
---|
[94eff4c] | 983 | } |
---|