Tech-note on how to write device drivers in BF.
[barrelfish] / doc / style / barrelfish.bib
1 @comment{{Suggested rules for editing the bib file, so we all stay sane and
2 have pretty bibliographies in our papers:
3
4   0. for any new entries, construct the key as either:
5      <name of system>:<venue>
6      or:
7      <first author's surname>:<venue>
8      or:
9      <first author's surname>:<most significant word from title>:<venue>
10   1. keep entries in alphabetical order, sorted by key
11   2. for any venue from which we have more than one entry, define a string
12      for the booktitle or journal, and place it in the accompanying defs.bib
13   3. use the location field rather than the address for conferences
14   4. for the month field, use the unquoted strings jan/feb/mar/etc.
15      -- this allows abbreviating bib styles to easily abbreviate them
16   5. if importing bib entries from IEEE Xplore, ACM DL, DBLP, Citeseer etc.
17      PLEASE clean them up to match these guidelines, in particular:
18       * remove the publisher field unless it really isn't obvious
19       * remove the useless New York address that ACM DL always puts on bib entries
20       * check for and {Protect} any words in the title that should be
21         capitalised
22
23 Note that this file will not compile without defs.bib; ie. you need to do:
24   \bibliography{defs,thisfile}
25 }}
26
27 @article{Liedtke_GPT,
28   author =       "Jochen Liedtke",
29   title =        "Page Table Structures For Fine-Grain Virtual Memory",
30   journal =      "IEEE Technical Committee on Computer Architecture
31                   Newsletter",
32   year =         1994,
33   keywords =     "GPT"
34 }
35
36 @Manual{intelsa,
37   title =        {Intel 64 and IA-32 Architectures Software
38                   Developer's Manual},
39   organization = {Intel Corporation},
40   month =        sep,
41   year =         2008
42 }
43
44 @Manual{amdsa,
45   title =        {AMD64 Architecture Programmer's Manual},
46   organization = {Advanced Micro Devices},
47   month =        sep,
48   year =         2007
49 }
50
51 @TechReport{rockcreek_core_eas,
52   author =       {Michael Konow},
53   title =        {{Rock Creek Core}},
54   institution =  {Intel Microprocessor Technology Laboratories (MTL)},
55   year =         2010,
56   type =         {External-architecture Specification (EAS)},
57   number =       {Revision 0.7},
58   month =        {January 5}}
59
60 @TechReport{rockcreek_l2_eas,
61   author =       {Bibiche Geuskens and Saurabh Dighe},
62   title =        {{Rock Creek L2}},
63   institution =  {Intel Microprocessor Technology Laboratories (MTL)},
64   year =         2010,
65   type =         {External-architecture Specification (EAS)},
66   number =       {Revision 0},
67   month =        {January 5}}
68
69 @TechReport{rockcreek_eas,
70   author =       {Yatin Hoskote and Greg Ruhl},
71   title =        {{Rock Creek}},
72   institution =  {Intel Microprocessor Technology Laboratories (MTL)},
73   year =         2009,
74   type =         {External-architecture Specification (EAS)},
75   number =       {Revision 0.91},
76   month =        {September 16}}
77
78 @TechReport{rockcreek_lut_eas,
79   author =       {Jason Howard},
80   title =        {{Rock Creek System Address Look up Table \& Configuration Registers}},
81   institution =  {Intel Microprocessor Technology Laboratories (MTL)},
82   year =         2010,
83   type =         {External-architecture Specification (EAS)},
84   number =       {Revision 0.1},
85   month =        {January 5}}
86
87 @TechReport{rockcreek_fpga_mas,
88   author =       {Mattias Steidl and Michael Kauschke},
89   title =        {{Rock Creek System FPGA}},
90   institution =  {Intel Microprocessor Technology Laboratories (MTL)},
91   year =         2009,
92   type =         {Micro Architecture Specification (MAS)},
93   number =       {Revision 0.21},
94   month =        {October}}
95
96 @inproceedings{adya:stackripping:usenix02,
97   author = {Atul Adya and John Howell and Marvin Theimer and William J. Bolosky
98             and John R. Douceur},
99   title = {Cooperative task management without manual stack management},
100   booktitle = usenixatc02,
101   month = jun,
102   year = 2002
103 }
104
105 @article{ball:rig:ieeetse76,
106  author = {Ball, J. E. and Feldman, J. and Low, J. R. and Rashid, R. and Rovner,
107 P.},
108  title = {{RIG}, {Rochester}'s Intelligent Gateway: System Overview},
109  journal = {IEEE Trans. Softw. Eng.},
110  volume = {2},
111  number = {4},
112  year = 1976,
113  issn = {0098-5589},
114  pages = {321--328},
115  doi = {http://dx.doi.org/10.1109/TSE.1976.229890},
116 }
117
118 @inproceedings{barrelfish:sosp09,
119   title = {The multikernel: a new {OS} architecture for scalable
120                   multicore systems},
121   author = {Andrew Baumann and Paul Barham and Pierre-Evariste Dagand
122                   and Tim Harris and Rebecca Isaacs and Simon Peter
123                   and Timothy Roscoe and Adrian Sch\"{u}pbach and
124                   Akhilesh Singhania},
125   booktitle = sosp09,
126   year = 2009,
127   month = oct
128 }
129
130 @inproceedings{baumann:hotos09,
131   title = {Your computer is already a distributed system. {Why} isn't your
132            {OS}?},
133   author = {Andrew Baumann and Simon Peter and Adrian Sch\"{u}pbach and Akhilesh
134 Singhania and Timothy Roscoe and Paul Barham and Rebecca Isaacs},
135   booktitle = hotos09,
136   year = {2009},
137   month = may,
138   location = {Monte Verita, Switzerland}
139 }
140
141 @manual{beehive:hwman,
142   title = {Beehive: A many-core computer for {FPGA}s (v5)},
143   author = {Chuck Thacker},
144   organization = {MSR Silicon Valley},
145   month = jan,
146   year = 2010,
147   note = {\url{http://projects.csail.mit.edu/beehive/BeehiveV5.pdf}},
148   annote = {unpublished (in principle!). available (to licensees only?) at
149     http://research.microsoft.com/en-us/um/people/birrell/beehive/BeehiveV5.pdf}
150 }
151
152 @article{birrell:rpc:tocs84,
153   author = {Andrew D. Birrell and Bruce Jay Nelson},
154   title = {Implementing Remote Procedure Calls},
155   journal = tocs,
156   year = 1984,
157   volume = 2,
158   pages = {39--59},
159   keywords = {RPC}
160 }
161
162 @inproceedings{cellular_disco:sosp99,
163   author = {Govil,, Kinshuk and Teodosiu,, Dan and Huang,, Yongqiang and
164 Rosenblum,, Mendel},
165   title = {{Cellular Disco}: resource management using virtual clusters on
166 shared-memory multiprocessors},
167   booktitle = sosp99,
168   year = {1999},
169   isbn = {1-58113-140-2},
170   pages = {154--169},
171   location = {Charleston, SC, USA},
172   doi = {http://doi.acm.org/10.1145/319151.319162}
173 }
174
175 @inproceedings{chapin:hive:sosp95,
176   author = {John Chapin and Mendel Rosenblum and Scott Devine and Tirthankar Lahiri and Dan Teodosiu and Anoop Gupta},
177   title = {{Hive}: Fault Containment for Shared-Memory Multiprocessors},
178   booktitle = sosp95,
179   year = 1995,
180   month = dec
181 }
182
183 @inproceedings{charles:x10,
184  author = {Charles, Philippe and Grothoff, Christian and Saraswat, Vijay and Donawa, Christopher and Kielstra, Allan and Ebcioglu, Kemal and von Praun, Christoph and Sarkar, Vivek},
185  title = {{X10}: an object-oriented approach to non-uniform cluster computing},
186  booktitle = oopsla05,
187  year = 2005,
188  isbn = {1-59593-031-0},
189  pages = {519--538},
190 }
191
192 @manual{corba,
193   title =        "{CORBA} 3.1 Specification",
194   organization = "Object Management Group, Inc.",
195   year =         2008,
196   month =        jan,
197   howpublished = "{\url{http://www.omg.org/spec/CORBA/3.1/}}"
198 }
199
200 @inproceedings{corbato:multics,
201   author = {F. J. Corbato and V. A. Vyssotsky},
202   title = {Introduction and Overview of the {Multics} System},
203   booktitle = {Proceedings of the Fall Joint Computer Conference, part {I}},
204   year = 1965
205 }
206
207
208 @inproceedings{corey:osdi08,
209   author = {Silas Boyd-Wickizer and Haibo Chen and Rong Chen and Yandong
210 Mao and Frans Kaashoek and Robert Morris and Aleksey Pesterev and Lex Stein and
211 Ming Wu and Yuehua Dai and Yang Zhang and Zheng Zhang},
212   title = {{Corey}: An Operating System for Many Cores},
213   booktitle = osdi08,
214   year = 2008,
215   pages = {43--57},
216   month = dec
217 }
218
219 @inproceedings{dagand:fof:plos09,
220   title = {{Filet-o-Fish}: practical and dependable domain-specific languages
221            for {OS} development},
222   author = {Pierre-Evariste Dagand and Andrew Baumann and Timothy Roscoe},
223   booktitle = proc # {5th Workshop on Programming Languages and Operating Systems (PLOS)},
224   year = {2009},
225   month = oct,
226   doi = {http://doi.acm.org/10.1145/1713254.1713263},
227   location = {Big Sky, MT, USA},
228   note = {}
229 }
230
231 @TechReport{davis:bee3,
232   author =       {John D.Davis and Charles P.Thacker and Chen Chang},
233   title =        {{BEE3}: Revitalizing Computer Architecture Research},
234   institution =  {Microsoft Research},
235   year =         2009,
236   type =         {Technical Report},
237   number =       {MSR-TR-2009-45}
238 }
239
240 @manual{dcom,
241   title =        "Distributed Component Object Model (DCOM) Remote Protocol Specification",
242   organization = "Microsoft Corporation",
243   year =         2010,
244   month =        mar,
245   annote = "unstable url: http://msdn.microsoft.com/en-us/library/cc226801(PROT.13).aspx"
246 }
247
248 @inproceedings{dice:tlrw:transact09,
249   author = {Dice, David and Shavit, Nir},
250   title = {{TLRW}: Return of the Read-Write Lock},
251   booktitle = proc # {4th ACM SIGPLAN Workshop on
252                   Transactional Computing},
253   pdf = {http://research.sun.com/scalable/pubs/TRANSACT2009-TLRW.pdf},
254   year = 2009,
255   month = feb
256 }
257
258 @article{disco:tocs97,
259   author = {Edouard Bugnion and Scott Devine and Kinshuk Govil and Mendel
260 Rosenblum},
261   title = {Disco: running commodity operating systems on scalable
262 multiprocessors},
263   journal = tocs,
264   volume = {15},
265   number = {4},
266   year = {1997},
267   issn = {0734-2071},
268   pages = {412--447},
269   doi = {http://doi.acm.org/10.1145/265924.265930}
270 }
271
272 @book{eclipse,
273   author = {Krzysztof R. Apt and Marg G. Wallace},
274   title = {Constraint Logic Programming using
275            ECL\textsuperscript{i}PS\textsuperscript{e}},
276   publisher = {Cambridge University Press},
277   year = 2007
278 }
279
280 @inproceedings{eide:flick:pldi97,
281   author = {Eric Eide and Kevin Frei and Bryan Ford and Jay Lepreau
282                   and Gary Lindstrom},
283   title = {Flick: A Flexible, Optimizing {IDL} Compiler},
284   booktitle = pldi97,
285   year = 1997,
286   location = {Las Vegas, NV, USA},
287   month = jun
288 }
289
290 @inproceedings{fahndrich:messages:eurosys06,
291   author = { Manuel F\"{a}hndrich and Mark Aiken and Chris Hawblitzel
292              and Orion Hodson and Galen Hunt and James R. Larus
293              and Steven Levi },
294   title = { Language Support for Fast and Reliable Message-based Communication
295             in {Singularity} {OS} },
296   booktitle = eurosys06,
297   year = 2006,
298   location = Leuven,
299   month = apr
300 }
301
302 @article{feitelson:gangscheduling:JPDC92,
303   author = {Dror G. Feitelson and Larry Rudolph},
304   title = {Gang scheduling performance benefits for fine-grain synchronization},
305   journal = {Journal of Parallel and Distributed Computing},
306   volume = 16,
307   pages = {306--318},
308   year = 1992
309 }
310
311 @inproceedings{flash-ossup:asplos96,
312   author = {Ben Verghese and Scott Devine and Anoop Gupta and Mendel Rosenblum},
313   title = {Operating system support for improving data locality on {CC-NUMA}
314 compute servers},
315   booktitle = asplos96,
316   year = {1996},
317   pages = {279--289}
318 }
319
320 @inproceedings{fluet:manticore,
321  author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi},
322  title = {Manticore: a heterogeneous parallel language},
323  booktitle = proc # {2007 Workshop on Declarative Aspects of Multicore
324                      Programming (DAMP'07)},
325  year = 2007,
326  isbn = {978-1-59593-690-5},
327  pages = {37--44},
328  doi = {http://doi.acm.org/10.1145/1248648.1248656},
329 }
330
331 @inproceedings{ford:inheritance:osdi96,
332   author = {Bryan Ford and Sai R. Susarla},
333   title = {{CPU} Inheritance Scheduling},
334   pages = {91--106},
335   isbn = {1-880446-82-0},
336   booktitle = osdi96,
337   month = oct,
338   location = {Berkeley, CA, USA},
339   year = 1996
340 }
341
342 @article{fos:osr09,
343   author = {Wentzlaff, David and Agarwal, Anant},
344   title = {Factored operating systems (fos): the case for a scalable operating system for multicores},
345   journal = osr,
346   volume = {43},
347   number = {2},
348   year = {2009},
349   issn = {0163-5980},
350   pages = {76--85},
351   doi = {http://doi.acm.org/10.1145/1531793.1531805}
352 }
353
354 @inproceedings{fos:socc10,
355   author = {David Wentzlaff and Charles {Gruenwald III} and
356            Nathan Beckmann and Kevin Modzelewski and Adam Belay and
357            Lamia Youseff and Jason Miller and Anant Agarwal},
358   title = {An Operating System for Multicore and Clouds: Mechanisms
359           and Implementation},
360   booktitle = {ACM Symposium on Cloud Computing (SOCC)},
361   year = 2010,
362   month = jun,
363   location = {Indianapolis, IN, USA}
364 }
365
366 @inproceedings{frigo:cilk,
367  author = {Frigo, Matteo and Leiserson, Charles E. and Randall, Keith H.},
368  title = {The implementation of the {Cilk-5} multithreaded language},
369  booktitle = pldi98,
370  year = {1998},
371  isbn = {0-89791-987-4},
372  pages = {212--223},
373  doi = {http://doi.acm.org/10.1145/277650.277725},
374 }
375
376 @inproceedings{haeberlen:idl4:weiss00,
377   author = {Andreas Haeberlen and Jochen Liedtke and Yoonho Park
378                   and Lars Reuther and Volkmar Uhlig},
379   title = {Stub-code Performance is Becoming Important},
380   booktitle = proc # {USENIX Workshop on Industrial Experiences with
381                   Systems Software (WEISS)},
382   year = 2000,
383   location = {San Diego, CA, USA},
384   month = oct
385 }
386
387 @inproceedings{he:preemption:hpc05,
388   author = {He, Bijun and
389                {Scherer III}, William N. and
390                Scott, Michael L.},
391   title = {Preemption Adaptivity in Time-Published Queue-Based Spin Locks},
392   booktitle = proc # {12th International Conference on High Performance Computing},
393   year = {2005},
394   pages = {7-18},
395   doi = {http://dx.doi.org/10.1007/11602569_6}
396 }
397
398 @inproceedings{helios:sosp09,
399   author = {Nightingale, Edmund B. and Hodson, Orion and McIlroy, Ross and Hawblitzel, Chris and Hunt, Galen},
400   title = {Helios: heterogeneous multiprocessing with satellite kernels},
401   booktitle = sosp09,
402   year = 2009,
403   isbn = {978-1-60558-752-3},
404   pages = {221--234},
405   location = {Big Sky, MT, USA},
406   doi = {http://doi.acm.org/10.1145/1629575.1629597}
407 }
408
409 @article{hillmarty:amdahl:2008,
410   author = {Mark D. Hill and Michael R. Marty},
411   title = {Amdahl's Law in the Multicore Era},
412   journal = {{IEEE} Computer},
413   month = jul,
414   year = 2008
415 }
416
417 @Manual{hp:espeak:2001,
418   title =        {e-speak Architectural Specification},
419   author =       {{Hewlett-Packard Company}},
420   edition =      {Release A.03.14.00},
421   month =        {August},
422   year =         2001,
423   note =
424 {\url{http://www.hpl.hp.com/personal/Alan_Karp/espeak/Architecture.pdf},
425 retrieved May 2010}}
426
427 @manual{intel:rcce,
428   author = {Tim Mattson and van der Wijngaart, Rob},
429   organization = {{Intel Corporation}},
430   title = {{RCCE}: a Small Library for Many-Core Communication},
431   month = mar,
432   year = 2010,
433   note = {Version 1.05},
434   url = "http://techresearch.intel.com/UserFiles/en-us/Media/RCCE_Specification_033010_1.pdf"
435 }
436
437 @misc{intel:scc:2009,
438   author = {{Intel Corporation}},
439   title = {Single-chip Cloud Computer},
440   howpublished = {\url{http://techresearch.intel.com/articles/Tera-Scale/1826.htm}},
441   month = dec,
442   year = 2009
443 }
444
445 @inproceedings{intel:scc:isscc10,
446   author = {Jason Howard and Saurabh Dighe and Yatin Hoskote and
447             Sriram Vangal and David Finan and Gregory Ruhl and
448             David Jenkins and Howard Wilson and Nitin Borkar and
449             Gerhard Schrom and Fabrice Pailet and Shailendra Jain and
450             Tiju Jacob and Satish Yada and Sraven Marella and
451             Praveen Salihundam and Vasantha Erraguntla and
452             Michael Konow and Michael Riepen and Guido Droege and
453             Joerg Lindemann and Matthias Gries and Thomas Apel and
454             Kersten Henriss and Tor Lund-Larsen and Sebastian Steibl and
455             Shekhar Borkar and Vivek De and Van Der Wijngaart, Rob and
456             Timothy Mattson},
457   title = {A 48-Core {IA}-32 Message-Passing Processor with {DVFS} in 45nm
458            {CMOS}},
459   booktitle = {International Solid-State Circuits Conference},
460   doi = {http://dx.doi.org/10.1109/ISSCC.2010.5434077},
461   pages = {108--109},
462   year = {2010},
463   month = feb
464 }
465
466 @inproceedings{isard:ame,
467  author = {Isard, Michael and Birrell, Andrew},
468  title = {Automatic mutual exclusion},
469  booktitle = hotos07,
470  year = 2007,
471  pages = {1--6},
472  location = {San Diego, CA},
473  }
474
475 @inproceedings{jones:parallelizing:hotpar09,
476   title = {Parallelizing the Web Browser},
477   author = {Christopher Grant Jones and Rose Liu and Leo Meyerovich and Krste Asanovi\'{c} and Rastislav Bodik},
478   booktitle = hotpar09,
479   year = 2009,
480   month = mar
481 }
482
483 @manual{k42:scheduling,
484   author = {{IBM K42 Team}},
485   title = {Scheduling in {K42}},
486   month = aug,
487   year = 2002,
488   note = {Available from \url{http://www.research.ibm.com/K42/}},
489   url = {http://www.research.ibm.com/K42/white-papers/Scheduling.pdf}
490 }
491
492 @article{k42:tocs07,
493   author = {Jonathan Appavoo and Dilma {Da Silva} and Orran Krieger and Marc
494 Auslander and Michal Ostrowski and Bryan Rosenburg and Amos Waterland and Robert
495 W. Wisniewski and Jimi Xenidis and Michael Stumm and Livio Soares},
496   title = {Experience distributing objects in an {SMMP} {OS}},
497   journal = tocs,
498   volume = {25},
499   number = {3},
500   year = {2007},
501   issn = {0734-2071},
502   doi = {http://doi.acm.org/10.1145/1275517.1275518}
503 }
504
505 @article{karp:espeak:cacm03,
506  author = {Karp, Alan H.},
507  title = {E-speak e-xplained},
508  journal = cacm,
509  volume = {46},
510  number = {7},
511  year = {2003},
512  issn = {0001-0782},
513  pages = {112--118},
514  doi = {http://doi.acm.org/10.1145/792704.792708},
515  }
516
517 @TechReport{katcher:postmark,
518   author =       {Jeffrey Katcher},
519   title =        {{PostMark}: A New File System Benchmark},
520   institution =  {Network Appliance},
521   year =         1997,
522   type =         {Technical Report},
523   number =       {TR3022}
524 }
525
526 @article{krantz:rig:ieeecs82,
527 author = {K. A. Lantz and K. D. Gradischnig and J. A. Feldman and R. F. Rashid},
528 title = {Rochester's Intelligent Gateway},
529 journal ={IEEE Computer},
530 volume = {15},
531 issn = {0018-9162},
532 year = {1982},
533 pages = {54-68},
534 doi = {http://doi.ieeecomputersociety.org/10.1109/MC.1982.1653859},
535 }
536
537 @inproceedings{krohn:events,
538  title = {Events Can Make Sense},
539  author = {Maxwell Krohn and Eddie Kohler and {M. Frans} Kaashoek},
540  booktitle = usenixatc07,
541  pages = {87--100},
542  year = 2007,
543 }
544
545 @inproceedings{levin:hydra:sosp75,
546   author = {R. Levin and E. Cohen and W. Corwin and F. Pollack and W. Wulf},
547   title = {Policy/Mechanism separation in {Hydra}},
548   booktitle = sosp75,
549   year = 1975,
550   month = nov
551 }
552 @inproceedings{Liedtke:1993:IIK:168619.168633,
553  author = {Liedtke, Jochen},
554  title = {Improving {IPC} by Kernel Design},
555  booktitle = {Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles},
556  series = {SOSP '93},
557  year = {1993},
558  isbn = {0-89791-632-8},
559  location = {Asheville, North Carolina, USA},
560  pages = {175--188},
561  numpages = {14},
562  url = {http://doi.acm.org/10.1145/168619.168633},
563  doi = {10.1145/168619.168633},
564  acmid = {168633},
565  publisher = {ACM},
566  address = {New York, NY, USA},
567 }
568
569 @inproceedings{lithe:pldi10,
570   author = {Heidi Pan and Benjamin Hindman and Krste Asanovi\'{c}},
571   title = {Composing Parallel Software Efficiently with Lithe},
572   booktitle = pldi10,
573   year = 2010,
574   location = {Toronto, ON, Canada},
575   month = jun
576 }
577
578 @inproceedings{logp:ppopp93,
579   author = {Culler, David and Karp, Richard and Patterson, David and Sahay, Abhijit and Schauser, Klaus Erik and Santos, Eunice and Subramonian, Ramesh and von Eicken, Thorsten},
580   title = {{LogP}: towards a realistic model of parallel computation},
581   booktitle = ppopp93,
582   year = 1993,
583   isbn = {0-89791-589-5},
584   location = {San Diego, CA, USA},
585   pages = {1--12},
586   numpages = 12,
587   url = {http://portal.acm.org/citation.cfm?id=155332.155333},
588   doi = {10.1145/155332.155333},
589   acmid = 155333,
590   keywords = {PRAM, complexity analysis, massively parallel processors, parallel algorithms, parallel models}
591 }
592
593 @article{lrpc:tocs90,
594   author = {Brian N. Bershad and Thomas E. Anderson and Edward D. Lazowska and
595 Henry M. Levy},
596   title = {Lightweight Remote Procedure Call},
597   journal = tocs,
598   volume = {8},
599   number = {1},
600   year = {1990},
601   issn = {0734-2071},
602   pages = {37--55}
603 }
604
605 @misc{lwip,
606   title = {{lwIP}},
607   key = {lwIP},
608   note = {\url{http://savannah.nongnu.org/projects/lwip/}}
609 }
610
611 @Book{hank:capabilities,
612   author =       {Henry M. Levy},
613   title =        {Capability-based Computer Systems},
614   publisher =    {Digital Press},
615   year =         1984}
616
617 @inproceedings{Clark:1985:SSU:323647.323645,
618  author = {Clark, David D.},
619  title = {The Structuring of Systems Using Upcalls},
620  booktitle = {Proceedings of the Tenth ACM Symposium on Operating Systems Principles},
621  series = {SOSP '85},
622  year = {1985},
623  isbn = {0-89791-174-1},
624  location = {Orcas Island, Washington, USA},
625  pages = {171--180},
626  numpages = {10},
627  url = {http://doi.acm.org/10.1145/323647.323645},
628  doi = {10.1145/323647.323645},
629  acmid = {323645},
630  publisher = {ACM},
631  address = {New York, NY, USA},
632
633 @inproceedings{marlow:runtime,
634  author = {Marlow, Simon and Peyton Jones, Simon and Singh, Satnam},
635  title = {Runtime support for multicore {H}askell},
636  booktitle = icfp09,
637  year = {2009},
638  isbn = {978-1-60558-332-7},
639  pages = {65--78},
640  doi = {http://doi.acm.org/10.1145/1596550.1596563},
641 }
642
643
644 @inproceedings{mcrt:eurosys07,
645   author = {Bratin Saha and Ali-Reza Adl-Tabatabai and Anwar Ghuloum and Mohan Rajagopalan and Richard L. Hudson and Leaf Peterson and Vijay Menon and Brian Murphy and Tatiana Shpeisman and Eric Sprangle and Anwar Rohillah and Doug Carmean and Jesse Fang},
646   title = {Enabling scalability and performance in a large scale {CMP} environment},
647   booktitle = eurosys07,
648   month = mar,
649   year = 2007
650 }
651
652 @manual{mpi,
653   title = {MPI: A Message-Passing Interface Standard},
654   organization = {Message Passing Interface Forum},
655   note = {Version 2.2},
656   month = {September},
657   year = 2009
658 }
659
660 @techreport{nasa:nas_benchmark,
661   author = {Van der Wijngaart, Rob F.},
662   title = {{NAS} Parallel Benchmarks Version 3.3},
663   number = {NAS-02-007},
664   institution = {NASA Advanced Supercomputing Division},
665   year = 2002,
666   month = oct,
667   address = {Moffett Field, CA, USA},
668   url = "http://www.nas.nasa.gov/News/Techreports/2002/PDF/nas-02-007.pdf"
669 }
670
671 @inproceedings{nishtala:hotpar09,
672   author = {Nishtala, Rajesh and Yelick, Katherine A.},
673   title = {Optimizing Collective Communication on Multicores},
674   booktitle = hotpar09,
675   year = 2009,
676   month = mar
677 }
678
679 @manual{openmp,
680   title = {OpenMP Application Programming Interface},
681   organization = {{OpenMP Architecture Review Board}},
682   note = {Version 3.0},
683   year = 2008
684 }
685
686 @inproceedings{ousterhout:coscheduling:DCS82,
687   author = {John Ousterhout},
688   title = {Scheduling Techniques for Concurrent Systems},
689   booktitle = {{IEEE} Distributed Computer Systems},
690   year = 1982
691 }
692
693 @article{ousterhout:medusa,
694   author = {John K. Ousterhout and Donald A. Scelza and Pradeep S. Sindhu},
695   title = {Medusa: An Experiment in Distributed Operating System Structure},
696   journal = cacm,
697   volume = {23},
698   number = {2},
699   month = feb,
700   year = 1980
701 }
702
703 @inproceedings{pankratius:multicore_experience:iwmse08,
704   author = {Victor Pankratius and Christoph Schaefer and Ali Jannesari and Walter F. Tichy},
705   title = {Software engineering for multicore systems -- an experience report},
706   booktitle = proc # {1st International Workshop on Multicore Software Engineering},
707   month = may,
708   year = 2008
709 }
710
711 @article{planas:hierarchical,
712  author = {Planas, Judit and Badia, Rosa M. and Ayguad\'{e}, Eduard and Labarta, Jesus},
713  title = {Hierarchical Task-Based Programming With {StarSs}},
714  journal = {International Journal of High Performance Computing Applications},
715  volume = {23},
716  number = {3},
717  year = {2009},
718  issn = {1094-3420},
719  pages = {284--299},
720  doi = {http://dx.doi.org/10.1177/1094342009106195},
721  publisher = {Sage Publications, Inc.},
722 }
723
724 @inproceedings{rashid:accent:sosp81,
725  author = {Rashid, Richard F. and Robertson, George G.},
726  title = {Accent: A communication oriented network operating system kernel},
727  booktitle = sosp81,
728  year = {1981},
729  isbn = {0-89791-062-1},
730  pages = {64--75},
731  location = {Pacific Grove, California, United States},
732  doi = {http://doi.acm.org/10.1145/800216.806593},
733  }
734
735 @inproceedings{rbed:rtss03,
736   title = {Dynamic Integrated Scheduling of Hard Real-Time,
737                   Soft Real-Time and Non-Real-Time Processes},
738   author = {Scott A. Brandt and Scott A. Banachowski and Caixue
739                   Lin and Timothy Bisson},
740   year = 2003,
741   bibdate = {2005-01-25},
742   bibsource = {DBLP,
743                   http://dblp.uni-trier.de/db/conf/rtss/rtss2003.html#BrandtBLB03},
744   booktitle = proc # {24th IEEE Real-Time Systems Symposium},
745   isbn = {0-7695-2044-8},
746   url = {http://csdl.computer.org/comp/proceedings/rtss/2003/2044/00/20440396abs.htm}
747 }
748
749 @inproceedings{reppy:parallel,
750  author = {Reppy, John and Russo, Claudio V. and Xiao, Yingqi},
751  title = {Parallel concurrent {ML}},
752  booktitle = icfp09,
753  year = {2009},
754  isbn = {978-1-60558-332-7},
755  pages = {257--268},
756  doi = {http://doi.acm.org/10.1145/1596550.1596588},
757 }
758
759 @article{roofline:cacm09,
760   author = {Williams, Samuel and Waterman, Andrew and Patterson, David},
761   title = {Roofline: an insightful visual performance model for multicore architectures},
762   journal = cacm,
763   volume = {52},
764   number = {4},
765   year = {2009},
766   issn = {0001-0782},
767   pages = {65--76},
768   doi = {http://doi.acm.org/10.1145/1498765.1498785}
769 }
770
771 @inproceedings{roscoe:hotos07,
772   title = {{Hype and Virtue}},
773   author = {Timothy Roscoe and Kevin Elphinstone and Gernot Heiser},
774   booktitle = hotos07,
775   year = {2007},
776   month = may,
777   location = {San Diego, CA, USA}
778 }
779
780 @inproceedings{rtid:hotos07,
781   author = {Mohan Rajagopalan and Brian T. Lewis and Todd A. Anderson},
782   title = {Thread scheduling for multi-core platforms},
783   booktitle = hotos07,
784   month = may,
785   year = 2007
786 }
787
788 @inproceedings{schuepbach:mmcs08,
789   author = {Adrian Sch\"{u}pbach and Simon Peter and Andrew Baumann
790                   and Timothy Roscoe and Paul Barham
791                   and Tim Harris and Rebecca Isaacs},
792   title = {Embracing diversity in the {Barrelfish} manycore
793                   operating system},
794   booktitle = proc # {1st Workshop on Managed Multi-Core Systems},
795   year = 2008,
796   month = jun
797 }
798
799 @inproceedings{scott:scalable:ppopp01,
800   author = {Scott, Michael L. and {Scherer III}, William N.},
801   title = {Scalable queue-based spin locks with timeout},
802   booktitle = ppopp01,
803   year = 2001,
804   pages = {44--52},
805   doi = {http://doi.acm.org/10.1145/379539.379566}
806 }
807
808 @inproceedings{sel4:iies08,
809   author = {Elkaduwe,, Dhammika and Derrin,, Philip and Elphinstone,, Kevin},
810   title = {Kernel design for isolation and assurance of physical memory},
811   booktitle = proc # {1st workshop on isolation and
812                 integration in embedded systems (IIES '08)},
813   year = {2008},
814   isbn = {978-1-60558-126-2},
815   pages = {35--40},
816   location = {Glasgow, Scotland},
817   doi = {http://doi.acm.org/10.1145/1435458.1435465},
818   annote = {describes cap model in most detail}
819 }
820
821 @manual{sel4:refman,
822   title = {{seL4} Reference Manual},
823   author = {Philip Derrin and Dhammika Elkaduwe and Kevin
824                   Elphinstone},
825   organization = {NICTA},
826   year = 2006,
827   note = {\url{http://www.ertos.nicta.com.au/research/sel4/sel4-refman.pdf}}
828 }
829
830 @inproceedings{sel4:sosp09,
831   author = {Gerwin Klein and Kevin Elphinstone and Gernot Heiser and
832 June Andronick and David Cock and Philip Derrin and Dhammika Elkaduwe and Kai
833 Engelhardt and Rafal Kolanski and Michael Norrish and Thomas Sewell and Harvey
834 Tuch and Simon Winwood},
835   title = {{seL4}: Formal Verification of an {OS} Kernel},
836   booktitle = sosp09,
837   location = {Big Sky, MT, USA},
838   year = 2009,
839   month = oct
840 }
841
842 @techreport{sunrpc,
843   author = {R. Thurlow},
844   title = {{RPC}: Remote Procedure Call Protocol Specification Version 2},
845   institution = {Sun Microsystems},
846   year = 2009,
847   month = may,
848   type = {RFC},
849   number = {5531}
850 }
851
852 @inproceedings{tessellation:hotpar09,
853   author = {R. Liu and K. Klues and S. Bird and S. Hofmeyr and K. Asanovi\'c and J. Kubiatowicz},
854   title = {{Tessellation}: Space-Time Partitioning in a Manycore Client
855                   {OS}},
856   booktitle = hotpar09,
857   year = 2009,
858   month = mar
859 }
860
861 @article{thacker:firefly,
862   author = {Chuck Thacker and Lawrence Stewart},
863   title = {Firefly: a multiprocessor workstation},
864   journal = {Computer Architecture News},
865   volume = {15},
866   number = {5},
867   year = 1987
868 }
869
870 @InProceedings{tornado:osdi99,
871   author =       {Ben Gamsa and Orran Krieger and Jonathan Appavoo and
872                   Michael Stumm},
873   title =        {Tornado: Maximising Locality and Concurrency in a
874                   Shared Memory Multiprocessor Operating System},
875   booktitle =    osdi99,
876   pages =        {87--100},
877   year =         1999,
878   location =     {New Orleans, LA, USA},
879   month =        feb,
880   keywords =     {false sharing, caches, NUMA, object-orientation,
881                   protected procedure call},
882   annote =       {implemented OS from scratch, runs on Toronto
883                   architecture and SimOS, complete system}
884 }
885
886 @article{urpc:tocs91,
887   author = {Brian N. Bershad and Thomas E. Anderson and Edward D. Lazowska and
888 Henry M. Levy},
889   title = {User-level interprocess communication for shared memory
890 multiprocessors},
891   journal = tocs,
892   volume = {9},
893   number = {2},
894   year = {1991},
895   issn = {0734-2071},
896   pages = {175--198},
897   doi = {http://doi.acm.org/10.1145/103720.114701}
898 }
899
900 @inproceedings{Anderson:1991:SAE:121132.121151,
901  author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.},
902  title = {Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism},
903  booktitle = {Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles},
904  series = {SOSP '91},
905  year = {1991},
906  isbn = {0-89791-447-3},
907  location = {Pacific Grove, California, USA},
908  pages = {95--109},
909  numpages = {15},
910  url = {http://doi.acm.org/10.1145/121132.121151},
911  doi = {10.1145/121132.121151},
912  acmid = {121151},
913  publisher = {ACM},
914  address = {New York, NY, USA},
915
916
917 @inproceedings{Hand:1999:SNO:296806.296812,
918  author = {Hand, Steven M.},
919  title = {Self-paging in the Nemesis Operating System},
920  booktitle = {Proceedings of the Third Symposium on Operating Systems Design and Implementation},
921  series = {OSDI '99},
922  year = {1999},
923  isbn = {1-880446-39-1},
924  location = {New Orleans, Louisiana, USA},
925  pages = {73--86},
926  numpages = {14},
927  url = {http://dl.acm.org/citation.cfm?id=296806.296812},
928  acmid = {296812},
929  publisher = {USENIX Association},
930  address = {Berkeley, CA, USA},
931
932 @inproceedings{Brandt:2003:DIS:956418.956606,
933  author = {Brandt, Scott A. and Banachowski, Scott and Lin, Caixue and Bisson, Timothy},
934  title = {Dynamic Integrated Scheduling of Hard Real-Time, Soft Real-Time and Non-Real-Time Processes},
935  booktitle = {Proceedings of the 24th IEEE International Real-Time Systems Symposium},
936  series = {RTSS '03},
937  year = {2003},
938  isbn = {0-7695-2044-8},
939  pages = {396--},
940  url = {http://dl.acm.org/citation.cfm?id=956418.956606},
941  acmid = {956606},
942  publisher = {IEEE Computer Society},
943  address = {Washington, DC, USA},
944 }
945 @inproceedings{walker:locus:sosp83,
946   author = {Bruce Walker and Gerald Popek and Robert English and Charles Kline and Greg Thiel},
947   title = {The {LOCUS} Distributed Operating System},
948   booktitle = sosp83,
949   month = oct,
950   year = 1983
951 }
952
953 @inproceedings{weil:ceph:osdi06,
954   author = {Sage A. Weil and Scott A. Brandt and Ethan L. Miller and Darrell
955 D. E. Long and Carlos Maltzahn},
956   title = {Ceph: A Scalable, High-Performance Distributed File System},
957   booktitle = osdi06,
958   month = nov,
959   year = 2006
960 }
961
962 @inproceedings{welch:panasas:fast08,
963   author = {Brent Welch and Marc Unangst and Zainul Abbasi and Garth Gibson and Brian Mueller and Jason Small and Jim Zelenka and Bin Zhou},
964   title = {Scalable Performance of the {Panasus} Parallel File System},
965   booktitle = fast08,
966   month = feb,
967   year = 2008
968 }
969
970 @article{whaley:atlas:parcomp01,
971   author = {R. Clint Whaley and Antoine Petitet and Jack J. Dongarra},
972   title = {Automated empirical optimization of software and the {ATLAS} project},
973   journal = {Parallel Computing},
974   volume = {27},
975   number = {1--2},
976   pages = {3--35},
977   year = 2001
978 }
979
980 @book{wulf:hydra:81,
981   author = {William A. Wulf and Roy Levin and Samuel P. Harbison},
982   title = {{HYDRA/C.mmp}: An Experimental Computer System},
983   publisher = {{McGraw}-Hill Book Company},
984   year = 1981
985 }
986
987 @inproceedings{zhang:cmp_cache_sharing:ppopp10,
988   author = {Eddy Z. Zhang and Yunlian Jiang and Xipeng Shen},
989   title = {Does Cache Sharing on Modern {CMP} Matter to the Performance of Contemporary Multithreaded Programs?},
990   booktitle = ppopp10,
991   month = jan,
992   year = 2010
993 }
994
995 @Misc{grub,
996   title =        {GNU GRand Unified Boot loader (GRUB)},
997   note =         {\url{http://www.gnu.org/software/grub/}}}
998
999
1000 @inproceedings{nishtala:optimizing-collective:hotpar09,
1001     author = {Nishtala, R. and Yelick},
1002     institution = {Berkeley, CA, USA},
1003     journal = {HotPar 2009},
1004     keywords = {memory-communication},
1005     month = {March},
1006     posted-at = {2010-02-09 09:20:31},
1007     priority = {0},
1008     title = {Optimizing Collective Communication on Multicores},
1009     year = {2009}
1010 }
1011 @inproceedings{Giacomoni:2008:FEP:1345206.1345215,
1012  author = {Giacomoni, John and Moseley, Tipp and Vachharajani, Manish},
1013  title = {FastForward for Efficient Pipeline Parallelism: A Cache-optimized Concurrent Lock-free Queue},
1014  booktitle = {Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming},
1015  series = {PPoPP '08},
1016  year = {2008},
1017  isbn = {978-1-59593-795-7},
1018  location = {Salt Lake City, UT, USA},
1019  pages = {43--52},
1020  numpages = {10},
1021  url = {http://doi.acm.org/10.1145/1345206.1345215},
1022  doi = {10.1145/1345206.1345215},
1023  acmid = {1345215},
1024  publisher = {ACM},
1025  address = {New York, NY, USA},
1026  keywords = {fastforward, linearizability, lock-free, multicore, multiprocessors, nonblocking synchronization, pipeline parallel, queue},
1027
1028 @article{Ganger:2002:FFA:505452.505455,
1029  author = {Ganger, Gregory R. and Engler, Dawson R. and Kaashoek, M. Frans and Brice\~{n}o, Hector M. and Hunt, Russell and Pinckney, Thomas},
1030  title = {Fast and Flexible Application-level Networking on Exokernel Systems},
1031  journal = {ACM Trans. Comput. Syst.},
1032  issue_date = {February 2002},
1033  volume = {20},
1034  number = {1},
1035  month = feb,
1036  year = {2002},
1037  issn = {0734-2071},
1038  pages = {49--83},
1039  numpages = {35},
1040  url = {http://doi.acm.org/10.1145/505452.505455},
1041  doi = {10.1145/505452.505455},
1042  acmid = {505455},
1043  publisher = {ACM},
1044  address = {New York, NY, USA},
1045  keywords = {Extensible systems, OS structure, fast servers, network services},
1046
1047 @inproceedings{Black:1997:PIV:648046.745222,
1048  author = {Black, Richard and Barham, Paul T. and Donnelly, Austin and Stratford, Neil},
1049  title = {Protocol Implementation in a Vertically Structured Operating System},
1050  booktitle = {Proceedings of the 22Nd Annual IEEE Conference on Local Computer Networks},
1051  series = {LCN '97},
1052  year = {1997},
1053  isbn = {0-8186-8141-1},
1054  pages = {179--188},
1055  numpages = {10},
1056  url = {http://dl.acm.org/citation.cfm?id=648046.745222},
1057  acmid = {745222},
1058  publisher = {IEEE Computer Society},
1059  address = {Washington, DC, USA},
1060
1061
1062
1063 @Misc{newlib,
1064   author =       {Sourceware},
1065   title =        {Newlib},
1066   howpublished = {\url{http://www.sourceware.org/newlib/}},
1067   month =        {November},
1068   year =         2013}
1069
1070 @TechReport{btn000-overview,
1071   author =       bft,
1072   title =        {{Barrelfish Architectural Overview}},
1073   institution =  {Systems Group, ETH Zurich},
1074   year =         2010,
1075   type =         btn,
1076   number =       000,
1077   month =        jun}
1078
1079 @TechReport{btn001-glossary,
1080   author =       bft,
1081   title =        {{Barrelfish Glossary}},
1082   institution =  {Systems Group, ETH Zurich},
1083   year =         2010,
1084   type =         btn,
1085   number =       001,
1086   month =        may}
1087
1088 @TechReport{btn002-mackerel,
1089   author =       bft,
1090   title =        {{Mackerel 1.2 User Guide}},
1091   institution =  {Systems Group, ETH Zurich},
1092   year =         2010,
1093   type =         btn,
1094   number =       002,
1095   month =        apr}
1096
1097 @TechReport{btn003-hake,
1098   author =       bft,
1099   title =        {{Hake}},
1100   institution =  {Systems Group, ETH Zurich},
1101   year =         2010,
1102   type =         btn,
1103   number =       003,
1104   month =        apr}
1105
1106 @TechReport{btn004-vm,
1107   author =       bft,
1108   title =        {{Virtual Memory in Barrelfish}},
1109   institution =  {Systems Group, ETH Zurich},
1110   year =         2010,
1111   type =         btn,
1112   number =       004,
1113   month =        feb}
1114
1115 @TechReport{btn005-scc,
1116   author =       bft,
1117   title =        {{Barrelfish on the Intel Single-chip Cloud Computer}},
1118   institution =  {Systems Group, ETH Zurich},
1119   year =         2010,
1120   type =         btn,
1121   number =       005,
1122   month =        sep}
1123
1124 @TechReport{btn006-routing,
1125   author =       bft,
1126   title =        {{Routing in Barrelfish}},
1127   institution =  {Systems Group, ETH Zurich},
1128   year =         2011,
1129   type =         btn,
1130   number =       006,
1131   month =        may}
1132
1133 @TechReport{btn007-beehive,
1134   author =       bft,
1135   title =        {{Barrelfish on the Beehive experimental platform}},
1136   institution =  {Systems Group, ETH Zurich},
1137   year =         2010,
1138   type =         btn,
1139   number =       007,
1140   month =        jun}
1141
1142 @TechReport{btn008-tracing,
1143   author =       bft,
1144   title =        {{Tracing and Visualization}},
1145   institution =  {Systems Group, ETH Zurich},
1146   year =         2010,
1147   type =         btn,
1148   number =       008,
1149   month =        jun}
1150
1151 @TechReport{btn009-notifications,
1152   author =       bft,
1153   title =        {{Message Notifications}},
1154   institution =  {Systems Group, ETH Zurich},
1155   year =         2010,
1156   type =         btn,
1157   number =       009,
1158   month =        jun}
1159
1160 @TechReport{btn010-spec,
1161   author =       bft,
1162   title =        {{Barrelfish Specification}},
1163   institution =  {Systems Group, ETH Zurich},
1164   year =         2011,
1165   type =         btn,
1166   number =       010,
1167   month =        jul}
1168
1169 @TechReport{btn011-idc,
1170   author =       bft,
1171   title =        {{Inter-dispatcher communication in Barrelfish}},
1172   institution =  {Systems Group, ETH Zurich},
1173   year =         2010,
1174   type =         btn,
1175   number =       011,
1176   month =        oct}
1177
1178 @TechReport{btn012-services,
1179   author =       bft,
1180   title =        {{Barrelfish OS Services}},
1181   institution =  {Systems Group, ETH Zurich},
1182   year =         2010,
1183   type =         btn,
1184   number =       012,
1185   month =        aug}
1186
1187 @TechReport{btn013-capabilities,
1188   author =       bft,
1189   title =        {{Capability Management in Barrelfish}},
1190   institution =  {Systems Group, ETH Zurich},
1191   year =         2011,
1192   type =         btn,
1193   number =       013,
1194   month =        mar}
1195
1196
1197 @TechReport{btn019-devicedrivers,
1198   author =     bft,
1199   title =      {{Device Drivers in Barrelfish}},
1200   institution =  {Systems Group, ETH Zurich},
1201   year =   2013,
1202   type =   btn,
1203   number =     019,
1204   month =      dec}
1205
1206
1207