* [PATCH v2 3/3] Remove *.bbl from repository
2016-04-23 11:42 [PATCH v2 0/3] qqz and runlatex improvements Akira Yokosawa
2016-04-23 11:44 ` [PATCH v2 1/3] qqz: Improve accuracy of cross-links Akira Yokosawa
2016-04-23 11:46 ` [PATCH v2 2/3] Improve behavior of build scripts Akira Yokosawa
@ 2016-04-23 11:48 ` Akira Yokosawa
2016-04-23 14:56 ` [PATCH v2 0/3] qqz and runlatex improvements Akira Yokosawa
2016-04-23 19:20 ` Paul E. McKenney
4 siblings, 0 replies; 7+ messages in thread
From: Akira Yokosawa @ 2016-04-23 11:48 UTC (permalink / raw)
To: paulmck; +Cc: perfbook, Akira Yokosawa
From 0a9063f5bfc9a984b505fefe54d347f39e099f58 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiysw@gmail.com>
Date: Sat, 23 Apr 2016 19:50:23 +0900
Subject: [PATCH v2 3/3] Remove *.bbl from repository
As rules for '*.bbl' targets are added to 'Makefile' in commit
XXXXXXXXXXXX ("Improve behavior of build scripts"), they are no
longer necessary in the repository. This commit removes them.
It also updates .gitignore and the 'make clean' rule accordingly.
It also adds 'perfbook-hb.out' to the 'make clean' rule.
Signed-off-by: Akira Yokosawa <akiysw@gmail.com>
---
.gitignore | 2 +-
Makefile | 3 +-
perfbook-1c.bbl | 2103 -----------------------------------------------------
perfbook-hb.bbl | 1949 --------------------------------------------------
perfbook.bbl | 2146 -------------------------------------------------------
5 files changed, 3 insertions(+), 6200 deletions(-)
delete mode 100644 perfbook-1c.bbl
delete mode 100644 perfbook-hb.bbl
delete mode 100644 perfbook.bbl
diff --git a/.gitignore b/.gitignore
index 5df1646..39fd69d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
*.aux
-# *.bbl -- but need to figure out what to do with my latex .bib files...
+*.bbl
*.blg
*.dvi
*.log
diff --git a/Makefile b/Makefile
index d96bc46..7202334 100644
--- a/Makefile
+++ b/Makefile
@@ -255,8 +255,9 @@ count/sig-theft.eps: count/sig-theft.dot
clean:
find . -name '*.aux' -o -name '*.blg' \
-o -name '*.dvi' -o -name '*.log' \
- -o -name '*.qqz' -o -name '*.toc' | xargs rm -f
+ -o -name '*.qqz' -o -name '*.toc' -o -name '*.bbl' | xargs rm -f
rm -f perfbook_flat.tex perfbook_html.tex perfbook.out perfbook-1c.out
+ rm -f perfbook-hb.out
rm -rf perfbook_html
rm -f SMPdesign/DiningPhilosopher5.eps \
SMPdesign/DiningPhilosopher5TB.eps \
diff --git a/perfbook-1c.bbl b/perfbook-1c.bbl
deleted file mode 100644
index f6a7abc..0000000
--- a/perfbook-1c.bbl
+++ /dev/null
@@ -1,2103 +0,0 @@
-\newcommand{\etalchar}[1]{$^{#1}$}
-\begin{thebibliography}{MBWW12}
-
-\bibitem[AAKL06]{CScottAnanian2006}
-C.~Scott Ananian, Krste Asanovic, Bradley~C. Kuszmaul, and Charles~E.
- Leiserson.
-\newblock Unbounded transactional memory.
-\newblock {\em IEEE Micro}, pages 59--69, January-February 2006.
-\newblock Available:
- \url{http://www.cag.csail.mit.edu/scale/papers/utm-ieeemicro2006.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[AB13]{SamyAlBahra2013NBS}
-Samy Al~Bahra.
-\newblock Nonblocking algorithms and scalable multicore programming.
-\newblock {\em Commun. ACM}, 56(7):50--61, July 2013.
-
-\bibitem[ABD{\etalchar{+}}97]{Anderson97}
-Jennifer~M. Anderson, Lance~M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika~R.
- Henzinger, Shun-Tak~A. Leung, Richard~L. Sites, Mark~T. Vandevoorde, Carl~A.
- Waldspurger, and William~E. Weihl.
-\newblock Continuous profiling: Where have all the cycles gone?
-\newblock In {\em Proceedings of the 16\textsuperscript{th} ACM Symposium on
- Operating Systems Principles}, pages 1--14, New York, NY, October 1997.
-
-\bibitem[aCB08]{SETIatHOME2008}
-University at~California~Berkeley.
-\newblock {SETI}@{HOME}.
-\newblock Available: \url{http://setiathome.berkeley.edu/} [Viewed January 31,
- 2008], December 2008.
-
-\bibitem[ACHS13]{DanAlitarh2013PracticalProgress}
-Dan Alistarh, Keren Censor-Hillel, and Nir Shavit.
-\newblock Are lock-free concurrent algorithms practically wait-free?
-\newblock ArXiv:1311.3200v2, December 2013.
-
-\bibitem[ACMS03]{Arcangeli03}
-Andrea Arcangeli, Mingming Cao, Paul~E. McKenney, and Dipankar Sarma.
-\newblock Using read-copy update techniques for {System V IPC} in the {Linux}
- 2.5 kernel.
-\newblock In {\em Proceedings of the 2003 USENIX Annual Technical Conference
- (FREENIX Track)}, pages 297--310. USENIX Association, June 2003.
-
-\bibitem[Ada11]{AndrewAdamatzky2011SlimeMold}
-Andrew Adamatzky.
-\newblock Slime mould solves maze in one pass . . . assisted by gradient of
- chemo-attractants.
-\newblock \url{http://arxiv.org/abs/1108.4956}, August 2011.
-
-\bibitem[Adv02]{AMDOpteron02}
-Advanced Micro Devices.
-\newblock {\em AMD x86-64 Architecture Programmer's Manual Volumes 1-5}, 2002.
-
-\bibitem[Adv07]{AMDOpteron:2:2007}
-Advanced Micro Devices.
-\newblock {\em AMD x86-64 Architecture Programmer's Manual Volume 2: System
- Programming}, 2007.
-
-\bibitem[AGH{\etalchar{+}}11a]{HagitAttiya2011LawsOfOrder}
-Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov, Maged~M.
- Michael, and Martin Vechev.
-\newblock Laws of order: Expensive synchronization in concurrent algorithms
- cannot be eliminated.
-\newblock In {\em 38\textsuperscript{th} ACM SIGACT-SIGPLAN Symposium on
- Principles of Programming Languages}, pages 487--498, New York, NY, USA,
- 2011. ACM.
-
-\bibitem[AGH{\etalchar{+}}11b]{Attiya:2011:LOE:1925844.1926442}
-Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov, Maged~M.
- Michael, and Martin Vechev.
-\newblock Laws of order: Expensive synchronization in concurrent algorithms
- cannot be eliminated.
-\newblock {\em SIGPLAN Not.}, 46(1):487--498, January 2011.
-
-\bibitem[AHS{\etalchar{+}}03]{Appavoo03a}
-J.~Appavoo, K.~Hui, C.~A.~N. Soules, R.~W. Wisniewski, D.~M. {Da Silva},
- O.~Krieger, M.~A. Auslander, D.~J. Edelsohn, B.~Gamsa, G.~R. Ganger,
- P.~McKenney, M.~Ostrowski, B.~Rosenburg, M.~Stumm, and J.~Xenidis.
-\newblock Enabling autonomic behavior in systems software with hot swapping.
-\newblock {\em IBM Systems Journal}, 42(1):60--76, January 2003.
-
-\bibitem[AKNT13]{Alglave:2013:SVW:2450268.2450306}
-Jade Alglave, Daniel Kroening, Vincent Nimal, and Michael Tautschnig.
-\newblock Software verification for weak memory via program transformation.
-\newblock In {\em Proceedings of the 22nd European conference on Programming
- Languages and Systems}, ESOP'13, pages 512--532, Berlin, Heidelberg, 2013.
- Springer-Verlag.
-
-\bibitem[AKT13]{JadeAlglave2013-cav}
-Jade Alglave, Daniel Kroening, and Michael Tautschnig.
-\newblock Partial orders for efficient {Bounded Model Checking} of concurrent
- software.
-\newblock In {\em Computer Aided Verification (CAV)}, volume 8044 of {\em
- LNCS}, pages 141--157. Springer, 2013.
-
-\bibitem[Ale79]{Alexander79}
-Christopher Alexander.
-\newblock {\em The Timeless Way of Building}.
-\newblock Oxford University Press, New York, 1979.
-
-\bibitem[Amd67]{GeneAmdahl1967AmdahlsLaw}
-Gene Amdahl.
-\newblock Validity of the single processor approach to achieving large-scale
- computing capabilities.
-\newblock In {\em AFIPS Conference Proceedings}, pages 483--485, Washington,
- DC, USA, 1967. IEEE Computer Society.
-
-\bibitem[AMP{\etalchar{+}}11]{JadeAlglave2011ppcmem}
-Jade Alglave, Luc Maranget, Pankaj Pawan, Susmit Sarkar, Peter Sewell, Derek
- Williams, and Francesco~Zappa Nardelli.
-\newblock {PPCMEM/ARMMEM}: A tool for exploring the {POWER} and {ARM} memory
- models.
-\newblock
- \url{http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/pldi105-sarkar.pdf},
- June 2011.
-
-\bibitem[AMT14]{Alglave:2014:HCM:2594291.2594347}
-Jade Alglave, Luc Maranget, and Michael Tautschnig.
-\newblock Herding cats: Modelling, simulation, testing, and data-mining for
- weak memory.
-\newblock In {\em Proceedings of the 35th ACM SIGPLAN Conference on Programming
- Language Design and Implementation}, PLDI '14, pages 40--40, New York, NY,
- USA, 2014. ACM.
-
-\bibitem[And90]{Anderson90}
-T.~E. Anderson.
-\newblock The performance of spin lock alternatives for shared-memory
- multiprocessors.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 1(1):6--16, January 1990.
-
-\bibitem[And91]{Andrews91textbook}
-Gregory~R. Andrews.
-\newblock {\em Concurrent Programming, Principles, and Practices}.
-\newblock Benjamin Cummins, 1991.
-
-\bibitem[ARM10]{ARMv7A:2010}
-ARM Limited.
-\newblock {\em ARM Architecture Reference Manual: ARMv7-A and ARMv7-R Edition},
- 2010.
-
-\bibitem[ATC{\etalchar{+}}11]{EgeAkpinar2011HTM2TLE}
-Ege Akpinar, Sasa Tomic, Adrian Cristal, Osman Unsal, and Mateo Valero.
-\newblock A comprehensive study of conflict resolution policies in hardware
- transactional memory.
-\newblock In {\em TRANSACT 2011}. ACM SIGPLAN, June 2011.
-
-\bibitem[ATS09]{Ali-Reza-Adl-Tabatabai2009CppTM}
-Ali-Reza Adl-Tabatabai and Tatiana Shpeisman.
-\newblock Draft specification of transactional language constructs for c++.
-\newblock
- http://research.sun.com/scalable/pubs/C++-transactional-constructs-1.0.pdf,
- August 2009.
-
-\bibitem[BA01]{Bonwick01slab}
-Jeff Bonwick and Jonathan Adams.
-\newblock Magazines and vmem: Extending the slab allocator to many {CPUs} and
- arbitrary resources.
-\newblock In {\em {USENIX} Annual Technical Conference, General Track 2001},
- pages 15--33, 2001.
-
-\bibitem[Bec11]{PeteBecker2011N3242}
-Pete Becker.
-\newblock Working draft, standard for programming language {C++}.
-\newblock
- \url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf},
- February 2011.
-
-\bibitem[BG87]{BERT-87}
-D.~Bertsekas and R.~Gallager.
-\newblock {\em Data Networks}.
-\newblock Prentice-Hall, Inc., 1987.
-
-\bibitem[BHG87]{PhilipABernstein1987}
-Philip~A. Bernstein, Vassos Hadzilacos, and Nathan Goodman.
-\newblock {\em Concurrency Control and Recovery in Database Systems}.
-\newblock Addison Wesley Publishing Company, 1987.
-
-\bibitem[BHS07]{BuschmannHenneySchmidt2007v4Textbook}
-Frank Buschmann, Kevlin Henney, and Douglas~C. Schmidt.
-\newblock {\em Pattern-Oriented Software Architecture Volume 4: A Pattern
- Language for Distributed Computing}.
-\newblock Wiley, Chichester, West Sussex, England, 2007.
-
-\bibitem[BK85]{Beck85}
-Bob Beck and Bob Kasten.
-\newblock {VLSI} assist in building a multiprocessor {UNIX} system.
-\newblock In {\em USENIX Conference Proceedings}, pages 255--275, Portland, OR,
- June 1985. USENIX Association.
-
-\bibitem[BLM05]{Blundell2005DebunkTM}
-C.~Blundell, E.~C. Lewis, and M.~Martin.
-\newblock Deconstructing transactional semantics: The subtleties of atomicity.
-\newblock In {\em Annual Workshop on Duplicating, Deconstructing, and Debunking
- (WDDD)}, June 2005.
-\newblock Available:
- \url{http://www.cis.upenn.edu/acg/papers/wddd05_atomic_semantics.pdf} [Viewed
- June 4, 2009].
-
-\bibitem[BLM06]{Blundell2006TMdeadlock}
-C.~Blundell, E.~C. Lewis, and M.~Martin.
-\newblock Subtleties of transactional memory and atomicity semantics.
-\newblock {\em Computer Architecture Letters}, 5(2), 2006.
-\newblock Available:
- \url{http://www.cis.upenn.edu/acg/papers/cal06_atomic_semantics.pdf} [Viewed
- June 4, 2009].
-
-\bibitem[BMMM05]{LukeBrowning2005SimpleLockNUMAAware}
-Luke Browning, Thomas Mathews, Paul~E. McKenney, and James Moody.
-\newblock Apparatus, method, and computer program product for converting simple
- locks in a multiprocessor system.
-\newblock Technical Report US Patent 6,842,809, US Patent and Trademark Office,
- Washington, DC, January 2005.
-
-\bibitem[BMP08]{RobertBerry2008IBMSysJ}
-R.~F. Berry, P.~E. McKenney, and F.~N. Parr.
-\newblock Responsive systems: An introduction.
-\newblock {\em IBM Systems Journal}, 47(2):197--206, April 2008.
-\newblock Available: \url{http://www.research.ibm.com/journal/sj/472/berry.pdf}
- [Viewed May 8, 2008].
-
-\bibitem[Boe09]{HansJBoehm2009HOTPAR}
-Hans-J. Boehm.
-\newblock Transactional memory should be an implementation technique, not a
- programming interface.
-\newblock In {\em HOTPAR 2009}, page~6, Berkeley, CA, USA, March 2009.
-\newblock Available:
- \url{http://www.usenix.org/event/hotpar09/tech/full_papers/boehm/boehm.pdf}
- [Viewed May 24, 2009].
-
-\bibitem[Boh01]{KristofferBohmann2001a}
-Kristoffer Bohmann.
-\newblock Response time still matters.
-\newblock Available:
- \url{http://www.bohmann.dk/articles/response_time_still_matters.html} [Viewed
- July 23, 2007], July 2001.
-
-\bibitem[Bow06]{RichardBornat2006SheepGoats}
-Maggie Bowman.
-\newblock Dividing the sheep from the goats.
-\newblock url={http://www.cs.kent.ac.uk/news/2006/RBornat/}, February 2006.
-
-\bibitem[Bra07]{RegBraithwaite2007FizzBuzz}
-Reg Braithwaite.
-\newblock Don't overthink fizzbuzz.
-\newblock
- url={http://weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz.html},
- January 2007.
-
-\bibitem[Bra11]{BjoernBrandenburgPhD}
-Bj\"orn Brandenburg.
-\newblock {\em Scheduling and Locking in Multiprocessor Real-Time Operating
- Systems}.
-\newblock PhD thesis, The University of North Carolina at Chapel Hill, 2011.
-
-\bibitem[But97]{Butenhof1997pthreads}
-David Butenhof.
-\newblock {\em Programming with {POSIX} Threads}.
-\newblock Addison-Wesley, Boston, MA, USA, 1997.
-
-\bibitem[BW14]{SilasBoydWickizerPhD}
-Silas Boyd-Wickizer.
-\newblock {\em Optimizing Communications Bottlenecks in Multiprocessor
- Operating Systems Kernels}.
-\newblock PhD thesis, Massachusetts Institute of Technology, 2014.
-
-\bibitem[CBM{\etalchar{+}}08]{CalinCascaval2008tmtoy}
-Calin Cascaval, Colin Blundell, Maged Michael, Harold~W. Cain, Peng Wu,
- Stefanie Chiras, and Siddhartha Chatterjee.
-\newblock Software transactional memory: Why is it only a research toy?
-\newblock {\em ACM Queue}, September 2008.
-
-\bibitem[CHP71]{Courtois71}
-P.~J. Courtois, F.~Heymans, and D.~L. Parnas.
-\newblock Concurrent control with ``readers'' and ``writers''.
-\newblock {\em Communications of the {ACM}}, 14(10):667--668, October 1971.
-
-\bibitem[CKZ12]{AustinClements2012RCULinux:mmapsem}
-Austin Clements, Frans Kaashoek, and Nickolai Zeldovich.
-\newblock Scalable address spaces using {RCU} balanced trees.
-\newblock In {\em Architectural Support for Programming Languages and Operating
- Systems (ASPLOS 2012)}, pages 199--210, London, UK, March 2012. ACM.
-
-\bibitem[CKZ{\etalchar{+}}13]{Clements:2013:SCR:2517349.2522712}
-Austin~T. Clements, M.~Frans Kaashoek, Nickolai Zeldovich, Robert~T. Morris,
- and Eddie Kohler.
-\newblock The scalable commutativity rule: Designing scalable software for
- multicore processors.
-\newblock In {\em Proceedings of the Twenty-Fourth ACM Symposium on Operating
- Systems Principles}, SOSP '13, pages 1--17, New York, NY, USA, 2013. ACM.
-
-\bibitem[Cli09]{CliffClick2009AzulHTM}
-Cliff Click.
-\newblock And now some hardware transactional memory comments...
-\newblock
- http://www.azulsystems.com/blog/cliff-click/2009-02-25-and-now-some-hardware%
--transactional-memory-comments, February 2009.
-
-\bibitem[CLRS01]{ThomasHCorman2001Algorithms}
-T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C.~Stein.
-\newblock {\em Introduction to Algorithms, Second Edition}.
-\newblock MIT electrical engineering and computer science series. MIT Press,
- 2001.
-
-\bibitem[{Com}01]{Compaq01}
-{Compaq Computer Corporation}.
-\newblock Shared memory, threads, interprocess communication.
-\newblock Available: \url{http://www.openvms.compaq.com/wizard/wiz_2637.html},
- August 2001.
-
-\bibitem[Cor04a]{JonCorbet2004RealTimeLinuxPart1}
-Jonathan Corbet.
-\newblock Approaches to realtime {Linux}.
-\newblock Available: \url{http://lwn.net/Articles/106010/} [Viewed March 25,
- 2008], October 2004.
-
-\bibitem[Cor04b]{JonathanCorbet2004sparse}
-Jonathan Corbet.
-\newblock Finding kernel problems automatically.
-\newblock \url{http://lwn.net/Articles/87538/}, June 2004.
-
-\bibitem[Cor04c]{JonCorbet2004RealTimeLinuxPart2}
-Jonathan Corbet.
-\newblock Realtime preemption, part 2.
-\newblock Available: \url{http://lwn.net/Articles/107269/} [Viewed March 25,
- 2008], October 2004.
-
-\bibitem[Cor06a]{JonathanCorbet2006lockdep}
-Jonathan Corbet.
-\newblock The kernel lock validator.
-\newblock Available: \url{http://lwn.net/Articles/185666/} [Viewed: March 26,
- 2010], May 2006.
-
-\bibitem[Cor06b]{JonathanCorbet2006PriorityInheritance}
-Jonathan Corbet.
-\newblock Priority inheritance in the kernel.
-\newblock Available: \url{http://lwn.net/Articles/178253/} [Viewed June 29,
- 2009], April 2006.
-
-\bibitem[Cor12]{JonCorbet2012ACCESS:ONCE}
-Jon Corbet.
-\newblock {ACCESS\_ONCE()}.
-\newblock \url{http://lwn.net/Articles/508991/}, August 2012.
-
-\bibitem[Cor13]{JonCorbet2013NO-HZ-FULL}
-Jonathan Corbet.
-\newblock (nearly) full tickless operation in 3.10.
-\newblock \url{http://lwn.net/Articles/549580/}, May 2013.
-
-\bibitem[Cra93]{Craig93}
-Travis Craig.
-\newblock Building {FIFO} and priority-queuing spin locks from atomic swap.
-\newblock Technical Report 93-02-02, University of Washington, Seattle,
- Washington, February 1993.
-
-\bibitem[CRKH05]{CorbetRubiniKroahHartman}
-Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.
-\newblock {\em Linux Device Drivers}.
-\newblock O'Reilly Media, Inc., third edition, 2005.
-
-\bibitem[CSG99]{DavidECuller1999}
-David~E. Culler, Jaswinder~Pal Singh, and Anoop Gupta.
-\newblock {\em Parallel Computer Architecture: a Hardware/Software Approach}.
-\newblock Morgan Kaufman, 1999.
-
-\bibitem[Dat82]{Date82}
-C.~J. Date.
-\newblock {\em An Introduction to Database Systems}, volume~1.
-\newblock Addison-Wesley Publishing Company, 1982.
-
-\bibitem[DBA09]{SaeedDehnadi2009SheepGoats}
-Saeed Dehnadi, Richard Bornat, and Ray Adams.
-\newblock Meta-analysis of the effect of consistency on success in early
- learning of programming.
-\newblock In {\em PPIG 2009}, pages 1--13, University of Limerick, Ireland,
- June 2009. Psychology of Programming Interest Group.
-
-\bibitem[DCW{\etalchar{+}}11]{LukeDalessandro:2011:ASPLOS:HybridNOrecSTM:deque}
-Luke Dalessandro, Francois Carouge, Sean White, Yossi Lev, Mark Moir,
- Michael~L. Scott, and Michael~F. Spear.
-\newblock Hybrid {NOrec}: A case study in the effectiveness of best effort
- hardware transactional memory.
-\newblock In {\em Proceedings of the 16th International Conference on
- Architectural Support for Programming Languages and Operating Systems
- (ASPLOS)}, ASPLOS '11, pages ???--???, New York, NY, USA, 2011. ACM.
-
-\bibitem[DD09]{MathieuDesnoyers2009LFCollabSummit}
-Mathieu Desnoyers and Michel~R. Dagenais.
-\newblock Lttng, filling the gap between kernel instrumentation and a widely
- usable kernel tracer.
-\newblock Available:
- \url{http://events.linuxfoundation.org/slides/lfcs09_desnoyers_paper.pdfSimi%
-lar} [Viewed: August 28, 2011], April 2009.
-
-\bibitem[Des09]{MathieuDesnoyers2009URCU}
-Mathieu Desnoyers.
-\newblock [{RFC} git tree] userspace {RCU} (urcu) for {Linux}.
-\newblock \url{http://urcu.so}, February 2009.
-
-\bibitem[DFGG11]{AleksandarDragovejic2011STMnotToy}
-Aleksandar Dragovejic, Pascal Felber, Vincent Gramoli, and Rachid Guerraoui.
-\newblock Why {STM} can be more than a research toy.
-\newblock {\em Communications of the ACM}, pages 70--77, April 2011.
-
-\bibitem[DHJ{\etalchar{+}}07]{DeCandia:2007:DAH:1323293.1294281}
-Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati,
- Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall,
- and Werner Vogels.
-\newblock Dynamo: Amazon's highly available key-value store.
-\newblock {\em SIGOPS Oper. Syst. Rev.}, 41(6):205--220, October 2007.
-
-\bibitem[DHK12]{VijayDSilva2012-sas}
-Vijay D'Silva, Leopold Haller, and Daniel Kroening.
-\newblock Satisfiability solvers are static analyzers.
-\newblock In {\em Static Analysis Symposium (SAS)}, volume 7460 of {\em LNCS},
- pages 317--333. Springer, 2012.
-
-\bibitem[DHL{\etalchar{+}}08]{DaveDice2008TransactLockElision}
-Dave Dice, Maurice Herlihy, Doug Lea, Yossi Lev, Victor Luchangco, Wayne
- Mesard, Mark Moir, Kevin Moore, and Dan Nussbaum.
-\newblock Applications of the adaptive transactional memory test platform.
-\newblock In {\em 3\textsuperscript{rd} ACM SIGPLAN Workshop on Transactional
- Computing}, pages 1--10, Salt Lake City, UT, USA, February 2008.
-
-\bibitem[Dij65]{Dijkstra65a}
-E.~W. Dijkstra.
-\newblock Solution of a problem in concurrent programming control.
-\newblock {\em Communications of the {ACM}}, 8(9):569, Sept 1965.
-
-\bibitem[Dij68]{Dijkstra:1968:LEG:362929.362947}
-Edsger~W. Dijkstra.
-\newblock Letters to the editor: Go to statement considered harmful.
-\newblock {\em Commun. ACM}, 11(3):147--148, March 1968.
-
-\bibitem[Dij71]{Dijkstra1971HOoSP}
-Edsger~W. Dijkstra.
-\newblock Hierarchical ordering of sequential processes.
-\newblock {\em Acta Informatica}, 1(2):115--138, 1971.
-\newblock Available:
- \url{http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF} [Viewed January
- 13, 2008].
-
-\bibitem[DLM{\etalchar{+}}10]{DavidDice:2010:SCA:HTM:deque}
-Dave Dice, Yossi Lev, Virendra~J. Marathe, Mark Moir, Dan Nussbaum, and Marek
- Oleszewski.
-\newblock Simplifying concurrent algorithms by exploiting hardware
- transactional memory.
-\newblock In {\em Proceedings of the 22nd ACM symposium on Parallelism in
- algorithms and architectures}, SPAA '10, pages 325--334, New York, NY, USA,
- 2010. ACM.
-
-\bibitem[DLMN09]{DaveDice2009ASPLOSRockHTM}
-Dave Dice, Yossi Lev, Mark Moir, and Dan Nussbaum.
-\newblock Early experience with a commericial hardware transactional memory
- implementation.
-\newblock In {\em Fourteenth International Conference on Architectural Support
- for Programming Languages and Operating Systems (ASPLOS '09)}, pages
- 157--168, Washington, DC, USA, March 2009.
-\newblock Available:
- \url{http://research.sun.com/scalable/pubs/ASPLOS2009-RockHTM.pdf} [Viewed
- February 4, 2009].
-
-\bibitem[DMS{\etalchar{+}}12]{MathieuDesnoyers2012URCU}
-Mathieu Desnoyers, Paul~E. McKenney, Alan Stern, Michel~R. Dagenais, and
- Jonathan Walpole.
-\newblock User-level implementations of read-copy update.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 23:375--382, 2012.
-
-\bibitem[Dov90]{Dove90}
-Ken~F. Dove.
-\newblock A high capacity {TCP/IP} in parallel {STREAMS}.
-\newblock In {\em UKUUG Conference Proceedings}, London, June 1990.
-
-\bibitem[Dre11]{UlrichDrepper2011Futexes}
-Ulrich Drepper.
-\newblock Futexes are tricky.
-\newblock Technical Report FAT2011, Red Hat, Inc., Raleigh, NC, USA, November
- 2011.
-
-\bibitem[DSS06]{DaveDice2006DISC}
-Dave Dice, Ori Shalev, and Nir Shavit.
-\newblock Transactional locking {II}.
-\newblock In {\em Proc. International Symposium on Distributed Computing}.
- Springer Verlag, 2006.
-\newblock Available:
- \url{http://www.springerlink.com/content/5688h5q0w72r54x0/} [Viewed March 10,
- 2008].
-
-\bibitem[Edg13]{JakeEdge2013Future-rtLinux}
-Jake Edge.
-\newblock The future of realtime {Linux}.
-\newblock \url{http://lwn.net/Articles/572740/}, November 2013.
-
-\bibitem[Edg14]{JakeEdge2014Future-rtLinux}
-Jake Edge.
-\newblock The future of the realtime patch set.
-\newblock \url{http://lwn.net/Articles/617140/}, October 2014.
-
-\bibitem[EGCD03]{ElGhazawi2003UPC}
-T.~A. El-Ghazawi, W.~W. Carlson, and J.~M. Draper.
-\newblock {UPC} language specifications v1.1.
-\newblock Available: \url{http://upc.gwu.edu} [Viewed September 19, 2008], May
- 2003.
-
-\bibitem[EGMdB11]{LinuxKernelPerfWiki}
-Stephane Eranian, Eric Gouriou, Tipp Moseley, and Willem de~Bruijn.
-\newblock Linux kernel profiling with perf.
-\newblock \url{https://perf.wiki.kernel.org/index.php/Tutorial}, June 2011.
-
-\bibitem[Ell80]{Ellis80}
-Carla~Schlatter Ellis.
-\newblock Concurrent search and insertion in avl trees.
-\newblock {\em IEEE Transactions on Computers}, C-29(9):811--817, September
- 1980.
-
-\bibitem[ELLM07]{FaithEllen:2007:SNZI}
-Faith Ellen, Yossi Lev, Victor Luchangco, and Mark Moir.
-\newblock Snzi: scalable nonzero indicators.
-\newblock In {\em Proceedings of the twenty-sixth annual ACM symposium on
- Principles of distributed computing}, PODC '07, pages 13--22, New York, NY,
- USA, 2007. ACM.
-
-\bibitem[Eng68]{DouglasEngelbart1968}
-Douglas Engelbart.
-\newblock The demo.
-\newblock Available:
- \url{http://video.google.com/videoplay?docid=-8734787622017763097} [Viewed
- November 28, 2008], December 1968.
-
-\bibitem[ENS05]{RyanEccles2005HPCSNovice}
-Ryan Eccles, Blair Nonneck, and Deborah~A. Stacey.
-\newblock Exploring parallel programming knowledge in the novice.
-\newblock In {\em HPCS '05: Proceedings of the 19th International Symposium on
- High Performance Computing Systems and Applications}, pages 97--102,
- Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[Eri08]{ChristerEricson2008GPUMaze}
-Christer Ericson.
-\newblock Aiding pathfinding with cellular automata.
-\newblock \url{http://realtimecollisiondetection.net/blog/?p=57}, June 2008.
-
-\bibitem[ES90]{MargaretAEllis1990Cplusplus}
-Margaret~A. Ellis and Bjarne Stroustrup.
-\newblock {\em The Annotated {C++} Reference Manual}.
-\newblock Addison Wesley, 1990.
-
-\bibitem[ES05]{RyanEccles2006HPCSNoviceNeeds}
-Ryan Eccles and Deborah~A. Stacey.
-\newblock Understanding the parallel programmer.
-\newblock In {\em HPCS '05: Proceedings of the 19th International Symposium on
- High Performance Computing Systems and Applications}, pages 156--160,
- Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[{ETH}11]{ETHZurich:FS2011maze}
-{ETH Zurich}.
-\newblock Parallel solver for a perfect maze.
-\newblock
- \url{http://nativesystems.inf.ethz.ch/pub/Main/WebHomeLecturesParallelProgra%
-mmingExercises/pp2011hw04.pdf}, March 2011.
-
-\bibitem[Fel50]{Feller58}
-W.~Feller.
-\newblock {\em An Introduction to Probability Theory and its Applications}.
-\newblock John Wiley, 1950.
-
-\bibitem[Fos10]{RonFosner2010maze}
-Ron Fosner.
-\newblock Scalable multithreaded programming with tasks.
-\newblock {\em MSDN Magazine}, 2010(11):60--69, November 2010.
-\newblock \url{http://msdn.microsoft.com/en-us/magazine/gg309176.aspx}.
-
-\bibitem[FPB79]{Brooks79}
-Jr. Frederick P.~Brooks.
-\newblock {\em The Mythical Man-Month}.
-\newblock Addison-Wesley, 1979.
-
-\bibitem[FRK02]{HubertusFrancke2002Futex}
-Hubertus Francke, Rusty Russell, and Matthew Kirkwood.
-\newblock Fuss, futexes and furwocks: Fast userlevel locking in linux.
-\newblock In {\em {Ottawa Linux Symposium}}, pages 479--495, June 2002.
-\newblock Available:
- \url{http://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf} [Viewed
- May 22, 2011].
-
-\bibitem[Gar90]{Garg90}
-Arun Garg.
-\newblock Parallel {STREAMS}: a multi-processor implementation.
-\newblock In {\em USENIX Conference Proceedings}, pages 163--176, Berkeley CA,
- February 1990. USENIX Association.
-
-\bibitem[Gar07]{BryanGardiner2007}
-Bryan Gardiner.
-\newblock Idf: Gordon moore predicts end of moore's law (again).
-\newblock Available:
- \url{http://blog.wired.com/business/2007/09/idf-gordon-mo-1.html} [Viewed:
- November 28, 2008], September 2007.
-
-\bibitem[GC96]{Cheriton96a}
-Michael Greenwald and David~R. Cheriton.
-\newblock The synergy between non-blocking synchronization and operating system
- structure.
-\newblock In {\em Proceedings of the Second Symposium on Operating Systems
- Design and Implementation}, pages 123--136, Seattle, WA, October 1996. USENIX
- Association.
-
-\bibitem[GDZE10]{Golovanevsky:2010:TDL:2174824.2174835}
-Olga Golovanevsky, Alon Dayan, Ayal Zaks, and David Edelsohn.
-\newblock Trace-based data layout optimizations for multi-core processors.
-\newblock In {\em Proceedings of the 5th International Conference on High
- Performance Embedded Architectures and Compilers}, HiPEAC'10, pages 81--95,
- Berlin, Heidelberg, 2010. Springer-Verlag.
-
-\bibitem[GG14]{Gramoli:2014:DTP:2541883.2541900}
-Vincent Gramoli and Rachid Guerraoui.
-\newblock Democratizing transactional programming.
-\newblock {\em Commun. ACM}, 57(1):86--93, January 2014.
-
-\bibitem[Gha95]{Gharachorloo95}
-Kourosh Gharachorloo.
-\newblock Memory consistency models for shared-memory multiprocessors.
-\newblock Technical Report CSL-TR-95-685, Computer Systems Laboratory,
- Departments of Electrical Engineering and Computer Science, Stanford
- University, Stanford, CA, December 1995.
-\newblock Available:
- \url{http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-9.pdf} [Viewed:
- October 11, 2004].
-
-\bibitem[GHJV95]{GOF95}
-Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
-\newblock {\em Design Patterns: Elements of Reusable Object-Oriented Software}.
-\newblock Addison-Wesley, 1995.
-
-\bibitem[GKAS99]{Gamsa99}
-Ben Gamsa, Orran Krieger, Jonathan Appavoo, and Michael Stumm.
-\newblock Tornado: Maximizing locality and concurrency in a shared memory
- multiprocessor operating system.
-\newblock In {\em {Proceedings of the 3\textsuperscript{rd} Symposium on
- Operating System Design and Implementation}}, pages 87--100, New Orleans, LA,
- February 1999.
-
-\bibitem[GKP13]{JustinGottschlich2013TMdebug}
-Justin Gottschlich, Rob Knauerhase, and Gilles Pokam.
-\newblock But how do we really debug transactional memory?
-\newblock In {\em 5\textsuperscript{th} USENIX Workshop on Hot Topics in
- Parallelism (HotPar 2013)}, San Jose, CA, USA, June 2013.
-
-\bibitem[GKPS95]{BenjaminGamsa95a}
-Ben Gamsa, Orran Krieger, E.~Parsons, and Michael Stumm.
-\newblock Performance issues for multiprocessor operating systems.
-\newblock Technical Report CSRI-339, Available:
- ftp://ftp.cs.toronto.edu/pub/reports/csri/339/339.ps, November 1995.
-
-\bibitem[Gle10]{ThomasGleixner2010AcademiaVsReality}
-Thomas Gleixner.
-\newblock Realtime linux: academia v. reality.
-\newblock Available: \url{http://lwn.net/Articles/397422/} [Viewed July 27,
- 2010], July 2010.
-
-\bibitem[Gle12]{ThomasGleixner2012KVMrealtime}
-Thomas Gleixner.
-\newblock Linux -rt kvm guest demo.
-\newblock Personal communication, December 2012.
-
-\bibitem[GMTW08]{DinakarGuniguntala2008IBMSysJ}
-D.~Guniguntala, P.~E. McKenney, J.~Triplett, and J.~Walpole.
-\newblock The read-copy-update mechanism for supporting real-time applications
- on shared-memory multiprocessor systems with {Linux}.
-\newblock {\em IBM Systems Journal}, 47(2):221--236, May 2008.
-
-\bibitem[GPB{\etalchar{+}}07]{Goetz2007Textbook}
-Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug
- Lea.
-\newblock {\em Java: Concurrency in Practice}.
-\newblock Addison Wesley, Upper Saddle River, NJ, USA, 2007.
-
-\bibitem[Gra02]{JimGray2002SmokingHairyGolfBalls}
-Jim Gray.
-\newblock Super-servers: Commodity computer clusters pose a software challenge.
-\newblock Available:
- \url{http://research.microsoft.com/en-us/um/people/gray/papers/superservers(%
-4t_computers).doc} [Viewed: June 23, 2004], April 2002.
-
-\bibitem[Gri00]{ScottGriffen2000}
-Scott Griffen.
-\newblock Internet pioneers: Doug englebart.
-\newblock Available: \url{http://www.ibiblio.org/pioneers/englebart.html}
- [Viewed November 28, 2008], May 2000.
-
-\bibitem[Gro01]{TheOpenGroup1997SUS}
-The~Open Group.
-\newblock Single {UNIX} specification.
-\newblock \url{http://www.opengroup.org/onlinepubs/007908799/index.html}, July
- 2001.
-
-\bibitem[Gro07]{DanGrossman2007TMGCAnalogy}
-Dan Grossman.
-\newblock The transactional memory / garbage collection analogy.
-\newblock In {\em {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN
- conference on Object oriented programming systems and applications}}, pages
- 695--706, New York, NY, USA, October 2007. ACM.
-\newblock Available:
- \url{http://www.cs.washington.edu/homes/djg/papers/analogy_oopsla07.pdf}
- [Viewed December 19, 2008].
-
-\bibitem[GT90]{Graunke90}
-Gary Graunke and Shreekant Thakkar.
-\newblock Synchronization algorithms for shared-memory multiprocessors.
-\newblock {\em IEEE Computer}, 23(6):60--69, June 1990.
-
-\bibitem[HCS{\etalchar{+}}05]{LorinHochstein2005SC}
-Lorin Hochstein, Jeff Carver, Forrest Shull, Sima Asgari, and Victor Basili.
-\newblock Parallel programmer productivity: A case study of novice parallel
- programmers.
-\newblock In {\em SC '05: Proceedings of the 2005 ACM/IEEE conference on
- Supercomputing}, page~35, Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[Hei27]{WeinerHeisenberg1927Uncertain}
-W.~Heisenberg.
-\newblock {\"Uber} den anschaulichen {Inhalt} der quantentheoretischen
- {Kinematik} und {Mechanik}.
-\newblock {\em Zeitschrift {f\"ur} Physik}, 43(3-4):172--198, 1927.
-\newblock English translation in ``Quantum theory and measurement'' by Wheeler
- and Zurek.
-
-\bibitem[Her90]{MauriceHerlihy90a}
-Maurice~P. Herlihy.
-\newblock A methodology for implementing highly concurrent data structures.
-\newblock In {\em Proceedings of the 2nd ACM SIGPLAN Symposium on Principles
- and Practice of Parallel Programming}, pages 197--206, March 1990.
-
-\bibitem[Her91]{Herlihy91}
-Maurice Herlihy.
-\newblock Wait-free synchronization.
-\newblock {\em ACM TOPLAS}, 13(1):124--149, January 1991.
-
-\bibitem[Her93]{Herlihy93}
-Maurice Herlihy.
-\newblock Implementing highly concurrent data objects.
-\newblock {\em {ACM} Transactions on Programming Languages and Systems},
- 15(5):745--770, November 1993.
-
-\bibitem[Her05]{MauriceHerlihy2005-TM-manifesto.pldi}
-Maurice Herlihy.
-\newblock The transactional manifesto: software engineering and non-blocking
- synchronization.
-\newblock In {\em PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on
- Programming language design and implementation}, pages 280--280, New York,
- NY, USA, 2005. ACM Press.
-
-\bibitem[HHK{\etalchar{+}}13]{AndreasHaas2013CFRelaxedQueues}
-A.~Haas, T.A. Henzinger, C.M. Kirsch, M.~Lippautz, H.~Payer, A.~Sezgin, and
- A.~Sokolova.
-\newblock Distributed queues in shared memory---multicore performance and
- scalability through quantitative relaxation.
-\newblock In {\em Proc. International Conference on Computing Frontiers}. ACM,
- 2013.
-
-\bibitem[HKLP12]{AndreasHaas2012FIFOisnt}
-Andreas Haas, Christoph~M. Kirsch, Michael Lippautz, and Hannes Payer.
-\newblock How {FIFO} is your concurrent {FIFO} queue?
-\newblock In {\em Proceedings of the Workshop on Relaxing Synchronization for
- Multicore and Manycore Scalability}, Tucson, AZ USA, October 2012.
-
-\bibitem[HLM02]{HerlihyLM02}
-Maurice Herlihy, Victor Luchangco, and Mark Moir.
-\newblock The repeat offender problem: A mechanism for supporting
- dynamic-sized, lock-free data structures.
-\newblock In {\em Proceedings of 16\textsuperscript{th} International Symposium
- on Distributed Computing}, pages 339--353, October 2002.
-
-\bibitem[HLM03]{HerlihyLM03}
-Maurice Herlihy, Victor Luchangco, and Mark Moir.
-\newblock Obstruction-free synchronization: Double-ended queues as an example.
-\newblock In {\em {Proceedings of the 23\textsuperscript{rd} IEEE International
- Conference on Distributed Computing Systems (ICDCS)}}, pages 73--82,
- Providence, RI, May 2003. The Institute of Electrical and Electronics
- Engineers, Inc.
-
-\bibitem[HM93]{Herlihy93a}
-Maurice Herlihy and J.~Eliot~B. Moss.
-\newblock Transactional memory: Architectural support for lock-free data
- structures.
-\newblock {\em The 20\textsuperscript{th} Annual International Symposium on
- Computer Architecture}, pages 289--300, May 1993.
-
-\bibitem[HMB06]{ThomasEHart2006a}
-Thomas~E. Hart, Paul~E. McKenney, and Angela~Demke Brown.
-\newblock Making lockless synchronization fast: Performance implications of
- memory reclamation.
-\newblock In {\em 20\textsuperscript{th} {IEEE} International Parallel and
- Distributed Processing Symposium}, Rhodes, Greece, April 2006.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf} [Viewed April
- 28, 2008].
-
-\bibitem[HMBW07]{ThomasEHart2007a}
-Thomas~E. Hart, Paul~E. McKenney, Angela~Demke Brown, and Jonathan Walpole.
-\newblock Performance of memory reclamation for lockless synchronization.
-\newblock {\em J. Parallel Distrib. Comput.}, 67(12):1270--1285, 2007.
-
-\bibitem[Hol03]{Holzmann03a}
-Gerard~J. Holzmann.
-\newblock {\em The {Spin} Model Checker: Primer and Reference Manual}.
-\newblock Addison-Wesley, Boston, MA, USA, 2003.
-
-\bibitem[HP95]{Hennessy95a}
-John~L. Hennessy and David~A. Patterson.
-\newblock {\em Computer Architecture: A Quantitative Approach}.
-\newblock Morgan Kaufman, 1995.
-
-\bibitem[HS08]{HerlihyShavit2008Textbook}
-Maurice Herlihy and Nir Shavit.
-\newblock {\em The Art of Multiprocessor Programming}.
-\newblock Morgan Kaufmann, Burlington, MA, USA, 2008.
-
-\bibitem[HW90]{Herlihy:1990:LCC:78969.78972}
-Maurice~P. Herlihy and Jeannette~M. Wing.
-\newblock Linearizability: a correctness condition for concurrent objects.
-\newblock {\em ACM Trans. Program. Lang. Syst.}, 12(3):463--492, July 1990.
-
-\bibitem[HW92]{WilsonCHsieh92a}
-Wilson~C. Hsieh and William~E. Weihl.
-\newblock Scalable reader-writer locks for parallel systems.
-\newblock In {\em Proceedings of the 6\textsuperscript{th} International
- Parallel Processing Symposium}, pages 216--230, Beverly Hills, CA, USA, March
- 1992.
-
-\bibitem[HW11]{PhilHoward2011RCUTMRBTree}
-Philip~W. Howard and Jonathan Walpole.
-\newblock A relativistic enhancement to software transactional memory.
-\newblock In {\em Proceedings of the 3rd USENIX conference on Hot topics in
- parallelism}, HotPar'11, pages 1--6, Berkeley, CA, USA, 2011. USENIX
- Association.
-
-\bibitem[HW13]{PhilipWHoward2013RCUrbtree}
-Philip~W. Howard and Jonathan Walpole.
-\newblock Relativistic red-black trees.
-\newblock {\em Concurrency and Computation: Practice and Experience}, pages
- n/a--n/a, 2013.
-
-\bibitem[{IBM}94]{PowerPC94}
-{IBM Microelectronics and Motorola}.
-\newblock {\em PowerPC Microprocessor Family: The Programming Environments},
- 1994.
-
-\bibitem[Inm85]{Inman85}
-Jack Inman.
-\newblock Implementing loosely coupled functions on tightly coupled engines.
-\newblock In {\em USENIX Conference Proceedings}, pages 277--298, Portland, OR,
- June 1985. USENIX Association.
-
-\bibitem[Inm07]{BillInmon2007a}
-Bill Inmon.
-\newblock Time value of information.
-\newblock Available: \url{http://www.b-eye-network.de/view-articles/3365}
- [Viewed July 6, 2007], January 2007.
-
-\bibitem[{Int}92]{DIS9075SQL92}
-{International Standards Organization}.
-\newblock {\em Information Technology - Database Language {SQL}}.
-\newblock ISO, 1992.
-\newblock Available:
- \url{http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt} [Viewed
- September 19, 2008].
-
-\bibitem[{Int}02a]{IntelItanium02v3}
-{Intel Corporation}.
-\newblock {\em Intel Itanium Architecture Software Developer's Manual Volume 3:
- Instruction Set Reference}, 2002.
-
-\bibitem[{Int}02b]{IntelItanium02v2}
-{Intel Corporation}.
-\newblock {\em Intel Itanium Architecture Software Developer's Manual Volume 3:
- System Architecture}, 2002.
-
-\bibitem[{Int}04a]{IntelXeonV2b-96a}
-{Intel Corporation}.
-\newblock {\em IA-32 Intel Architecture Software Developer's Manual Volume 2B:
- Instruction Set Reference, N-Z}, 2004.
-\newblock Available:
- \url{ftp://download.intel.com/design/Pentium4/manuals/25366714.pdf} [Viewed:
- February 16, 2005].
-
-\bibitem[{Int}04b]{IntelXeonV3-96a}
-{Intel Corporation}.
-\newblock {\em IA-32 Intel Architecture Software Developer's Manual Volume 3:
- System Programming Guide}, 2004.
-\newblock Available:
- \url{ftp://download.intel.com/design/Pentium4/manuals/25366814.pdf} [Viewed:
- February 16, 2005].
-
-\bibitem[{Int}04c]{IBMzSeries04a}
-{International Business Machines Corporation}.
-\newblock {z/Architecture} principles of operation.
-\newblock Available:
- \url{http://publibz.boulder.ibm.com/epubs/pdf/dz9zr003.pdf} [Viewed: February
- 16, 2005], May 2004.
-
-\bibitem[{Int}07]{Intelx86MemoryOrdering2007}
-{Intel Corporation}.
-\newblock {\em Intel 64 Architecture Memory Ordering White Paper}, 2007.
-\newblock Available:
- \url{http://developer.intel.com/products/processor/manuals/318147.pdf}
- [Viewed: September 7, 2007].
-
-\bibitem[{Int}11]{Intel64IA32v3A2011}
-{Intel Corporation}.
-\newblock {\em Intel 64 and IA-32 Architectures Software Developer’s Manual,
- Volume 3A: System Programming Guide, Part 1}, 2011.
-\newblock Available: \url{http://www.intel.com/Assets/PDF/manual/253668.pdf}
- [Viewed: February 12, 2011].
-
-\bibitem[Jac08]{MapReduce2008MIT}
-Daniel Jackson.
-\newblock {MapReduce} course.
-\newblock Available: \url{https://sites.google.com/site/mriap2008/} [Viewed
- January 3, 2013], January 2008.
-
-\bibitem[JMRR02]{BenJackson02}
-Benedict~Joseph Jackson, Paul~E. McKenney, Ramakrishnan Rajamony, and
- Ronald~Lynn Rockhold.
-\newblock Scalable interruptible queue locks for shared-memory multiprocessor.
-\newblock Technical Report US Patent 6,473,819, US Patent and Trademark Office,
- Washington, DC, October 2002.
-
-\bibitem[Joh77]{StephenJohnson1977lint}
-Stephen Johnson.
-\newblock Lint, a {C} program checker.
-\newblock Computer Science Technical Report 65, Bell Laboratories, December
- 1977.
-
-\bibitem[Jon11]{DaveJones2011Trinity}
-Dave Jones.
-\newblock Trinity: A system call fuzzer.
-\newblock In {\em Proceedings of the 13\textsuperscript{th} Ottawa Linux
- Symposium}, pages ???--???, Ottawa, Canada, June 2011.
-
-\bibitem[JSG12]{ChristianJacobi2012MainframeTM}
-Christian Jacobi, Timothy Slegel, and Dan Greiner.
-\newblock Transactional memory architecture and implementation for {IBM}
- {System} z.
-\newblock The 45\textsuperscript{th} Annual IEEE/ACM International Symposium on
- MicroArchitecture
- \url{http://www.microsymposia.org/micro45/talks-posters/3-jacobi-presentatio%
-n.pdf}, December 2012.
-
-\bibitem[Kan96]{GerryKane96a}
-Gerry Kane.
-\newblock {\em {PA-RISC} 2.0 Architecture}.
-\newblock Hewlett-Packard Professional Books, 1996.
-
-\bibitem[KCH{\etalchar{+}}06]{SanjeevKumar2006}
-Sanjeev Kumar, Michael Chu, Christopher~J. Hughes, Partha Kumar, and Anthony
- Nguyen.
-\newblock Hybrid transactional memory.
-\newblock In {\em Proceedings of the ACM SIGPLAN 2006 Symposium on Principles
- and Practice of Parallel Programming}. ACM SIGPLAN, 2006.
-\newblock Available:
- \url{http://www.cs.princeton.edu/~skumar/papers/ppopp06/ppopp06.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[{KFC}11]{MIT:TRMag:MemristorMazes}
-{KFC}.
-\newblock Memristor processor solves mazes.
-\newblock \url{http://www.technologyreview.com/blog/arxiv/26467/}, March 2011.
-
-\bibitem[Kis14]{JanKiszka2014virtRT}
-Jan Kiszka.
-\newblock Real-time virtualization - how crazy are we?
-\newblock In {\em Linux Plumbers Conference}, Duesseldorf, Germany, October
- 2014.
-\newblock \url{http://www.linuxplumbersconf.org/2014/ocw/sessions/1935}.
-
-\bibitem[KL80]{Kung80}
-H.~T. Kung and P.~Lehman.
-\newblock Concurrent manipulation of binary search trees.
-\newblock {\em ACM Transactions on Database Systems}, 5(3):354--382, September
- 1980.
-
-\bibitem[KLP12]{ChristophMKirsch2012FIFOisntTR}
-Christoph~M. Kirsch, Michael Lippautz, and Hannes Payer.
-\newblock Fast and scalable k-fifo queues.
-\newblock Technical Report 2012-04, University of Salzburg, Salzburg, Austria,
- June 2012.
-
-\bibitem[Kni08]{JohnKnickerbocker2008:3DI}
-John~U. Knickerbocker.
-\newblock {3D} chip technology.
-\newblock {\em IBM Journal of Research and Development}, 52(6), November 2008.
-\newblock Available: \url{http://www.research.ibm.com/journal/rd52-6.html}
- [Viewed: January 1, 2009].
-
-\bibitem[Knu73]{Knuth73}
-Donald Knuth.
-\newblock {\em The Art of Computer Programming}.
-\newblock Addison-Wesley, 1973.
-
-\bibitem[KS08]{Kroening:2008:DPA:1391237}
-Daniel Kroening and Ofer Strichman.
-\newblock {\em Decision Procedures: An Algorithmic Point of View}.
-\newblock Springer Publishing Company, Incorporated, 1 edition, 2008.
-
-\bibitem[KWS97]{Kontothanassis97a}
-Leonidas Kontothanassis, Robert~W. Wisniewski, and Michael~L. Scott.
-\newblock Scheduler-conscious synchronization.
-\newblock {\em Communications of the {ACM}}, 15(1):3--40, January 1997.
-
-\bibitem[LA94]{BengHongLim94}
-Beng-Hong Lim and Anant Agarwal.
-\newblock Reactive synchronization algorithms for multiprocessors.
-\newblock 03/28/94 FTP hing.lcs.mit.edu /pub/papers/reactive.ps.Z, March 1994.
-
-\bibitem[Lam74]{Lamport74a}
-Leslie Lamport.
-\newblock A new solution of {Dijkstra's} concurrent programming problem.
-\newblock {\em Communications of the {ACM}}, 17(8):453--455, August 1974.
-
-\bibitem[Lea97]{DougLea1997Textbook}
-Doug Lea.
-\newblock {\em Concurrent Programming in Java: Design Principles and Patterns}.
-\newblock Addison Wesley Longman, Reading, MA, USA, 1997.
-
-\bibitem[LLO09]{YossiLev2009SNZIrwlock}
-Yossi Lev, Victor Luchangco, and Marek Olszewski.
-\newblock Scalable reader-writer locks.
-\newblock In {\em SPAA '09: Proceedings of the twenty-first annual symposium on
- Parallelism in algorithms and architectures}, pages 101--110, New York, NY,
- USA, 2009. ACM.
-
-\bibitem[Loc02]{DougLocke2002a}
-Doug Locke.
-\newblock Priority inheritance: The real story.
-\newblock Available:
- \url{http://www.linuxdevices.com/articles/AT5698775833.html} [Viewed June 29,
- 2005], July 2002.
-
-\bibitem[Lom77]{DBLomet1977SIGSOFT}
-D.~B. Lomet.
-\newblock Process structuring, synchronization, and recovery using atomic
- actions.
-\newblock {\em SIGSOFT Softw. Eng. Notes}, 2(2):128--137, 1977.
-\newblock Available: \url{http://portal.acm.org/citation.cfm?id=808319#}
- [Viewed June 27, 2008].
-
-\bibitem[LR80]{Lampson1980Mesa}
-Butler~W. Lampson and David~D. Redell.
-\newblock Experience with processes and monitors in {Mesa}.
-\newblock {\em Communications of the ACM}, 23(2):105--117, 1980.
-
-\bibitem[LS86]{LaninShasha1986TSM}
-Vladimir Lanin and Dennis Shasha.
-\newblock A symmetric concurrent b-tree algorithm.
-\newblock In {\em ACM '86: Proceedings of 1986 ACM Fall joint computer
- conference}, pages 380--389, Los Alamitos, CA, USA, 1986. IEEE Computer
- Society Press.
-
-\bibitem[LS11]{YujieLiu2011ToxicTransactions}
-Yujie Liu and Michael Spear.
-\newblock Toxic transactions.
-\newblock In {\em TRANSACT 2011}. ACM SIGPLAN, June 2011.
-
-\bibitem[LSH02]{MichaelLyons02a}
-Michael Lyons, Ed~Silha, and Bill Hay.
-\newblock {PowerPC} storage model and {AIX} programming.
-\newblock Available:
- \url{http://www-106.ibm.com/developerworks/eserver/articles/powerpc.html}
- [Viewed: January 31, 2005], August 2002.
-
-\bibitem[MAK{\etalchar{+}}01]{McKenney01a}
-Paul~E. McKenney, Jonathan Appavoo, Andi Kleen, Orran Krieger, Rusty Russell,
- Dipankar Sarma, and Maneesh Soni.
-\newblock Read-copy update.
-\newblock In {\em {Ottawa Linux Symposium}}, July 2001.
-\newblock Available:
- \url{http://www.linuxsymposium.org/2001/abstracts/readcopy.php}
- \url{http://www.rdrop.com/users/paulmck/RCU/rclock_OLS.2001.05.01c.pdf}
- [Viewed June 23, 2004].
-
-\bibitem[Mas92]{HMassalinPhD}
-H.~Massalin.
-\newblock {\em Synthesis: An Efficient Implementation of Fundamental Operating
- System Services}.
-\newblock PhD thesis, Columbia University, New York, NY, 1992.
-
-\bibitem[Mat13]{NormMatloff2013ParProcBook}
-Norm Matloff.
-\newblock {\em Programming on Parallel Machines}.
-\newblock University of California, Davis, Davis, CA, USA, 2013.
-
-\bibitem[MBM{\etalchar{+}}06]{KevinEMoore2006}
-Kevin~E. Moore, Jayaram Bobba, Michelle~J. Moravan, Mark~D. Hill, and David~A.
- Wood.
-\newblock {LogTM}: Log-based transactional memory.
-\newblock In {\em Proceedings of the 12\textsuperscript{th} Annual
- International Symposium on High Performance Computer Architecture (HPCA-12)},
- Washington, DC, USA, 2006. IEEE.
-\newblock Available:
- \url{http://www.cs.wisc.edu/multifacet/papers/hpca06_logtm.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[MBWW12]{PaulMcKenney2012RCUUsage}
-Paul~E. McKenney, Silas Boyd-Wickizer, and Jonathan Walpole.
-\newblock {RCU} usage in the linux kernel: One decade later.
-\newblock Technical report paulmck.2012.09.17, September 2012.
-
-\bibitem[McK90a]{McKenney89c}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock Technical Report ITSTD-7186-PA-89-11, SRI International, Menlo Park,
- CA, March 1990.
-\newblock To appear in INFOCOM'90.
-
-\bibitem[McK90b]{McKenney90}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock In {\em IEEE INFOCOM'90 Proceedings}, pages 733--740, San Francisco,
- June 1990. The Institute of Electrical and Electronics Engineers, Inc.
-\newblock Revision available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/sfq.2002.06.04.pdf}
- [Viewed May 26, 2008].
-
-\bibitem[McK91]{McKenney91}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock {\em Internetworking: Theory and Experience}, 2:113--131, 1991.
-
-\bibitem[McK95]{McKenney95a}
-Paul~E. McKenney.
-\newblock Differential profiling.
-\newblock In {\em MASCOTS 1995}, pages 237--241, Toronto, Canada, January 1995.
-
-\bibitem[McK96a]{McKenney95b}
-Paul~E. McKenney.
-\newblock {\em Pattern Languages of Program Design}, volume~2, chapter 31:
- Selecting Locking Designs for Parallel Programs, pages 501--531.
-\newblock Addison-Wesley, June 1996.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/mutexdesignpat.pdf}
- [Viewed February 17, 2005].
-
-\bibitem[McK96b]{McKenney96a}
-Paul~E. McKenney.
-\newblock Selecting locking primitives for parallel programs.
-\newblock {\em Communications of the {ACM}}, 39(10):75--82, October 1996.
-
-\bibitem[McK99]{McKenney99b}
-Paul~E. McKenney.
-\newblock Differential profiling.
-\newblock {\em Software - Practice and Experience}, 29(3):219--234, 1999.
-
-\bibitem[McK03]{McKenney03a}
-Paul~E. McKenney.
-\newblock Using {RCU} in the {Linux} 2.5 kernel.
-\newblock {\em Linux Journal}, 1(114):18--26, October 2003.
-\newblock Available: \url{http://www.linuxjournal.com/article/6993} [Viewed
- November 14, 2007].
-
-\bibitem[McK04]{PaulEdwardMcKenneyPhD}
-Paul~E. McKenney.
-\newblock {\em Exploiting Deferred Destruction: An Analysis of Read-Copy-Update
- Techniques in Operating System Kernels}.
-\newblock PhD thesis, OGI School of Science and Engineering at Oregon Health
- and Sciences University, 2004.
-
-\bibitem[McK05a]{PaulMcKenney2005i}
-Paul~E. McKenney.
-\newblock Memory ordering in modern microprocessors, part {I}.
-\newblock {\em Linux Journal}, 1(136):52--57, August 2005.
-\newblock Available: \url{http://www.linuxjournal.com/article/8211}
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.1%
-9a.pdf} [Viewed November 30, 2007].
-
-\bibitem[McK05b]{PaulMcKenney2005j}
-Paul~E. McKenney.
-\newblock Memory ordering in modern microprocessors, part {II}.
-\newblock {\em Linux Journal}, 1(137):78--82, September 2005.
-\newblock Available: \url{http://www.linuxjournal.com/article/8212}
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.1%
-9a.pdf} [Viewed November 30, 2007].
-
-\bibitem[McK05c]{PaulMcKenney2005h}
-Paul~E. McKenney.
-\newblock A realtime preemption overview.
-\newblock Available: \url{http://lwn.net/Articles/146861/} [Viewed August 22,
- 2005], August 2005.
-
-\bibitem[McK06]{PaulEMcKenney2006c}
-Paul~E. McKenney.
-\newblock Sleepable {RCU}.
-\newblock Available: \url{http://lwn.net/Articles/202847/} Revised:
- \url{http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf} [Viewed
- August 21, 2006], October 2006.
-
-\bibitem[McK07a]{PaulEMcKenney2007PreemptibleRCU}
-Paul~E. McKenney.
-\newblock The design of preemptible read-copy-update.
-\newblock Available: \url{http://lwn.net/Articles/253651/} [Viewed October 25,
- 2007], October 2007.
-
-\bibitem[McK07b]{PaulMcKenney2007QRCUpatch}
-Paul~E. McKenney.
-\newblock {[PATCH]} {QRCU} with lockless fastpath.
-\newblock Available: \url{http://lkml.org/lkml/2007/2/25/18} [Viewed March 27,
- 2008], February 2007.
-
-\bibitem[McK07c]{PaulEMcKenney2007BoostRCU}
-Paul~E. McKenney.
-\newblock Priority-boosting {RCU} read-side critical sections.
-\newblock \url{http://lwn.net/Articles/220677/}, February 2007.
-
-\bibitem[McK07d]{PaulEMcKenney2007rcubarrier}
-Paul~E. McKenney.
-\newblock {RCU} and unloadable modules.
-\newblock Available: \url{http://lwn.net/Articles/217484/} [Viewed November 22,
- 2007], January 2007.
-
-\bibitem[McK07e]{PaulEMcKenney2007QRCUspin}
-Paul~E. McKenney.
-\newblock Using {Promela} and {Spin} to verify parallel algorithms.
-\newblock Available: \url{http://lwn.net/Articles/243851/} [Viewed September 8,
- 2007], August 2007.
-
-\bibitem[McK07f]{PaulEMcKenney2007whatisRCU}
-Paul~E. McKenney.
-\newblock What is {RCU}?
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/whatisRCU.html} [Viewed July 6,
- 2007], 07 2007.
-
-\bibitem[McK08a]{PaulEMcKenney2008HierarchicalRCU}
-Paul~E. McKenney.
-\newblock Hierarchical {RCU}.
-\newblock \url{http://lwn.net/Articles/305782/}, November 2008.
-
-\bibitem[McK08b]{PaulEMcKenney2008WhatIsRCUAPI}
-Paul~E. McKenney.
-\newblock {RCU} part 3: the {RCU} {API}.
-\newblock Available: \url{http://lwn.net/Articles/264090/} [Viewed January 10,
- 2008], January 2008.
-
-\bibitem[McK08c]{PaulEMcKenney2008WhatIsRCUUsage}
-Paul~E. McKenney.
-\newblock What is {RCU}? part 2: Usage.
-\newblock Available: \url{http://lwn.net/Articles/263130/} [Viewed January 4,
- 2008], January 2008.
-
-\bibitem[McK09a]{PaulEMcKenney2009BloatwatchRCU}
-Paul~E. McKenney.
-\newblock Re: [patch fyi] rcu: the bloatwatch edition.
-\newblock Available: \url{http://lkml.org/lkml/2009/1/14/449} [Viewed January
- 15, 2009], January 2009.
-
-\bibitem[McK09b]{PaulEMcKenney2009TMeverywhere}
-Paul~E. McKenney.
-\newblock Transactional memory everywhere?
-\newblock
- \url{http://paulmck.livejournal.com/tag/transactional%20memory%20everywhere},
- September 2009.
-
-\bibitem[McK11a]{PaulEMcKenney2011RCU3.0trainwreck}
-Paul~E. McKenney.
-\newblock 3.0 and {RCU:} what went wrong.
-\newblock \url{http://lwn.net/Articles/453002/}, July 2011.
-
-\bibitem[McK11b]{PaulEMcKenney2011SNC}
-Paul~E. McKenney.
-\newblock Concurrent code and expensive instructions.
-\newblock Available: \url{http://lwn.net/Articles/423994} [Viewed January 28,
- 2011], January 2011.
-
-\bibitem[McK11c]{PaulEMcKenney2011ppcmem}
-Paul~E. McKenney.
-\newblock Validating memory barriers and atomic instructions.
-\newblock \url{http://lwn.net/Articles/470681/}, December 2011.
-
-\bibitem[McK11d]{PaulEMcKenney2011Verico}
-Paul~E. McKenney.
-\newblock Verifying parallel software: Can theory meet practice?
-\newblock
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/VericoTheoryPracti%
-ce.2011.01.28a.pdf}, January 2011.
-
-\bibitem[McK12a]{McKenney2008ParallelProgramming}
-Paul~E. McKenney.
-\newblock {\em Is Parallel Programming Hard, And, If So, What Can You Do About
- It?}
-\newblock kernel.org, Corvallis, OR, USA, 2012.
-
-\bibitem[McK12b]{PaulEMcKenney2012ELCbattery}
-Paul~E. McKenney.
-\newblock Making {RCU} safe for battery-powered devices.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/RCUdynticks.2012.02.15b.pdf}
- [Viewed March 1, 2012], February 2012.
-
-\bibitem[McK12c]{PaulEMcKenney2012HOTPARsuboptimal}
-Paul~E. McKenney.
-\newblock Retrofitted parallelism considered grossly sub-optimal.
-\newblock In {\em 4\textsuperscript{th} USENIX Workshop on Hot Topics on
- Parallelism}, page~7, Berkeley, CA, USA, June 2012.
-
-\bibitem[McK12d]{PaulEMcKenney2012SignedOverflow}
-Paul~E. McKenney.
-\newblock Signed overflow optimization hazards in the kernel.
-\newblock \url{http://lwn.net/Articles/511259/}, August 2012.
-
-\bibitem[McK13]{McKenney:2013:SDS:2483852.2483867}
-Paul~E. McKenney.
-\newblock Structured deferral: synchronization via procrastination.
-\newblock {\em Commun. ACM}, 56(7):40--49, July 2013.
-
-\bibitem[McK14]{PaulEMcKenney2014RCUAPI}
-Paul~E. McKenney.
-\newblock The {RCU} {API}, 2014 edition.
-\newblock \url{http://lwn.net/Articles/609904/}, September 2014.
-
-\bibitem[MCM02]{McKenney02d}
-Paul~E. McKenney, Kevin~A. Closson, and Raghupathi Malige.
-\newblock Lingering locks with fairness control for multi-node computer
- systems.
-\newblock Technical Report US Patent 6,480,918, US Patent and Trademark Office,
- Washington, DC, November 2002.
-
-\bibitem[MCS91]{MellorCrummey91a}
-John~M. Mellor-Crummey and Michael~L. Scott.
-\newblock Algorithms for scalable synchronization on shared-memory
- multiprocessors.
-\newblock {\em Transactions of Computer Systems}, 9(1):21--65, February 1991.
-
-\bibitem[MD92]{McKenney92b}
-Paul~E. McKenney and Ken~F. Dove.
-\newblock Efficient demultiplexing of incoming tcp packets.
-\newblock In {\em SIGCOMM '92, Proceedings of the Conference on Communications
- Architecture \& Protocols}, pages 269--279, Baltimore, MD, August 1992.
- Association for Computing Machinery.
-
-\bibitem[MDJ13a]{PaulMcKenney2013LWNURCUhash}
-Paul~E. McKenney, Mathieu Desnoyers, and Lai Jiangshan.
-\newblock Urcu-protected hash tables.
-\newblock \url{http://lwn.net/Articles/573431/}, November 2013.
-
-\bibitem[MDJ13b]{PaulMcKenney2013LWNURCUqueuestack}
-Paul~E. McKenney, Mathieu Desnoyers, and Lai Jiangshan.
-\newblock Urcu-protected queues and stacks.
-\newblock \url{https://lwn.net/Articles/573433/}, November 2013.
-
-\bibitem[{Mel}06]{CSIRACUniversityMelbourne}
-{Melbourne School of Engineering}.
-\newblock {CSIRAC}.
-\newblock Available: \url{http://www.csse.unimelb.edu.au/dept/about/csirac/}
- [Viewed: December 7, 2008], 2006.
-
-\bibitem[Met99]{PanagiotisMetaxas1999PDCS}
-Panagiotis~Takis Metaxas.
-\newblock Fast dithering on a data-parallel computer.
-\newblock In {\em Proceedings of the IASTED International Conference on
- Parallel and Distributed Computing and Systems}, pages 570--576, Cambridge,
- MA, USA, 1999. IASTED.
-
-\bibitem[MG92]{McKenney92a}
-Paul~E. McKenney and Gary Graunke.
-\newblock Efficient buffer allocation on shared-memory multiprocessors.
-\newblock In {\em IEEE Workshop on the Architecture and Implementation of High
- Performance Communication Subsystems}, pages 194--199, Tucson, AZ, February
- 1992. The Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[MGM{\etalchar{+}}09]{PaulEMcKenney2009ProgrammingHard}
-Paul~E. McKenney, Manish Gupta, Maged~M. Michael, Phil Howard, Joshua Triplett,
- and Jonathan Walpole.
-\newblock Is parallel programming hard, and if so, why?
-\newblock Technical Report TR-09-02, Portland State University, Portland, OR,
- USA, February 2009.
-\newblock Available: \url{http://www.cs.pdx.edu/pdfs/tr0902.pdf} [Viewed
- February 19, 2009].
-
-\bibitem[Mic03]{DBLP:conf/europar/Michael03}
-Maged~M. Michael.
-\newblock Cas-based lock-free algorithm for shared deques.
-\newblock In Harald Kosch, L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi, and Hermann
- Hellwagner, editors, {\em Euro-Par}, volume 2790 of {\em Lecture Notes in
- Computer Science}, pages 651--660. Springer, 2003.
-
-\bibitem[Mic04]{MagedMichael04a}
-Maged~M. Michael.
-\newblock Hazard pointers: Safe memory reclamation for lock-free objects.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 15(6):491--504, June 2004.
-
-\bibitem[Mil06]{DavidSMiller2006HashedLocking}
-David~S. Miller.
-\newblock Re: [{PATCH}, {RFC}] {RCU} : {OOM} avoidance and lower latency.
-\newblock Available: \url{https://lkml.org/lkml/2006/1/7/22} [Viewed February
- 29, 2012], January 2006.
-
-\bibitem[MK88]{McKusick88}
-Marshall~Kirk McKusick and Michael~J. Karels.
-\newblock Design of a general purpose memory allocator for the {4.3BSD} {UNIX}
- kernel.
-\newblock In {\em USENIX Conference Proceedings}, Berkeley CA, June 1988.
-
-\bibitem[MLH94]{Magnusson94}
-Peter Magnusson, Anders Landin, and Erik Hagersten.
-\newblock Efficient software synchronization on large cache coherent
- multiprocessors.
-\newblock Technical Report T94:07, Swedish Institute of Computer Science,
- Kista, Sweden, February 1994.
-
-\bibitem[MM00]{Molnar00a}
-Ingo Molnar and David~S. Miller.
-\newblock brlock.
-\newblock Available:
- \url{http://www.tm.kernel.org/pub/linux/kernel/v2.3/patch-html/patch-2.3.49/%
-linux_include_linux_brlock.h.html} [Viewed September 3, 2004], March 2000.
-
-\bibitem[MMTW10]{PaulEMcKenney2010OSRGrassGreener}
-Paul~E. McKenney, Maged~M. Michael, Josh Triplett, and Jonathan Walpole.
-\newblock Why the grass may not be greener on the other side: a comparison of
- locking vs. transactional memory.
-\newblock {\em ACM Operating Systems Review}, 44(3), July 2010.
-
-\bibitem[MMW07]{McKenney2007PLOSTM}
-Paul~E. McKenney, Maged Michael, and Jonathan Walpole.
-\newblock Why the grass may not be greener on the other side: A comparison of
- locking vs. transactional memory.
-\newblock In {\em Programming Languages and Operating Systems}, pages 1--5, New
- York, NY, USA, October 2007. ACM SIGOPS.
-
-\bibitem[Mol05]{IngoMolnar05a}
-Ingo Molnar.
-\newblock Index of /pub/linux/kernel/projects/rt.
-\newblock Available: \url{http://www.kernel.org/pub/linux/kernel/projects/rt/}
- [Viewed February 15, 2005], February 2005.
-
-\bibitem[Mol06]{IngoMolnar2006RobustFutexes}
-Ingo Molnar.
-\newblock Lightweight robust futexes.
-\newblock Available:
- \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/robust-futexes.txt}
- [Viewed May 22, 2011], March 2006.
-
-\bibitem[Moo03]{GordonMoore03a}
-Gordon Moore.
-\newblock No exponential is forever--but we can delay forever.
-\newblock In {\em IBM Academy of Technology 2003 Annual Meeting}, San
- Francisco, CA, October 2003.
-
-\bibitem[MOZ09]{PeterOkech2009InherentRandomness}
-Nicholas {Mc Guire}, Peter~Odhiambo Okech, and Qingguo Zhou.
-\newblock Analysis of inherent randomness of the linux kernel.
-\newblock In {\em Eleventh Real Time Linux Workshop}, Dresden, Germany,
- September 2009.
-
-\bibitem[MPA{\etalchar{+}}06]{WikipediaRCU}
-Paul~E. McKenney, Chris Purcell, Algae, Ben Schumin, Gaius Cornelius, Qwertyus,
- Neil Conway, Sbw, Blainster, Canis Rufus, Zoicon5, Anome, and Hal Eisen.
-\newblock Read-copy update.
-\newblock \url{http://en.wikipedia.org/wiki/Read-copy-update}, July 2006.
-
-\bibitem[{MPI}08]{MPIForum2008}
-{MPI Forum}.
-\newblock Message passing interface forum.
-\newblock Available: \url{http://www.mpi-forum.org/} [Viewed September 9,
- 2008], September 2008.
-
-\bibitem[MR08]{PaulEMcKenney2008dynticksRCU}
-Paul~E. McKenney and Steven Rostedt.
-\newblock Integrating and validating dynticks and preemptable rcu.
-\newblock Available: \url{http://lwn.net/Articles/279077/} [Viewed April 24,
- 2008], April 2008.
-
-\bibitem[MS93]{McKenney93}
-Paul~E. McKenney and Jack Slingwine.
-\newblock Efficient kernel memory allocation on shared-memory multiprocessors.
-\newblock In {\em USENIX Conference Proceedings}, pages 295--306, Berkeley CA,
- February 1993. USENIX Association.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/mpalloc.pdf}
- [Viewed January 30, 2005].
-
-\bibitem[MS96]{MichaelScott96}
-M.M Michael and M.~L. Scott.
-\newblock Simple, fast, and practical non-blocking and blocking concurrent
- queue algorithms.
-\newblock In {\em Proc of the Fifteenth ACM Symposium on Principles of
- Distributed Computing}, pages 267--275, May 1996.
-\newblock Available:
- \url{http://www.research.ibm.com/people/m/michael/podc-1996.pdf} [Viewed
- January 26, 2009].
-
-\bibitem[MS98a]{McKenney98}
-Paul~E. McKenney and John~D. Slingwine.
-\newblock Read-copy update: Using execution history to solve concurrency
- problems.
-\newblock In {\em {Parallel and Distributed Computing and Systems}}, pages
- 509--518, Las Vegas, NV, October 1998.
-
-\bibitem[MS98b]{MagedMichael1993JPDC}
-Maged~M. Michael and Michael~L. Scott.
-\newblock Nonblocking algorithms and preemption-safe locking on multiprogrammed
- shared memory multiprocessors.
-\newblock {\em J. Parallel Distrib. Comput.}, 51(1):1--26, 1998.
-
-\bibitem[MS08]{MySQL2008}
-{MySQL AB} and {Sun Microsystems}.
-\newblock {MySQL Downloads}.
-\newblock Available: \url{http://dev.mysql.com/downloads/} [Viewed November 26,
- 2008], November 2008.
-
-\bibitem[MS09]{PaulEMcKenneyN2745r2009}
-Paul~E. McKenney and Raul Silvera.
-\newblock Example power implementation for c/c++ memory model.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/N2745r.2009.02.27a%
-.html} [Viewed: April 5, 2009], February 2009.
-
-\bibitem[MS12]{AlexanderMatveev2012PessimisticTM}
-Alexander Matveev and Nir Shavit.
-\newblock Towards a fully pessimistic {STM} model.
-\newblock In {\em TRANSACT 2012}. ACM SIGPLAN, February 2012.
-
-\bibitem[MS14]{PaulEMcKenney2014weakaxiom}
-Paul~E. McKenney and Alan Stern.
-\newblock Axiomatic validation of memory barriers and atomic instructions.
-\newblock \url{http://lwn.net/Articles/608550/}, August 2014.
-
-\bibitem[MSK01]{McKenney01e}
-Paul~E. McKenney, Jack Slingwine, and Phil Krueger.
-\newblock Experience with an efficient parallel kernel memory allocator.
-\newblock {\em Software -- Practice and Experience}, 31(3):235--257, March
- 2001.
-
-\bibitem[MSM05]{Mattson2005Textbook}
-Timothy~G. Mattson, Beverly~A. Sanders, and Berna~L. Massingill.
-\newblock {\em Patterns for Parallel Programming}.
-\newblock Addison Wesley, Boston, MA, USA, 2005.
-
-\bibitem[MSS04]{McKenney04a}
-Paul~E. McKenney, Dipankar Sarma, and Maneesh Soni.
-\newblock Scaling dcache with {RCU}.
-\newblock {\em Linux Journal}, 1(118):38--46, January 2004.
-
-\bibitem[MT01]{Martinez01a}
-Jose~F. Martinez and Josep Torrellas.
-\newblock Speculative locks for concurrent execution of critical sections in
- shared-memory multiprocessors.
-\newblock In {\em Workshop on Memory Performance Issues, International
- Symposium on Computer Architecture}, Gothenburg, Sweden, June 2001.
-\newblock Available:
- \url{http://iacoma.cs.uiuc.edu/iacoma-papers/wmpi_locks.pdf} [Viewed June 23,
- 2004].
-
-\bibitem[MT02]{Martinez02a}
-Jose~F. Martinez and Josep Torrellas.
-\newblock Speculative synchronization: Applying thread-level speculation to
- explicitly parallel applications.
-\newblock In {\em Proceedings of the 10\textsuperscript{th} International
- Conference on Architectural Support for Programming Languages and Operating
- Systems}, pages 18--29, San Jose, CA, October 2002.
-
-\bibitem[Mud00]{TrevorMudge2000Power}
-Trevor Mudge.
-\newblock {POWER}: A first-class architectural design constraint.
-\newblock {\em IEEE Computer}, 33(4):52--58, April 2000.
-
-\bibitem[{Mus}04]{CSIRACMuseumVictoria}
-{Museum Victoria Australia}.
-\newblock {CSIRAC}: {Australia's} first computer.
-\newblock Available: \url{http://museumvictoria.com.au/CSIRAC/} [Viewed:
- December 7, 2008], 2004.
-
-\bibitem[MW07]{PaulEMcKenney2007WhatIsRCUFundamentally}
-Paul~E. McKenney and Jonathan Walpole.
-\newblock What is {RCU}, fundamentally?
-\newblock Available: \url{http://lwn.net/Articles/262464/} [Viewed December 27,
- 2007], December 2007.
-
-\bibitem[Mye79]{GlenfordJMyers1979}
-Glenford~J. Myers.
-\newblock {\em The Art of Software Testing}.
-\newblock Wiley, 1979.
-
-\bibitem[Nes06a]{OlegNesterov2006QRCU}
-Oleg Nesterov.
-\newblock Re: [patch] cpufreq: mark {\tt cpufreq\_tsc()} as {\tt
- core\_initcall\_sync}.
-\newblock Available: \url{http://lkml.org/lkml/2006/11/19/69} [Viewed May 28,
- 2007], November 2006.
-
-\bibitem[Nes06b]{OlegNesterov2006aQRCU}
-Oleg Nesterov.
-\newblock Re: [rfc, patch 1/2] qrcu: {"quick"} srcu implementation.
-\newblock Available: \url{http://lkml.org/lkml/2006/11/29/330} [Viewed November
- 26, 2008], November 2006.
-
-\bibitem[ON06]{RobertOlsson2006a}
-Robert Olsson and Stefan Nilsson.
-\newblock {TRASH}: A dynamic {LC}-trie and hash data structure.
-\newblock \url{http://www.nada.kth.se/~snilsson/publications/TRASH/trash.pdf},
- August 2006.
-
-\bibitem[ONH{\etalchar{+}}96]{Olukotun96}
-Kunle Olukotun, Basem~A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang.
-\newblock The case for a single-chip multiprocessor.
-\newblock In {\em ASPLOS VII}, October 1996.
-
-\bibitem[{Ope}97]{OpenGroup1997pthreads}
-{Open Group}.
-\newblock The single {UNIX} specification, version 2: Threads.
-\newblock Available:
- \url{http://www.opengroup.org/onlinepubs/007908799/xsh/threads.html} [Viewed
- September 19, 2008], 1997.
-
-\bibitem[Pat10]{DavidAPatterson2010TroubleMulticore}
-David Patterson.
-\newblock The trouble with multicore.
-\newblock {\em IEEE Spectrum}, 2010:28--32, 52--53, July 2010.
-
-\bibitem[Pet06]{JeremyWPeters2006NYTDec11}
-Jeremy Peters.
-\newblock From reuters, automatic trading linked to news events.
-\newblock Available:
- \url{http://www.nytimes.com/2006/12/11/technology/11reuters.html?ei=5088&en=%
-e5e9416415a9eeb2&ex=1323493200...} [Viewed July 7, 2007], December 2006.
-
-\bibitem[Pig06]{NickPiggin2006radixtree}
-Nick Piggin.
-\newblock [patch 3/3] radix-tree: {RCU} lockless readside.
-\newblock Available: \url{http://lkml.org/lkml/2006/6/20/238} [Viewed March 25,
- 2008], June 2006.
-
-\bibitem[{Pos}08]{PostgreSQL2008}
-{PostgreSQL Global Development Group}.
-\newblock {PostgreSQL}.
-\newblock Available: \url{http://www.postgresql.org/} [Viewed November 26,
- 2008], November 2008.
-
-\bibitem[Pug90]{Pugh90}
-William Pugh.
-\newblock Concurrent maintenance of skip lists.
-\newblock Technical Report CS-TR-2222.1, Institute of Advanced Computer Science
- Studies, Department of Computer Science, University of Maryland, College
- Park, Maryland, June 1990.
-
-\bibitem[Pul00]{GeoffreyKPullum2000HaltingProblem}
-Geoffrey~K. Pullum.
-\newblock How {Dr. Seuss} would prove the halting problem undecidable.
-\newblock {\em Mathematics Magazine}, 73(4):319--320, 2000.
-\newblock \url{http://www.lel.ed.ac.uk/~gpullum/loopsnoop.html}.
-
-\bibitem[PW07]{DonaldEPorter2007TRANSACT}
-Donald~E. Porter and Emmett Witchel.
-\newblock Lessons from large transactional systems.
-\newblock Personal communication
- <20071214220521.GA5721@olive-green.cs.utexas.edu>, December 2007.
-
-\bibitem[Ray99]{EricSRaymond99b}
-Eric~S. Raymond.
-\newblock {\em The Cathedral and the Bazaar: Musings on Linux and Open Source
- by an Accidental Revolutionary}.
-\newblock O'Reilly, 1999.
-
-\bibitem[RD12]{RaviRajwar2012TSX}
-Ravi Rajwar and Martin Dixon.
-\newblock Intel transactional synchronization extensions.
-\newblock Intel Developer Forum (IDF) 2012 ARCS004, September 2012.
-
-\bibitem[Reg10]{JohnRegehr2010UndefinedBehavior}
-John Regehr.
-\newblock A guide to undefined behavior in c and c++, part 1.
-\newblock \url{http://blog.regehr.org/archives/213}, July 2010.
-
-\bibitem[Rei07]{Reinders2007Textbook}
-James Reinders.
-\newblock {\em {Intel} {Threading} {Building} {Blocks}}.
-\newblock O'Reilly, Sebastopol, CA, USA, 2007.
-
-\bibitem[RG01]{Rajwar01a}
-Ravi Rajwar and James~R. Goodman.
-\newblock Speculative lock elision: Enabling highly concurrent multithreaded
- execution.
-\newblock In {\em Proceedings of the 34\textsuperscript{th} Annual ACM/IEEE
- International Symposium on Microarchitecture}, pages 294--305, Austin, TX,
- December 2001. The Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[RG02]{Rajwar02a}
-Ravi Rajwar and James~R. Goodman.
-\newblock Transactional lock-free execution of lock-based programs.
-\newblock In {\em Proceedings of the 10\textsuperscript{th} International
- Conference on Architectural Support for Programming Languages and Operating
- Systems}, pages 5--17, Austin, TX, October 2002.
-
-\bibitem[RH02]{radovic02efficient}
-Zoran Radovi{\'c} and Erik Hagersten.
-\newblock Efficient synchronization for nonuniform communication architectures.
-\newblock In {\em Proceedings of the 2002 ACM/IEEE Conference on
- Supercomputing}, pages 1--13, Baltimore, Maryland, USA, November 2002. The
- Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[RH03]{radovic03hierarchical}
-Zoran Radovi{\'c} and Erik Hagersten.
-\newblock Hierarchical backoff locks for nonuniform communication
- architectures.
-\newblock In {\em Proceedings of the Ninth International Symposium on High
- Performance Computer Architecture ({HPCA-9})}, pages 241--252, Anaheim,
- California, USA, February 2003.
-
-\bibitem[RHP{\etalchar{+}}07]{ChistopherJRossbach2007a}
-Chistopher~J. Rossbach, Owen~S. Hofmann, Donald~E. Porter, Hany~E. Ramadan,
- Aditya Bhandari, and Emmett Witchel.
-\newblock {TxLinux}: Using and managing hardware transactional memory in an
- operating system.
-\newblock In {\em SOSP'07: Twenty-First ACM Symposium on Operating Systems
- Principles}. ACM SIGOPS, October 2007.
-\newblock Available: \url{http://www.sosp2007.org/papers/sosp056-rossbach.pdf}
- [Viewed October 21, 2007].
-
-\bibitem[Ros06]{StevenRostedt2006piFutexes}
-Steven Rostedt.
-\newblock Lightweight {PI-futexes}.
-\newblock Available:
- \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/pi-futex.txt} [Viewed
- May 22, 2011], June 2006.
-
-\bibitem[Ros10a]{StevenRostedt2010perfHP+DeathlyMacros}
-Steven Rostedt.
-\newblock tracing: {Harry} {Potter} and the {Deathly} {Macros}.
-\newblock Available: \url{http://lwn.net/Articles/418710/} [Viewed: August 28,
- 2011], December 2010.
-
-\bibitem[Ros10b]{StevenRostedt2010perfTraceEventP1}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 1).
-\newblock Available: \url{http://lwn.net/Articles/379903/} [Viewed: August 28,
- 2011], March 2010.
-
-\bibitem[Ros10c]{StevenRostedt2010perfTraceEventP2}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 2).
-\newblock Available: \url{http://lwn.net/Articles/381064/} [Viewed: August 28,
- 2011], March 2010.
-
-\bibitem[Ros10d]{StevenRostedt2010perfTraceEventP3}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 3).
-\newblock Available: \url{http://lwn.net/Articles/383362/} [Viewed: August 28,
- 2011], April 2010.
-
-\bibitem[Ros11]{StevenRostedt2011locdepCryptic}
-Steven Rostedt.
-\newblock lockdep: How to read its cryptic output.
-\newblock \url{http://www.linuxplumbersconf.org/2011/ocw/sessions/153},
- September 2011.
-
-\bibitem[Rus03]{RustyRussell2003OLSkeynote}
-Rusty Russell.
-\newblock Hanging out with smart people: or... things {I} learned being a
- kernel monkey.
-\newblock 2003 Ottawa Linux Symposium Keynote
- \url{http://ozlabs.org/~rusty/ols-2003-keynote/ols-keynote-2003.html}, July
- 2003.
-
-\bibitem[SAH{\etalchar{+}}03]{Soules03a}
-Craig A.~N. Soules, Jonathan Appavoo, Kevin Hui, Dilma {Da Silva}, Gregory~R.
- Ganger, Orran Krieger, Michael Stumm, Robert~W. Wisniewski, Marc Auslander,
- Michal Ostrowski, Bryan Rosenburg, and Jimi Xenidis.
-\newblock System support for online reconfiguration.
-\newblock In {\em Proceedings of the 2003 USENIX Annual Technical Conference},
- pages 141--154. USENIX Association, June 2003.
-
-\bibitem[SATG{\etalchar{+}}09]{TatianaShpeisman2009CppTM}
-Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Robert Geva, Yang Ni, and Adam Welc.
-\newblock Towards transactional memory semantics for c++.
-\newblock In {\em SPAA '09: Proceedings of the twenty-first annual symposium on
- Parallelism in algorithms and architectures}, pages 49--58, New York, NY,
- USA, 2009. ACM.
-
-\bibitem[{Sch}35]{ErwinSchroedinger1935Cat}
-E.~{Schr\"odinger}.
-\newblock Die {gegenw\"artige} {Situation} in der {Quantenmechanik}.
-\newblock {\em Naturwissenschaften}, 23:807--812; 823--828; 844--949, November
- 1935.
-\newblock English translation: \url{http://www.tuhh.de/rzt/rzt/it/QM/cat.html}.
-
-\bibitem[Sch94]{Schimmel:1994:USM:175689}
-Curt Schimmel.
-\newblock {\em UNIX Systems for Modern Architectures: Symmetric Multiprocessing
- and Caching for Kernel Programmers}.
-\newblock Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1994.
-
-\bibitem[Sco06]{MichaelScott2006Textbook}
-Michael Scott.
-\newblock {\em Programming Language Pragmatics}.
-\newblock Morgan Kaufmann, Burlington, MA, USA, 2006.
-
-\bibitem[Sco13]{MichaelScott2013Textbook}
-Michael~L. Scott.
-\newblock {\em Shared-Memory Synchronization}.
-\newblock Morgan \& Claypool, San Rafael, CA, USA, 2013.
-
-\bibitem[Sew]{PeterSewell2010weakmemory}
-Peter Sewell.
-\newblock The semantics of multiprocessor programs.
-\newblock Available: \url{http://www.cl.cam.ac.uk/~pes20/weakmemory/} [Viewed:
- June 7, 2010].
-
-\bibitem[Sha11]{Shavit:2011:DSM:1897852.1897873}
-Nir Shavit.
-\newblock Data structures in the multicore age.
-\newblock {\em Commun. ACM}, 54(3):76--84, March 2011.
-
-\bibitem[SHW11]{DanielJSorin2011MemModel}
-Daniel~J. Sorin, Mark~D. Hill, and David~A. Wood.
-\newblock {\em A Primer on Memory Consistency and Cache Coherence}.
-\newblock Synthesis Lectures on Computer Architecture. Morgan \& Claypool,
- 2011.
-
-\bibitem[SM04]{Sarma04c}
-Dipankar Sarma and Paul~E. McKenney.
-\newblock Making {RCU} safe for deep sub-millisecond response realtime
- applications.
-\newblock In {\em Proceedings of the 2004 USENIX Annual Technical Conference
- (FREENIX Track)}, pages 182--191. USENIX Association, June 2004.
-
-\bibitem[SMS08]{SpearMichaelScott2008InevitableSTM}
-Michael Spear, Maged Michael, and Michael Scott.
-\newblock Inevitability mechanisms for software transactional memory.
-\newblock In {\em {3\textsuperscript{rd} ACM SIGPLAN Workshop on Transactional
- Computing}}, New York, NY, USA, February 2008. ACM.
-\newblock Available:
- \url{http://www.cs.rochester.edu/u/scott/papers/2008_TRANSACT_inevitability.%
-pdf} [Viewed January 10, 2009].
-
-\bibitem[SPA94]{SPARC94}
-SPARC International.
-\newblock {\em The {SPARC} Architecture Manual}, 1994.
-
-\bibitem[Spi77]{KeithRSpitz1977}
-Keith~R. Spitz.
-\newblock Tell which is which and you'll be rich.
-\newblock Inscription on wall of dungeon, 1977.
-
-\bibitem[Spr01]{Spraul01}
-Manfred Spraul.
-\newblock Re: {RFC:} patch to allow lock-free traversal of lists with
- insertion.
-\newblock Available:
- \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2}
- [Viewed June 23, 2004], October 2001.
-
-\bibitem[Spr08]{ManfredSpraul2008StateMachineRCU}
-Manfred Spraul.
-\newblock [{RFC}, {PATCH}] state machine based rcu.
-\newblock Available: \url{http://lkml.org/lkml/2008/8/21/336} [Viewed December
- 8, 2008], August 2008.
-
-\bibitem[SR84]{Segall84}
-Z.~Segall and L.~Rudolf.
-\newblock Dynamic decentralized cache schemes for {MIMD} parallel processors.
-\newblock In {\em 11\textsuperscript{th} Annual International Symposium on
- Computer Architecture}, pages 340--347, June 1984.
-
-\bibitem[SRL90a]{Sha1990IEEETransComp}
-L.~Sha, R.~Rajkumar, and J.~P. Lehoczky.
-\newblock Priority inheritance protocols: An approach to real-time
- synchronization.
-\newblock {\em IEEE Trans. Comput.}, 39(9):1175--1185, 1990.
-
-\bibitem[SRL90b]{LuiSha1990PriorityInheritance}
-Lui Sha, Ragunathan Rajkumar, and John~P. Lehoczky.
-\newblock Priority inheritance protocols: An approach to real-time
- synchronization.
-\newblock {\em IEEE Transactions on Computers}, 39(9):1175--1185, 1990.
-
-\bibitem[SS94]{DuaneSzafron1994PEMPDS}
-Duane Szafron and Jonathan Schaeffer.
-\newblock Experimentally assessing the usability of parallel programming
- systems.
-\newblock In {\em IFIP WG10.3 Programming Environments for Massively Parallel
- Distributed Systems}, pages 19.1--19.7, 1994.
-
-\bibitem[SS06]{OriShalev2006SplitOrderListHash}
-Ori Shalev and Nir Shavit.
-\newblock Split-ordered lists: Lock-free extensible hash tables.
-\newblock {\em J. ACM}, 53(3):379--405, May 2006.
-
-\bibitem[SSHT93]{JMStone93}
-Janice~S. Stone, Harold~S. Stone, Philip Heidelberger, and John Turek.
-\newblock Multiple reservations and the {Oklahoma} update.
-\newblock {\em {IEEE} Parallel and Distributed Technology Systems and
- Applications}, 1(4):58--71, November 1993.
-
-\bibitem[SSRB00]{SchmidtStalRohnertBuschmann2000v2Textbook}
-Douglas~C. Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann.
-\newblock {\em Pattern-Oriented Software Architecture Volume 2: Patterns for
- Concurrent and Networked Objects}.
-\newblock Wiley, Chichester, West Sussex, England, 2000.
-
-\bibitem[SSVM02]{McKenney02e}
-S.~Swaminathan, John Stultz, Jack Vogel, and Paul~E. McKenney.
-\newblock Fairlocks -- a high performance fair locking scheme.
-\newblock In {\em Proceedings of the 14\textsuperscript{th} {IASTED}
- International Conference on Parallel and Distributed Computing and Systems},
- pages 246--251, Cambridge, MA, USA, November 2002.
-
-\bibitem[ST87]{Snaman87}
-William~E. Snaman and David~W. Thiel.
-\newblock The {VAX/VMS} distributed lock manager.
-\newblock {\em Digital Technical Journal}, 5:29--44, September 1987.
-
-\bibitem[ST95]{Shavit95}
-Nir Shavit and Dan Touitou.
-\newblock Software transactional memory.
-\newblock In {\em Proceedings of the 14\textsuperscript{th} Annual {ACM}
- Symposium on Principles of Distributed Computing}, pages 204--213, Ottawa,
- Ontario, Canada, August 1995.
-
-\bibitem[Ste92]{WRichardStevens1992}
-W.~Richard Stevens.
-\newblock {\em Advanced Programming in the {UNIX} Environment}.
-\newblock Addison Wesley, 1992.
-
-\bibitem[Sut08]{HerbSutter2008EffectiveConcurrency}
-Herb Sutter.
-\newblock Effective concurrency.
-\newblock Series in Dr. Dobbs Journal, 2008.
-
-\bibitem[Sut13]{AdrianSutton2013LCA:Disruptor}
-Adrian Sutton.
-\newblock Concurrent programming with the {Disruptor}.
-\newblock \url{http://lca2013.linux.org.au/schedule/30168/view_talk}, January
- 2013.
-
-\bibitem[SW95]{ALPHA95}
-Richard~L. Sites and Richard~T. Witek.
-\newblock {\em Alpha {AXP} Architecture}.
-\newblock Digital Press, second edition, 1995.
-
-\bibitem[{The}08]{OpenMPI2008}
-{The Open MPI Project}.
-\newblock {MySQL Downloads}.
-\newblock Available: \url{http://www.open-mpi.org/software/} [Viewed November
- 26, 2008], November 2008.
-
-\bibitem[{The}11]{ValgrindHomePage}
-{The Valgrind Developers}.
-\newblock Valgrind.
-\newblock \url{http://www.valgrind.org/}, November 2011.
-
-\bibitem[{The}12]{OProfileHomePage}
-{The OProfile Developers}.
-\newblock Oprofile.
-\newblock \url{http://oprofile.sourceforge.net}, April 2012.
-
-\bibitem[TMW11]{Triplett:2011:RPHash}
-Josh Triplett, Paul~E. McKenney, and Jonathan Walpole.
-\newblock Resizable, scalable, concurrent hash tables via relativistic
- programming.
-\newblock In {\em Proceedings of the 2011 USENIX Annual Technical Conference},
- pages 145--158, Portland, OR USA, June 2011. The USENIX Association.
-
-\bibitem[Tor01]{LinusTorvalds2001a}
-Linus Torvalds.
-\newblock {Re:} {[Lse-tech]} {Re:} {RFC:} patch to allow lock-free traversal of
- lists with insertion.
-\newblock Available: \url{http://lkml.org/lkml/2001/10/13/105} [Viewed August
- 21, 2004], October 2001.
-
-\bibitem[Tor03]{Torvalds2.6kernel}
-Linus Torvalds.
-\newblock Linux 2.6.
-\newblock Available: \url{ftp://kernel.org/pub/linux/kernel/v2.6} [Viewed June
- 23, 2004], August 2003.
-
-\bibitem[{Tra}01]{TPC}
-{Transaction Processing Performance Council}.
-\newblock {TPC}.
-\newblock Available: \url{http://www.tpc.org/} [Viewed December 7, 2008], 2001.
-
-\bibitem[Tre86]{Treiber86}
-R.~K. Treiber.
-\newblock Systems programming: Coping with parallelism.
-\newblock {RJ} 5118, April 1986.
-
-\bibitem[TS93]{Takada93}
-Hiroaki Takada and Ken Sakamura.
-\newblock A bounded spin lock algorithm with preemption.
-\newblock Technical Report 93-02, University of Tokyo, Tokyo, Japan, 1993.
-
-\bibitem[TS95]{Takada:1995:RSN:527074.828566}
-H.~Takada and K.~Sakamura.
-\newblock Real-time scalability of nested spin locks.
-\newblock In {\em Proceedings of the 2Nd International Workshop on Real-Time
- Computing Systems and Applications}, RTCSA '95, pages 160--, Washington, DC,
- USA, 1995. IEEE Computer Society.
-
-\bibitem[Tur37]{AlanMTuring1937HaltingProblem}
-Alan~M. Turing.
-\newblock On computable numbers, with an application to the
- entscheidungsproblem.
-\newblock In {\em Proceedings of the London Mathematical Society}, volume~42 of
- {\em 2}, pages 230--265, 1937.
-
-\bibitem[Ung11]{DavidUngar2011unsync}
-David Ungar.
-\newblock Everything you know (about parallel programming) is wrong!: A wild
- screed about the future.
-\newblock In {\em Proceedings of the 2011 Systems, Programming Languages and
- Applications: Software for Humanity (SPLASH) Conference}, pages ???--???,
- Portland, OR, USA, October 2011.
-
-\bibitem[{Uni}10]{UMD:CMSC433maze}
-{University of Maryland}.
-\newblock Parallel maze solving.
-\newblock \url{http://www.cs.umd.edu/class/fall2010/cmsc433/p3/}, November
- 2010.
-
-\bibitem[UoC08]{BOINC2008}
-Berkeley University~of California.
-\newblock {BOINC}: compute for science.
-\newblock Available: \url{http://boinc.berkeley.edu/} [Viewed January 31,
- 2008], October 2008.
-
-\bibitem[VGS08]{Volos2008TRANSACT}
-Haris Volos, Neelam Goyal, and Michael~M. Swift.
-\newblock Pathological interaction of locks with transactional memory.
-\newblock In {\em 3rd ACM SIGPLAN Workshop on Transactional Computing}, New
- York, NY, USA, February 2008. ACM.
-\newblock Available:
- \url{http://www.cs.wisc.edu/multifacet/papers/transact08_txlock.pdf} [Viewed
- September 7, 2009].
-
-\bibitem[Vog09]{WernerVogels:2009:EventuallyConsistent}
-Werner Vogels.
-\newblock Eventually consistent.
-\newblock {\em Commun. ACM}, 52:40--44, January 2009.
-
-\bibitem[Wei12]{FredericWeisbecker2013nohz}
-Fr\'{e}d\'{e}ric Weisbecker.
-\newblock Interruption timer p\'{e}riodic.
-\newblock \url{https://kernel-recipes.org/?page_id=410}, 2012.
-
-\bibitem[Wei13]{StewartWeiss2013UNIX}
-Stewart Weiss.
-\newblock Unix lecture notes.
-\newblock Available:
- \url{http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/unix_lectur%
-e_notes/} [Viewed April 8, 2014], May 2013.
-
-\bibitem[{Wik}08]{z80Wikipedia}
-{Wikipedia}.
-\newblock {Zilog Z80}.
-\newblock Available: \url{http://en.wikipedia.org/wiki/Z80} [Viewed: December
- 7, 2008], 2008.
-
-\bibitem[Wik12]{WikipediaLabyrinth}
-Wikipedia.
-\newblock Labyrinth.
-\newblock \url{http://en.wikipedia.org/wiki/Labyrinth}, January 2012.
-
-\bibitem[Wil12]{AnthonyWilliams2012}
-Anthony Williams.
-\newblock {\em C++ Concurrency in Action: Practical Multithreading}.
-\newblock Manning, Shelter Island, NY, USA, 2012.
-
-\bibitem[WKS94]{Wisniewski94}
-Robert~W. Wisniewski, Leonidas Kontothanassis, and Michael~L. Scott.
-\newblock Scalable spin locks for multiprogrammed systems.
-\newblock In {\em 8\textsuperscript{th} IEEE Int'l. Parallel Processing
- Symposium}, Cancun, Mexico, April 1994. The Institute of Electrical and
- Electronics Engineers, Inc.
-
-\bibitem[WTS96]{Cai-DongWang1996PrioInherLock}
-Cai-Dong Wang, Hiroaki Takada, and Ken Sakamura.
-\newblock Priority inheritance spin locks for multiprocessor real-time systems.
-\newblock In {\em Proceedings of the 2Nd International Workshop on Real-Time
- Computing Systems and Applications}, ISPAN '96, pages 70--76, Washington, DC,
- USA, 1996. IEEE Computer Society.
-
-\bibitem[xen14]{Xenomai2014}
-xenomai.org.
-\newblock Xenomai.
-\newblock \url{http://xenomai.org/}, December 2014.
-
-\bibitem[Xu10]{HerbertXu2010RCUResizeHash}
-Herbert Xu.
-\newblock bridge: Add core {IGMP} snooping support.
-\newblock Available: \url{http://thread.gmane.org/gmane.linux.network/153338}
- [Viewed March 20, 2011], February 2010.
-
-\bibitem[Yod04a]{Yodaiken2004FSM}
-Victor Yodaiken.
-\newblock Against priority inheritance.
-\newblock Available: \url{http://www.yodaiken.com/papers/inherit.pdf} [Viewed
- May 26, 2007], September 2004.
-
-\bibitem[Yod04b]{VictorYodaiken2004a}
-Victor Yodaiken.
-\newblock Temporal inventory and real-time synchronization in {RTLinuxPro}.
-\newblock Available: \url{http://www.yodaiken.com/papers/sync.pdf} [Viewed
- December 24, 2008], September 2004.
-
-\end{thebibliography}
diff --git a/perfbook-hb.bbl b/perfbook-hb.bbl
deleted file mode 100644
index 9839e8d..0000000
--- a/perfbook-hb.bbl
+++ /dev/null
@@ -1,1949 +0,0 @@
-\newcommand{\etalchar}[1]{$^{#1}$}
-\begin{thebibliography}{EGMdB11}
-
-\bibitem[AAKL06]{CScottAnanian2006}
-C.~Scott Ananian, Krste Asanovic, Bradley~C. Kuszmaul, and Charles~E.
- Leiserson.
-\newblock Unbounded transactional memory.
-\newblock {\em IEEE Micro}, pages 59--69, January-February 2006.
-\newblock Available:
- \url{http://www.cag.csail.mit.edu/scale/papers/utm-ieeemicro2006.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[AB13]{SamyAlBahra2013NBS}
-Samy Al~Bahra.
-\newblock Nonblocking algorithms and scalable multicore programming.
-\newblock {\em Commun. ACM}, 56(7):50--61, July 2013.
-
-\bibitem[ABD{\etalchar{+}}97]{Anderson97}
-Jennifer~M. Anderson, Lance~M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika~R.
- Henzinger, Shun-Tak~A. Leung, Richard~L. Sites, Mark~T. Vandevoorde, Carl~A.
- Waldspurger, and William~E. Weihl.
-\newblock Continuous profiling: Where have all the cycles gone?
-\newblock In {\em Proceedings of the 16\textsuperscript{th} ACM Symposium on
- Operating Systems Principles}, pages 1--14, New York, NY, October 1997.
-
-\bibitem[aCB08]{SETIatHOME2008}
-University at~California~Berkeley.
-\newblock {SETI}@{HOME}.
-\newblock Available: \url{http://setiathome.berkeley.edu/} [Viewed January 31,
- 2008], December 2008.
-
-\bibitem[ACHS13]{DanAlitarh2013PracticalProgress}
-Dan Alistarh, Keren Censor-Hillel, and Nir Shavit.
-\newblock Are lock-free concurrent algorithms practically wait-free?
-\newblock ArXiv:1311.3200v2, December 2013.
-
-\bibitem[ACMS03]{Arcangeli03}
-Andrea Arcangeli, Mingming Cao, Paul~E. McKenney, and Dipankar Sarma.
-\newblock Using read-copy update techniques for {System V IPC} in the {Linux}
- 2.5 kernel.
-\newblock In {\em Proceedings of the 2003 USENIX Annual Technical Conference
- (FREENIX Track)}, pages 297--310. USENIX Association, June 2003.
-
-\bibitem[Ada11]{AndrewAdamatzky2011SlimeMold}
-Andrew Adamatzky.
-\newblock Slime mould solves maze in one pass . . . assisted by gradient of
- chemo-attractants.
-\newblock \url{http://arxiv.org/abs/1108.4956}, August 2011.
-
-\bibitem[Adv02]{AMDOpteron02}
-Advanced Micro Devices.
-\newblock {\em AMD x86-64 Architecture Programmer's Manual Volumes 1-5}, 2002.
-
-\bibitem[Adv07]{AMDOpteron:2:2007}
-Advanced Micro Devices.
-\newblock {\em AMD x86-64 Architecture Programmer's Manual Volume 2: System
- Programming}, 2007.
-
-\bibitem[AGH{\etalchar{+}}11a]{HagitAttiya2011LawsOfOrder}
-Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov, Maged~M.
- Michael, and Martin Vechev.
-\newblock Laws of order: Expensive synchronization in concurrent algorithms
- cannot be eliminated.
-\newblock In {\em 38\textsuperscript{th} ACM SIGACT-SIGPLAN Symposium on
- Principles of Programming Languages}, pages 487--498, New York, NY, USA,
- 2011. ACM.
-
-\bibitem[AGH{\etalchar{+}}11b]{Attiya:2011:LOE:1925844.1926442}
-Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov, Maged~M.
- Michael, and Martin Vechev.
-\newblock Laws of order: Expensive synchronization in concurrent algorithms
- cannot be eliminated.
-\newblock {\em SIGPLAN Not.}, 46(1):487--498, January 2011.
-
-\bibitem[AKT13]{JadeAlglave2013-cav}
-Jade Alglave, Daniel Kroening, and Michael Tautschnig.
-\newblock Partial orders for efficient {Bounded Model Checking} of concurrent
- software.
-\newblock In {\em Computer Aided Verification (CAV)}, volume 8044 of {\em
- LNCS}, pages 141--157. Springer, 2013.
-
-\bibitem[Ale79]{Alexander79}
-Christopher Alexander.
-\newblock {\em The Timeless Way of Building}.
-\newblock Oxford University Press, New York, 1979.
-
-\bibitem[Amd67]{GeneAmdahl1967AmdahlsLaw}
-Gene Amdahl.
-\newblock Validity of the single processor approach to achieving large-scale
- computing capabilities.
-\newblock In {\em AFIPS Conference Proceedings}, pages 483--485, Washington,
- DC, USA, 1967. IEEE Computer Society.
-
-\bibitem[AMP{\etalchar{+}}11]{JadeAlglave2011ppcmem}
-Jade Alglave, Luc Maranget, Pankaj Pawan, Susmit Sarkar, Peter Sewell, Derek
- Williams, and Francesco~Zappa Nardelli.
-\newblock {PPCMEM/ARMMEM}: A tool for exploring the {POWER} and {ARM} memory
- models.
-\newblock
- \url{http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/pldi105-sarkar.pdf},
- June 2011.
-
-\bibitem[And90]{Anderson90}
-T.~E. Anderson.
-\newblock The performance of spin lock alternatives for shared-memory
- multiprocessors.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 1(1):6--16, January 1990.
-
-\bibitem[And91]{Andrews91textbook}
-Gregory~R. Andrews.
-\newblock {\em Concurrent Programming, Principles, and Practices}.
-\newblock Benjamin Cummins, 1991.
-
-\bibitem[ARM10]{ARMv7A:2010}
-ARM Limited.
-\newblock {\em ARM Architecture Reference Manual: ARMv7-A and ARMv7-R Edition},
- 2010.
-
-\bibitem[ATC{\etalchar{+}}11]{EgeAkpinar2011HTM2TLE}
-Ege Akpinar, Sasa Tomic, Adrian Cristal, Osman Unsal, and Mateo Valero.
-\newblock A comprehensive study of conflict resolution policies in hardware
- transactional memory.
-\newblock In {\em TRANSACT 2011}. ACM SIGPLAN, June 2011.
-
-\bibitem[ATS09]{Ali-Reza-Adl-Tabatabai2009CppTM}
-Ali-Reza Adl-Tabatabai and Tatiana Shpeisman.
-\newblock Draft specification of transactional language constructs for c++.
-\newblock
- http://research.sun.com/scalable/pubs/C++-transactional-constructs-1.0.pdf,
- August 2009.
-
-\bibitem[BA01]{Bonwick01slab}
-Jeff Bonwick and Jonathan Adams.
-\newblock Magazines and vmem: Extending the slab allocator to many {CPUs} and
- arbitrary resources.
-\newblock In {\em {USENIX} Annual Technical Conference, General Track 2001},
- pages 15--33, 2001.
-
-\bibitem[Bec11]{PeteBecker2011N3242}
-Pete Becker.
-\newblock Working draft, standard for programming language {C++}.
-\newblock
- \url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf},
- February 2011.
-
-\bibitem[BG87]{BERT-87}
-D.~Bertsekas and R.~Gallager.
-\newblock {\em Data Networks}.
-\newblock Prentice-Hall, Inc., 1987.
-
-\bibitem[BHG87]{PhilipABernstein1987}
-Philip~A. Bernstein, Vassos Hadzilacos, and Nathan Goodman.
-\newblock {\em Concurrency Control and Recovery in Database Systems}.
-\newblock Addison Wesley Publishing Company, 1987.
-
-\bibitem[BHS07]{BuschmannHenneySchmidt2007v4Textbook}
-Frank Buschmann, Kevlin Henney, and Douglas~C. Schmidt.
-\newblock {\em Pattern-Oriented Software Architecture Volume 4: A Pattern
- Language for Distributed Computing}.
-\newblock Wiley, Chichester, West Sussex, England, 2007.
-
-\bibitem[BK85]{Beck85}
-Bob Beck and Bob Kasten.
-\newblock {VLSI} assist in building a multiprocessor {UNIX} system.
-\newblock In {\em USENIX Conference Proceedings}, pages 255--275, Portland, OR,
- June 1985. USENIX Association.
-
-\bibitem[BLM05]{Blundell2005DebunkTM}
-C.~Blundell, E.~C. Lewis, and M.~Martin.
-\newblock Deconstructing transactional semantics: The subtleties of atomicity.
-\newblock In {\em Annual Workshop on Duplicating, Deconstructing, and Debunking
- (WDDD)}, June 2005.
-\newblock Available:
- \url{http://www.cis.upenn.edu/acg/papers/wddd05_atomic_semantics.pdf} [Viewed
- June 4, 2009].
-
-\bibitem[BLM06]{Blundell2006TMdeadlock}
-C.~Blundell, E.~C. Lewis, and M.~Martin.
-\newblock Subtleties of transactional memory and atomicity semantics.
-\newblock {\em Computer Architecture Letters}, 5(2), 2006.
-\newblock Available:
- \url{http://www.cis.upenn.edu/acg/papers/cal06_atomic_semantics.pdf} [Viewed
- June 4, 2009].
-
-\bibitem[BMMM05]{LukeBrowning2005SimpleLockNUMAAware}
-Luke Browning, Thomas Mathews, Paul~E. McKenney, and James Moody.
-\newblock Apparatus, method, and computer program product for converting simple
- locks in a multiprocessor system.
-\newblock Technical Report US Patent 6,842,809, US Patent and Trademark Office,
- Washington, DC, January 2005.
-
-\bibitem[Boe09]{HansJBoehm2009HOTPAR}
-Hans-J. Boehm.
-\newblock Transactional memory should be an implementation technique, not a
- programming interface.
-\newblock In {\em HOTPAR 2009}, page~6, Berkeley, CA, USA, March 2009.
-\newblock Available:
- \url{http://www.usenix.org/event/hotpar09/tech/full_papers/boehm/boehm.pdf}
- [Viewed May 24, 2009].
-
-\bibitem[Bow06]{RichardBornat2006SheepGoats}
-Maggie Bowman.
-\newblock Dividing the sheep from the goats.
-\newblock url={http://www.cs.kent.ac.uk/news/2006/RBornat/}, February 2006.
-
-\bibitem[Bra07]{RegBraithwaite2007FizzBuzz}
-Reg Braithwaite.
-\newblock Don't overthink fizzbuzz.
-\newblock
- url={http://weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz.html},
- January 2007.
-
-\bibitem[Bra11]{BjoernBrandenburgPhD}
-Bj\"orn Brandenburg.
-\newblock {\em Scheduling and Locking in Multiprocessor Real-Time Operating
- Systems}.
-\newblock PhD thesis, The University of North Carolina at Chapel Hill, 2011.
-
-\bibitem[But97]{Butenhof1997pthreads}
-David Butenhof.
-\newblock {\em Programming with {POSIX} Threads}.
-\newblock Addison-Wesley, Boston, MA, USA, 1997.
-
-\bibitem[BW14]{SilasBoydWickizerPhD}
-Silas Boyd-Wickizer.
-\newblock {\em Optimizing Communications Bottlenecks in Multiprocessor
- Operating Systems Kernels}.
-\newblock PhD thesis, Massachusetts Institute of Technology, 2014.
-
-\bibitem[CBM{\etalchar{+}}08]{CalinCascaval2008tmtoy}
-Calin Cascaval, Colin Blundell, Maged Michael, Harold~W. Cain, Peng Wu,
- Stefanie Chiras, and Siddhartha Chatterjee.
-\newblock Software transactional memory: Why is it only a research toy?
-\newblock {\em ACM Queue}, September 2008.
-
-\bibitem[CHP71]{Courtois71}
-P.~J. Courtois, F.~Heymans, and D.~L. Parnas.
-\newblock Concurrent control with ``readers'' and ``writers''.
-\newblock {\em Communications of the {ACM}}, 14(10):667--668, October 1971.
-
-\bibitem[CKZ12]{AustinClements2012RCULinux:mmapsem}
-Austin Clements, Frans Kaashoek, and Nickolai Zeldovich.
-\newblock Scalable address spaces using {RCU} balanced trees.
-\newblock In {\em Architectural Support for Programming Languages and Operating
- Systems (ASPLOS 2012)}, pages 199--210, London, UK, March 2012. ACM.
-
-\bibitem[CKZ{\etalchar{+}}13]{Clements:2013:SCR:2517349.2522712}
-Austin~T. Clements, M.~Frans Kaashoek, Nickolai Zeldovich, Robert~T. Morris,
- and Eddie Kohler.
-\newblock The scalable commutativity rule: Designing scalable software for
- multicore processors.
-\newblock In {\em Proceedings of the Twenty-Fourth ACM Symposium on Operating
- Systems Principles}, SOSP '13, pages 1--17, New York, NY, USA, 2013. ACM.
-
-\bibitem[Cli09]{CliffClick2009AzulHTM}
-Cliff Click.
-\newblock And now some hardware transactional memory comments...
-\newblock
- http://www.azulsystems.com/blog/cliff-click/2009-02-25-and-now-some-hardware%
--transactional-memory-comments, February 2009.
-
-\bibitem[CLRS01]{ThomasHCorman2001Algorithms}
-T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C.~Stein.
-\newblock {\em Introduction to Algorithms, Second Edition}.
-\newblock MIT electrical engineering and computer science series. MIT Press,
- 2001.
-
-\bibitem[{Com}01]{Compaq01}
-{Compaq Computer Corporation}.
-\newblock Shared memory, threads, interprocess communication.
-\newblock Available: \url{http://www.openvms.compaq.com/wizard/wiz_2637.html},
- August 2001.
-
-\bibitem[Cor04]{JonathanCorbet2004sparse}
-Jonathan Corbet.
-\newblock Finding kernel problems automatically.
-\newblock \url{http://lwn.net/Articles/87538/}, June 2004.
-
-\bibitem[Cor06a]{JonathanCorbet2006lockdep}
-Jonathan Corbet.
-\newblock The kernel lock validator.
-\newblock Available: \url{http://lwn.net/Articles/185666/} [Viewed: March 26,
- 2010], May 2006.
-
-\bibitem[Cor06b]{JonathanCorbet2006PriorityInheritance}
-Jonathan Corbet.
-\newblock Priority inheritance in the kernel.
-\newblock Available: \url{http://lwn.net/Articles/178253/} [Viewed June 29,
- 2009], April 2006.
-
-\bibitem[Cor12]{JonCorbet2012ACCESS:ONCE}
-Jon Corbet.
-\newblock {ACCESS\_ONCE()}.
-\newblock \url{http://lwn.net/Articles/508991/}, August 2012.
-
-\bibitem[Cra93]{Craig93}
-Travis Craig.
-\newblock Building {FIFO} and priority-queuing spin locks from atomic swap.
-\newblock Technical Report 93-02-02, University of Washington, Seattle,
- Washington, February 1993.
-
-\bibitem[CRKH05]{CorbetRubiniKroahHartman}
-Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.
-\newblock {\em Linux Device Drivers}.
-\newblock O'Reilly Media, Inc., third edition, 2005.
-
-\bibitem[CSG99]{DavidECuller1999}
-David~E. Culler, Jaswinder~Pal Singh, and Anoop Gupta.
-\newblock {\em Parallel Computer Architecture: a Hardware/Software Approach}.
-\newblock Morgan Kaufman, 1999.
-
-\bibitem[Dat82]{Date82}
-C.~J. Date.
-\newblock {\em An Introduction to Database Systems}, volume~1.
-\newblock Addison-Wesley Publishing Company, 1982.
-
-\bibitem[DBA09]{SaeedDehnadi2009SheepGoats}
-Saeed Dehnadi, Richard Bornat, and Ray Adams.
-\newblock Meta-analysis of the effect of consistency on success in early
- learning of programming.
-\newblock In {\em PPIG 2009}, pages 1--13, University of Limerick, Ireland,
- June 2009. Psychology of Programming Interest Group.
-
-\bibitem[DCW{\etalchar{+}}11]{LukeDalessandro:2011:ASPLOS:HybridNOrecSTM:deque}
-Luke Dalessandro, Francois Carouge, Sean White, Yossi Lev, Mark Moir,
- Michael~L. Scott, and Michael~F. Spear.
-\newblock Hybrid {NOrec}: A case study in the effectiveness of best effort
- hardware transactional memory.
-\newblock In {\em Proceedings of the 16th International Conference on
- Architectural Support for Programming Languages and Operating Systems
- (ASPLOS)}, ASPLOS '11, pages ???--???, New York, NY, USA, 2011. ACM.
-
-\bibitem[DD09]{MathieuDesnoyers2009LFCollabSummit}
-Mathieu Desnoyers and Michel~R. Dagenais.
-\newblock Lttng, filling the gap between kernel instrumentation and a widely
- usable kernel tracer.
-\newblock Available:
- \url{http://events.linuxfoundation.org/slides/lfcs09_desnoyers_paper.pdfSimi%
-lar} [Viewed: August 28, 2011], April 2009.
-
-\bibitem[Des09]{MathieuDesnoyers2009URCU}
-Mathieu Desnoyers.
-\newblock [{RFC} git tree] userspace {RCU} (urcu) for {Linux}.
-\newblock \url{http://urcu.so}, February 2009.
-
-\bibitem[DFGG11]{AleksandarDragovejic2011STMnotToy}
-Aleksandar Dragovejic, Pascal Felber, Vincent Gramoli, and Rachid Guerraoui.
-\newblock Why {STM} can be more than a research toy.
-\newblock {\em Communications of the ACM}, pages 70--77, April 2011.
-
-\bibitem[DHJ{\etalchar{+}}07]{DeCandia:2007:DAH:1323293.1294281}
-Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati,
- Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall,
- and Werner Vogels.
-\newblock Dynamo: Amazon's highly available key-value store.
-\newblock {\em SIGOPS Oper. Syst. Rev.}, 41(6):205--220, October 2007.
-
-\bibitem[DHK12]{VijayDSilva2012-sas}
-Vijay D'Silva, Leopold Haller, and Daniel Kroening.
-\newblock Satisfiability solvers are static analyzers.
-\newblock In {\em Static Analysis Symposium (SAS)}, volume 7460 of {\em LNCS},
- pages 317--333. Springer, 2012.
-
-\bibitem[DHL{\etalchar{+}}08]{DaveDice2008TransactLockElision}
-Dave Dice, Maurice Herlihy, Doug Lea, Yossi Lev, Victor Luchangco, Wayne
- Mesard, Mark Moir, Kevin Moore, and Dan Nussbaum.
-\newblock Applications of the adaptive transactional memory test platform.
-\newblock In {\em 3\textsuperscript{rd} ACM SIGPLAN Workshop on Transactional
- Computing}, pages 1--10, Salt Lake City, UT, USA, February 2008.
-
-\bibitem[Dij65]{Dijkstra65a}
-E.~W. Dijkstra.
-\newblock Solution of a problem in concurrent programming control.
-\newblock {\em Communications of the {ACM}}, 8(9):569, Sept 1965.
-
-\bibitem[Dij68]{Dijkstra:1968:LEG:362929.362947}
-Edsger~W. Dijkstra.
-\newblock Letters to the editor: Go to statement considered harmful.
-\newblock {\em Commun. ACM}, 11(3):147--148, March 1968.
-
-\bibitem[Dij71]{Dijkstra1971HOoSP}
-Edsger~W. Dijkstra.
-\newblock Hierarchical ordering of sequential processes.
-\newblock {\em Acta Informatica}, 1(2):115--138, 1971.
-\newblock Available:
- \url{http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF} [Viewed January
- 13, 2008].
-
-\bibitem[DLM{\etalchar{+}}10]{DavidDice:2010:SCA:HTM:deque}
-Dave Dice, Yossi Lev, Virendra~J. Marathe, Mark Moir, Dan Nussbaum, and Marek
- Oleszewski.
-\newblock Simplifying concurrent algorithms by exploiting hardware
- transactional memory.
-\newblock In {\em Proceedings of the 22nd ACM symposium on Parallelism in
- algorithms and architectures}, SPAA '10, pages 325--334, New York, NY, USA,
- 2010. ACM.
-
-\bibitem[DLMN09]{DaveDice2009ASPLOSRockHTM}
-Dave Dice, Yossi Lev, Mark Moir, and Dan Nussbaum.
-\newblock Early experience with a commericial hardware transactional memory
- implementation.
-\newblock In {\em Fourteenth International Conference on Architectural Support
- for Programming Languages and Operating Systems (ASPLOS '09)}, pages
- 157--168, Washington, DC, USA, March 2009.
-\newblock Available:
- \url{http://research.sun.com/scalable/pubs/ASPLOS2009-RockHTM.pdf} [Viewed
- February 4, 2009].
-
-\bibitem[DMS{\etalchar{+}}12]{MathieuDesnoyers2012URCU}
-Mathieu Desnoyers, Paul~E. McKenney, Alan Stern, Michel~R. Dagenais, and
- Jonathan Walpole.
-\newblock User-level implementations of read-copy update.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 23:375--382, 2012.
-
-\bibitem[Dov90]{Dove90}
-Ken~F. Dove.
-\newblock A high capacity {TCP/IP} in parallel {STREAMS}.
-\newblock In {\em UKUUG Conference Proceedings}, London, June 1990.
-
-\bibitem[Dre11]{UlrichDrepper2011Futexes}
-Ulrich Drepper.
-\newblock Futexes are tricky.
-\newblock Technical Report FAT2011, Red Hat, Inc., Raleigh, NC, USA, November
- 2011.
-
-\bibitem[DSS06]{DaveDice2006DISC}
-Dave Dice, Ori Shalev, and Nir Shavit.
-\newblock Transactional locking {II}.
-\newblock In {\em Proc. International Symposium on Distributed Computing}.
- Springer Verlag, 2006.
-\newblock Available:
- \url{http://www.springerlink.com/content/5688h5q0w72r54x0/} [Viewed March 10,
- 2008].
-
-\bibitem[EGCD03]{ElGhazawi2003UPC}
-T.~A. El-Ghazawi, W.~W. Carlson, and J.~M. Draper.
-\newblock {UPC} language specifications v1.1.
-\newblock Available: \url{http://upc.gwu.edu} [Viewed September 19, 2008], May
- 2003.
-
-\bibitem[EGMdB11]{LinuxKernelPerfWiki}
-Stephane Eranian, Eric Gouriou, Tipp Moseley, and Willem de~Bruijn.
-\newblock Linux kernel profiling with perf.
-\newblock \url{https://perf.wiki.kernel.org/index.php/Tutorial}, June 2011.
-
-\bibitem[Ell80]{Ellis80}
-Carla~Schlatter Ellis.
-\newblock Concurrent search and insertion in avl trees.
-\newblock {\em IEEE Transactions on Computers}, C-29(9):811--817, September
- 1980.
-
-\bibitem[ELLM07]{FaithEllen:2007:SNZI}
-Faith Ellen, Yossi Lev, Victor Luchangco, and Mark Moir.
-\newblock Snzi: scalable nonzero indicators.
-\newblock In {\em Proceedings of the twenty-sixth annual ACM symposium on
- Principles of distributed computing}, PODC '07, pages 13--22, New York, NY,
- USA, 2007. ACM.
-
-\bibitem[Eng68]{DouglasEngelbart1968}
-Douglas Engelbart.
-\newblock The demo.
-\newblock Available:
- \url{http://video.google.com/videoplay?docid=-8734787622017763097} [Viewed
- November 28, 2008], December 1968.
-
-\bibitem[ENS05]{RyanEccles2005HPCSNovice}
-Ryan Eccles, Blair Nonneck, and Deborah~A. Stacey.
-\newblock Exploring parallel programming knowledge in the novice.
-\newblock In {\em HPCS '05: Proceedings of the 19th International Symposium on
- High Performance Computing Systems and Applications}, pages 97--102,
- Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[Eri08]{ChristerEricson2008GPUMaze}
-Christer Ericson.
-\newblock Aiding pathfinding with cellular automata.
-\newblock \url{http://realtimecollisiondetection.net/blog/?p=57}, June 2008.
-
-\bibitem[ES90]{MargaretAEllis1990Cplusplus}
-Margaret~A. Ellis and Bjarne Stroustrup.
-\newblock {\em The Annotated {C++} Reference Manual}.
-\newblock Addison Wesley, 1990.
-
-\bibitem[ES05]{RyanEccles2006HPCSNoviceNeeds}
-Ryan Eccles and Deborah~A. Stacey.
-\newblock Understanding the parallel programmer.
-\newblock In {\em HPCS '05: Proceedings of the 19th International Symposium on
- High Performance Computing Systems and Applications}, pages 156--160,
- Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[{ETH}11]{ETHZurich:FS2011maze}
-{ETH Zurich}.
-\newblock Parallel solver for a perfect maze.
-\newblock
- \url{http://nativesystems.inf.ethz.ch/pub/Main/WebHomeLecturesParallelProgra%
-mmingExercises/pp2011hw04.pdf}, March 2011.
-
-\bibitem[Fel50]{Feller58}
-W.~Feller.
-\newblock {\em An Introduction to Probability Theory and its Applications}.
-\newblock John Wiley, 1950.
-
-\bibitem[Fos10]{RonFosner2010maze}
-Ron Fosner.
-\newblock Scalable multithreaded programming with tasks.
-\newblock {\em MSDN Magazine}, 2010(11):60--69, November 2010.
-\newblock \url{http://msdn.microsoft.com/en-us/magazine/gg309176.aspx}.
-
-\bibitem[FPB79]{Brooks79}
-Jr. Frederick P.~Brooks.
-\newblock {\em The Mythical Man-Month}.
-\newblock Addison-Wesley, 1979.
-
-\bibitem[FRK02]{HubertusFrancke2002Futex}
-Hubertus Francke, Rusty Russell, and Matthew Kirkwood.
-\newblock Fuss, futexes and furwocks: Fast userlevel locking in linux.
-\newblock In {\em {Ottawa Linux Symposium}}, pages 479--495, June 2002.
-\newblock Available:
- \url{http://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf} [Viewed
- May 22, 2011].
-
-\bibitem[Gar90]{Garg90}
-Arun Garg.
-\newblock Parallel {STREAMS}: a multi-processor implementation.
-\newblock In {\em USENIX Conference Proceedings}, pages 163--176, Berkeley CA,
- February 1990. USENIX Association.
-
-\bibitem[Gar07]{BryanGardiner2007}
-Bryan Gardiner.
-\newblock Idf: Gordon moore predicts end of moore's law (again).
-\newblock Available:
- \url{http://blog.wired.com/business/2007/09/idf-gordon-mo-1.html} [Viewed:
- November 28, 2008], September 2007.
-
-\bibitem[GC96]{Cheriton96a}
-Michael Greenwald and David~R. Cheriton.
-\newblock The synergy between non-blocking synchronization and operating system
- structure.
-\newblock In {\em Proceedings of the Second Symposium on Operating Systems
- Design and Implementation}, pages 123--136, Seattle, WA, October 1996. USENIX
- Association.
-
-\bibitem[GDZE10]{Golovanevsky:2010:TDL:2174824.2174835}
-Olga Golovanevsky, Alon Dayan, Ayal Zaks, and David Edelsohn.
-\newblock Trace-based data layout optimizations for multi-core processors.
-\newblock In {\em Proceedings of the 5th International Conference on High
- Performance Embedded Architectures and Compilers}, HiPEAC'10, pages 81--95,
- Berlin, Heidelberg, 2010. Springer-Verlag.
-
-\bibitem[GG14]{Gramoli:2014:DTP:2541883.2541900}
-Vincent Gramoli and Rachid Guerraoui.
-\newblock Democratizing transactional programming.
-\newblock {\em Commun. ACM}, 57(1):86--93, January 2014.
-
-\bibitem[Gha95]{Gharachorloo95}
-Kourosh Gharachorloo.
-\newblock Memory consistency models for shared-memory multiprocessors.
-\newblock Technical Report CSL-TR-95-685, Computer Systems Laboratory,
- Departments of Electrical Engineering and Computer Science, Stanford
- University, Stanford, CA, December 1995.
-\newblock Available:
- \url{http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-9.pdf} [Viewed:
- October 11, 2004].
-
-\bibitem[GHJV95]{GOF95}
-Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
-\newblock {\em Design Patterns: Elements of Reusable Object-Oriented Software}.
-\newblock Addison-Wesley, 1995.
-
-\bibitem[GKAS99]{Gamsa99}
-Ben Gamsa, Orran Krieger, Jonathan Appavoo, and Michael Stumm.
-\newblock Tornado: Maximizing locality and concurrency in a shared memory
- multiprocessor operating system.
-\newblock In {\em {Proceedings of the 3\textsuperscript{rd} Symposium on
- Operating System Design and Implementation}}, pages 87--100, New Orleans, LA,
- February 1999.
-
-\bibitem[GKP13]{JustinGottschlich2013TMdebug}
-Justin Gottschlich, Rob Knauerhase, and Gilles Pokam.
-\newblock But how do we really debug transactional memory?
-\newblock In {\em 5\textsuperscript{th} USENIX Workshop on Hot Topics in
- Parallelism (HotPar 2013)}, San Jose, CA, USA, June 2013.
-
-\bibitem[GKPS95]{BenjaminGamsa95a}
-Ben Gamsa, Orran Krieger, E.~Parsons, and Michael Stumm.
-\newblock Performance issues for multiprocessor operating systems.
-\newblock Technical Report CSRI-339, Available:
- ftp://ftp.cs.toronto.edu/pub/reports/csri/339/339.ps, November 1995.
-
-\bibitem[GMTW08]{DinakarGuniguntala2008IBMSysJ}
-D.~Guniguntala, P.~E. McKenney, J.~Triplett, and J.~Walpole.
-\newblock The read-copy-update mechanism for supporting real-time applications
- on shared-memory multiprocessor systems with {Linux}.
-\newblock {\em IBM Systems Journal}, 47(2):221--236, May 2008.
-
-\bibitem[GPB{\etalchar{+}}07]{Goetz2007Textbook}
-Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug
- Lea.
-\newblock {\em Java: Concurrency in Practice}.
-\newblock Addison Wesley, Upper Saddle River, NJ, USA, 2007.
-
-\bibitem[Gra02]{JimGray2002SmokingHairyGolfBalls}
-Jim Gray.
-\newblock Super-servers: Commodity computer clusters pose a software challenge.
-\newblock Available:
- \url{http://research.microsoft.com/en-us/um/people/gray/papers/superservers(%
-4t_computers).doc} [Viewed: June 23, 2004], April 2002.
-
-\bibitem[Gri00]{ScottGriffen2000}
-Scott Griffen.
-\newblock Internet pioneers: Doug englebart.
-\newblock Available: \url{http://www.ibiblio.org/pioneers/englebart.html}
- [Viewed November 28, 2008], May 2000.
-
-\bibitem[Gro01]{TheOpenGroup1997SUS}
-The~Open Group.
-\newblock Single {UNIX} specification.
-\newblock \url{http://www.opengroup.org/onlinepubs/007908799/index.html}, July
- 2001.
-
-\bibitem[Gro07]{DanGrossman2007TMGCAnalogy}
-Dan Grossman.
-\newblock The transactional memory / garbage collection analogy.
-\newblock In {\em {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN
- conference on Object oriented programming systems and applications}}, pages
- 695--706, New York, NY, USA, October 2007. ACM.
-\newblock Available:
- \url{http://www.cs.washington.edu/homes/djg/papers/analogy_oopsla07.pdf}
- [Viewed December 19, 2008].
-
-\bibitem[GT90]{Graunke90}
-Gary Graunke and Shreekant Thakkar.
-\newblock Synchronization algorithms for shared-memory multiprocessors.
-\newblock {\em IEEE Computer}, 23(6):60--69, June 1990.
-
-\bibitem[HCS{\etalchar{+}}05]{LorinHochstein2005SC}
-Lorin Hochstein, Jeff Carver, Forrest Shull, Sima Asgari, and Victor Basili.
-\newblock Parallel programmer productivity: A case study of novice parallel
- programmers.
-\newblock In {\em SC '05: Proceedings of the 2005 ACM/IEEE conference on
- Supercomputing}, page~35, Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[Hei27]{WeinerHeisenberg1927Uncertain}
-W.~Heisenberg.
-\newblock {\"Uber} den anschaulichen {Inhalt} der quantentheoretischen
- {Kinematik} und {Mechanik}.
-\newblock {\em Zeitschrift {f\"ur} Physik}, 43(3-4):172--198, 1927.
-\newblock English translation in ``Quantum theory and measurement'' by Wheeler
- and Zurek.
-
-\bibitem[Her90]{MauriceHerlihy90a}
-Maurice~P. Herlihy.
-\newblock A methodology for implementing highly concurrent data structures.
-\newblock In {\em Proceedings of the 2nd ACM SIGPLAN Symposium on Principles
- and Practice of Parallel Programming}, pages 197--206, March 1990.
-
-\bibitem[Her93]{Herlihy93}
-Maurice Herlihy.
-\newblock Implementing highly concurrent data objects.
-\newblock {\em {ACM} Transactions on Programming Languages and Systems},
- 15(5):745--770, November 1993.
-
-\bibitem[Her05]{MauriceHerlihy2005-TM-manifesto.pldi}
-Maurice Herlihy.
-\newblock The transactional manifesto: software engineering and non-blocking
- synchronization.
-\newblock In {\em PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on
- Programming language design and implementation}, pages 280--280, New York,
- NY, USA, 2005. ACM Press.
-
-\bibitem[HHK{\etalchar{+}}13]{AndreasHaas2013CFRelaxedQueues}
-A.~Haas, T.A. Henzinger, C.M. Kirsch, M.~Lippautz, H.~Payer, A.~Sezgin, and
- A.~Sokolova.
-\newblock Distributed queues in shared memory---multicore performance and
- scalability through quantitative relaxation.
-\newblock In {\em Proc. International Conference on Computing Frontiers}. ACM,
- 2013.
-
-\bibitem[HKLP12]{AndreasHaas2012FIFOisnt}
-Andreas Haas, Christoph~M. Kirsch, Michael Lippautz, and Hannes Payer.
-\newblock How {FIFO} is your concurrent {FIFO} queue?
-\newblock In {\em Proceedings of the Workshop on Relaxing Synchronization for
- Multicore and Manycore Scalability}, Tucson, AZ USA, October 2012.
-
-\bibitem[HLM02]{HerlihyLM02}
-Maurice Herlihy, Victor Luchangco, and Mark Moir.
-\newblock The repeat offender problem: A mechanism for supporting
- dynamic-sized, lock-free data structures.
-\newblock In {\em Proceedings of 16\textsuperscript{th} International Symposium
- on Distributed Computing}, pages 339--353, October 2002.
-
-\bibitem[HLM03]{HerlihyLM03}
-Maurice Herlihy, Victor Luchangco, and Mark Moir.
-\newblock Obstruction-free synchronization: Double-ended queues as an example.
-\newblock In {\em {Proceedings of the 23\textsuperscript{rd} IEEE International
- Conference on Distributed Computing Systems (ICDCS)}}, pages 73--82,
- Providence, RI, May 2003. The Institute of Electrical and Electronics
- Engineers, Inc.
-
-\bibitem[HM93]{Herlihy93a}
-Maurice Herlihy and J.~Eliot~B. Moss.
-\newblock Transactional memory: Architectural support for lock-free data
- structures.
-\newblock {\em The 20\textsuperscript{th} Annual International Symposium on
- Computer Architecture}, pages 289--300, May 1993.
-
-\bibitem[HMB06]{ThomasEHart2006a}
-Thomas~E. Hart, Paul~E. McKenney, and Angela~Demke Brown.
-\newblock Making lockless synchronization fast: Performance implications of
- memory reclamation.
-\newblock In {\em 20\textsuperscript{th} {IEEE} International Parallel and
- Distributed Processing Symposium}, Rhodes, Greece, April 2006.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf} [Viewed April
- 28, 2008].
-
-\bibitem[HMBW07]{ThomasEHart2007a}
-Thomas~E. Hart, Paul~E. McKenney, Angela~Demke Brown, and Jonathan Walpole.
-\newblock Performance of memory reclamation for lockless synchronization.
-\newblock {\em J. Parallel Distrib. Comput.}, 67(12):1270--1285, 2007.
-
-\bibitem[Hol03]{Holzmann03a}
-Gerard~J. Holzmann.
-\newblock {\em The {Spin} Model Checker: Primer and Reference Manual}.
-\newblock Addison-Wesley, Boston, MA, USA, 2003.
-
-\bibitem[HP95]{Hennessy95a}
-John~L. Hennessy and David~A. Patterson.
-\newblock {\em Computer Architecture: A Quantitative Approach}.
-\newblock Morgan Kaufman, 1995.
-
-\bibitem[HS08]{HerlihyShavit2008Textbook}
-Maurice Herlihy and Nir Shavit.
-\newblock {\em The Art of Multiprocessor Programming}.
-\newblock Morgan Kaufmann, Burlington, MA, USA, 2008.
-
-\bibitem[HW90]{Herlihy:1990:LCC:78969.78972}
-Maurice~P. Herlihy and Jeannette~M. Wing.
-\newblock Linearizability: a correctness condition for concurrent objects.
-\newblock {\em ACM Trans. Program. Lang. Syst.}, 12(3):463--492, July 1990.
-
-\bibitem[HW92]{WilsonCHsieh92a}
-Wilson~C. Hsieh and William~E. Weihl.
-\newblock Scalable reader-writer locks for parallel systems.
-\newblock In {\em Proceedings of the 6\textsuperscript{th} International
- Parallel Processing Symposium}, pages 216--230, Beverly Hills, CA, USA, March
- 1992.
-
-\bibitem[HW11]{PhilHoward2011RCUTMRBTree}
-Philip~W. Howard and Jonathan Walpole.
-\newblock A relativistic enhancement to software transactional memory.
-\newblock In {\em Proceedings of the 3rd USENIX conference on Hot topics in
- parallelism}, HotPar'11, pages 1--6, Berkeley, CA, USA, 2011. USENIX
- Association.
-
-\bibitem[HW13]{PhilipWHoward2013RCUrbtree}
-Philip~W. Howard and Jonathan Walpole.
-\newblock Relativistic red-black trees.
-\newblock {\em Concurrency and Computation: Practice and Experience}, pages
- n/a--n/a, 2013.
-
-\bibitem[{IBM}94]{PowerPC94}
-{IBM Microelectronics and Motorola}.
-\newblock {\em PowerPC Microprocessor Family: The Programming Environments},
- 1994.
-
-\bibitem[Inm85]{Inman85}
-Jack Inman.
-\newblock Implementing loosely coupled functions on tightly coupled engines.
-\newblock In {\em USENIX Conference Proceedings}, pages 277--298, Portland, OR,
- June 1985. USENIX Association.
-
-\bibitem[{Int}92]{DIS9075SQL92}
-{International Standards Organization}.
-\newblock {\em Information Technology - Database Language {SQL}}.
-\newblock ISO, 1992.
-\newblock Available:
- \url{http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt} [Viewed
- September 19, 2008].
-
-\bibitem[{Int}02a]{IntelItanium02v3}
-{Intel Corporation}.
-\newblock {\em Intel Itanium Architecture Software Developer's Manual Volume 3:
- Instruction Set Reference}, 2002.
-
-\bibitem[{Int}02b]{IntelItanium02v2}
-{Intel Corporation}.
-\newblock {\em Intel Itanium Architecture Software Developer's Manual Volume 3:
- System Architecture}, 2002.
-
-\bibitem[{Int}04a]{IntelXeonV2b-96a}
-{Intel Corporation}.
-\newblock {\em IA-32 Intel Architecture Software Developer's Manual Volume 2B:
- Instruction Set Reference, N-Z}, 2004.
-\newblock Available:
- \url{ftp://download.intel.com/design/Pentium4/manuals/25366714.pdf} [Viewed:
- February 16, 2005].
-
-\bibitem[{Int}04b]{IntelXeonV3-96a}
-{Intel Corporation}.
-\newblock {\em IA-32 Intel Architecture Software Developer's Manual Volume 3:
- System Programming Guide}, 2004.
-\newblock Available:
- \url{ftp://download.intel.com/design/Pentium4/manuals/25366814.pdf} [Viewed:
- February 16, 2005].
-
-\bibitem[{Int}04c]{IBMzSeries04a}
-{International Business Machines Corporation}.
-\newblock {z/Architecture} principles of operation.
-\newblock Available:
- \url{http://publibz.boulder.ibm.com/epubs/pdf/dz9zr003.pdf} [Viewed: February
- 16, 2005], May 2004.
-
-\bibitem[{Int}07]{Intelx86MemoryOrdering2007}
-{Intel Corporation}.
-\newblock {\em Intel 64 Architecture Memory Ordering White Paper}, 2007.
-\newblock Available:
- \url{http://developer.intel.com/products/processor/manuals/318147.pdf}
- [Viewed: September 7, 2007].
-
-\bibitem[{Int}11]{Intel64IA32v3A2011}
-{Intel Corporation}.
-\newblock {\em Intel 64 and IA-32 Architectures Software Developer’s Manual,
- Volume 3A: System Programming Guide, Part 1}, 2011.
-\newblock Available: \url{http://www.intel.com/Assets/PDF/manual/253668.pdf}
- [Viewed: February 12, 2011].
-
-\bibitem[Jac08]{MapReduce2008MIT}
-Daniel Jackson.
-\newblock {MapReduce} course.
-\newblock Available: \url{https://sites.google.com/site/mriap2008/} [Viewed
- January 3, 2013], January 2008.
-
-\bibitem[JMRR02]{BenJackson02}
-Benedict~Joseph Jackson, Paul~E. McKenney, Ramakrishnan Rajamony, and
- Ronald~Lynn Rockhold.
-\newblock Scalable interruptible queue locks for shared-memory multiprocessor.
-\newblock Technical Report US Patent 6,473,819, US Patent and Trademark Office,
- Washington, DC, October 2002.
-
-\bibitem[Joh77]{StephenJohnson1977lint}
-Stephen Johnson.
-\newblock Lint, a {C} program checker.
-\newblock Computer Science Technical Report 65, Bell Laboratories, December
- 1977.
-
-\bibitem[JSG12]{ChristianJacobi2012MainframeTM}
-Christian Jacobi, Timothy Slegel, and Dan Greiner.
-\newblock Transactional memory architecture and implementation for {IBM}
- {System} z.
-\newblock The 45\textsuperscript{th} Annual IEEE/ACM International Symposium on
- MicroArchitecture
- \url{http://www.microsymposia.org/micro45/talks-posters/3-jacobi-presentatio%
-n.pdf}, December 2012.
-
-\bibitem[Kan96]{GerryKane96a}
-Gerry Kane.
-\newblock {\em {PA-RISC} 2.0 Architecture}.
-\newblock Hewlett-Packard Professional Books, 1996.
-
-\bibitem[KCH{\etalchar{+}}06]{SanjeevKumar2006}
-Sanjeev Kumar, Michael Chu, Christopher~J. Hughes, Partha Kumar, and Anthony
- Nguyen.
-\newblock Hybrid transactional memory.
-\newblock In {\em Proceedings of the ACM SIGPLAN 2006 Symposium on Principles
- and Practice of Parallel Programming}. ACM SIGPLAN, 2006.
-\newblock Available:
- \url{http://www.cs.princeton.edu/~skumar/papers/ppopp06/ppopp06.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[{KFC}11]{MIT:TRMag:MemristorMazes}
-{KFC}.
-\newblock Memristor processor solves mazes.
-\newblock \url{http://www.technologyreview.com/blog/arxiv/26467/}, March 2011.
-
-\bibitem[KL80]{Kung80}
-H.~T. Kung and Q.~Lehman.
-\newblock Concurrent manipulation of binary search trees.
-\newblock {\em ACM Transactions on Database Systems}, 5(3):354--382, September
- 1980.
-
-\bibitem[KLP12]{ChristophMKirsch2012FIFOisntTR}
-Christoph~M. Kirsch, Michael Lippautz, and Hannes Payer.
-\newblock Fast and scalable k-fifo queues.
-\newblock Technical Report 2012-04, University of Salzburg, Salzburg, Austria,
- June 2012.
-
-\bibitem[Kni08]{JohnKnickerbocker2008:3DI}
-John~U. Knickerbocker.
-\newblock {3D} chip technology.
-\newblock {\em IBM Journal of Research and Development}, 52(6), November 2008.
-\newblock Available: \url{http://www.research.ibm.com/journal/rd52-6.html}
- [Viewed: January 1, 2009].
-
-\bibitem[Knu73]{Knuth73}
-Donald Knuth.
-\newblock {\em The Art of Computer Programming}.
-\newblock Addison-Wesley, 1973.
-
-\bibitem[KWS97]{Kontothanassis97a}
-Leonidas Kontothanassis, Robert~W. Wisniewski, and Michael~L. Scott.
-\newblock Scheduler-conscious synchronization.
-\newblock {\em Communications of the {ACM}}, 15(1):3--40, January 1997.
-
-\bibitem[LA94]{BengHongLim94}
-Beng-Hong Lim and Anant Agarwal.
-\newblock Reactive synchronization algorithms for multiprocessors.
-\newblock 03/28/94 FTP hing.lcs.mit.edu /pub/papers/reactive.ps.Z, March 1994.
-
-\bibitem[Lam74]{Lamport74a}
-Leslie Lamport.
-\newblock A new solution of {Dijkstra's} concurrent programming problem.
-\newblock {\em Communications of the {ACM}}, 17(8):453--455, August 1974.
-
-\bibitem[Lea97]{DougLea1997Textbook}
-Doug Lea.
-\newblock {\em Concurrent Programming in Java: Design Principles and Patterns}.
-\newblock Addison Wesley Longman, Reading, MA, USA, 1997.
-
-\bibitem[LLO09]{YossiLev2009SNZIrwlock}
-Yossi Lev, Victor Luchangco, and Marek Olszewski.
-\newblock Scalable reader-writer locks.
-\newblock In {\em SPAA '09: Proceedings of the twenty-first annual symposium on
- Parallelism in algorithms and architectures}, pages 101--110, New York, NY,
- USA, 2009. ACM.
-
-\bibitem[Loc02]{DougLocke2002a}
-Doug Locke.
-\newblock Priority inheritance: The real story.
-\newblock Available:
- \url{http://www.linuxdevices.com/articles/AT5698775833.html} [Viewed June 29,
- 2005], July 2002.
-
-\bibitem[Lom77]{DBLomet1977SIGSOFT}
-D.~B. Lomet.
-\newblock Process structuring, synchronization, and recovery using atomic
- actions.
-\newblock {\em SIGSOFT Softw. Eng. Notes}, 2(2):128--137, 1977.
-\newblock Available: \url{http://portal.acm.org/citation.cfm?id=808319#}
- [Viewed June 27, 2008].
-
-\bibitem[LR80]{Lampson1980Mesa}
-Butler~W. Lampson and David~D. Redell.
-\newblock Experience with processes and monitors in {Mesa}.
-\newblock {\em Communications of the ACM}, 23(2):105--117, 1980.
-
-\bibitem[LS86]{LaninShasha1986TSM}
-Vladimir Lanin and Dennis Shasha.
-\newblock A symmetric concurrent b-tree algorithm.
-\newblock In {\em ACM '86: Proceedings of 1986 ACM Fall joint computer
- conference}, pages 380--389, Los Alamitos, CA, USA, 1986. IEEE Computer
- Society Press.
-
-\bibitem[LS11]{YujieLiu2011ToxicTransactions}
-Yujie Liu and Michael Spear.
-\newblock Toxic transactions.
-\newblock In {\em TRANSACT 2011}. ACM SIGPLAN, June 2011.
-
-\bibitem[LSH02]{MichaelLyons02a}
-Michael Lyons, Ed~Silha, and Bill Hay.
-\newblock {PowerPC} storage model and {AIX} programming.
-\newblock Available:
- \url{http://www-106.ibm.com/developerworks/eserver/articles/powerpc.html}
- [Viewed: January 31, 2005], August 2002.
-
-\bibitem[MAK{\etalchar{+}}01]{McKenney01a}
-Paul~E. McKenney, Jonathan Appavoo, Andi Kleen, Orran Krieger, Rusty Russell,
- Dipankar Sarma, and Maneesh Soni.
-\newblock Read-copy update.
-\newblock In {\em {Ottawa Linux Symposium}}, July 2001.
-\newblock Available:
- \url{http://www.linuxsymposium.org/2001/abstracts/readcopy.php}
- \url{http://www.rdrop.com/users/paulmck/RCU/rclock_OLS.2001.05.01c.pdf}
- [Viewed June 23, 2004].
-
-\bibitem[Mas92]{HMassalinPhD}
-H.~Massalin.
-\newblock {\em Synthesis: An Efficient Implementation of Fundamental Operating
- System Services}.
-\newblock PhD thesis, Columbia University, New York, NY, 1992.
-
-\bibitem[Mat13]{NormMatloff2013ParProcBook}
-Norm Matloff.
-\newblock {\em Programming on Parallel Machines}.
-\newblock University of California, Davis, Davis, CA, USA, 2013.
-
-\bibitem[MBM{\etalchar{+}}06]{KevinEMoore2006}
-Kevin~E. Moore, Jayaram Bobba, Michelle~J. Moravan, Mark~D. Hill, and David~A.
- Wood.
-\newblock {LogTM}: Log-based transactional memory.
-\newblock In {\em Proceedings of the 12\textsuperscript{th} Annual
- International Symposium on High Performance Computer Architecture (HPCA-12)},
- Washington, DC, USA, 2006. IEEE.
-\newblock Available:
- \url{http://www.cs.wisc.edu/multifacet/papers/hpca06_logtm.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[McK90a]{McKenney89c}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock Technical Report ITSTD-7186-PA-89-11, SRI International, Menlo Park,
- CA, March 1990.
-\newblock To appear in INFOCOM'90.
-
-\bibitem[McK90b]{McKenney90}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock In {\em IEEE INFOCOM'90 Proceedings}, pages 733--740, San Francisco,
- June 1990. The Institute of Electrical and Electronics Engineers, Inc.
-\newblock Revision available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/sfq.2002.06.04.pdf}
- [Viewed May 26, 2008].
-
-\bibitem[McK91]{McKenney91}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock {\em Internetworking: Theory and Experience}, 2:113--131, 1991.
-
-\bibitem[McK95]{McKenney95a}
-Paul~E. McKenney.
-\newblock Differential profiling.
-\newblock In {\em MASCOTS 1995}, pages 237--241, Toronto, Canada, January 1995.
-
-\bibitem[McK96a]{McKenney95b}
-Paul~E. McKenney.
-\newblock {\em Pattern Languages of Program Design}, volume~2, chapter 31:
- Selecting Locking Designs for Parallel Programs, pages 501--531.
-\newblock Addison-Wesley, June 1996.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/mutexdesignpat.pdf}
- [Viewed February 17, 2005].
-
-\bibitem[McK96b]{McKenney96a}
-Paul~E. McKenney.
-\newblock Selecting locking primitives for parallel programs.
-\newblock {\em Communications of the {ACM}}, 39(10):75--82, October 1996.
-
-\bibitem[McK99]{McKenney99b}
-Paul~E. McKenney.
-\newblock Differential profiling.
-\newblock {\em Software - Practice and Experience}, 29(3):219--234, 1999.
-
-\bibitem[McK03]{McKenney03a}
-Paul~E. McKenney.
-\newblock Using {RCU} in the {Linux} 2.5 kernel.
-\newblock {\em Linux Journal}, 1(114):18--26, October 2003.
-\newblock Available: \url{http://www.linuxjournal.com/article/6993} [Viewed
- November 14, 2007].
-
-\bibitem[McK04]{PaulEdwardMcKenneyPhD}
-Paul~E. McKenney.
-\newblock {\em Exploiting Deferred Destruction: An Analysis of Read-Copy-Update
- Techniques in Operating System Kernels}.
-\newblock PhD thesis, OGI School of Science and Engineering at Oregon Health
- and Sciences University, 2004.
-
-\bibitem[McK05a]{PaulMcKenney2005i}
-Paul~E. McKenney.
-\newblock Memory ordering in modern microprocessors, part {I}.
-\newblock {\em Linux Journal}, 1(136):52--57, August 2005.
-\newblock Available: \url{http://www.linuxjournal.com/article/8211}
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.1%
-9a.pdf} [Viewed November 30, 2007].
-
-\bibitem[McK05b]{PaulMcKenney2005j}
-Paul~E. McKenney.
-\newblock Memory ordering in modern microprocessors, part {II}.
-\newblock {\em Linux Journal}, 1(137):78--82, September 2005.
-\newblock Available: \url{http://www.linuxjournal.com/article/8212}
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.1%
-9a.pdf} [Viewed November 30, 2007].
-
-\bibitem[McK05c]{PaulMcKenney2005h}
-Paul~E. McKenney.
-\newblock A realtime preemption overview.
-\newblock Available: \url{http://lwn.net/Articles/146861/} [Viewed August 22,
- 2005], August 2005.
-
-\bibitem[McK06]{PaulEMcKenney2006c}
-Paul~E. McKenney.
-\newblock Sleepable {RCU}.
-\newblock Available: \url{http://lwn.net/Articles/202847/} Revised:
- \url{http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf} [Viewed
- August 21, 2006], October 2006.
-
-\bibitem[McK07a]{PaulEMcKenney2007PreemptibleRCU}
-Paul~E. McKenney.
-\newblock The design of preemptible read-copy-update.
-\newblock Available: \url{http://lwn.net/Articles/253651/} [Viewed October 25,
- 2007], October 2007.
-
-\bibitem[McK07b]{PaulMcKenney2007QRCUpatch}
-Paul~E. McKenney.
-\newblock {[PATCH]} {QRCU} with lockless fastpath.
-\newblock Available: \url{http://lkml.org/lkml/2007/2/25/18} [Viewed March 27,
- 2008], February 2007.
-
-\bibitem[McK07c]{PaulEMcKenney2007BoostRCU}
-Paul~E. McKenney.
-\newblock Priority-boosting {RCU} read-side critical sections.
-\newblock \url{http://lwn.net/Articles/220677/}, February 2007.
-
-\bibitem[McK07d]{PaulEMcKenney2007rcubarrier}
-Paul~E. McKenney.
-\newblock {RCU} and unloadable modules.
-\newblock Available: \url{http://lwn.net/Articles/217484/} [Viewed November 22,
- 2007], January 2007.
-
-\bibitem[McK07e]{PaulEMcKenney2007QRCUspin}
-Paul~E. McKenney.
-\newblock Using {Promela} and {Spin} to verify parallel algorithms.
-\newblock Available: \url{http://lwn.net/Articles/243851/} [Viewed September 8,
- 2007], August 2007.
-
-\bibitem[McK07f]{PaulEMcKenney2007whatisRCU}
-Paul~E. McKenney.
-\newblock What is {RCU}?
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/whatisRCU.html} [Viewed July 6,
- 2007], 07 2007.
-
-\bibitem[McK08a]{PaulEMcKenney2008HierarchicalRCU}
-Paul~E. McKenney.
-\newblock Hierarchical {RCU}.
-\newblock \url{http://lwn.net/Articles/305782/}, November 2008.
-
-\bibitem[McK08b]{PaulEMcKenney2008WhatIsRCUAPI}
-Paul~E. McKenney.
-\newblock {RCU} part 3: the {RCU} {API}.
-\newblock Available: \url{http://lwn.net/Articles/264090/} [Viewed January 10,
- 2008], January 2008.
-
-\bibitem[McK08c]{PaulEMcKenney2008WhatIsRCUUsage}
-Paul~E. McKenney.
-\newblock What is {RCU}? part 2: Usage.
-\newblock Available: \url{http://lwn.net/Articles/263130/} [Viewed January 4,
- 2008], January 2008.
-
-\bibitem[McK09a]{PaulEMcKenney2009BloatwatchRCU}
-Paul~E. McKenney.
-\newblock Re: [patch fyi] rcu: the bloatwatch edition.
-\newblock Available: \url{http://lkml.org/lkml/2009/1/14/449} [Viewed January
- 15, 2009], January 2009.
-
-\bibitem[McK09b]{PaulEMcKenney2009TMeverywhere}
-Paul~E. McKenney.
-\newblock Transactional memory everywhere?
-\newblock
- \url{http://paulmck.livejournal.com/tag/transactional%20memory%20everywhere},
- September 2009.
-
-\bibitem[McK11a]{PaulEMcKenney2011RCU3.0trainwreck}
-Paul~E. McKenney.
-\newblock 3.0 and {RCU:} what went wrong.
-\newblock \url{http://lwn.net/Articles/453002/}, July 2011.
-
-\bibitem[McK11b]{PaulEMcKenney2011SNC}
-Paul~E. McKenney.
-\newblock Concurrent code and expensive instructions.
-\newblock Available: \url{http://lwn.net/Articles/423994} [Viewed January 28,
- 2011], January 2011.
-
-\bibitem[McK11c]{PaulEMcKenney2011ppcmem}
-Paul~E. McKenney.
-\newblock Validating memory barriers and atomic instructions.
-\newblock \url{http://lwn.net/Articles/470681/}, December 2011.
-
-\bibitem[McK11d]{PaulEMcKenney2011Verico}
-Paul~E. McKenney.
-\newblock Verifying parallel software: Can theory meet practice?
-\newblock
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/VericoTheoryPracti%
-ce.2011.01.28a.pdf}, January 2011.
-
-\bibitem[McK12a]{McKenney2008ParallelProgramming}
-Paul~E. McKenney.
-\newblock {\em Is Parallel Programming Hard, And, If So, What Can You Do About
- It?}
-\newblock kernel.org, Corvallis, OR, USA, 2012.
-
-\bibitem[McK12b]{PaulEMcKenney2012ELCbattery}
-Paul~E. McKenney.
-\newblock Making {RCU} safe for battery-powered devices.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/RCUdynticks.2012.02.15b.pdf}
- [Viewed March 1, 2012], February 2012.
-
-\bibitem[McK12c]{PaulEMcKenney2012HOTPARsuboptimal}
-Paul~E. McKenney.
-\newblock Retrofitted parallelism considered grossly sub-optimal.
-\newblock In {\em 4\textsuperscript{th} USENIX Workshop on Hot Topics on
- Parallelism}, page~7, Berkeley, CA, USA, June 2012.
-
-\bibitem[McK12d]{PaulEMcKenney2012SignedOverflow}
-Paul~E. McKenney.
-\newblock Signed overflow optimization hazards in the kernel.
-\newblock \url{http://lwn.net/Articles/511259/}, August 2012.
-
-\bibitem[McK13]{McKenney:2013:SDS:2483852.2483867}
-Paul~E. McKenney.
-\newblock Structured deferral: synchronization via procrastination.
-\newblock {\em Commun. ACM}, 56(7):40--49, July 2013.
-
-\bibitem[MCM02]{McKenney02d}
-Paul~E. McKenney, Kevin~A. Closson, and Raghupathi Malige.
-\newblock Lingering locks with fairness control for multi-node computer
- systems.
-\newblock Technical Report US Patent 6,480,918, US Patent and Trademark Office,
- Washington, DC, November 2002.
-
-\bibitem[MCS91]{MellorCrummey91a}
-John~M. Mellor-Crummey and Michael~L. Scott.
-\newblock Algorithms for scalable synchronization on shared-memory
- multiprocessors.
-\newblock {\em Transactions of Computer Systems}, 9(1):21--65, February 1991.
-
-\bibitem[MD92]{McKenney92b}
-Paul~E. McKenney and Ken~F. Dove.
-\newblock Efficient demultiplexing of incoming tcp packets.
-\newblock In {\em SIGCOMM '92, Proceedings of the Conference on Communications
- Architecture \& Protocols}, pages 269--279, Baltimore, MD, August 1992.
- Association for Computing Machinery.
-
-\bibitem[MDJ13a]{PaulMcKenney2013LWNURCUhash}
-Paul~E. McKenney, Mathieu Desnoyers, and Lai Jiangshan.
-\newblock Urcu-protected hash tables.
-\newblock \url{http://lwn.net/Articles/573431/}, November 2013.
-
-\bibitem[MDJ13b]{PaulMcKenney2013LWNURCUqueuestack}
-Paul~E. McKenney, Mathieu Desnoyers, and Lai Jiangshan.
-\newblock Urcu-protected queues and stacks.
-\newblock \url{https://lwn.net/Articles/573433/}, November 2013.
-
-\bibitem[{Mel}06]{CSIRACUniversityMelbourne}
-{Melbourne School of Engineering}.
-\newblock {CSIRAC}.
-\newblock Available: \url{http://www.csse.unimelb.edu.au/dept/about/csirac/}
- [Viewed: December 7, 2008], 2006.
-
-\bibitem[Met99]{PanagiotisMetaxas1999PDCS}
-Panagiotis~Takis Metaxas.
-\newblock Fast dithering on a data-parallel computer.
-\newblock In {\em Proceedings of the IASTED International Conference on
- Parallel and Distributed Computing and Systems}, pages 570--576, Cambridge,
- MA, USA, 1999. IASTED.
-
-\bibitem[MG92]{McKenney92a}
-Paul~E. McKenney and Gary Graunke.
-\newblock Efficient buffer allocation on shared-memory multiprocessors.
-\newblock In {\em IEEE Workshop on the Architecture and Implementation of High
- Performance Communication Subsystems}, pages 194--199, Tucson, AZ, February
- 1992. The Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[MGM{\etalchar{+}}09]{PaulEMcKenney2009ProgrammingHard}
-Paul~E. McKenney, Manish Gupta, Maged~M. Michael, Phil Howard, Joshua Triplett,
- and Jonathan Walpole.
-\newblock Is parallel programming hard, and if so, why?
-\newblock Technical Report TR-09-02, Portland State University, Portland, OR,
- USA, February 2009.
-\newblock Available: \url{http://www.cs.pdx.edu/pdfs/tr0902.pdf} [Viewed
- February 19, 2009].
-
-\bibitem[Mic03]{DBLP:conf/europar/Michael03}
-Maged~M. Michael.
-\newblock Cas-based lock-free algorithm for shared deques.
-\newblock In Harald Kosch, L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi, and Hermann
- Hellwagner, editors, {\em Euro-Par}, volume 2790 of {\em Lecture Notes in
- Computer Science}, pages 651--660. Springer, 2003.
-
-\bibitem[Mic04]{MagedMichael04a}
-Maged~M. Michael.
-\newblock Hazard pointers: Safe memory reclamation for lock-free objects.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 15(6):491--504, June 2004.
-
-\bibitem[Mil06]{DavidSMiller2006HashedLocking}
-David~S. Miller.
-\newblock Re: [{PATCH}, {RFC}] {RCU} : {OOM} avoidance and lower latency.
-\newblock Available: \url{https://lkml.org/lkml/2006/1/7/22} [Viewed February
- 29, 2012], January 2006.
-
-\bibitem[MK88]{McKusick88}
-Marshall~Kirk McKusick and Michael~J. Karels.
-\newblock Design of a general purpose memory allocator for the {4.3BSD} {UNIX}
- kernel.
-\newblock In {\em USENIX Conference Proceedings}, Berkeley CA, June 1988.
-
-\bibitem[MLH94]{Magnusson94}
-Peter Magnusson, Anders Landin, and Erik Hagersten.
-\newblock Efficient software synchronization on large cache coherent
- multiprocessors.
-\newblock Technical Report T94:07, Swedish Institute of Computer Science,
- Kista, Sweden, February 1994.
-
-\bibitem[MM00]{Molnar00a}
-Ingo Molnar and David~S. Miller.
-\newblock brlock.
-\newblock Available:
- \url{http://www.tm.kernel.org/pub/linux/kernel/v2.3/patch-html/patch-2.3.49/%
-linux_include_linux_brlock.h.html} [Viewed September 3, 2004], March 2000.
-
-\bibitem[MMTW10]{PaulEMcKenney2010OSRGrassGreener}
-Paul~E. McKenney, Maged~M. Michael, Josh Triplett, and Jonathan Walpole.
-\newblock Why the grass may not be greener on the other side: a comparison of
- locking vs. transactional memory.
-\newblock {\em ACM Operating Systems Review}, 44(3), July 2010.
-
-\bibitem[MMW07]{McKenney2007PLOSTM}
-Paul~E. McKenney, Maged Michael, and Jonathan Walpole.
-\newblock Why the grass may not be greener on the other side: A comparison of
- locking vs. transactional memory.
-\newblock In {\em Programming Languages and Operating Systems}, pages 1--5, New
- York, NY, USA, October 2007. ACM SIGOPS.
-
-\bibitem[Mol05]{IngoMolnar05a}
-Ingo Molnar.
-\newblock Index of /pub/linux/kernel/projects/rt.
-\newblock Available: \url{http://www.kernel.org/pub/linux/kernel/projects/rt/}
- [Viewed February 15, 2005], February 2005.
-
-\bibitem[Mol06]{IngoMolnar2006RobustFutexes}
-Ingo Molnar.
-\newblock Lightweight robust futexes.
-\newblock Available:
- \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/robust-futexes.txt}
- [Viewed May 22, 2011], March 2006.
-
-\bibitem[Moo03]{GordonMoore03a}
-Gordon Moore.
-\newblock No exponential is forever--but we can delay forever.
-\newblock In {\em IBM Academy of Technology 2003 Annual Meeting}, San
- Francisco, CA, October 2003.
-
-\bibitem[MOZ09]{PeterOkech2009InherentRandomness}
-Nicholas {Mc Guire}, Peter~Odhiambo Okech, and Qingguo Zhou.
-\newblock Analysis of inherent randomness of the linux kernel.
-\newblock In {\em Eleventh Real Time Linux Workshop}, Dresden, Germany,
- September 2009.
-
-\bibitem[MPA{\etalchar{+}}06]{WikipediaRCU}
-Paul~E. McKenney, Chris Purcell, Algae, Ben Schumin, Gaius Cornelius, Qwertyus,
- Neil Conway, Sbw, Blainster, Canis Rufus, Zoicon5, Anome, and Hal Eisen.
-\newblock Read-copy update.
-\newblock \url{http://en.wikipedia.org/wiki/Read-copy-update}, July 2006.
-
-\bibitem[{MPI}08]{MPIForum2008}
-{MPI Forum}.
-\newblock Message passing interface forum.
-\newblock Available: \url{http://www.mpi-forum.org/} [Viewed September 9,
- 2008], September 2008.
-
-\bibitem[MR08]{PaulEMcKenney2008dynticksRCU}
-Paul~E. McKenney and Steven Rostedt.
-\newblock Integrating and validating dynticks and preemptable rcu.
-\newblock Available: \url{http://lwn.net/Articles/279077/} [Viewed April 24,
- 2008], April 2008.
-
-\bibitem[MS93]{McKenney93}
-Paul~E. McKenney and Jack Slingwine.
-\newblock Efficient kernel memory allocation on shared-memory multiprocessors.
-\newblock In {\em USENIX Conference Proceedings}, pages 295--306, Berkeley CA,
- February 1993. USENIX Association.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/mpalloc.pdf}
- [Viewed January 30, 2005].
-
-\bibitem[MS96]{MichaelScott96}
-M.M Michael and M.~L. Scott.
-\newblock Simple, fast, and practical non-blocking and blocking concurrent
- queue algorithms.
-\newblock In {\em Proc of the Fifteenth ACM Symposium on Principles of
- Distributed Computing}, pages 267--275, May 1996.
-\newblock Available:
- \url{http://www.research.ibm.com/people/m/michael/podc-1996.pdf} [Viewed
- January 26, 2009].
-
-\bibitem[MS98a]{McKenney98}
-Paul~E. McKenney and John~D. Slingwine.
-\newblock Read-copy update: Using execution history to solve concurrency
- problems.
-\newblock In {\em {Parallel and Distributed Computing and Systems}}, pages
- 509--518, Las Vegas, NV, October 1998.
-
-\bibitem[MS98b]{MagedMichael1993JPDC}
-Maged~M. Michael and Michael~L. Scott.
-\newblock Nonblocking algorithms and preemption-safe locking on multiprogrammed
- shared memory multiprocessors.
-\newblock {\em J. Parallel Distrib. Comput.}, 51(1):1--26, 1998.
-
-\bibitem[MS08]{MySQL2008}
-{MySQL AB} and {Sun Microsystems}.
-\newblock {MySQL Downloads}.
-\newblock Available: \url{http://dev.mysql.com/downloads/} [Viewed November 26,
- 2008], November 2008.
-
-\bibitem[MS09]{PaulEMcKenneyN2745r2009}
-Paul~E. McKenney and Raul Silvera.
-\newblock Example power implementation for c/c++ memory model.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/N2745r.2009.02.27a%
-.html} [Viewed: April 5, 2009], February 2009.
-
-\bibitem[MS12]{AlexanderMatveev2012PessimisticTM}
-Alexander Matveev and Nir Shavit.
-\newblock Towards a fully pessimistic {STM} model.
-\newblock In {\em TRANSACT 2012}. ACM SIGPLAN, February 2012.
-
-\bibitem[MSK01]{McKenney01e}
-Paul~E. McKenney, Jack Slingwine, and Phil Krueger.
-\newblock Experience with an efficient parallel kernel memory allocator.
-\newblock {\em Software -- Practice and Experience}, 31(3):235--257, March
- 2001.
-
-\bibitem[MSM05]{Mattson2005Textbook}
-Timothy~G. Mattson, Beverly~A. Sanders, and Berna~L. Massingill.
-\newblock {\em Patterns for Parallel Programming}.
-\newblock Addison Wesley, Boston, MA, USA, 2005.
-
-\bibitem[MSS04]{McKenney04a}
-Paul~E. McKenney, Dipankar Sarma, and Maneesh Soni.
-\newblock Scaling dcache with {RCU}.
-\newblock {\em Linux Journal}, 1(118):38--46, January 2004.
-
-\bibitem[MT01]{Martinez01a}
-Jose~F. Martinez and Josep Torrellas.
-\newblock Speculative locks for concurrent execution of critical sections in
- shared-memory multiprocessors.
-\newblock In {\em Workshop on Memory Performance Issues, International
- Symposium on Computer Architecture}, Gothenburg, Sweden, June 2001.
-\newblock Available:
- \url{http://iacoma.cs.uiuc.edu/iacoma-papers/wmpi_locks.pdf} [Viewed June 23,
- 2004].
-
-\bibitem[MT02]{Martinez02a}
-Jose~F. Martinez and Josep Torrellas.
-\newblock Speculative synchronization: Applying thread-level speculation to
- explicitly parallel applications.
-\newblock In {\em Proceedings of the 10\textsuperscript{th} International
- Conference on Architectural Support for Programming Languages and Operating
- Systems}, pages 18--29, San Jose, CA, October 2002.
-
-\bibitem[Mud00]{TrevorMudge2000Power}
-Trevor Mudge.
-\newblock {POWER}: A first-class architectural design constraint.
-\newblock {\em IEEE Computer}, 33(4):52--58, April 2000.
-
-\bibitem[{Mus}04]{CSIRACMuseumVictoria}
-{Museum Victoria Australia}.
-\newblock {CSIRAC}: {Australia's} first computer.
-\newblock Available: \url{http://museumvictoria.com.au/CSIRAC/} [Viewed:
- December 7, 2008], 2004.
-
-\bibitem[MW07]{PaulEMcKenney2007WhatIsRCUFundamentally}
-Paul~E. McKenney and Jonathan Walpole.
-\newblock What is {RCU}, fundamentally?
-\newblock Available: \url{http://lwn.net/Articles/262464/} [Viewed December 27,
- 2007], December 2007.
-
-\bibitem[Mye79]{GlenfordJMyers1979}
-Glenford~J. Myers.
-\newblock {\em The Art of Software Testing}.
-\newblock Wiley, 1979.
-
-\bibitem[Nes06a]{OlegNesterov2006QRCU}
-Oleg Nesterov.
-\newblock Re: [patch] cpufreq: mark {\tt cpufreq\_tsc()} as {\tt
- core\_initcall\_sync}.
-\newblock Available: \url{http://lkml.org/lkml/2006/11/19/69} [Viewed May 28,
- 2007], November 2006.
-
-\bibitem[Nes06b]{OlegNesterov2006aQRCU}
-Oleg Nesterov.
-\newblock Re: [rfc, patch 1/2] qrcu: {"quick"} srcu implementation.
-\newblock Available: \url{http://lkml.org/lkml/2006/11/29/330} [Viewed November
- 26, 2008], November 2006.
-
-\bibitem[ON06]{RobertOlsson2006a}
-Robert Olsson and Stefan Nilsson.
-\newblock {TRASH}: A dynamic {LC}-trie and hash data structure.
-\newblock \url{http://www.nada.kth.se/~snilsson/publications/TRASH/trash.pdf},
- August 2006.
-
-\bibitem[ONH{\etalchar{+}}96]{Olukotun96}
-Kunle Olukotun, Basem~A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang.
-\newblock The case for a single-chip multiprocessor.
-\newblock In {\em ASPLOS VII}, October 1996.
-
-\bibitem[{Ope}97]{OpenGroup1997pthreads}
-{Open Group}.
-\newblock The single {UNIX} specification, version 2: Threads.
-\newblock Available:
- \url{http://www.opengroup.org/onlinepubs/007908799/xsh/threads.html} [Viewed
- September 19, 2008], 1997.
-
-\bibitem[Pat10]{DavidAPatterson2010TroubleMulticore}
-David Patterson.
-\newblock The trouble with multicore.
-\newblock {\em IEEE Spectrum}, 2010:28--32, 52--53, July 2010.
-
-\bibitem[Pig06]{NickPiggin2006radixtree}
-Nick Piggin.
-\newblock [patch 3/3] radix-tree: {RCU} lockless readside.
-\newblock Available: \url{http://lkml.org/lkml/2006/6/20/238} [Viewed March 25,
- 2008], June 2006.
-
-\bibitem[{Pos}08]{PostgreSQL2008}
-{PostgreSQL Global Development Group}.
-\newblock {PostgreSQL}.
-\newblock Available: \url{http://www.postgresql.org/} [Viewed November 26,
- 2008], November 2008.
-
-\bibitem[Pug90]{Pugh90}
-William Pugh.
-\newblock Concurrent maintenance of skip lists.
-\newblock Technical Report CS-TR-2222.1, Institute of Advanced Computer Science
- Studies, Department of Computer Science, University of Maryland, College
- Park, Maryland, June 1990.
-
-\bibitem[Pul00]{GeoffreyKPullum2000HaltingProblem}
-Geoffrey~K. Pullum.
-\newblock How {Dr. Seuss} would prove the halting problem undecidable.
-\newblock {\em Mathematics Magazine}, 73(4):319--320, 2000.
-\newblock \url{http://www.lel.ed.ac.uk/~gpullum/loopsnoop.html}.
-
-\bibitem[PW07]{DonaldEPorter2007TRANSACT}
-Donald~E. Porter and Emmett Witchel.
-\newblock Lessons from large transactional systems.
-\newblock Personal communication
- <20071214220521.GA5721@olive-green.cs.utexas.edu>, December 2007.
-
-\bibitem[Ray99]{EricSRaymond99b}
-Eric~S. Raymond.
-\newblock {\em The Cathedral and the Bazaar: Musings on Linux and Open Source
- by an Accidental Revolutionary}.
-\newblock O'Reilly, 1999.
-
-\bibitem[RD12]{RaviRajwar2012TSX}
-Ravi Rajwar and Martin Dixon.
-\newblock Intel transactional synchronization extensions.
-\newblock Intel Developer Forum (IDF) 2012 ARCS004, September 2012.
-
-\bibitem[Reg10]{JohnRegehr2010UndefinedBehavior}
-John Regehr.
-\newblock A guide to undefined behavior in c and c++, part 1.
-\newblock \url{http://blog.regehr.org/archives/213}, July 2010.
-
-\bibitem[Rei07]{Reinders2007Textbook}
-James Reinders.
-\newblock {\em {Intel} {Threading} {Building} {Blocks}}.
-\newblock O'Reilly, Sebastopol, CA, USA, 2007.
-
-\bibitem[RG01]{Rajwar01a}
-Ravi Rajwar and James~R. Goodman.
-\newblock Speculative lock elision: Enabling highly concurrent multithreaded
- execution.
-\newblock In {\em Proceedings of the 34\textsuperscript{th} Annual ACM/IEEE
- International Symposium on Microarchitecture}, pages 294--305, Austin, TX,
- December 2001. The Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[RG02]{Rajwar02a}
-Ravi Rajwar and James~R. Goodman.
-\newblock Transactional lock-free execution of lock-based programs.
-\newblock In {\em Proceedings of the 10\textsuperscript{th} International
- Conference on Architectural Support for Programming Languages and Operating
- Systems}, pages 5--17, Austin, TX, October 2002.
-
-\bibitem[RH02]{radovic02efficient}
-Zoran Radovi{\'c} and Erik Hagersten.
-\newblock Efficient synchronization for nonuniform communication architectures.
-\newblock In {\em Proceedings of the 2002 ACM/IEEE Conference on
- Supercomputing}, pages 1--13, Baltimore, Maryland, USA, November 2002. The
- Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[RH03]{radovic03hierarchical}
-Zoran Radovi{\'c} and Erik Hagersten.
-\newblock Hierarchical backoff locks for nonuniform communication
- architectures.
-\newblock In {\em Proceedings of the Ninth International Symposium on High
- Performance Computer Architecture ({HPCA-9})}, pages 241--252, Anaheim,
- California, USA, February 2003.
-
-\bibitem[RHP{\etalchar{+}}07]{ChistopherJRossbach2007a}
-Chistopher~J. Rossbach, Owen~S. Hofmann, Donald~E. Porter, Hany~E. Ramadan,
- Aditya Bhandari, and Emmett Witchel.
-\newblock {TxLinux}: Using and managing hardware transactional memory in an
- operating system.
-\newblock In {\em SOSP'07: Twenty-First ACM Symposium on Operating Systems
- Principles}. ACM SIGOPS, October 2007.
-\newblock Available: \url{http://www.sosp2007.org/papers/sosp056-rossbach.pdf}
- [Viewed October 21, 2007].
-
-\bibitem[Ros06]{StevenRostedt2006piFutexes}
-Steven Rostedt.
-\newblock Lightweight {PI-futexes}.
-\newblock Available:
- \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/pi-futex.txt} [Viewed
- May 22, 2011], June 2006.
-
-\bibitem[Ros10a]{StevenRostedt2010perfHP+DeathlyMacros}
-Steven Rostedt.
-\newblock tracing: {Harry} {Potter} and the {Deathly} {Macros}.
-\newblock Available: \url{http://lwn.net/Articles/418710/} [Viewed: August 28,
- 2011], December 2010.
-
-\bibitem[Ros10b]{StevenRostedt2010perfTraceEventP1}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 1).
-\newblock Available: \url{http://lwn.net/Articles/379903/} [Viewed: August 28,
- 2011], March 2010.
-
-\bibitem[Ros10c]{StevenRostedt2010perfTraceEventP2}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 2).
-\newblock Available: \url{http://lwn.net/Articles/381064/} [Viewed: August 28,
- 2011], March 2010.
-
-\bibitem[Ros10d]{StevenRostedt2010perfTraceEventP3}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 3).
-\newblock Available: \url{http://lwn.net/Articles/383362/} [Viewed: August 28,
- 2011], April 2010.
-
-\bibitem[Ros11]{StevenRostedt2011locdepCryptic}
-Steven Rostedt.
-\newblock lockdep: How to read its cryptic output.
-\newblock \url{http://www.linuxplumbersconf.org/2011/ocw/sessions/153},
- September 2011.
-
-\bibitem[Rus03]{RustyRussell2003OLSkeynote}
-Rusty Russell.
-\newblock Hanging out with smart people: or... things {I} learned being a
- kernel monkey.
-\newblock 2003 Ottawa Linux Symposium Keynote
- \url{http://ozlabs.org/~rusty/ols-2003-keynote/ols-keynote-2003.html}, July
- 2003.
-
-\bibitem[SATG{\etalchar{+}}09]{TatianaShpeisman2009CppTM}
-Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Robert Geva, Yang Ni, and Adam Welc.
-\newblock Towards transactional memory semantics for c++.
-\newblock In {\em SPAA '09: Proceedings of the twenty-first annual symposium on
- Parallelism in algorithms and architectures}, pages 49--58, New York, NY,
- USA, 2009. ACM.
-
-\bibitem[{Sch}35]{ErwinSchroedinger1935Cat}
-E.~{Schr\"odinger}.
-\newblock Die {gegenw\"artige} {Situation} in der {Quantenmechanik}.
-\newblock {\em Naturwissenschaften}, 23:807--812; 823--828; 844--949, November
- 1935.
-\newblock English translation: \url{http://www.tuhh.de/rzt/rzt/it/QM/cat.html}.
-
-\bibitem[Sch94]{Schimmel:1994:USM:175689}
-Curt Schimmel.
-\newblock {\em UNIX Systems for Modern Architectures: Symmetric Multiprocessing
- and Caching for Kernel Programmers}.
-\newblock Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1994.
-
-\bibitem[Sco06]{MichaelScott2006Textbook}
-Michael Scott.
-\newblock {\em Programming Language Pragmatics}.
-\newblock Morgan Kaufmann, Burlington, MA, USA, 2006.
-
-\bibitem[Sco13]{MichaelScott2013Textbook}
-Michael~L. Scott.
-\newblock {\em Shared-Memory Synchronization}.
-\newblock Morgan \& Claypool, San Rafael, CA, USA, 2013.
-
-\bibitem[Sew]{PeterSewell2010weakmemory}
-Peter Sewell.
-\newblock The semantics of multiprocessor programs.
-\newblock Available: \url{http://www.cl.cam.ac.uk/~pes20/weakmemory/} [Viewed:
- June 7, 2010].
-
-\bibitem[Sha11]{Shavit:2011:DSM:1897852.1897873}
-Nir Shavit.
-\newblock Data structures in the multicore age.
-\newblock {\em Commun. ACM}, 54(3):76--84, March 2011.
-
-\bibitem[SHW11]{DanielJSorin2011MemModel}
-Daniel~J. Sorin, Mark~D. Hill, and David~A. Wood.
-\newblock {\em A Primer on Memory Consistency and Cache Coherence}.
-\newblock Synthesis Lectures on Computer Architecture. Morgan \& Claypool,
- 2011.
-
-\bibitem[SM04]{Sarma04c}
-Dipankar Sarma and Paul~E. McKenney.
-\newblock Making {RCU} safe for deep sub-millisecond response realtime
- applications.
-\newblock In {\em Proceedings of the 2004 USENIX Annual Technical Conference
- (FREENIX Track)}, pages 182--191. USENIX Association, June 2004.
-
-\bibitem[SMS08]{SpearMichaelScott2008InevitableSTM}
-Michael Spear, Maged Michael, and Michael Scott.
-\newblock Inevitability mechanisms for software transactional memory.
-\newblock In {\em {3\textsuperscript{rd} ACM SIGPLAN Workshop on Transactional
- Computing}}, New York, NY, USA, February 2008. ACM.
-\newblock Available:
- \url{http://www.cs.rochester.edu/u/scott/papers/2008_TRANSACT_inevitability.%
-pdf} [Viewed January 10, 2009].
-
-\bibitem[SPA94]{SPARC94}
-SPARC International.
-\newblock {\em The {SPARC} Architecture Manual}, 1994.
-
-\bibitem[Spi77]{KeithRSpitz1977}
-Keith~R. Spitz.
-\newblock Tell which is which and you'll be rich.
-\newblock Inscription on wall of dungeon, 1977.
-
-\bibitem[Spr01]{Spraul01}
-Manfred Spraul.
-\newblock Re: {RFC:} patch to allow lock-free traversal of lists with
- insertion.
-\newblock Available:
- \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2}
- [Viewed June 23, 2004], October 2001.
-
-\bibitem[Spr08]{ManfredSpraul2008StateMachineRCU}
-Manfred Spraul.
-\newblock [{RFC}, {PATCH}] state machine based rcu.
-\newblock Available: \url{http://lkml.org/lkml/2008/8/21/336} [Viewed December
- 8, 2008], August 2008.
-
-\bibitem[SR84]{Segall84}
-Z.~Segall and L.~Rudolf.
-\newblock Dynamic decentralized cache schemes for {MIMD} parallel processors.
-\newblock In {\em 11\textsuperscript{th} Annual International Symposium on
- Computer Architecture}, pages 340--347, June 1984.
-
-\bibitem[SRL90]{Sha1990IEEETransComp}
-L.~Sha, R.~Rajkumar, and J.~P. Lehoczky.
-\newblock Priority inheritance protocols: An approach to real-time
- synchronization.
-\newblock {\em IEEE Trans. Comput.}, 39(9):1175--1185, 1990.
-
-\bibitem[SS94]{DuaneSzafron1994PEMPDS}
-Duane Szafron and Jonathan Schaeffer.
-\newblock Experimentally assessing the usability of parallel programming
- systems.
-\newblock In {\em IFIP WG10.3 Programming Environments for Massively Parallel
- Distributed Systems}, pages 19.1--19.7, 1994.
-
-\bibitem[SS06]{OriShalev2006SplitOrderListHash}
-Ori Shalev and Nir Shavit.
-\newblock Split-ordered lists: Lock-free extensible hash tables.
-\newblock {\em J. ACM}, 53(3):379--405, May 2006.
-
-\bibitem[SSHT93]{JMStone93}
-Janice~S. Stone, Harold~S. Stone, Philip Heidelberger, and John Turek.
-\newblock Multiple reservations and the {Oklahoma} update.
-\newblock {\em {IEEE} Parallel and Distributed Technology Systems and
- Applications}, 1(4):58--71, November 1993.
-
-\bibitem[SSRB00]{SchmidtStalRohnertBuschmann2000v2Textbook}
-Douglas~C. Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann.
-\newblock {\em Pattern-Oriented Software Architecture Volume 2: Patterns for
- Concurrent and Networked Objects}.
-\newblock Wiley, Chichester, West Sussex, England, 2000.
-
-\bibitem[SSVM02]{McKenney02e}
-S.~Swaminathan, John Stultz, Jack Vogel, and Paul~E. McKenney.
-\newblock Fairlocks -- a high performance fair locking scheme.
-\newblock In {\em Proceedings of the 14\textsuperscript{th} {IASTED}
- International Conference on Parallel and Distributed Computing and Systems},
- pages 246--251, Cambridge, MA, USA, November 2002.
-
-\bibitem[ST87]{Snaman87}
-William~E. Snaman and David~W. Thiel.
-\newblock The {VAX/VMS} distributed lock manager.
-\newblock {\em Digital Technical Journal}, 5:29--44, September 1987.
-
-\bibitem[ST95]{Shavit95}
-Nir Shavit and Dan Touitou.
-\newblock Software transactional memory.
-\newblock In {\em Proceedings of the 14\textsuperscript{th} Annual {ACM}
- Symposium on Principles of Distributed Computing}, pages 204--213, Ottawa,
- Ontario, Canada, August 1995.
-
-\bibitem[Ste92]{WRichardStevens1992}
-W.~Richard Stevens.
-\newblock {\em Advanced Programming in the {UNIX} Environment}.
-\newblock Addison Wesley, 1992.
-
-\bibitem[Sut08]{HerbSutter2008EffectiveConcurrency}
-Herb Sutter.
-\newblock Effective concurrency.
-\newblock Series in Dr. Dobbs Journal, 2008.
-
-\bibitem[Sut13]{AdrianSutton2013LCA:Disruptor}
-Adrian Sutton.
-\newblock Concurrent programming with the {Disruptor}.
-\newblock \url{http://lca2013.linux.org.au/schedule/30168/view_talk}, January
- 2013.
-
-\bibitem[SW95]{ALPHA95}
-Richard~L. Sites and Richard~T. Witek.
-\newblock {\em Alpha {AXP} Architecture}.
-\newblock Digital Press, second edition, 1995.
-
-\bibitem[{The}08]{OpenMPI2008}
-{The Open MPI Project}.
-\newblock {MySQL Downloads}.
-\newblock Available: \url{http://www.open-mpi.org/software/} [Viewed November
- 26, 2008], November 2008.
-
-\bibitem[{The}11]{ValgrindHomePage}
-{The Valgrind Developers}.
-\newblock Valgrind.
-\newblock \url{http://www.valgrind.org/}, November 2011.
-
-\bibitem[{The}12]{OProfileHomePage}
-{The OProfile Developers}.
-\newblock Oprofile.
-\newblock \url{http://oprofile.sourceforge.net}, April 2012.
-
-\bibitem[TMW11]{Triplett:2011:RPHash}
-Josh Triplett, Paul~E. McKenney, and Jonathan Walpole.
-\newblock Resizable, scalable, concurrent hash tables via relativistic
- programming.
-\newblock In {\em Proceedings of the 2011 USENIX Annual Technical Conference},
- pages 145--158, Portland, OR USA, June 2011. The USENIX Association.
-
-\bibitem[Tor01]{LinusTorvalds2001a}
-Linus Torvalds.
-\newblock {Re:} {[Lse-tech]} {Re:} {RFC:} patch to allow lock-free traversal of
- lists with insertion.
-\newblock Available: \url{http://lkml.org/lkml/2001/10/13/105} [Viewed August
- 21, 2004], October 2001.
-
-\bibitem[Tor03]{Torvalds2.6kernel}
-Linus Torvalds.
-\newblock Linux 2.6.
-\newblock Available: \url{ftp://kernel.org/pub/linux/kernel/v2.6} [Viewed June
- 23, 2004], August 2003.
-
-\bibitem[{Tra}01]{TPC}
-{Transaction Processing Performance Council}.
-\newblock {TPC}.
-\newblock Available: \url{http://www.tpc.org/} [Viewed December 7, 2008], 2001.
-
-\bibitem[Tre86]{Treiber86}
-R.~K. Treiber.
-\newblock Systems programming: Coping with parallelism.
-\newblock {RJ} 5118, April 1986.
-
-\bibitem[TS93]{Takada93}
-Hiroaki Takada and Ken Sakamura.
-\newblock A bounded spin lock algorithm with preemption.
-\newblock Technical Report 93-02, University of Tokyo, Tokyo, Japan, 1993.
-
-\bibitem[TS95]{Takada:1995:RSN:527074.828566}
-H.~Takada and K.~Sakamura.
-\newblock Real-time scalability of nested spin locks.
-\newblock In {\em Proceedings of the 2Nd International Workshop on Real-Time
- Computing Systems and Applications}, RTCSA '95, pages 160--, Washington, DC,
- USA, 1995. IEEE Computer Society.
-
-\bibitem[Tur37]{AlanMTuring1937HaltingProblem}
-Alan~M. Turing.
-\newblock On computable numbers, with an application to the
- entscheidungsproblem.
-\newblock In {\em Proceedings of the London Mathematical Society}, volume~42 of
- {\em 2}, pages 230--265, 1937.
-
-\bibitem[Ung11]{DavidUngar2011unsync}
-David Ungar.
-\newblock Everything you know (about parallel programming) is wrong!: A wild
- screed about the future.
-\newblock In {\em Proceedings of the 2011 Systems, Programming Languages and
- Applications: Software for Humanity (SPLASH) Conference}, pages ???--???,
- Portland, OR, USA, October 2011.
-
-\bibitem[{Uni}10]{UMD:CMSC433maze}
-{University of Maryland}.
-\newblock Parallel maze solving.
-\newblock \url{http://www.cs.umd.edu/class/fall2010/cmsc433/p3/}, November
- 2010.
-
-\bibitem[UoC08]{BOINC2008}
-Berkeley University~of California.
-\newblock {BOINC}: compute for science.
-\newblock Available: \url{http://boinc.berkeley.edu/} [Viewed January 31,
- 2008], October 2008.
-
-\bibitem[VGS08]{Volos2008TRANSACT}
-Haris Volos, Neelam Goyal, and Michael~M. Swift.
-\newblock Pathological interaction of locks with transactional memory.
-\newblock In {\em 3rd ACM SIGPLAN Workshop on Transactional Computing}, New
- York, NY, USA, February 2008. ACM.
-\newblock Available:
- \url{http://www.cs.wisc.edu/multifacet/papers/transact08_txlock.pdf} [Viewed
- September 7, 2009].
-
-\bibitem[Vog09]{WernerVogels:2009:EventuallyConsistent}
-Werner Vogels.
-\newblock Eventually consistent.
-\newblock {\em Commun. ACM}, 52:40--44, January 2009.
-
-\bibitem[Wei13]{StewartWeiss2013UNIX}
-Stewart Weiss.
-\newblock Unix lecture notes.
-\newblock Available:
- \url{http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/unix_lectur%
-e_notes/} [Viewed April 8, 2014], May 2013.
-
-\bibitem[{Wik}08]{z80Wikipedia}
-{Wikipedia}.
-\newblock {Zilog Z80}.
-\newblock Available: \url{http://en.wikipedia.org/wiki/Z80} [Viewed: December
- 7, 2008], 2008.
-
-\bibitem[Wik12]{WikipediaLabyrinth}
-Wikipedia.
-\newblock Labyrinth.
-\newblock \url{http://en.wikipedia.org/wiki/Labyrinth}, January 2012.
-
-\bibitem[Wil12]{AnthonyWilliams2012}
-Anthony Williams.
-\newblock {\em C++ Concurrency in Action: Practical Multithreading}.
-\newblock Manning, Shelter Island, NY, USA, 2012.
-
-\bibitem[WKS94]{Wisniewski94}
-Robert~W. Wisniewski, Leonidas Kontothanassis, and Michael~L. Scott.
-\newblock Scalable spin locks for multiprogrammed systems.
-\newblock In {\em 8\textsuperscript{th} IEEE Int'l. Parallel Processing
- Symposium}, Cancun, Mexico, April 1994. The Institute of Electrical and
- Electronics Engineers, Inc.
-
-\bibitem[WTS96]{Cai-DongWang1996PrioInherLock}
-Cai-Dong Wang, Hiroaki Takada, and Ken Sakamura.
-\newblock Priority inheritance spin locks for multiprocessor real-time systems.
-\newblock In {\em Proceedings of the 2Nd International Workshop on Real-Time
- Computing Systems and Applications}, ISPAN '96, pages 70--76, Washington, DC,
- USA, 1996. IEEE Computer Society.
-
-\bibitem[Xu10]{HerbertXu2010RCUResizeHash}
-Herbert Xu.
-\newblock bridge: Add core {IGMP} snooping support.
-\newblock Available:
- \url{http://kerneltrap.com/mailarchive/linux-netdev/2010/2/26/6270589}
- [Viewed March 20, 2011], February 2010.
-
-\bibitem[Yod04]{Yodaiken2004FSM}
-Victor Yodaiken.
-\newblock Against priority inheritance.
-\newblock Available: \url{http://www.yodaiken.com/papers/inherit.pdf} [Viewed
- May 26, 2007], September 2004.
-
-\end{thebibliography}
diff --git a/perfbook.bbl b/perfbook.bbl
deleted file mode 100644
index 93d29f3..0000000
--- a/perfbook.bbl
+++ /dev/null
@@ -1,2146 +0,0 @@
-\newcommand{\etalchar}[1]{$^{#1}$}
-\begin{thebibliography}{MBWW12}
-
-\bibitem[AAKL06]{CScottAnanian2006}
-C.~Scott Ananian, Krste Asanovic, Bradley~C. Kuszmaul, and Charles~E.
- Leiserson.
-\newblock Unbounded transactional memory.
-\newblock {\em IEEE Micro}, pages 59--69, January-February 2006.
-\newblock Available:
- \url{http://www.cag.csail.mit.edu/scale/papers/utm-ieeemicro2006.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[AB13]{SamyAlBahra2013NBS}
-Samy Al~Bahra.
-\newblock Nonblocking algorithms and scalable multicore programming.
-\newblock {\em Commun. ACM}, 56(7):50--61, July 2013.
-
-\bibitem[ABD{\etalchar{+}}97]{Anderson97}
-Jennifer~M. Anderson, Lance~M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika~R.
- Henzinger, Shun-Tak~A. Leung, Richard~L. Sites, Mark~T. Vandevoorde, Carl~A.
- Waldspurger, and William~E. Weihl.
-\newblock Continuous profiling: Where have all the cycles gone?
-\newblock In {\em Proceedings of the 16\textsuperscript{th} ACM Symposium on
- Operating Systems Principles}, pages 1--14, New York, NY, October 1997.
-
-\bibitem[aCB08]{SETIatHOME2008}
-University at~California~Berkeley.
-\newblock {SETI}@{HOME}.
-\newblock Available: \url{http://setiathome.berkeley.edu/} [Viewed January 31,
- 2008], December 2008.
-
-\bibitem[ACHS13]{DanAlitarh2013PracticalProgress}
-Dan Alistarh, Keren Censor-Hillel, and Nir Shavit.
-\newblock Are lock-free concurrent algorithms practically wait-free?
-\newblock ArXiv:1311.3200v2, December 2013.
-
-\bibitem[ACMS03]{Arcangeli03}
-Andrea Arcangeli, Mingming Cao, Paul~E. McKenney, and Dipankar Sarma.
-\newblock Using read-copy update techniques for {System V IPC} in the {Linux}
- 2.5 kernel.
-\newblock In {\em Proceedings of the 2003 USENIX Annual Technical Conference
- (FREENIX Track)}, pages 297--310. USENIX Association, June 2003.
-
-\bibitem[Ada11]{AndrewAdamatzky2011SlimeMold}
-Andrew Adamatzky.
-\newblock Slime mould solves maze in one pass . . . assisted by gradient of
- chemo-attractants.
-\newblock \url{http://arxiv.org/abs/1108.4956}, August 2011.
-
-\bibitem[Adv02]{AMDOpteron02}
-Advanced Micro Devices.
-\newblock {\em AMD x86-64 Architecture Programmer's Manual Volumes 1-5}, 2002.
-
-\bibitem[Adv07]{AMDOpteron:2:2007}
-Advanced Micro Devices.
-\newblock {\em AMD x86-64 Architecture Programmer's Manual Volume 2: System
- Programming}, 2007.
-
-\bibitem[AGH{\etalchar{+}}11a]{HagitAttiya2011LawsOfOrder}
-Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov, Maged~M.
- Michael, and Martin Vechev.
-\newblock Laws of order: Expensive synchronization in concurrent algorithms
- cannot be eliminated.
-\newblock In {\em 38\textsuperscript{th} ACM SIGACT-SIGPLAN Symposium on
- Principles of Programming Languages}, pages 487--498, New York, NY, USA,
- 2011. ACM.
-
-\bibitem[AGH{\etalchar{+}}11b]{Attiya:2011:LOE:1925844.1926442}
-Hagit Attiya, Rachid Guerraoui, Danny Hendler, Petr Kuznetsov, Maged~M.
- Michael, and Martin Vechev.
-\newblock Laws of order: Expensive synchronization in concurrent algorithms
- cannot be eliminated.
-\newblock {\em SIGPLAN Not.}, 46(1):487--498, January 2011.
-
-\bibitem[AHS{\etalchar{+}}03]{Appavoo03a}
-J.~Appavoo, K.~Hui, C.~A.~N. Soules, R.~W. Wisniewski, D.~M. {Da Silva},
- O.~Krieger, M.~A. Auslander, D.~J. Edelsohn, B.~Gamsa, G.~R. Ganger,
- P.~McKenney, M.~Ostrowski, B.~Rosenburg, M.~Stumm, and J.~Xenidis.
-\newblock Enabling autonomic behavior in systems software with hot swapping.
-\newblock {\em IBM Systems Journal}, 42(1):60--76, January 2003.
-
-\bibitem[AKNT13]{Alglave:2013:SVW:2450268.2450306}
-Jade Alglave, Daniel Kroening, Vincent Nimal, and Michael Tautschnig.
-\newblock Software verification for weak memory via program transformation.
-\newblock In {\em Proceedings of the 22nd European conference on Programming
- Languages and Systems}, ESOP'13, pages 512--532, Berlin, Heidelberg, 2013.
- Springer-Verlag.
-
-\bibitem[AKT13]{JadeAlglave2013-cav}
-Jade Alglave, Daniel Kroening, and Michael Tautschnig.
-\newblock Partial orders for efficient {Bounded Model Checking} of concurrent
- software.
-\newblock In {\em Computer Aided Verification (CAV)}, volume 8044 of {\em
- LNCS}, pages 141--157. Springer, 2013.
-
-\bibitem[Ale79]{Alexander79}
-Christopher Alexander.
-\newblock {\em The Timeless Way of Building}.
-\newblock Oxford University Press, New York, 1979.
-
-\bibitem[Alg13]{JadeAlglave2013-WeaknessIsVirtue}
-Jade Alglave.
-\newblock Weakness is a virtue.
-\newblock In {\em ({EC})\textsuperscript{2} 2013: 6\textsuperscript{th}
- International Workshop on Exploiting Concurrency Efficiently and Correctly},
- page~3, 2013.
-
-\bibitem[Amd67]{GeneAmdahl1967AmdahlsLaw}
-Gene Amdahl.
-\newblock Validity of the single processor approach to achieving large-scale
- computing capabilities.
-\newblock In {\em AFIPS Conference Proceedings}, pages 483--485, Washington,
- DC, USA, 1967. IEEE Computer Society.
-
-\bibitem[AMP{\etalchar{+}}11]{JadeAlglave2011ppcmem}
-Jade Alglave, Luc Maranget, Pankaj Pawan, Susmit Sarkar, Peter Sewell, Derek
- Williams, and Francesco~Zappa Nardelli.
-\newblock {PPCMEM/ARMMEM}: A tool for exploring the {POWER} and {ARM} memory
- models.
-\newblock
- \url{http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/pldi105-sarkar.pdf},
- June 2011.
-
-\bibitem[AMT14]{Alglave:2014:HCM:2594291.2594347}
-Jade Alglave, Luc Maranget, and Michael Tautschnig.
-\newblock Herding cats: Modelling, simulation, testing, and data-mining for
- weak memory.
-\newblock In {\em Proceedings of the 35th ACM SIGPLAN Conference on Programming
- Language Design and Implementation}, PLDI '14, pages 40--40, New York, NY,
- USA, 2014. ACM.
-
-\bibitem[And90]{Anderson90}
-T.~E. Anderson.
-\newblock The performance of spin lock alternatives for shared-memory
- multiprocessors.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 1(1):6--16, January 1990.
-
-\bibitem[And91]{Andrews91textbook}
-Gregory~R. Andrews.
-\newblock {\em Concurrent Programming, Principles, and Practices}.
-\newblock Benjamin Cummins, 1991.
-
-\bibitem[ARM10]{ARMv7A:2010}
-ARM Limited.
-\newblock {\em ARM Architecture Reference Manual: ARMv7-A and ARMv7-R Edition},
- 2010.
-
-\bibitem[ATC{\etalchar{+}}11]{EgeAkpinar2011HTM2TLE}
-Ege Akpinar, Sasa Tomic, Adrian Cristal, Osman Unsal, and Mateo Valero.
-\newblock A comprehensive study of conflict resolution policies in hardware
- transactional memory.
-\newblock In {\em TRANSACT 2011}. ACM SIGPLAN, June 2011.
-
-\bibitem[ATS09]{Ali-Reza-Adl-Tabatabai2009CppTM}
-Ali-Reza Adl-Tabatabai and Tatiana Shpeisman.
-\newblock Draft specification of transactional language constructs for c++.
-\newblock
- http://research.sun.com/scalable/pubs/C++-transactional-constructs-1.0.pdf,
- August 2009.
-
-\bibitem[BA01]{Bonwick01slab}
-Jeff Bonwick and Jonathan Adams.
-\newblock Magazines and vmem: Extending the slab allocator to many {CPUs} and
- arbitrary resources.
-\newblock In {\em {USENIX} Annual Technical Conference, General Track 2001},
- pages 15--33, 2001.
-
-\bibitem[Bec11]{PeteBecker2011N3242}
-Pete Becker.
-\newblock Working draft, standard for programming language {C++}.
-\newblock
- \url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf},
- February 2011.
-
-\bibitem[BG87]{BERT-87}
-D.~Bertsekas and R.~Gallager.
-\newblock {\em Data Networks}.
-\newblock Prentice-Hall, Inc., 1987.
-
-\bibitem[BHG87]{PhilipABernstein1987}
-Philip~A. Bernstein, Vassos Hadzilacos, and Nathan Goodman.
-\newblock {\em Concurrency Control and Recovery in Database Systems}.
-\newblock Addison Wesley Publishing Company, 1987.
-
-\bibitem[BHS07]{BuschmannHenneySchmidt2007v4Textbook}
-Frank Buschmann, Kevlin Henney, and Douglas~C. Schmidt.
-\newblock {\em Pattern-Oriented Software Architecture Volume 4: A Pattern
- Language for Distributed Computing}.
-\newblock Wiley, Chichester, West Sussex, England, 2007.
-
-\bibitem[BK85]{Beck85}
-Bob Beck and Bob Kasten.
-\newblock {VLSI} assist in building a multiprocessor {UNIX} system.
-\newblock In {\em USENIX Conference Proceedings}, pages 255--275, Portland, OR,
- June 1985. USENIX Association.
-
-\bibitem[BLM05]{Blundell2005DebunkTM}
-C.~Blundell, E.~C. Lewis, and M.~Martin.
-\newblock Deconstructing transactional semantics: The subtleties of atomicity.
-\newblock In {\em Annual Workshop on Duplicating, Deconstructing, and Debunking
- (WDDD)}, June 2005.
-\newblock Available:
- \url{http://www.cis.upenn.edu/acg/papers/wddd05_atomic_semantics.pdf} [Viewed
- June 4, 2009].
-
-\bibitem[BLM06]{Blundell2006TMdeadlock}
-C.~Blundell, E.~C. Lewis, and M.~Martin.
-\newblock Subtleties of transactional memory and atomicity semantics.
-\newblock {\em Computer Architecture Letters}, 5(2), 2006.
-\newblock Available:
- \url{http://www.cis.upenn.edu/acg/papers/cal06_atomic_semantics.pdf} [Viewed
- June 4, 2009].
-
-\bibitem[BMMM05]{LukeBrowning2005SimpleLockNUMAAware}
-Luke Browning, Thomas Mathews, Paul~E. McKenney, and James Moody.
-\newblock Apparatus, method, and computer program product for converting simple
- locks in a multiprocessor system.
-\newblock Technical Report US Patent 6,842,809, US Patent and Trademark Office,
- Washington, DC, January 2005.
-
-\bibitem[BMP08]{RobertBerry2008IBMSysJ}
-R.~F. Berry, P.~E. McKenney, and F.~N. Parr.
-\newblock Responsive systems: An introduction.
-\newblock {\em IBM Systems Journal}, 47(2):197--206, April 2008.
-\newblock Available: \url{http://www.research.ibm.com/journal/sj/472/berry.pdf}
- [Viewed May 8, 2008].
-
-\bibitem[Boe09]{HansJBoehm2009HOTPAR}
-Hans-J. Boehm.
-\newblock Transactional memory should be an implementation technique, not a
- programming interface.
-\newblock In {\em HOTPAR 2009}, page~6, Berkeley, CA, USA, March 2009.
-\newblock Available:
- \url{http://www.usenix.org/event/hotpar09/tech/full_papers/boehm/boehm.pdf}
- [Viewed May 24, 2009].
-
-\bibitem[Boh01]{KristofferBohmann2001a}
-Kristoffer Bohmann.
-\newblock Response time still matters.
-\newblock Available:
- \url{http://www.bohmann.dk/articles/response_time_still_matters.html} [Viewed
- July 23, 2007], July 2001.
-
-\bibitem[Bow06]{RichardBornat2006SheepGoats}
-Maggie Bowman.
-\newblock Dividing the sheep from the goats.
-\newblock url={http://www.cs.kent.ac.uk/news/2006/RBornat/}, February 2006.
-
-\bibitem[Bra07]{RegBraithwaite2007FizzBuzz}
-Reg Braithwaite.
-\newblock Don't overthink fizzbuzz.
-\newblock
- url={http://weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz.html},
- January 2007.
-
-\bibitem[Bra11]{BjoernBrandenburgPhD}
-Bj\"orn Brandenburg.
-\newblock {\em Scheduling and Locking in Multiprocessor Real-Time Operating
- Systems}.
-\newblock PhD thesis, The University of North Carolina at Chapel Hill, 2011.
-
-\bibitem[But97]{Butenhof1997pthreads}
-David Butenhof.
-\newblock {\em Programming with {POSIX} Threads}.
-\newblock Addison-Wesley, Boston, MA, USA, 1997.
-
-\bibitem[BW14]{SilasBoydWickizerPhD}
-Silas Boyd-Wickizer.
-\newblock {\em Optimizing Communications Bottlenecks in Multiprocessor
- Operating Systems Kernels}.
-\newblock PhD thesis, Massachusetts Institute of Technology, 2014.
-
-\bibitem[CBM{\etalchar{+}}08]{CalinCascaval2008tmtoy}
-Calin Cascaval, Colin Blundell, Maged Michael, Harold~W. Cain, Peng Wu,
- Stefanie Chiras, and Siddhartha Chatterjee.
-\newblock Software transactional memory: Why is it only a research toy?
-\newblock {\em ACM Queue}, September 2008.
-
-\bibitem[CHP71]{Courtois71}
-P.~J. Courtois, F.~Heymans, and D.~L. Parnas.
-\newblock Concurrent control with ``readers'' and ``writers''.
-\newblock {\em Communications of the {ACM}}, 14(10):667--668, October 1971.
-
-\bibitem[CKZ12]{AustinClements2012RCULinux:mmapsem}
-Austin Clements, Frans Kaashoek, and Nickolai Zeldovich.
-\newblock Scalable address spaces using {RCU} balanced trees.
-\newblock In {\em Architectural Support for Programming Languages and Operating
- Systems (ASPLOS 2012)}, pages 199--210, London, UK, March 2012. ACM.
-
-\bibitem[CKZ{\etalchar{+}}13]{Clements:2013:SCR:2517349.2522712}
-Austin~T. Clements, M.~Frans Kaashoek, Nickolai Zeldovich, Robert~T. Morris,
- and Eddie Kohler.
-\newblock The scalable commutativity rule: Designing scalable software for
- multicore processors.
-\newblock In {\em Proceedings of the Twenty-Fourth ACM Symposium on Operating
- Systems Principles}, SOSP '13, pages 1--17, New York, NY, USA, 2013. ACM.
-
-\bibitem[Cli09]{CliffClick2009AzulHTM}
-Cliff Click.
-\newblock And now some hardware transactional memory comments...
-\newblock
- http://www.azulsystems.com/blog/cliff-click/2009-02-25-and-now-some-hardware-transactional-memory-comments,
- February 2009.
-
-\bibitem[CLRS01]{ThomasHCorman2001Algorithms}
-T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C.~Stein.
-\newblock {\em Introduction to Algorithms, Second Edition}.
-\newblock MIT electrical engineering and computer science series. MIT Press,
- 2001.
-
-\bibitem[{Com}01]{Compaq01}
-{Compaq Computer Corporation}.
-\newblock Shared memory, threads, interprocess communication.
-\newblock Available: \url{http://h71000.www7.hp.com/wizard/wiz_2637.html},
- August 2001.
-
-\bibitem[Cor04a]{JonCorbet2004RealTimeLinuxPart1}
-Jonathan Corbet.
-\newblock Approaches to realtime {Linux}.
-\newblock Available: \url{http://lwn.net/Articles/106010/} [Viewed March 25,
- 2008], October 2004.
-
-\bibitem[Cor04b]{JonathanCorbet2004sparse}
-Jonathan Corbet.
-\newblock Finding kernel problems automatically.
-\newblock \url{http://lwn.net/Articles/87538/}, June 2004.
-
-\bibitem[Cor04c]{JonCorbet2004RealTimeLinuxPart2}
-Jonathan Corbet.
-\newblock Realtime preemption, part 2.
-\newblock Available: \url{http://lwn.net/Articles/107269/} [Viewed March 25,
- 2008], October 2004.
-
-\bibitem[Cor06a]{JonathanCorbet2006lockdep}
-Jonathan Corbet.
-\newblock The kernel lock validator.
-\newblock Available: \url{http://lwn.net/Articles/185666/} [Viewed: March 26,
- 2010], May 2006.
-
-\bibitem[Cor06b]{JonathanCorbet2006PriorityInheritance}
-Jonathan Corbet.
-\newblock Priority inheritance in the kernel.
-\newblock Available: \url{http://lwn.net/Articles/178253/} [Viewed June 29,
- 2009], April 2006.
-
-\bibitem[Cor12]{JonCorbet2012ACCESS:ONCE}
-Jon Corbet.
-\newblock {ACCESS\_ONCE()}.
-\newblock \url{http://lwn.net/Articles/508991/}, August 2012.
-
-\bibitem[Cor13]{JonCorbet2013NO-HZ-FULL}
-Jonathan Corbet.
-\newblock (nearly) full tickless operation in 3.10.
-\newblock \url{http://lwn.net/Articles/549580/}, May 2013.
-
-\bibitem[Cra93]{Craig93}
-Travis Craig.
-\newblock Building {FIFO} and priority-queuing spin locks from atomic swap.
-\newblock Technical Report 93-02-02, University of Washington, Seattle,
- Washington, February 1993.
-
-\bibitem[CRKH05]{CorbetRubiniKroahHartman}
-Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.
-\newblock {\em Linux Device Drivers}.
-\newblock O'Reilly Media, Inc., third edition, 2005.
-
-\bibitem[CSG99]{DavidECuller1999}
-David~E. Culler, Jaswinder~Pal Singh, and Anoop Gupta.
-\newblock {\em Parallel Computer Architecture: a Hardware/Software Approach}.
-\newblock Morgan Kaufman, 1999.
-
-\bibitem[Dat82]{Date82}
-C.~J. Date.
-\newblock {\em An Introduction to Database Systems}, volume~1.
-\newblock Addison-Wesley Publishing Company, 1982.
-
-\bibitem[DBA09]{SaeedDehnadi2009SheepGoats}
-Saeed Dehnadi, Richard Bornat, and Ray Adams.
-\newblock Meta-analysis of the effect of consistency on success in early
- learning of programming.
-\newblock In {\em PPIG 2009}, pages 1--13, University of Limerick, Ireland,
- June 2009. Psychology of Programming Interest Group.
-
-\bibitem[DCW{\etalchar{+}}11]{LukeDalessandro:2011:ASPLOS:HybridNOrecSTM:deque}
-Luke Dalessandro, Francois Carouge, Sean White, Yossi Lev, Mark Moir,
- Michael~L. Scott, and Michael~F. Spear.
-\newblock Hybrid {NOrec}: A case study in the effectiveness of best effort
- hardware transactional memory.
-\newblock In {\em Proceedings of the 16th International Conference on
- Architectural Support for Programming Languages and Operating Systems
- (ASPLOS)}, ASPLOS '11, pages ???--???, New York, NY, USA, 2011. ACM.
-
-\bibitem[DD09]{MathieuDesnoyers2009LFCollabSummit}
-Mathieu Desnoyers and Michel~R. Dagenais.
-\newblock Lttng, filling the gap between kernel instrumentation and a widely
- usable kernel tracer.
-\newblock Available:
- \url{http://events.linuxfoundation.org/slides/lfcs09_desnoyers_paper.pdfSimilar}
- [Viewed: August 28, 2011], April 2009.
-
-\bibitem[Des09]{MathieuDesnoyers2009URCU}
-Mathieu Desnoyers.
-\newblock [{RFC} git tree] userspace {RCU} (urcu) for {Linux}.
-\newblock \url{http://liburcu.org}, February 2009.
-
-\bibitem[DFGG11]{AleksandarDragovejic2011STMnotToy}
-Aleksandar Dragovejic, Pascal Felber, Vincent Gramoli, and Rachid Guerraoui.
-\newblock Why {STM} can be more than a research toy.
-\newblock {\em Communications of the ACM}, pages 70--77, April 2011.
-
-\bibitem[DHJ{\etalchar{+}}07]{DeCandia:2007:DAH:1323293.1294281}
-Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati,
- Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall,
- and Werner Vogels.
-\newblock Dynamo: Amazon's highly available key-value store.
-\newblock {\em SIGOPS Oper. Syst. Rev.}, 41(6):205--220, October 2007.
-
-\bibitem[DHK12]{VijayDSilva2012-sas}
-Vijay D'Silva, Leopold Haller, and Daniel Kroening.
-\newblock Satisfiability solvers are static analyzers.
-\newblock In {\em Static Analysis Symposium (SAS)}, volume 7460 of {\em LNCS},
- pages 317--333. Springer, 2012.
-
-\bibitem[DHL{\etalchar{+}}08]{DaveDice2008TransactLockElision}
-Dave Dice, Maurice Herlihy, Doug Lea, Yossi Lev, Victor Luchangco, Wayne
- Mesard, Mark Moir, Kevin Moore, and Dan Nussbaum.
-\newblock Applications of the adaptive transactional memory test platform.
-\newblock In {\em 3\textsuperscript{rd} ACM SIGPLAN Workshop on Transactional
- Computing}, pages 1--10, Salt Lake City, UT, USA, February 2008.
-
-\bibitem[Dig89]{AndrewDBirrell1989Threads}
-Digital Systems Research Center.
-\newblock {\em An Introduction to Programming with Threads}, January 1989.
-
-\bibitem[Dij65]{Dijkstra65a}
-E.~W. Dijkstra.
-\newblock Solution of a problem in concurrent programming control.
-\newblock {\em Communications of the {ACM}}, 8(9):569, Sept 1965.
-
-\bibitem[Dij68]{Dijkstra:1968:LEG:362929.362947}
-Edsger~W. Dijkstra.
-\newblock Letters to the editor: Go to statement considered harmful.
-\newblock {\em Commun. ACM}, 11(3):147--148, March 1968.
-
-\bibitem[Dij71]{Dijkstra1971HOoSP}
-Edsger~W. Dijkstra.
-\newblock Hierarchical ordering of sequential processes.
-\newblock {\em Acta Informatica}, 1(2):115--138, 1971.
-\newblock Available:
- \url{http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF} [Viewed January
- 13, 2008].
-
-\bibitem[DLM{\etalchar{+}}10]{DavidDice:2010:SCA:HTM:deque}
-Dave Dice, Yossi Lev, Virendra~J. Marathe, Mark Moir, Dan Nussbaum, and Marek
- Oleszewski.
-\newblock Simplifying concurrent algorithms by exploiting hardware
- transactional memory.
-\newblock In {\em Proceedings of the 22nd ACM symposium on Parallelism in
- algorithms and architectures}, SPAA '10, pages 325--334, New York, NY, USA,
- 2010. ACM.
-
-\bibitem[DLMN09]{DaveDice2009ASPLOSRockHTM}
-Dave Dice, Yossi Lev, Mark Moir, and Dan Nussbaum.
-\newblock Early experience with a commericial hardware transactional memory
- implementation.
-\newblock In {\em Fourteenth International Conference on Architectural Support
- for Programming Languages and Operating Systems (ASPLOS '09)}, pages
- 157--168, Washington, DC, USA, March 2009.
-\newblock Available:
- \url{http://research.sun.com/scalable/pubs/ASPLOS2009-RockHTM.pdf} [Viewed
- February 4, 2009].
-
-\bibitem[DMS{\etalchar{+}}12]{MathieuDesnoyers2012URCU}
-Mathieu Desnoyers, Paul~E. McKenney, Alan Stern, Michel~R. Dagenais, and
- Jonathan Walpole.
-\newblock User-level implementations of read-copy update.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 23:375--382, 2012.
-
-\bibitem[Dov90]{Dove90}
-Ken~F. Dove.
-\newblock A high capacity {TCP/IP} in parallel {STREAMS}.
-\newblock In {\em UKUUG Conference Proceedings}, London, June 1990.
-
-\bibitem[Dre11]{UlrichDrepper2011Futexes}
-Ulrich Drepper.
-\newblock Futexes are tricky.
-\newblock Technical Report FAT2011, Red Hat, Inc., Raleigh, NC, USA, November
- 2011.
-
-\bibitem[DSS06]{DaveDice2006DISC}
-Dave Dice, Ori Shalev, and Nir Shavit.
-\newblock Transactional locking {II}.
-\newblock In {\em Proc. International Symposium on Distributed Computing}.
- Springer Verlag, 2006.
-\newblock Available:
- \url{http://www.springerlink.com/content/5688h5q0w72r54x0/} [Viewed March 10,
- 2008].
-
-\bibitem[Edg13]{JakeEdge2013Future-rtLinux}
-Jake Edge.
-\newblock The future of realtime {Linux}.
-\newblock \url{http://lwn.net/Articles/572740/}, November 2013.
-
-\bibitem[Edg14]{JakeEdge2014Future-rtLinux}
-Jake Edge.
-\newblock The future of the realtime patch set.
-\newblock \url{http://lwn.net/Articles/617140/}, October 2014.
-
-\bibitem[EGCD03]{ElGhazawi2003UPC}
-T.~A. El-Ghazawi, W.~W. Carlson, and J.~M. Draper.
-\newblock {UPC} language specifications v1.1.
-\newblock Available: \url{http://upc.gwu.edu} [Viewed September 19, 2008], May
- 2003.
-
-\bibitem[EGMdB11]{LinuxKernelPerfWiki}
-Stephane Eranian, Eric Gouriou, Tipp Moseley, and Willem de~Bruijn.
-\newblock Linux kernel profiling with perf.
-\newblock \url{https://perf.wiki.kernel.org/index.php/Tutorial}, June 2011.
-
-\bibitem[Ell80]{Ellis80}
-Carla~Schlatter Ellis.
-\newblock Concurrent search and insertion in avl trees.
-\newblock {\em IEEE Transactions on Computers}, C-29(9):811--817, September
- 1980.
-
-\bibitem[ELLM07]{FaithEllen:2007:SNZI}
-Faith Ellen, Yossi Lev, Victor Luchangco, and Mark Moir.
-\newblock Snzi: scalable nonzero indicators.
-\newblock In {\em Proceedings of the twenty-sixth annual ACM symposium on
- Principles of distributed computing}, PODC '07, pages 13--22, New York, NY,
- USA, 2007. ACM.
-
-\bibitem[Eng68]{DouglasEngelbart1968}
-Douglas Engelbart.
-\newblock The demo.
-\newblock Available:
- \url{http://video.google.com/videoplay?docid=-8734787622017763097} [Viewed
- November 28, 2008], December 1968.
-
-\bibitem[ENS05]{RyanEccles2005HPCSNovice}
-Ryan Eccles, Blair Nonneck, and Deborah~A. Stacey.
-\newblock Exploring parallel programming knowledge in the novice.
-\newblock In {\em HPCS '05: Proceedings of the 19th International Symposium on
- High Performance Computing Systems and Applications}, pages 97--102,
- Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[Eri08]{ChristerEricson2008GPUMaze}
-Christer Ericson.
-\newblock Aiding pathfinding with cellular automata.
-\newblock \url{http://realtimecollisiondetection.net/blog/?p=57}, June 2008.
-
-\bibitem[ES90]{MargaretAEllis1990Cplusplus}
-Margaret~A. Ellis and Bjarne Stroustrup.
-\newblock {\em The Annotated {C++} Reference Manual}.
-\newblock Addison Wesley, 1990.
-
-\bibitem[ES05]{RyanEccles2006HPCSNoviceNeeds}
-Ryan Eccles and Deborah~A. Stacey.
-\newblock Understanding the parallel programmer.
-\newblock In {\em HPCS '05: Proceedings of the 19th International Symposium on
- High Performance Computing Systems and Applications}, pages 156--160,
- Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[{ETH}11]{ETHZurich:FS2011maze}
-{ETH Zurich}.
-\newblock Parallel solver for a perfect maze.
-\newblock
- \url{http://nativesystems.inf.ethz.ch/pub/Main/WebHomeLecturesParallelProgrammingExercises/pp2011hw04.pdf},
- March 2011.
-
-\bibitem[Fel50]{Feller58}
-W.~Feller.
-\newblock {\em An Introduction to Probability Theory and its Applications}.
-\newblock John Wiley, 1950.
-
-\bibitem[Fos10]{RonFosner2010maze}
-Ron Fosner.
-\newblock Scalable multithreaded programming with tasks.
-\newblock {\em MSDN Magazine}, 2010(11):60--69, November 2010.
-\newblock \url{http://msdn.microsoft.com/en-us/magazine/gg309176.aspx}.
-
-\bibitem[FPB79]{Brooks79}
-Jr. Frederick P.~Brooks.
-\newblock {\em The Mythical Man-Month}.
-\newblock Addison-Wesley, 1979.
-
-\bibitem[FRK02]{HubertusFrancke2002Futex}
-Hubertus Francke, Rusty Russell, and Matthew Kirkwood.
-\newblock Fuss, futexes and furwocks: Fast userlevel locking in linux.
-\newblock In {\em {Ottawa Linux Symposium}}, pages 479--495, June 2002.
-\newblock Available:
- \url{http://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf} [Viewed
- May 22, 2011].
-
-\bibitem[Gar90]{Garg90}
-Arun Garg.
-\newblock Parallel {STREAMS}: a multi-processor implementation.
-\newblock In {\em USENIX Conference Proceedings}, pages 163--176, Berkeley CA,
- February 1990. USENIX Association.
-
-\bibitem[Gar07]{BryanGardiner2007}
-Bryan Gardiner.
-\newblock Idf: Gordon moore predicts end of moore's law (again).
-\newblock Available:
- \url{http://blog.wired.com/business/2007/09/idf-gordon-mo-1.html} [Viewed:
- November 28, 2008], September 2007.
-
-\bibitem[GC96]{Cheriton96a}
-Michael Greenwald and David~R. Cheriton.
-\newblock The synergy between non-blocking synchronization and operating system
- structure.
-\newblock In {\em Proceedings of the Second Symposium on Operating Systems
- Design and Implementation}, pages 123--136, Seattle, WA, October 1996. USENIX
- Association.
-
-\bibitem[GDZE10]{Golovanevsky:2010:TDL:2174824.2174835}
-Olga Golovanevsky, Alon Dayan, Ayal Zaks, and David Edelsohn.
-\newblock Trace-based data layout optimizations for multi-core processors.
-\newblock In {\em Proceedings of the 5th International Conference on High
- Performance Embedded Architectures and Compilers}, HiPEAC'10, pages 81--95,
- Berlin, Heidelberg, 2010. Springer-Verlag.
-
-\bibitem[GG14]{Gramoli:2014:DTP:2541883.2541900}
-Vincent Gramoli and Rachid Guerraoui.
-\newblock Democratizing transactional programming.
-\newblock {\em Commun. ACM}, 57(1):86--93, January 2014.
-
-\bibitem[Gha95]{Gharachorloo95}
-Kourosh Gharachorloo.
-\newblock Memory consistency models for shared-memory multiprocessors.
-\newblock Technical Report CSL-TR-95-685, Computer Systems Laboratory,
- Departments of Electrical Engineering and Computer Science, Stanford
- University, Stanford, CA, December 1995.
-\newblock Available:
- \url{http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-9.pdf} [Viewed:
- October 11, 2004].
-
-\bibitem[GHJV95]{GOF95}
-Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
-\newblock {\em Design Patterns: Elements of Reusable Object-Oriented Software}.
-\newblock Addison-Wesley, 1995.
-
-\bibitem[GKAS99]{Gamsa99}
-Ben Gamsa, Orran Krieger, Jonathan Appavoo, and Michael Stumm.
-\newblock Tornado: Maximizing locality and concurrency in a shared memory
- multiprocessor operating system.
-\newblock In {\em {Proceedings of the 3\textsuperscript{rd} Symposium on
- Operating System Design and Implementation}}, pages 87--100, New Orleans, LA,
- February 1999.
-
-\bibitem[GKP13]{JustinGottschlich2013TMdebug}
-Justin Gottschlich, Rob Knauerhase, and Gilles Pokam.
-\newblock But how do we really debug transactional memory?
-\newblock In {\em 5\textsuperscript{th} USENIX Workshop on Hot Topics in
- Parallelism (HotPar 2013)}, San Jose, CA, USA, June 2013.
-
-\bibitem[GKPS95]{BenjaminGamsa95a}
-Ben Gamsa, Orran Krieger, E.~Parsons, and Michael Stumm.
-\newblock Performance issues for multiprocessor operating systems.
-\newblock Technical Report CSRI-339, Available:
- ftp://ftp.cs.toronto.edu/pub/reports/csri/339/339.ps, November 1995.
-
-\bibitem[Gle10]{ThomasGleixner2010AcademiaVsReality}
-Thomas Gleixner.
-\newblock Realtime linux: academia v. reality.
-\newblock Available: \url{http://lwn.net/Articles/397422/} [Viewed July 27,
- 2010], July 2010.
-
-\bibitem[Gle12]{ThomasGleixner2012KVMrealtime}
-Thomas Gleixner.
-\newblock Linux -rt kvm guest demo.
-\newblock Personal communication, December 2012.
-
-\bibitem[GMTW08]{DinakarGuniguntala2008IBMSysJ}
-D.~Guniguntala, P.~E. McKenney, J.~Triplett, and J.~Walpole.
-\newblock The read-copy-update mechanism for supporting real-time applications
- on shared-memory multiprocessor systems with {Linux}.
-\newblock {\em IBM Systems Journal}, 47(2):221--236, May 2008.
-
-\bibitem[GPB{\etalchar{+}}07]{Goetz2007Textbook}
-Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug
- Lea.
-\newblock {\em Java: Concurrency in Practice}.
-\newblock Addison Wesley, Upper Saddle River, NJ, USA, 2007.
-
-\bibitem[Gra02]{JimGray2002SmokingHairyGolfBalls}
-Jim Gray.
-\newblock Super-servers: Commodity computer clusters pose a software challenge.
-\newblock Available:
- \url{http://research.microsoft.com/en-us/um/people/gray/papers/superservers(4t_computers).doc}
- [Viewed: June 23, 2004], April 2002.
-
-\bibitem[Gri00]{ScottGriffen2000}
-Scott Griffen.
-\newblock Internet pioneers: Doug englebart.
-\newblock Available: \url{http://www.ibiblio.org/pioneers/englebart.html}
- [Viewed November 28, 2008], May 2000.
-
-\bibitem[Gro01]{TheOpenGroup1997SUS}
-The~Open Group.
-\newblock Single {UNIX} specification.
-\newblock \url{http://www.opengroup.org/onlinepubs/007908799/index.html}, July
- 2001.
-
-\bibitem[Gro07]{DanGrossman2007TMGCAnalogy}
-Dan Grossman.
-\newblock The transactional memory / garbage collection analogy.
-\newblock In {\em {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN
- conference on Object oriented programming systems and applications}}, pages
- 695--706, New York, NY, USA, October 2007. ACM.
-\newblock Available:
- \url{http://www.cs.washington.edu/homes/djg/papers/analogy_oopsla07.pdf}
- [Viewed December 19, 2008].
-
-\bibitem[GT90]{Graunke90}
-Gary Graunke and Shreekant Thakkar.
-\newblock Synchronization algorithms for shared-memory multiprocessors.
-\newblock {\em IEEE Computer}, 23(6):60--69, June 1990.
-
-\bibitem[HCS{\etalchar{+}}05]{LorinHochstein2005SC}
-Lorin Hochstein, Jeff Carver, Forrest Shull, Sima Asgari, and Victor Basili.
-\newblock Parallel programmer productivity: A case study of novice parallel
- programmers.
-\newblock In {\em SC '05: Proceedings of the 2005 ACM/IEEE conference on
- Supercomputing}, page~35, Washington, DC, USA, 2005. IEEE Computer Society.
-
-\bibitem[Hei27]{WeinerHeisenberg1927Uncertain}
-W.~Heisenberg.
-\newblock {\"Uber} den anschaulichen {Inhalt} der quantentheoretischen
- {Kinematik} und {Mechanik}.
-\newblock {\em Zeitschrift {f\"ur} Physik}, 43(3-4):172--198, 1927.
-\newblock English translation in ``Quantum theory and measurement'' by Wheeler
- and Zurek.
-
-\bibitem[Her90]{MauriceHerlihy90a}
-Maurice~P. Herlihy.
-\newblock A methodology for implementing highly concurrent data structures.
-\newblock In {\em Proceedings of the 2nd ACM SIGPLAN Symposium on Principles
- and Practice of Parallel Programming}, pages 197--206, March 1990.
-
-\bibitem[Her91]{Herlihy91}
-Maurice Herlihy.
-\newblock Wait-free synchronization.
-\newblock {\em ACM TOPLAS}, 13(1):124--149, January 1991.
-
-\bibitem[Her93]{Herlihy93}
-Maurice Herlihy.
-\newblock Implementing highly concurrent data objects.
-\newblock {\em {ACM} Transactions on Programming Languages and Systems},
- 15(5):745--770, November 1993.
-
-\bibitem[Her05]{MauriceHerlihy2005-TM-manifesto.pldi}
-Maurice Herlihy.
-\newblock The transactional manifesto: software engineering and non-blocking
- synchronization.
-\newblock In {\em PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on
- Programming language design and implementation}, pages 280--280, New York,
- NY, USA, 2005. ACM Press.
-
-\bibitem[HHK{\etalchar{+}}13]{AndreasHaas2013CFRelaxedQueues}
-A.~Haas, T.A. Henzinger, C.M. Kirsch, M.~Lippautz, H.~Payer, A.~Sezgin, and
- A.~Sokolova.
-\newblock Distributed queues in shared memory---multicore performance and
- scalability through quantitative relaxation.
-\newblock In {\em Proc. International Conference on Computing Frontiers}. ACM,
- 2013.
-
-\bibitem[HKLP12]{AndreasHaas2012FIFOisnt}
-Andreas Haas, Christoph~M. Kirsch, Michael Lippautz, and Hannes Payer.
-\newblock How {FIFO} is your concurrent {FIFO} queue?
-\newblock In {\em Proceedings of the Workshop on Relaxing Synchronization for
- Multicore and Manycore Scalability}, Tucson, AZ USA, October 2012.
-
-\bibitem[HLM02]{HerlihyLM02}
-Maurice Herlihy, Victor Luchangco, and Mark Moir.
-\newblock The repeat offender problem: A mechanism for supporting
- dynamic-sized, lock-free data structures.
-\newblock In {\em Proceedings of 16\textsuperscript{th} International Symposium
- on Distributed Computing}, pages 339--353, October 2002.
-
-\bibitem[HLM03]{HerlihyLM03}
-Maurice Herlihy, Victor Luchangco, and Mark Moir.
-\newblock Obstruction-free synchronization: Double-ended queues as an example.
-\newblock In {\em {Proceedings of the 23\textsuperscript{rd} IEEE International
- Conference on Distributed Computing Systems (ICDCS)}}, pages 73--82,
- Providence, RI, May 2003. The Institute of Electrical and Electronics
- Engineers, Inc.
-
-\bibitem[HM93]{Herlihy93a}
-Maurice Herlihy and J.~Eliot~B. Moss.
-\newblock Transactional memory: Architectural support for lock-free data
- structures.
-\newblock {\em The 20\textsuperscript{th} Annual International Symposium on
- Computer Architecture}, pages 289--300, May 1993.
-
-\bibitem[HMB06]{ThomasEHart2006a}
-Thomas~E. Hart, Paul~E. McKenney, and Angela~Demke Brown.
-\newblock Making lockless synchronization fast: Performance implications of
- memory reclamation.
-\newblock In {\em 20\textsuperscript{th} {IEEE} International Parallel and
- Distributed Processing Symposium}, Rhodes, Greece, April 2006.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf} [Viewed April
- 28, 2008].
-
-\bibitem[HMBW07]{ThomasEHart2007a}
-Thomas~E. Hart, Paul~E. McKenney, Angela~Demke Brown, and Jonathan Walpole.
-\newblock Performance of memory reclamation for lockless synchronization.
-\newblock {\em J. Parallel Distrib. Comput.}, 67(12):1270--1285, 2007.
-
-\bibitem[Hol03]{Holzmann03a}
-Gerard~J. Holzmann.
-\newblock {\em The {Spin} Model Checker: Primer and Reference Manual}.
-\newblock Addison-Wesley, Boston, MA, USA, 2003.
-
-\bibitem[HP95]{Hennessy95a}
-John~L. Hennessy and David~A. Patterson.
-\newblock {\em Computer Architecture: A Quantitative Approach}.
-\newblock Morgan Kaufman, 1995.
-
-\bibitem[HS08]{HerlihyShavit2008Textbook}
-Maurice Herlihy and Nir Shavit.
-\newblock {\em The Art of Multiprocessor Programming}.
-\newblock Morgan Kaufmann, Burlington, MA, USA, 2008.
-
-\bibitem[HW90]{Herlihy:1990:LCC:78969.78972}
-Maurice~P. Herlihy and Jeannette~M. Wing.
-\newblock Linearizability: a correctness condition for concurrent objects.
-\newblock {\em ACM Trans. Program. Lang. Syst.}, 12(3):463--492, July 1990.
-
-\bibitem[HW92]{WilsonCHsieh92a}
-Wilson~C. Hsieh and William~E. Weihl.
-\newblock Scalable reader-writer locks for parallel systems.
-\newblock In {\em Proceedings of the 6\textsuperscript{th} International
- Parallel Processing Symposium}, pages 216--230, Beverly Hills, CA, USA, March
- 1992.
-
-\bibitem[HW11]{PhilHoward2011RCUTMRBTree}
-Philip~W. Howard and Jonathan Walpole.
-\newblock A relativistic enhancement to software transactional memory.
-\newblock In {\em Proceedings of the 3rd USENIX conference on Hot topics in
- parallelism}, HotPar'11, pages 1--6, Berkeley, CA, USA, 2011. USENIX
- Association.
-
-\bibitem[HW13]{PhilipWHoward2013RCUrbtree}
-Philip~W. Howard and Jonathan Walpole.
-\newblock Relativistic red-black trees.
-\newblock {\em Concurrency and Computation: Practice and Experience}, pages
- n/a--n/a, 2013.
-
-\bibitem[{IBM}94]{PowerPC94}
-{IBM Microelectronics and Motorola}.
-\newblock {\em PowerPC Microprocessor Family: The Programming Environments},
- 1994.
-
-\bibitem[{Ima}15]{MIPSvII-A-2015}
-{Imagination Technologies, LTD.}
-\newblock {\em MIPS\textregistered Architecture For Programmers Volume II-A:
- The MIPS64\textregistered Instruction Set Reference Manual}, 2015.
-\newblock \url{https://imgtec.com/?do-download=4302}.
-
-\bibitem[Inm85]{Inman85}
-Jack Inman.
-\newblock Implementing loosely coupled functions on tightly coupled engines.
-\newblock In {\em USENIX Conference Proceedings}, pages 277--298, Portland, OR,
- June 1985. USENIX Association.
-
-\bibitem[Inm07]{BillInmon2007a}
-Bill Inmon.
-\newblock Time value of information.
-\newblock Available: \url{http://www.b-eye-network.de/view-articles/3365}
- [Viewed July 6, 2007], January 2007.
-
-\bibitem[{Int}92]{DIS9075SQL92}
-{International Standards Organization}.
-\newblock {\em Information Technology - Database Language {SQL}}.
-\newblock ISO, 1992.
-\newblock Available:
- \url{http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt} [Viewed
- September 19, 2008].
-
-\bibitem[{Int}02a]{IntelItanium02v3}
-{Intel Corporation}.
-\newblock {\em Intel Itanium Architecture Software Developer's Manual Volume 3:
- Instruction Set Reference}, 2002.
-
-\bibitem[{Int}02b]{IntelItanium02v2}
-{Intel Corporation}.
-\newblock {\em Intel Itanium Architecture Software Developer's Manual Volume 3:
- System Architecture}, 2002.
-
-\bibitem[{Int}04a]{IntelXeonV2b-96a}
-{Intel Corporation}.
-\newblock {\em IA-32 Intel Architecture Software Developer's Manual Volume 2B:
- Instruction Set Reference, N-Z}, 2004.
-\newblock Available:
- \url{ftp://download.intel.com/design/Pentium4/manuals/25366714.pdf} [Viewed:
- February 16, 2005].
-
-\bibitem[{Int}04b]{IntelXeonV3-96a}
-{Intel Corporation}.
-\newblock {\em IA-32 Intel Architecture Software Developer's Manual Volume 3:
- System Programming Guide}, 2004.
-\newblock Available:
- \url{ftp://download.intel.com/design/Pentium4/manuals/25366814.pdf} [Viewed:
- February 16, 2005].
-
-\bibitem[{Int}04c]{IBMzSeries04a}
-{International Business Machines Corporation}.
-\newblock {z/Architecture} principles of operation.
-\newblock Available:
- \url{http://publibz.boulder.ibm.com/epubs/pdf/dz9zr003.pdf} [Viewed: February
- 16, 2005], May 2004.
-
-\bibitem[{Int}07]{Intelx86MemoryOrdering2007}
-{Intel Corporation}.
-\newblock {\em Intel 64 Architecture Memory Ordering White Paper}, 2007.
-\newblock Available:
- \url{http://developer.intel.com/products/processor/manuals/318147.pdf}
- [Viewed: September 7, 2007].
-
-\bibitem[{Int}11]{Intel64IA32v3A2011}
-{Intel Corporation}.
-\newblock {\em Intel 64 and IA-32 Architectures Software Developer’s Manual,
- Volume 3A: System Programming Guide, Part 1}, 2011.
-\newblock Available: \url{http://www.intel.com/Assets/PDF/manual/253668.pdf}
- [Viewed: February 12, 2011].
-
-\bibitem[Jac88]{VanJacobson88}
-Van Jacobson.
-\newblock Congestion avoidance and control.
-\newblock In {\em {SIGCOMM '88}}, pages 314--329, August 1988.
-
-\bibitem[Jac08]{MapReduce2008MIT}
-Daniel Jackson.
-\newblock {MapReduce} course.
-\newblock Available: \url{https://sites.google.com/site/mriap2008/} [Viewed
- January 3, 2013], January 2008.
-
-\bibitem[JMRR02]{BenJackson02}
-Benedict~Joseph Jackson, Paul~E. McKenney, Ramakrishnan Rajamony, and
- Ronald~Lynn Rockhold.
-\newblock Scalable interruptible queue locks for shared-memory multiprocessor.
-\newblock Technical Report US Patent 6,473,819, US Patent and Trademark Office,
- Washington, DC, October 2002.
-
-\bibitem[Joh77]{StephenJohnson1977lint}
-Stephen Johnson.
-\newblock Lint, a {C} program checker.
-\newblock Computer Science Technical Report 65, Bell Laboratories, December
- 1977.
-
-\bibitem[Jon11]{DaveJones2011Trinity}
-Dave Jones.
-\newblock Trinity: A system call fuzzer.
-\newblock In {\em Proceedings of the 13\textsuperscript{th} Ottawa Linux
- Symposium}, pages ???--???, Ottawa, Canada, June 2011.
-
-\bibitem[JSG12]{ChristianJacobi2012MainframeTM}
-Christian Jacobi, Timothy Slegel, and Dan Greiner.
-\newblock Transactional memory architecture and implementation for {IBM}
- {System} z.
-\newblock The 45\textsuperscript{th} Annual IEEE/ACM International Symposium on
- MicroArchitecture
- \url{http://www.microsymposia.org/micro45/talks-posters/3-jacobi-presentation.pdf},
- December 2012.
-
-\bibitem[Kan96]{GerryKane96a}
-Gerry Kane.
-\newblock {\em {PA-RISC} 2.0 Architecture}.
-\newblock Hewlett-Packard Professional Books, 1996.
-
-\bibitem[KCH{\etalchar{+}}06]{SanjeevKumar2006}
-Sanjeev Kumar, Michael Chu, Christopher~J. Hughes, Partha Kumar, and Anthony
- Nguyen.
-\newblock Hybrid transactional memory.
-\newblock In {\em Proceedings of the ACM SIGPLAN 2006 Symposium on Principles
- and Practice of Parallel Programming}. ACM SIGPLAN, 2006.
-\newblock Available:
- \url{http://www.cs.princeton.edu/~skumar/papers/ppopp06/ppopp06.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[{KFC}11]{MIT:TRMag:MemristorMazes}
-{KFC}.
-\newblock Memristor processor solves mazes.
-\newblock \url{http://www.technologyreview.com/blog/arxiv/26467/}, March 2011.
-
-\bibitem[Kis14]{JanKiszka2014virtRT}
-Jan Kiszka.
-\newblock Real-time virtualization - how crazy are we?
-\newblock In {\em Linux Plumbers Conference}, Duesseldorf, Germany, October
- 2014.
-\newblock \url{http://www.linuxplumbersconf.org/2014/ocw/sessions/1935}.
-
-\bibitem[KL80]{Kung80}
-H.~T. Kung and P.~Lehman.
-\newblock Concurrent manipulation of binary search trees.
-\newblock {\em ACM Transactions on Database Systems}, 5(3):354--382, September
- 1980.
-
-\bibitem[KLP12]{ChristophMKirsch2012FIFOisntTR}
-Christoph~M. Kirsch, Michael Lippautz, and Hannes Payer.
-\newblock Fast and scalable k-fifo queues.
-\newblock Technical Report 2012-04, University of Salzburg, Salzburg, Austria,
- June 2012.
-
-\bibitem[Kni08]{JohnKnickerbocker2008:3DI}
-John~U. Knickerbocker.
-\newblock {3D} chip technology.
-\newblock {\em IBM Journal of Research and Development}, 52(6), November 2008.
-\newblock Available: \url{http://www.research.ibm.com/journal/rd52-6.html}
- [Viewed: January 1, 2009].
-
-\bibitem[Knu73]{Knuth73}
-Donald Knuth.
-\newblock {\em The Art of Computer Programming}.
-\newblock Addison-Wesley, 1973.
-
-\bibitem[KS08]{Kroening:2008:DPA:1391237}
-Daniel Kroening and Ofer Strichman.
-\newblock {\em Decision Procedures: An Algorithmic Point of View}.
-\newblock Springer Publishing Company, Incorporated, 1 edition, 2008.
-
-\bibitem[KWS97]{Kontothanassis97a}
-Leonidas Kontothanassis, Robert~W. Wisniewski, and Michael~L. Scott.
-\newblock Scheduler-conscious synchronization.
-\newblock {\em Communications of the {ACM}}, 15(1):3--40, January 1997.
-
-\bibitem[LA94]{BengHongLim94}
-Beng-Hong Lim and Anant Agarwal.
-\newblock Reactive synchronization algorithms for multiprocessors.
-\newblock 03/28/94 FTP hing.lcs.mit.edu /pub/papers/reactive.ps.Z, March 1994.
-
-\bibitem[Lam74]{Lamport74a}
-Leslie Lamport.
-\newblock A new solution of {Dijkstra's} concurrent programming problem.
-\newblock {\em Communications of the {ACM}}, 17(8):453--455, August 1974.
-
-\bibitem[Lea97]{DougLea1997Textbook}
-Doug Lea.
-\newblock {\em Concurrent Programming in Java: Design Principles and Patterns}.
-\newblock Addison Wesley Longman, Reading, MA, USA, 1997.
-
-\bibitem[LLO09]{YossiLev2009SNZIrwlock}
-Yossi Lev, Victor Luchangco, and Marek Olszewski.
-\newblock Scalable reader-writer locks.
-\newblock In {\em SPAA '09: Proceedings of the twenty-first annual symposium on
- Parallelism in algorithms and architectures}, pages 101--110, New York, NY,
- USA, 2009. ACM.
-
-\bibitem[Loc02]{DougLocke2002a}
-Doug Locke.
-\newblock Priority inheritance: The real story.
-\newblock Available:
- \url{http://www.linuxdevices.com/articles/AT5698775833.html} [Viewed June 29,
- 2005], July 2002.
-
-\bibitem[Lom77]{DBLomet1977SIGSOFT}
-D.~B. Lomet.
-\newblock Process structuring, synchronization, and recovery using atomic
- actions.
-\newblock {\em SIGSOFT Softw. Eng. Notes}, 2(2):128--137, 1977.
-\newblock Available: \url{http://portal.acm.org/citation.cfm?id=808319#}
- [Viewed June 27, 2008].
-
-\bibitem[LR80]{Lampson1980Mesa}
-Butler~W. Lampson and David~D. Redell.
-\newblock Experience with processes and monitors in {Mesa}.
-\newblock {\em Communications of the ACM}, 23(2):105--117, 1980.
-
-\bibitem[LS86]{LaninShasha1986TSM}
-Vladimir Lanin and Dennis Shasha.
-\newblock A symmetric concurrent b-tree algorithm.
-\newblock In {\em ACM '86: Proceedings of 1986 ACM Fall joint computer
- conference}, pages 380--389, Los Alamitos, CA, USA, 1986. IEEE Computer
- Society Press.
-
-\bibitem[LS11]{YujieLiu2011ToxicTransactions}
-Yujie Liu and Michael Spear.
-\newblock Toxic transactions.
-\newblock In {\em TRANSACT 2011}. ACM SIGPLAN, June 2011.
-
-\bibitem[LSH02]{MichaelLyons02a}
-Michael Lyons, Ed~Silha, and Bill Hay.
-\newblock {PowerPC} storage model and {AIX} programming.
-\newblock Available:
- \url{http://www-106.ibm.com/developerworks/eserver/articles/powerpc.html}
- [Viewed: January 31, 2005], August 2002.
-
-\bibitem[MAK{\etalchar{+}}01]{McKenney01a}
-Paul~E. McKenney, Jonathan Appavoo, Andi Kleen, Orran Krieger, Rusty Russell,
- Dipankar Sarma, and Maneesh Soni.
-\newblock Read-copy update.
-\newblock In {\em {Ottawa Linux Symposium}}, July 2001.
-\newblock Available:
- \url{http://www.linuxsymposium.org/2001/abstracts/readcopy.php}
- \url{http://www.rdrop.com/users/paulmck/RCU/rclock_OLS.2001.05.01c.pdf}
- [Viewed June 23, 2004].
-
-\bibitem[Mas92]{HMassalinPhD}
-H.~Massalin.
-\newblock {\em Synthesis: An Efficient Implementation of Fundamental Operating
- System Services}.
-\newblock PhD thesis, Columbia University, New York, NY, 1992.
-
-\bibitem[Mat13]{NormMatloff2013ParProcBook}
-Norm Matloff.
-\newblock {\em Programming on Parallel Machines}.
-\newblock University of California, Davis, Davis, CA, USA, 2013.
-
-\bibitem[MBM{\etalchar{+}}06]{KevinEMoore2006}
-Kevin~E. Moore, Jayaram Bobba, Michelle~J. Moravan, Mark~D. Hill, and David~A.
- Wood.
-\newblock {LogTM}: Log-based transactional memory.
-\newblock In {\em Proceedings of the 12\textsuperscript{th} Annual
- International Symposium on High Performance Computer Architecture (HPCA-12)},
- Washington, DC, USA, 2006. IEEE.
-\newblock Available:
- \url{http://www.cs.wisc.edu/multifacet/papers/hpca06_logtm.pdf} [Viewed
- December 21, 2006].
-
-\bibitem[MBWW12]{PaulMcKenney2012RCUUsage}
-Paul~E. McKenney, Silas Boyd-Wickizer, and Jonathan Walpole.
-\newblock {RCU} usage in the linux kernel: One decade later.
-\newblock Technical report paulmck.2012.09.17, September 2012.
-
-\bibitem[McK90a]{McKenney89c}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock Technical Report ITSTD-7186-PA-89-11, SRI International, Menlo Park,
- CA, March 1990.
-\newblock To appear in INFOCOM'90.
-
-\bibitem[McK90b]{McKenney90}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock In {\em IEEE INFOCOM'90 Proceedings}, pages 733--740, San Francisco,
- June 1990. The Institute of Electrical and Electronics Engineers, Inc.
-\newblock Revision available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/sfq.2002.06.04.pdf}
- [Viewed May 26, 2008].
-
-\bibitem[McK91]{McKenney91}
-Paul~E. McKenney.
-\newblock Stochastic fairness queuing.
-\newblock {\em Internetworking: Theory and Experience}, 2:113--131, 1991.
-
-\bibitem[McK95]{McKenney95a}
-Paul~E. McKenney.
-\newblock Differential profiling.
-\newblock In {\em MASCOTS 1995}, pages 237--241, Toronto, Canada, January 1995.
-
-\bibitem[McK96a]{McKenney95b}
-Paul~E. McKenney.
-\newblock {\em Pattern Languages of Program Design}, volume~2, chapter 31:
- Selecting Locking Designs for Parallel Programs, pages 501--531.
-\newblock Addison-Wesley, June 1996.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/mutexdesignpat.pdf}
- [Viewed February 17, 2005].
-
-\bibitem[McK96b]{McKenney96a}
-Paul~E. McKenney.
-\newblock Selecting locking primitives for parallel programs.
-\newblock {\em Communications of the {ACM}}, 39(10):75--82, October 1996.
-
-\bibitem[McK99]{McKenney99b}
-Paul~E. McKenney.
-\newblock Differential profiling.
-\newblock {\em Software - Practice and Experience}, 29(3):219--234, 1999.
-
-\bibitem[McK03]{McKenney03a}
-Paul~E. McKenney.
-\newblock Using {RCU} in the {Linux} 2.5 kernel.
-\newblock {\em Linux Journal}, 1(114):18--26, October 2003.
-\newblock Available: \url{http://www.linuxjournal.com/article/6993} [Viewed
- November 14, 2007].
-
-\bibitem[McK04]{PaulEdwardMcKenneyPhD}
-Paul~E. McKenney.
-\newblock {\em Exploiting Deferred Destruction: An Analysis of Read-Copy-Update
- Techniques in Operating System Kernels}.
-\newblock PhD thesis, OGI School of Science and Engineering at Oregon Health
- and Sciences University, 2004.
-
-\bibitem[McK05a]{PaulMcKenney2005i}
-Paul~E. McKenney.
-\newblock Memory ordering in modern microprocessors, part {I}.
-\newblock {\em Linux Journal}, 1(136):52--57, August 2005.
-\newblock Available: \url{http://www.linuxjournal.com/article/8211}
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.19a.pdf}
- [Viewed November 30, 2007].
-
-\bibitem[McK05b]{PaulMcKenney2005j}
-Paul~E. McKenney.
-\newblock Memory ordering in modern microprocessors, part {II}.
-\newblock {\em Linux Journal}, 1(137):78--82, September 2005.
-\newblock Available: \url{http://www.linuxjournal.com/article/8212}
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.19a.pdf}
- [Viewed November 30, 2007].
-
-\bibitem[McK05c]{PaulMcKenney2005h}
-Paul~E. McKenney.
-\newblock A realtime preemption overview.
-\newblock Available: \url{http://lwn.net/Articles/146861/} [Viewed August 22,
- 2005], August 2005.
-
-\bibitem[McK06]{PaulEMcKenney2006c}
-Paul~E. McKenney.
-\newblock Sleepable {RCU}.
-\newblock Available: \url{http://lwn.net/Articles/202847/} Revised:
- \url{http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf} [Viewed
- August 21, 2006], October 2006.
-
-\bibitem[McK07a]{PaulEMcKenney2007PreemptibleRCU}
-Paul~E. McKenney.
-\newblock The design of preemptible read-copy-update.
-\newblock Available: \url{http://lwn.net/Articles/253651/} [Viewed October 25,
- 2007], October 2007.
-
-\bibitem[McK07b]{PaulMcKenney2007QRCUpatch}
-Paul~E. McKenney.
-\newblock {[PATCH]} {QRCU} with lockless fastpath.
-\newblock Available: \url{http://lkml.org/lkml/2007/2/25/18} [Viewed March 27,
- 2008], February 2007.
-
-\bibitem[McK07c]{PaulEMcKenney2007BoostRCU}
-Paul~E. McKenney.
-\newblock Priority-boosting {RCU} read-side critical sections.
-\newblock \url{http://lwn.net/Articles/220677/}, February 2007.
-
-\bibitem[McK07d]{PaulEMcKenney2007rcubarrier}
-Paul~E. McKenney.
-\newblock {RCU} and unloadable modules.
-\newblock Available: \url{http://lwn.net/Articles/217484/} [Viewed November 22,
- 2007], January 2007.
-
-\bibitem[McK07e]{PaulEMcKenney2007QRCUspin}
-Paul~E. McKenney.
-\newblock Using {Promela} and {Spin} to verify parallel algorithms.
-\newblock Available: \url{http://lwn.net/Articles/243851/} [Viewed September 8,
- 2007], August 2007.
-
-\bibitem[McK07f]{PaulEMcKenney2007whatisRCU}
-Paul~E. McKenney.
-\newblock What is {RCU}?
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/whatisRCU.html} [Viewed July 6,
- 2007], 07 2007.
-
-\bibitem[McK08a]{PaulEMcKenney2008HierarchicalRCU}
-Paul~E. McKenney.
-\newblock Hierarchical {RCU}.
-\newblock \url{http://lwn.net/Articles/305782/}, November 2008.
-
-\bibitem[McK08b]{PaulEMcKenney2008WhatIsRCUAPI}
-Paul~E. McKenney.
-\newblock {RCU} part 3: the {RCU} {API}.
-\newblock Available: \url{http://lwn.net/Articles/264090/} [Viewed January 10,
- 2008], January 2008.
-
-\bibitem[McK08c]{PaulEMcKenney2008WhatIsRCUUsage}
-Paul~E. McKenney.
-\newblock What is {RCU}? part 2: Usage.
-\newblock Available: \url{http://lwn.net/Articles/263130/} [Viewed January 4,
- 2008], January 2008.
-
-\bibitem[McK09a]{PaulEMcKenney2009BloatwatchRCU}
-Paul~E. McKenney.
-\newblock Re: [{PATCH} fyi] {RCU}: the bloatwatch edition.
-\newblock Available: \url{http://lkml.org/lkml/2009/1/14/449} [Viewed January
- 15, 2009], January 2009.
-
-\bibitem[McK09b]{PaulEMcKenney2009TMeverywhere}
-Paul~E. McKenney.
-\newblock Transactional memory everywhere?
-\newblock
- \url{http://paulmck.livejournal.com/tag/transactional%20memory%20everywhere},
- September 2009.
-
-\bibitem[McK11a]{PaulEMcKenney2011RCU3.0trainwreck}
-Paul~E. McKenney.
-\newblock 3.0 and {RCU:} what went wrong.
-\newblock \url{http://lwn.net/Articles/453002/}, July 2011.
-
-\bibitem[McK11b]{PaulEMcKenney2011SNC}
-Paul~E. McKenney.
-\newblock Concurrent code and expensive instructions.
-\newblock Available: \url{http://lwn.net/Articles/423994} [Viewed January 28,
- 2011], January 2011.
-
-\bibitem[McK11c]{PaulEMcKenney2011ppcmem}
-Paul~E. McKenney.
-\newblock Validating memory barriers and atomic instructions.
-\newblock \url{http://lwn.net/Articles/470681/}, December 2011.
-
-\bibitem[McK11d]{PaulEMcKenney2011Verico}
-Paul~E. McKenney.
-\newblock Verifying parallel software: Can theory meet practice?
-\newblock
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/VericoTheoryPractice.2011.01.28a.pdf},
- January 2011.
-
-\bibitem[McK12a]{McKenney2008ParallelProgramming}
-Paul~E. McKenney.
-\newblock {\em Is Parallel Programming Hard, And, If So, What Can You Do About
- It?}
-\newblock kernel.org, Corvallis, OR, USA, 2012.
-
-\bibitem[McK12b]{PaulEMcKenney2012ELCbattery}
-Paul~E. McKenney.
-\newblock Making {RCU} safe for battery-powered devices.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/RCU/RCUdynticks.2012.02.15b.pdf}
- [Viewed March 1, 2012], February 2012.
-
-\bibitem[McK12c]{PaulEMcKenney2012HOTPARsuboptimal}
-Paul~E. McKenney.
-\newblock Retrofitted parallelism considered grossly sub-optimal.
-\newblock In {\em 4\textsuperscript{th} USENIX Workshop on Hot Topics on
- Parallelism}, page~7, Berkeley, CA, USA, June 2012.
-
-\bibitem[McK12d]{PaulEMcKenney2012SignedOverflow}
-Paul~E. McKenney.
-\newblock Signed overflow optimization hazards in the kernel.
-\newblock \url{http://lwn.net/Articles/511259/}, August 2012.
-
-\bibitem[McK13]{McKenney:2013:SDS:2483852.2483867}
-Paul~E. McKenney.
-\newblock Structured deferral: synchronization via procrastination.
-\newblock {\em Commun. ACM}, 56(7):40--49, July 2013.
-
-\bibitem[McK14]{PaulEMcKenney2014RCUAPI}
-Paul~E. McKenney.
-\newblock The {RCU} {API}, 2014 edition.
-\newblock \url{http://lwn.net/Articles/609904/}, September 2014.
-
-\bibitem[MCM02]{McKenney02d}
-Paul~E. McKenney, Kevin~A. Closson, and Raghupathi Malige.
-\newblock Lingering locks with fairness control for multi-node computer
- systems.
-\newblock Technical Report US Patent 6,480,918, US Patent and Trademark Office,
- Washington, DC, November 2002.
-
-\bibitem[MCS91]{MellorCrummey91a}
-John~M. Mellor-Crummey and Michael~L. Scott.
-\newblock Algorithms for scalable synchronization on shared-memory
- multiprocessors.
-\newblock {\em Transactions of Computer Systems}, 9(1):21--65, February 1991.
-
-\bibitem[MD92]{McKenney92b}
-Paul~E. McKenney and Ken~F. Dove.
-\newblock Efficient demultiplexing of incoming tcp packets.
-\newblock In {\em SIGCOMM '92, Proceedings of the Conference on Communications
- Architecture \& Protocols}, pages 269--279, Baltimore, MD, August 1992.
- Association for Computing Machinery.
-
-\bibitem[MDJ13a]{PaulMcKenney2013LWNURCUhash}
-Paul~E. McKenney, Mathieu Desnoyers, and Lai Jiangshan.
-\newblock {URCU}-protected hash tables.
-\newblock \url{http://lwn.net/Articles/573431/}, November 2013.
-
-\bibitem[MDJ13b]{PaulMcKenney2013LWNURCUqueuestack}
-Paul~E. McKenney, Mathieu Desnoyers, and Lai Jiangshan.
-\newblock {URCU}-protected queues and stacks.
-\newblock \url{https://lwn.net/Articles/573433/}, November 2013.
-
-\bibitem[{Mel}06]{CSIRACUniversityMelbourne}
-{Melbourne School of Engineering}.
-\newblock {CSIRAC}.
-\newblock Available: \url{http://www.csse.unimelb.edu.au/dept/about/csirac/}
- [Viewed: December 7, 2008], 2006.
-
-\bibitem[Met99]{PanagiotisMetaxas1999PDCS}
-Panagiotis~Takis Metaxas.
-\newblock Fast dithering on a data-parallel computer.
-\newblock In {\em Proceedings of the IASTED International Conference on
- Parallel and Distributed Computing and Systems}, pages 570--576, Cambridge,
- MA, USA, 1999. IASTED.
-
-\bibitem[MG92]{McKenney92a}
-Paul~E. McKenney and Gary Graunke.
-\newblock Efficient buffer allocation on shared-memory multiprocessors.
-\newblock In {\em IEEE Workshop on the Architecture and Implementation of High
- Performance Communication Subsystems}, pages 194--199, Tucson, AZ, February
- 1992. The Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[MGM{\etalchar{+}}09]{PaulEMcKenney2009ProgrammingHard}
-Paul~E. McKenney, Manish Gupta, Maged~M. Michael, Phil Howard, Joshua Triplett,
- and Jonathan Walpole.
-\newblock Is parallel programming hard, and if so, why?
-\newblock Technical Report TR-09-02, Portland State University, Portland, OR,
- USA, February 2009.
-\newblock Available: \url{http://www.cs.pdx.edu/pdfs/tr0902.pdf} [Viewed
- February 19, 2009].
-
-\bibitem[MHS12]{MiloMKMartin2012scale}
-Milo M.~K. Martin, Mark~D. Hill, and Daniel~J. Sorin.
-\newblock Why on-chip coherence is here to stay.
-\newblock {\em Communications of the ACM}, 55(7):78--89, July 2012.
-
-\bibitem[Mic03]{DBLP:conf/europar/Michael03}
-Maged~M. Michael.
-\newblock Cas-based lock-free algorithm for shared deques.
-\newblock In Harald Kosch, L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi, and Hermann
- Hellwagner, editors, {\em Euro-Par}, volume 2790 of {\em Lecture Notes in
- Computer Science}, pages 651--660. Springer, 2003.
-
-\bibitem[Mic04]{MagedMichael04a}
-Maged~M. Michael.
-\newblock Hazard pointers: Safe memory reclamation for lock-free objects.
-\newblock {\em IEEE Transactions on Parallel and Distributed Systems},
- 15(6):491--504, June 2004.
-
-\bibitem[Mil06]{DavidSMiller2006HashedLocking}
-David~S. Miller.
-\newblock Re: [{PATCH}, {RFC}] {RCU} : {OOM} avoidance and lower latency.
-\newblock Available: \url{https://lkml.org/lkml/2006/1/7/22} [Viewed February
- 29, 2012], January 2006.
-
-\bibitem[MK88]{McKusick88}
-Marshall~Kirk McKusick and Michael~J. Karels.
-\newblock Design of a general purpose memory allocator for the {4.3BSD} {UNIX}
- kernel.
-\newblock In {\em USENIX Conference Proceedings}, Berkeley CA, June 1988.
-
-\bibitem[MLH94]{Magnusson94}
-Peter Magnusson, Anders Landin, and Erik Hagersten.
-\newblock Efficient software synchronization on large cache coherent
- multiprocessors.
-\newblock Technical Report T94:07, Swedish Institute of Computer Science,
- Kista, Sweden, February 1994.
-
-\bibitem[MM00]{Molnar00a}
-Ingo Molnar and David~S. Miller.
-\newblock brlock.
-\newblock Available:
- \url{http://www.tm.kernel.org/pub/linux/kernel/v2.3/patch-html/patch-2.3.49/linux_include_linux_brlock.h.html}
- [Viewed September 3, 2004], March 2000.
-
-\bibitem[MMTW10]{PaulEMcKenney2010OSRGrassGreener}
-Paul~E. McKenney, Maged~M. Michael, Josh Triplett, and Jonathan Walpole.
-\newblock Why the grass may not be greener on the other side: a comparison of
- locking vs. transactional memory.
-\newblock {\em ACM Operating Systems Review}, 44(3), July 2010.
-
-\bibitem[MMW07]{McKenney2007PLOSTM}
-Paul~E. McKenney, Maged Michael, and Jonathan Walpole.
-\newblock Why the grass may not be greener on the other side: A comparison of
- locking vs. transactional memory.
-\newblock In {\em Programming Languages and Operating Systems}, pages 1--5, New
- York, NY, USA, October 2007. ACM SIGOPS.
-
-\bibitem[Mol05]{IngoMolnar05a}
-Ingo Molnar.
-\newblock Index of /pub/linux/kernel/projects/rt.
-\newblock Available: \url{http://www.kernel.org/pub/linux/kernel/projects/rt/}
- [Viewed February 15, 2005], February 2005.
-
-\bibitem[Mol06]{IngoMolnar2006RobustFutexes}
-Ingo Molnar.
-\newblock Lightweight robust futexes.
-\newblock Available:
- \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/robust-futexes.txt}
- [Viewed May 22, 2011], March 2006.
-
-\bibitem[Moo03]{GordonMoore03a}
-Gordon Moore.
-\newblock No exponential is forever--but we can delay forever.
-\newblock In {\em IBM Academy of Technology 2003 Annual Meeting}, San
- Francisco, CA, October 2003.
-
-\bibitem[MOZ09]{PeterOkech2009InherentRandomness}
-Nicholas {Mc Guire}, Peter~Odhiambo Okech, and Qingguo Zhou.
-\newblock Analysis of inherent randomness of the linux kernel.
-\newblock In {\em Eleventh Real Time Linux Workshop}, Dresden, Germany,
- September 2009.
-
-\bibitem[MPA{\etalchar{+}}06]{WikipediaRCU}
-Paul~E. McKenney, Chris Purcell, Algae, Ben Schumin, Gaius Cornelius, Qwertyus,
- Neil Conway, Sbw, Blainster, Canis Rufus, Zoicon5, Anome, and Hal Eisen.
-\newblock Read-copy update.
-\newblock \url{http://en.wikipedia.org/wiki/Read-copy-update}, July 2006.
-
-\bibitem[{MPI}08]{MPIForum2008}
-{MPI Forum}.
-\newblock Message passing interface forum.
-\newblock Available: \url{http://www.mpi-forum.org/} [Viewed September 9,
- 2008], September 2008.
-
-\bibitem[MR08]{PaulEMcKenney2008dynticksRCU}
-Paul~E. McKenney and Steven Rostedt.
-\newblock Integrating and validating dynticks and preemptable {RCU}.
-\newblock Available: \url{http://lwn.net/Articles/279077/} [Viewed April 24,
- 2008], April 2008.
-
-\bibitem[MS93]{McKenney93}
-Paul~E. McKenney and Jack Slingwine.
-\newblock Efficient kernel memory allocation on shared-memory multiprocessors.
-\newblock In {\em USENIX Conference Proceedings}, pages 295--306, Berkeley CA,
- February 1993. USENIX Association.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/mpalloc.pdf}
- [Viewed January 30, 2005].
-
-\bibitem[MS96]{MichaelScott96}
-M.M Michael and M.~L. Scott.
-\newblock Simple, fast, and practical non-blocking and blocking concurrent
- queue algorithms.
-\newblock In {\em Proc of the Fifteenth ACM Symposium on Principles of
- Distributed Computing}, pages 267--275, May 1996.
-\newblock Available:
- \url{http://www.research.ibm.com/people/m/michael/podc-1996.pdf} [Viewed
- January 26, 2009].
-
-\bibitem[MS98a]{McKenney98}
-Paul~E. McKenney and John~D. Slingwine.
-\newblock Read-copy update: Using execution history to solve concurrency
- problems.
-\newblock In {\em {Parallel and Distributed Computing and Systems}}, pages
- 509--518, Las Vegas, NV, October 1998.
-
-\bibitem[MS98b]{MagedMichael1993JPDC}
-Maged~M. Michael and Michael~L. Scott.
-\newblock Nonblocking algorithms and preemption-safe locking on multiprogrammed
- shared memory multiprocessors.
-\newblock {\em J. Parallel Distrib. Comput.}, 51(1):1--26, 1998.
-
-\bibitem[MS08]{MySQL2008}
-{MySQL AB} and {Sun Microsystems}.
-\newblock {MySQL Downloads}.
-\newblock Available: \url{http://dev.mysql.com/downloads/} [Viewed November 26,
- 2008], November 2008.
-
-\bibitem[MS09]{PaulEMcKenneyN2745r2009}
-Paul~E. McKenney and Raul Silvera.
-\newblock Example power implementation for c/c++ memory model.
-\newblock Available:
- \url{http://www.rdrop.com/users/paulmck/scalability/paper/N2745r.2009.02.27a.html}
- [Viewed: April 5, 2009], February 2009.
-
-\bibitem[MS12]{AlexanderMatveev2012PessimisticTM}
-Alexander Matveev and Nir Shavit.
-\newblock Towards a fully pessimistic {STM} model.
-\newblock In {\em TRANSACT 2012}. ACM SIGPLAN, February 2012.
-
-\bibitem[MS14]{PaulEMcKenney2014weakaxiom}
-Paul~E. McKenney and Alan Stern.
-\newblock Axiomatic validation of memory barriers and atomic instructions.
-\newblock \url{http://lwn.net/Articles/608550/}, August 2014.
-
-\bibitem[MSK01]{McKenney01e}
-Paul~E. McKenney, Jack Slingwine, and Phil Krueger.
-\newblock Experience with an efficient parallel kernel memory allocator.
-\newblock {\em Software -- Practice and Experience}, 31(3):235--257, March
- 2001.
-
-\bibitem[MSM05]{Mattson2005Textbook}
-Timothy~G. Mattson, Beverly~A. Sanders, and Berna~L. Massingill.
-\newblock {\em Patterns for Parallel Programming}.
-\newblock Addison Wesley, Boston, MA, USA, 2005.
-
-\bibitem[MSS04]{McKenney04a}
-Paul~E. McKenney, Dipankar Sarma, and Maneesh Soni.
-\newblock Scaling dcache with {RCU}.
-\newblock {\em Linux Journal}, 1(118):38--46, January 2004.
-
-\bibitem[MT01]{Martinez01a}
-Jose~F. Martinez and Josep Torrellas.
-\newblock Speculative locks for concurrent execution of critical sections in
- shared-memory multiprocessors.
-\newblock In {\em Workshop on Memory Performance Issues, International
- Symposium on Computer Architecture}, Gothenburg, Sweden, June 2001.
-\newblock Available:
- \url{http://iacoma.cs.uiuc.edu/iacoma-papers/wmpi_locks.pdf} [Viewed June 23,
- 2004].
-
-\bibitem[MT02]{Martinez02a}
-Jose~F. Martinez and Josep Torrellas.
-\newblock Speculative synchronization: Applying thread-level speculation to
- explicitly parallel applications.
-\newblock In {\em Proceedings of the 10\textsuperscript{th} International
- Conference on Architectural Support for Programming Languages and Operating
- Systems}, pages 18--29, San Jose, CA, October 2002.
-
-\bibitem[Mud00]{TrevorMudge2000Power}
-Trevor Mudge.
-\newblock {POWER}: A first-class architectural design constraint.
-\newblock {\em IEEE Computer}, 33(4):52--58, April 2000.
-
-\bibitem[{Mus}04]{CSIRACMuseumVictoria}
-{Museum Victoria Australia}.
-\newblock {CSIRAC}: {Australia's} first computer.
-\newblock Available: \url{http://museumvictoria.com.au/CSIRAC/} [Viewed:
- December 7, 2008], 2004.
-
-\bibitem[MW07]{PaulEMcKenney2007WhatIsRCUFundamentally}
-Paul~E. McKenney and Jonathan Walpole.
-\newblock What is {RCU}, fundamentally?
-\newblock Available: \url{http://lwn.net/Articles/262464/} [Viewed December 27,
- 2007], December 2007.
-
-\bibitem[Mye79]{GlenfordJMyers1979}
-Glenford~J. Myers.
-\newblock {\em The Art of Software Testing}.
-\newblock Wiley, 1979.
-
-\bibitem[Nes06a]{OlegNesterov2006QRCU}
-Oleg Nesterov.
-\newblock Re: [patch] cpufreq: mark {\tt cpufreq\_tsc()} as {\tt
- core\_initcall\_sync}.
-\newblock Available: \url{http://lkml.org/lkml/2006/11/19/69} [Viewed May 28,
- 2007], November 2006.
-
-\bibitem[Nes06b]{OlegNesterov2006aQRCU}
-Oleg Nesterov.
-\newblock Re: [rfc, patch 1/2] qrcu: {"quick"} srcu implementation.
-\newblock Available: \url{http://lkml.org/lkml/2006/11/29/330} [Viewed November
- 26, 2008], November 2006.
-
-\bibitem[ON06]{RobertOlsson2006a}
-Robert Olsson and Stefan Nilsson.
-\newblock {TRASH}: A dynamic {LC}-trie and hash data structure.
-\newblock \url{http://www.nada.kth.se/~snilsson/publications/TRASH/trash.pdf},
- August 2006.
-
-\bibitem[ONH{\etalchar{+}}96]{Olukotun96}
-Kunle Olukotun, Basem~A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang.
-\newblock The case for a single-chip multiprocessor.
-\newblock In {\em ASPLOS VII}, October 1996.
-
-\bibitem[{Ope}97]{OpenGroup1997pthreads}
-{Open Group}.
-\newblock The single {UNIX} specification, version 2: Threads.
-\newblock Available:
- \url{http://www.opengroup.org/onlinepubs/007908799/xsh/threads.html} [Viewed
- September 19, 2008], 1997.
-
-\bibitem[Pat10]{DavidAPatterson2010TroubleMulticore}
-David Patterson.
-\newblock The trouble with multicore.
-\newblock {\em IEEE Spectrum}, 2010:28--32, 52--53, July 2010.
-
-\bibitem[Pet06]{JeremyWPeters2006NYTDec11}
-Jeremy Peters.
-\newblock From reuters, automatic trading linked to news events.
-\newblock Available:
- \url{http://www.nytimes.com/2006/12/11/technology/11reuters.html?ei=5088&en=e5e9416415a9eeb2&ex=1323493200...}
- [Viewed July 7, 2007], December 2006.
-
-\bibitem[Pig06]{NickPiggin2006radixtree}
-Nick Piggin.
-\newblock [patch 3/3] radix-tree: {RCU} lockless readside.
-\newblock Available: \url{http://lkml.org/lkml/2006/6/20/238} [Viewed March 25,
- 2008], June 2006.
-
-\bibitem[Pok16]{DeadlockEmpire2016}
-Michael Pokorny.
-\newblock The deadlock empire.
-\newblock \url{https://deadlockempire.github.io/}, February 2016.
-
-\bibitem[{Pos}08]{PostgreSQL2008}
-{PostgreSQL Global Development Group}.
-\newblock {PostgreSQL}.
-\newblock Available: \url{http://www.postgresql.org/} [Viewed November 26,
- 2008], November 2008.
-
-\bibitem[Pug90]{Pugh90}
-William Pugh.
-\newblock Concurrent maintenance of skip lists.
-\newblock Technical Report CS-TR-2222.1, Institute of Advanced Computer Science
- Studies, Department of Computer Science, University of Maryland, College
- Park, Maryland, June 1990.
-
-\bibitem[Pul00]{GeoffreyKPullum2000HaltingProblem}
-Geoffrey~K. Pullum.
-\newblock How {Dr. Seuss} would prove the halting problem undecidable.
-\newblock {\em Mathematics Magazine}, 73(4):319--320, 2000.
-\newblock \url{http://www.lel.ed.ac.uk/~gpullum/loopsnoop.html}.
-
-\bibitem[PW07]{DonaldEPorter2007TRANSACT}
-Donald~E. Porter and Emmett Witchel.
-\newblock Lessons from large transactional systems.
-\newblock Personal communication
- <20071214220521.GA5721@olive-green.cs.utexas.edu>, December 2007.
-
-\bibitem[Ray99]{EricSRaymond99b}
-Eric~S. Raymond.
-\newblock {\em The Cathedral and the Bazaar: Musings on Linux and Open Source
- by an Accidental Revolutionary}.
-\newblock O'Reilly, 1999.
-
-\bibitem[RD12]{RaviRajwar2012TSX}
-Ravi Rajwar and Martin Dixon.
-\newblock Intel transactional synchronization extensions.
-\newblock Intel Developer Forum (IDF) 2012 ARCS004, September 2012.
-
-\bibitem[Reg10]{JohnRegehr2010UndefinedBehavior}
-John Regehr.
-\newblock A guide to undefined behavior in c and c++, part 1.
-\newblock \url{http://blog.regehr.org/archives/213}, July 2010.
-
-\bibitem[Rei07]{Reinders2007Textbook}
-James Reinders.
-\newblock {\em {Intel} {Threading} {Building} {Blocks}}.
-\newblock O'Reilly, Sebastopol, CA, USA, 2007.
-
-\bibitem[RG01]{Rajwar01a}
-Ravi Rajwar and James~R. Goodman.
-\newblock Speculative lock elision: Enabling highly concurrent multithreaded
- execution.
-\newblock In {\em Proceedings of the 34\textsuperscript{th} Annual ACM/IEEE
- International Symposium on Microarchitecture}, pages 294--305, Austin, TX,
- December 2001. The Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[RG02]{Rajwar02a}
-Ravi Rajwar and James~R. Goodman.
-\newblock Transactional lock-free execution of lock-based programs.
-\newblock In {\em Proceedings of the 10\textsuperscript{th} International
- Conference on Architectural Support for Programming Languages and Operating
- Systems}, pages 5--17, Austin, TX, October 2002.
-
-\bibitem[RH02]{radovic02efficient}
-Zoran Radovi{\'c} and Erik Hagersten.
-\newblock Efficient synchronization for nonuniform communication architectures.
-\newblock In {\em Proceedings of the 2002 ACM/IEEE Conference on
- Supercomputing}, pages 1--13, Baltimore, Maryland, USA, November 2002. The
- Institute of Electrical and Electronics Engineers, Inc.
-
-\bibitem[RH03]{radovic03hierarchical}
-Zoran Radovi{\'c} and Erik Hagersten.
-\newblock Hierarchical backoff locks for nonuniform communication
- architectures.
-\newblock In {\em Proceedings of the Ninth International Symposium on High
- Performance Computer Architecture ({HPCA-9})}, pages 241--252, Anaheim,
- California, USA, February 2003.
-
-\bibitem[RHP{\etalchar{+}}07]{ChistopherJRossbach2007a}
-Chistopher~J. Rossbach, Owen~S. Hofmann, Donald~E. Porter, Hany~E. Ramadan,
- Aditya Bhandari, and Emmett Witchel.
-\newblock {TxLinux}: Using and managing hardware transactional memory in an
- operating system.
-\newblock In {\em SOSP'07: Twenty-First ACM Symposium on Operating Systems
- Principles}. ACM SIGOPS, October 2007.
-\newblock Available: \url{http://www.sosp2007.org/papers/sosp056-rossbach.pdf}
- [Viewed October 21, 2007].
-
-\bibitem[Ros06]{StevenRostedt2006piFutexes}
-Steven Rostedt.
-\newblock Lightweight {PI-futexes}.
-\newblock Available:
- \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/pi-futex.txt} [Viewed
- May 22, 2011], June 2006.
-
-\bibitem[Ros10a]{StevenRostedt2010perfHP+DeathlyMacros}
-Steven Rostedt.
-\newblock tracing: {Harry} {Potter} and the {Deathly} {Macros}.
-\newblock Available: \url{http://lwn.net/Articles/418710/} [Viewed: August 28,
- 2011], December 2010.
-
-\bibitem[Ros10b]{StevenRostedt2010perfTraceEventP1}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 1).
-\newblock Available: \url{http://lwn.net/Articles/379903/} [Viewed: August 28,
- 2011], March 2010.
-
-\bibitem[Ros10c]{StevenRostedt2010perfTraceEventP2}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 2).
-\newblock Available: \url{http://lwn.net/Articles/381064/} [Viewed: August 28,
- 2011], March 2010.
-
-\bibitem[Ros10d]{StevenRostedt2010perfTraceEventP3}
-Steven Rostedt.
-\newblock Using the {TRACE\_EVENT()} macro (part 3).
-\newblock Available: \url{http://lwn.net/Articles/383362/} [Viewed: August 28,
- 2011], April 2010.
-
-\bibitem[Ros11]{StevenRostedt2011locdepCryptic}
-Steven Rostedt.
-\newblock lockdep: How to read its cryptic output.
-\newblock \url{http://www.linuxplumbersconf.org/2011/ocw/sessions/153},
- September 2011.
-
-\bibitem[Rus03]{RustyRussell2003OLSkeynote}
-Rusty Russell.
-\newblock Hanging out with smart people: or... things {I} learned being a
- kernel monkey.
-\newblock 2003 Ottawa Linux Symposium Keynote
- \url{http://ozlabs.org/~rusty/ols-2003-keynote/ols-keynote-2003.html}, July
- 2003.
-
-\bibitem[SAH{\etalchar{+}}03]{Soules03a}
-Craig A.~N. Soules, Jonathan Appavoo, Kevin Hui, Dilma {Da Silva}, Gregory~R.
- Ganger, Orran Krieger, Michael Stumm, Robert~W. Wisniewski, Marc Auslander,
- Michal Ostrowski, Bryan Rosenburg, and Jimi Xenidis.
-\newblock System support for online reconfiguration.
-\newblock In {\em Proceedings of the 2003 USENIX Annual Technical Conference},
- pages 141--154. USENIX Association, June 2003.
-
-\bibitem[SATG{\etalchar{+}}09]{TatianaShpeisman2009CppTM}
-Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Robert Geva, Yang Ni, and Adam Welc.
-\newblock Towards transactional memory semantics for c++.
-\newblock In {\em SPAA '09: Proceedings of the twenty-first annual symposium on
- Parallelism in algorithms and architectures}, pages 49--58, New York, NY,
- USA, 2009. ACM.
-
-\bibitem[{Sch}35]{ErwinSchroedinger1935Cat}
-E.~{Schr\"odinger}.
-\newblock Die {gegenw\"artige} {Situation} in der {Quantenmechanik}.
-\newblock {\em Naturwissenschaften}, 23:807--812; 823--828; 844--949, November
- 1935.
-\newblock English translation: \url{http://www.tuhh.de/rzt/rzt/it/QM/cat.html}.
-
-\bibitem[Sch94]{Schimmel:1994:USM:175689}
-Curt Schimmel.
-\newblock {\em UNIX Systems for Modern Architectures: Symmetric Multiprocessing
- and Caching for Kernel Programmers}.
-\newblock Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1994.
-
-\bibitem[Sco06]{MichaelScott2006Textbook}
-Michael Scott.
-\newblock {\em Programming Language Pragmatics}.
-\newblock Morgan Kaufmann, Burlington, MA, USA, 2006.
-
-\bibitem[Sco13]{MichaelScott2013Textbook}
-Michael~L. Scott.
-\newblock {\em Shared-Memory Synchronization}.
-\newblock Morgan \& Claypool, San Rafael, CA, USA, 2013.
-
-\bibitem[Seq88]{SQNTParallel}
-Sequent Computer Systems, Inc.
-\newblock {\em Guide to Parallel Programming}, 1988.
-
-\bibitem[Sew]{PeterSewell2010weakmemory}
-Peter Sewell.
-\newblock The semantics of multiprocessor programs.
-\newblock Available: \url{http://www.cl.cam.ac.uk/~pes20/weakmemory/} [Viewed:
- June 7, 2010].
-
-\bibitem[Sha11]{Shavit:2011:DSM:1897852.1897873}
-Nir Shavit.
-\newblock Data structures in the multicore age.
-\newblock {\em Commun. ACM}, 54(3):76--84, March 2011.
-
-\bibitem[SHW11]{DanielJSorin2011MemModel}
-Daniel~J. Sorin, Mark~D. Hill, and David~A. Wood.
-\newblock {\em A Primer on Memory Consistency and Cache Coherence}.
-\newblock Synthesis Lectures on Computer Architecture. Morgan \& Claypool,
- 2011.
-
-\bibitem[SM04]{Sarma04c}
-Dipankar Sarma and Paul~E. McKenney.
-\newblock Making {RCU} safe for deep sub-millisecond response realtime
- applications.
-\newblock In {\em Proceedings of the 2004 USENIX Annual Technical Conference
- (FREENIX Track)}, pages 182--191. USENIX Association, June 2004.
-
-\bibitem[Smi15]{RichardSmith2015N4527}
-Richard Smith.
-\newblock Working draft, standard for programming language {C++}.
-\newblock
- \url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4527.pdf}, May
- 2015.
-
-\bibitem[SMS08]{SpearMichaelScott2008InevitableSTM}
-Michael Spear, Maged Michael, and Michael Scott.
-\newblock Inevitability mechanisms for software transactional memory.
-\newblock In {\em {3\textsuperscript{rd} ACM SIGPLAN Workshop on Transactional
- Computing}}, New York, NY, USA, February 2008. ACM.
-\newblock Available:
- \url{http://www.cs.rochester.edu/u/scott/papers/2008_TRANSACT_inevitability.pdf}
- [Viewed January 10, 2009].
-
-\bibitem[SPA94]{SPARC94}
-SPARC International.
-\newblock {\em The {SPARC} Architecture Manual}, 1994.
-
-\bibitem[Spi77]{KeithRSpitz1977}
-Keith~R. Spitz.
-\newblock Tell which is which and you'll be rich.
-\newblock Inscription on wall of dungeon, 1977.
-
-\bibitem[Spr01]{Spraul01}
-Manfred Spraul.
-\newblock Re: {RFC:} patch to allow lock-free traversal of lists with
- insertion.
-\newblock Available:
- \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2}
- [Viewed June 23, 2004], October 2001.
-
-\bibitem[Spr08]{ManfredSpraul2008StateMachineRCU}
-Manfred Spraul.
-\newblock [{RFC}, {PATCH}] state machine based rcu.
-\newblock Available: \url{http://lkml.org/lkml/2008/8/21/336} [Viewed December
- 8, 2008], August 2008.
-
-\bibitem[SR84]{Segall84}
-Z.~Segall and L.~Rudolf.
-\newblock Dynamic decentralized cache schemes for {MIMD} parallel processors.
-\newblock In {\em 11\textsuperscript{th} Annual International Symposium on
- Computer Architecture}, pages 340--347, June 1984.
-
-\bibitem[SRL90a]{Sha1990IEEETransComp}
-L.~Sha, R.~Rajkumar, and J.~P. Lehoczky.
-\newblock Priority inheritance protocols: An approach to real-time
- synchronization.
-\newblock {\em IEEE Trans. Comput.}, 39(9):1175--1185, 1990.
-
-\bibitem[SRL90b]{LuiSha1990PriorityInheritance}
-Lui Sha, Ragunathan Rajkumar, and John~P. Lehoczky.
-\newblock Priority inheritance protocols: An approach to real-time
- synchronization.
-\newblock {\em IEEE Transactions on Computers}, 39(9):1175--1185, 1990.
-
-\bibitem[SS94]{DuaneSzafron1994PEMPDS}
-Duane Szafron and Jonathan Schaeffer.
-\newblock Experimentally assessing the usability of parallel programming
- systems.
-\newblock In {\em IFIP WG10.3 Programming Environments for Massively Parallel
- Distributed Systems}, pages 19.1--19.7, 1994.
-
-\bibitem[SS06]{OriShalev2006SplitOrderListHash}
-Ori Shalev and Nir Shavit.
-\newblock Split-ordered lists: Lock-free extensible hash tables.
-\newblock {\em J. ACM}, 53(3):379--405, May 2006.
-
-\bibitem[SSHT93]{JMStone93}
-Janice~S. Stone, Harold~S. Stone, Philip Heidelberger, and John Turek.
-\newblock Multiple reservations and the {Oklahoma} update.
-\newblock {\em {IEEE} Parallel and Distributed Technology Systems and
- Applications}, 1(4):58--71, November 1993.
-
-\bibitem[SSRB00]{SchmidtStalRohnertBuschmann2000v2Textbook}
-Douglas~C. Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann.
-\newblock {\em Pattern-Oriented Software Architecture Volume 2: Patterns for
- Concurrent and Networked Objects}.
-\newblock Wiley, Chichester, West Sussex, England, 2000.
-
-\bibitem[SSVM02]{McKenney02e}
-S.~Swaminathan, John Stultz, Jack Vogel, and Paul~E. McKenney.
-\newblock Fairlocks -- a high performance fair locking scheme.
-\newblock In {\em Proceedings of the 14\textsuperscript{th} {IASTED}
- International Conference on Parallel and Distributed Computing and Systems},
- pages 246--251, Cambridge, MA, USA, November 2002.
-
-\bibitem[ST87]{Snaman87}
-William~E. Snaman and David~W. Thiel.
-\newblock The {VAX/VMS} distributed lock manager.
-\newblock {\em Digital Technical Journal}, 5:29--44, September 1987.
-
-\bibitem[ST95]{Shavit95}
-Nir Shavit and Dan Touitou.
-\newblock Software transactional memory.
-\newblock In {\em Proceedings of the 14\textsuperscript{th} Annual {ACM}
- Symposium on Principles of Distributed Computing}, pages 204--213, Ottawa,
- Ontario, Canada, August 1995.
-
-\bibitem[Ste92]{WRichardStevens1992}
-W.~Richard Stevens.
-\newblock {\em Advanced Programming in the {UNIX} Environment}.
-\newblock Addison Wesley, 1992.
-
-\bibitem[Sut08]{HerbSutter2008EffectiveConcurrency}
-Herb Sutter.
-\newblock Effective concurrency.
-\newblock Series in Dr. Dobbs Journal, 2008.
-
-\bibitem[Sut13]{AdrianSutton2013LCA:Disruptor}
-Adrian Sutton.
-\newblock Concurrent programming with the {Disruptor}.
-\newblock \url{http://lca2013.linux.org.au/schedule/30168/view_talk}, January
- 2013.
-
-\bibitem[SW95]{ALPHA95}
-Richard~L. Sites and Richard~T. Witek.
-\newblock {\em Alpha {AXP} Architecture}.
-\newblock Digital Press, second edition, 1995.
-
-\bibitem[{The}08]{OpenMPI2008}
-{The Open MPI Project}.
-\newblock {MySQL Downloads}.
-\newblock Available: \url{http://www.open-mpi.org/software/} [Viewed November
- 26, 2008], November 2008.
-
-\bibitem[{The}11]{ValgrindHomePage}
-{The Valgrind Developers}.
-\newblock Valgrind.
-\newblock \url{http://www.valgrind.org/}, November 2011.
-
-\bibitem[{The}12]{OProfileHomePage}
-{The OProfile Developers}.
-\newblock Oprofile.
-\newblock \url{http://oprofile.sourceforge.net}, April 2012.
-
-\bibitem[TMW11]{Triplett:2011:RPHash}
-Josh Triplett, Paul~E. McKenney, and Jonathan Walpole.
-\newblock Resizable, scalable, concurrent hash tables via relativistic
- programming.
-\newblock In {\em Proceedings of the 2011 USENIX Annual Technical Conference},
- pages 145--158, Portland, OR USA, June 2011. The USENIX Association.
-
-\bibitem[Tor01]{LinusTorvalds2001a}
-Linus Torvalds.
-\newblock {Re:} {[Lse-tech]} {Re:} {RFC:} patch to allow lock-free traversal of
- lists with insertion.
-\newblock Available: \url{http://lkml.org/lkml/2001/10/13/105} [Viewed August
- 21, 2004], October 2001.
-
-\bibitem[Tor03]{Torvalds2.6kernel}
-Linus Torvalds.
-\newblock Linux 2.6.
-\newblock Available: \url{ftp://kernel.org/pub/linux/kernel/v2.6} [Viewed June
- 23, 2004], August 2003.
-
-\bibitem[{Tra}01]{TPC}
-{Transaction Processing Performance Council}.
-\newblock {TPC}.
-\newblock Available: \url{http://www.tpc.org/} [Viewed December 7, 2008], 2001.
-
-\bibitem[Tre86]{Treiber86}
-R.~K. Treiber.
-\newblock Systems programming: Coping with parallelism.
-\newblock {RJ} 5118, April 1986.
-
-\bibitem[TS93]{Takada93}
-Hiroaki Takada and Ken Sakamura.
-\newblock A bounded spin lock algorithm with preemption.
-\newblock Technical Report 93-02, University of Tokyo, Tokyo, Japan, 1993.
-
-\bibitem[TS95]{Takada:1995:RSN:527074.828566}
-H.~Takada and K.~Sakamura.
-\newblock Real-time scalability of nested spin locks.
-\newblock In {\em Proceedings of the 2Nd International Workshop on Real-Time
- Computing Systems and Applications}, RTCSA '95, pages 160--, Washington, DC,
- USA, 1995. IEEE Computer Society.
-
-\bibitem[Tur37]{AlanMTuring1937HaltingProblem}
-Alan~M. Turing.
-\newblock On computable numbers, with an application to the
- entscheidungsproblem.
-\newblock In {\em Proceedings of the London Mathematical Society}, volume~42 of
- {\em 2}, pages 230--265, 1937.
-
-\bibitem[Ung11]{DavidUngar2011unsync}
-David Ungar.
-\newblock Everything you know (about parallel programming) is wrong!: A wild
- screed about the future.
-\newblock In {\em Proceedings of the 2011 Systems, Programming Languages and
- Applications: Software for Humanity (SPLASH) Conference}, pages ???--???,
- Portland, OR, USA, October 2011.
-
-\bibitem[{Uni}10]{UMD:CMSC433maze}
-{University of Maryland}.
-\newblock Parallel maze solving.
-\newblock \url{http://www.cs.umd.edu/class/fall2010/cmsc433/p3/}, November
- 2010.
-
-\bibitem[UoC08]{BOINC2008}
-Berkeley University~of California.
-\newblock {BOINC}: compute for science.
-\newblock Available: \url{http://boinc.berkeley.edu/} [Viewed January 31,
- 2008], October 2008.
-
-\bibitem[VGS08]{Volos2008TRANSACT}
-Haris Volos, Neelam Goyal, and Michael~M. Swift.
-\newblock Pathological interaction of locks with transactional memory.
-\newblock In {\em 3rd ACM SIGPLAN Workshop on Transactional Computing}, New
- York, NY, USA, February 2008. ACM.
-\newblock Available:
- \url{http://www.cs.wisc.edu/multifacet/papers/transact08_txlock.pdf} [Viewed
- September 7, 2009].
-
-\bibitem[Vog09]{WernerVogels:2009:EventuallyConsistent}
-Werner Vogels.
-\newblock Eventually consistent.
-\newblock {\em Commun. ACM}, 52:40--44, January 2009.
-
-\bibitem[Wei12]{FredericWeisbecker2013nohz}
-Fr\'{e}d\'{e}ric Weisbecker.
-\newblock Interruption timer p\'{e}riodic.
-\newblock \url{https://kernel-recipes.org/?page_id=410}, 2012.
-
-\bibitem[Wei13]{StewartWeiss2013UNIX}
-Stewart Weiss.
-\newblock Unix lecture notes.
-\newblock Available:
- \url{http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/unix_lecture_notes/}
- [Viewed April 8, 2014], May 2013.
-
-\bibitem[{Wik}08]{z80Wikipedia}
-{Wikipedia}.
-\newblock {Zilog Z80}.
-\newblock Available: \url{http://en.wikipedia.org/wiki/Z80} [Viewed: December
- 7, 2008], 2008.
-
-\bibitem[Wik12]{WikipediaLabyrinth}
-Wikipedia.
-\newblock Labyrinth.
-\newblock \url{http://en.wikipedia.org/wiki/Labyrinth}, January 2012.
-
-\bibitem[Wil12]{AnthonyWilliams2012}
-Anthony Williams.
-\newblock {\em C++ Concurrency in Action: Practical Multithreading}.
-\newblock Manning, Shelter Island, NY, USA, 2012.
-
-\bibitem[WKS94]{Wisniewski94}
-Robert~W. Wisniewski, Leonidas Kontothanassis, and Michael~L. Scott.
-\newblock Scalable spin locks for multiprogrammed systems.
-\newblock In {\em 8\textsuperscript{th} IEEE Int'l. Parallel Processing
- Symposium}, Cancun, Mexico, April 1994. The Institute of Electrical and
- Electronics Engineers, Inc.
-
-\bibitem[WTS96]{Cai-DongWang1996PrioInherLock}
-Cai-Dong Wang, Hiroaki Takada, and Ken Sakamura.
-\newblock Priority inheritance spin locks for multiprocessor real-time systems.
-\newblock In {\em Proceedings of the 2Nd International Workshop on Real-Time
- Computing Systems and Applications}, ISPAN '96, pages 70--76, Washington, DC,
- USA, 1996. IEEE Computer Society.
-
-\bibitem[xen14]{Xenomai2014}
-xenomai.org.
-\newblock Xenomai.
-\newblock \url{http://xenomai.org/}, December 2014.
-
-\bibitem[Xu10]{HerbertXu2010RCUResizeHash}
-Herbert Xu.
-\newblock bridge: Add core {IGMP} snooping support.
-\newblock Available: \url{http://marc.info/?t=126719855400006&r=1&w=2} [Viewed
- March 20, 2011], February 2010.
-
-\bibitem[Yod04a]{Yodaiken2004FSM}
-Victor Yodaiken.
-\newblock Against priority inheritance.
-\newblock Available: \url{http://www.yodaiken.com/papers/inherit.pdf} [Viewed
- May 26, 2007], September 2004.
-
-\bibitem[Yod04b]{VictorYodaiken2004a}
-Victor Yodaiken.
-\newblock Temporal inventory and real-time synchronization in {RTLinuxPro}.
-\newblock Available: \url{http://www.yodaiken.com/papers/sync.pdf} [Viewed
- December 24, 2008], September 2004.
-
-\end{thebibliography}
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread