- aCB08
-
University at California Berkeley.
SETI@HOME.
Available: http://setiathome.berkeley.edu/ [Viewed January 31,
2008], December 2008.
- ACMS03
-
Andrea Arcangeli, Mingming Cao, Paul E. McKenney, and Dipankar Sarma.
Using read-copy update techniques for System V IPC in the Linux
2.5 kernel.
In Proceedings of the 2003 USENIX Annual Technical Conference
(FREENIX Track), pages 297-310. USENIX Association, June 2003.
Available:
http://www.rdrop.com/users/paulmck/RCU/rcu.FREENIX.2003.06.14.pdf [Viewed November 21, 2007].
- Adv02
-
Advanced Micro Devices.
AMD x86-64 Architecture Programmer's Manual Volumes 1-5, 2002.
- Adv07
-
Advanced Micro Devices.
AMD x86-64 Architecture Programmer's Manual Volume 2: System
Programming, 2007.
- Ale79
-
Christopher Alexander.
The Timeless Way of Building.
Oxford University Press, New York, 1979.
- Amd67
-
Gene Amdahl.
Validity of the single processor approach to achieving large-scale
computing capabilities.
In AFIPS Conference Proceedings, pages 483-485, Washington,
DC, USA, 1967. IEEE Computer Society.
- ARM10
-
ARM Limited.
ARM Architecture Reference Manual: ARMv7-A and ARMv7-R Edition,
2010.
- ATS09
-
Ali-Reza Adl-Tabatabai and Tatiana Shpeisman.
Draft specification of transactional language constructs for c++.
http://research.sun.com/scalable/pubs/C++-transactional-constructs-1.0.pdf,
August 2009.
- BA01
-
Jeff Bonwick and Jonathan Adams.
Magazines and vmem: Extending the slab allocator to many CPUs and
arbitrary resources.
In USENIX Annual Technical Conference, General Track 2001,
pages 15-33, 2001.
- BC05
-
Daniel Bovet and Marco Cesati.
Understanding the Linux Kernel.
O'Reilly Media, Inc., third edition, 2005.
- BHS07
-
Frank Buschmann, Kevlin Henney, and Douglas C. Schmidt.
Pattern-Oriented Software Architecture Volume 4: A Pattern
Language for Distributed Computing.
Wiley, Chichester, West Sussex, England, 2007.
- BK85
-
Bob Beck and Bob Kasten.
VLSI assist in building a multiprocessor UNIX system.
In USENIX Conference Proceedings, pages 255-275, Portland, OR,
June 1985. USENIX Association.
- BLM05
-
C. Blundell, E. C. Lewis, and M. Martin.
Deconstructing transactional semantics: The subtleties of atomicity.
In Annual Workshop on Duplicating, Deconstructing, and Debunking
(WDDD), June 2005.
Available:
http://www.cis.upenn.edu/acg/papers/wddd05_atomic_semantics.pdf [Viewed
June 4, 2009].
- BLM06
-
C. Blundell, E. C. Lewis, and M. Martin.
Subtleties of transactional memory and atomicity semantics.
Computer Architecture Letters, 5(2), 2006.
Available:
http://www.cis.upenn.edu/acg/papers/cal06_atomic_semantics.pdf [Viewed
June 4, 2009].
- Boe09
-
Hans-J. Boehm.
Transactional memory should be an implementation technique, not a
programming interface.
In HOTPAR 2009, page 6, Berkeley, CA, USA, March 2009.
Available:
http://www.usenix.org/event/hotpar09/tech/full_papers/boehm/boehm.pdf [Viewed May 24, 2009].
- But97
-
David Butenhof.
Programming with POSIX Threads.
Addison-Wesley, Boston, MA, USA, 1997.
- Cor06
-
Jonathan Corbet.
The kernel lock validator.
Available: http://lwn.net/Articles/185666/ [Viewed: March 26,
2010], May 2006.
- Cor08
-
Jonathan Corbet.
Linux weekly news.
Available: http://lwn.net/ [Viewed November 26, 2008], November
2008.
- CRKH05
-
Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.
Linux Device Drivers.
O'Reilly Media, Inc., third edition, 2005.
- CSG99
-
David E. Culler, Jaswinder Pal Singh, and Anoop Gupta.
Parallel Computer Architecture: a Hardware/Software Approach.
Morgan Kaufman, 1999.
- DCW+11
-
Luke Dalessandro, Francois Carouge, Sean White, Yossi Lev, Mark Moir,
Michael L. Scott, and Michael F. Spear.
Hybrid norec: A case study in the effectiveness of best effort
hardware transactional memory.
In 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.
- Des09
-
Mathieu Desnoyers.
[RFC git tree] userspace RCU (urcu) for Linux.
Available: http://lkml.org/lkml/2009/2/5/572 http://lttng.org/urcu [Viewed February 20, 2009], February 2009.
- Dij71
-
Edsger W. Dijkstra.
Hierarchical ordering of sequential processes.
Acta Informatica, 1(2):115-138, 1971.
Available:
http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF [Viewed January
13, 2008].
- DLM+10
-
Dave Dice, Yossi Lev, Virendra J. Marathe, Mark Moir, Dan Nussbaum, and Marek
Oleszewski.
Simplifying concurrent algorithms by exploiting hardware
transactional memory.
In Proceedings of the 22nd ACM symposium on Parallelism in
algorithms and architectures, SPAA '10, pages 325-334, New York, NY, USA,
2010. ACM.
- DLMN09
-
Dave Dice, Yossi Lev, Mark Moir, and Dan Nussbaum.
Early experience with a commericial hardware transactional memory
implementation.
In Fourteenth International Conference on Architectural Support
for Programming Languages and Operating Systems (ASPLOS '09), pages
157-168, Washington, DC, USA, March 2009.
Available:
http://research.sun.com/scalable/pubs/ASPLOS2009-RockHTM.pdf [Viewed
February 4, 2009].
- Dov90
-
Ken F. Dove.
A high capacity TCP/IP in parallel STREAMS.
In UKUUG Conference Proceedings, London, June 1990.
- DSS06
-
Dave Dice, Ori Shalev, and Nir Shavit.
Transactional locking II.
In Proc. International Symposium on Distributed Computing.
Springer Verlag, 2006.
Available:
http://www.springerlink.com/content/5688h5q0w72r54x0/ [Viewed March 10,
2008].
- EGCD03
-
T. A. El-Ghazawi, W. W. Carlson, and J. M. Draper.
UPC language specifications v1.1.
Available: http://upc.gwu.edu [Viewed September 19, 2008], May
2003.
- Eng68
-
Douglas Engelbart.
The demo.
Available:
http://video.google.com/videoplay?docid=-8734787622017763097 [Viewed
November 28, 2008], December 1968.
- ENS05
-
Ryan Eccles, Blair Nonneck, and Deborah A. Stacey.
Exploring parallel programming knowledge in the novice.
In 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.
- ES05
-
Ryan Eccles and Deborah A. Stacey.
Understanding the parallel programmer.
In 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.
- Gar90
-
Arun Garg.
Parallel STREAMS: a multi-processor implementation.
In USENIX Conference Proceedings, pages 163-176, Berkeley CA,
February 1990. USENIX Association.
- Gar07
-
Bryan Gardiner.
Idf: Gordon moore predicts end of moore's law (again).
Available:
http://blog.wired.com/business/2007/09/idf-gordon-mo-1.html [Viewed:
November 28, 2008], September 2007.
- GC96
-
Michael Greenwald and David R. Cheriton.
The synergy between non-blocking synchronization and operating system
structure.
In Proceedings of the Second Symposium on Operating Systems
Design and Implementation, pages 123-136, Seattle, WA, October 1996. USENIX
Association.
- Gha95
-
Kourosh Gharachorloo.
Memory consistency models for shared-memory multiprocessors.
Technical Report CSL-TR-95-685, Computer Systems Laboratory,
Departments of Electrical Engineering and Computer Science, Stanford
University, Stanford, CA, December 1995.
Available:
http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-9.pdf [Viewed:
October 11, 2004].
- GHJV95
-
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
Design Patterns: Elements of Reusable Object-Oriented Software.
Addison-Wesley, 1995.
- GKAS99
-
Ben Gamsa, Orran Krieger, Jonathan Appavoo, and Michael Stumm.
Tornado: Maximizing locality and concurrency in a shared memory
multiprocessor operating system.
In Proceedings of the 3rd Symposium on
Operating System Design and Implementation, pages 87-100, New Orleans, LA,
February 1999.
Available:
http://www.usenix.org/events/osdi99/full_papers/gamsa/gamsa.pdf [Viewed
August 30, 2006].
- GMTW08
-
D. Guniguntala, P. E. McKenney, J. Triplett, and J. Walpole.
The read-copy-update mechanism for supporting real-time applications
on shared-memory multiprocessor systems with Linux.
IBM Systems Journal, 47(2):221-236, May 2008.
Available:
http://www.research.ibm.com/journal/sj/472/guniguntala.pdf [Viewed
April 24, 2008].
- GPB+07
-
Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug
Lea.
Java: Concurrency in Practice.
Addison Wesley, Upper Saddle River, NJ, USA, 2007.
- Gra02
-
Jim Gray.
Super-servers: Commodity computer clusters pose a software challenge.
Available:
http://research.microsoft.com/en-us/um/people/gray/papers/superservers(4t_computers).doc [Viewed: June 23, 2004], April 2002.
- Gri00
-
Scott Griffen.
Internet pioneers: Doug englebart.
Available: http://www.ibiblio.org/pioneers/englebart.html [Viewed November 28, 2008], May 2000.
- Gro01
-
The Open Group.
Single UNIX specification.
http://www.opengroup.org/onlinepubs/007908799/index.html, July
2001.
- Gro07
-
Dan Grossman.
The transactional memory / garbage collection analogy.
In 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.
Available:
http://www.cs.washington.edu/homes/djg/papers/analogy_oopsla07.pdf [Viewed December 19, 2008].
- HCS+05
-
Lorin Hochstein, Jeff Carver, Forrest Shull, Sima Asgari, and Victor Basili.
Parallel programmer productivity: A case study of novice parallel
programmers.
In SC '05: Proceedings of the 2005 ACM/IEEE conference on
Supercomputing, page 35, Washington, DC, USA, 2005. IEEE Computer Society.
- Her90
-
Maurice P. Herlihy.
A methodology for implementing highly concurrent data structures.
In Proceedings of the 2nd ACM SIGPLAN Symposium on Principles
and Practice of Parallel Programming, pages 197-206, March 1990.
- Her05
-
Maurice Herlihy.
The transactional manifesto: software engineering and non-blocking
synchronization.
In 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.
- HM93
-
Maurice Herlihy and J. Eliot B. Moss.
Transactional memory: Architectural support for lock-free data
structures.
The 20th Annual International Symposium on
Computer Architecture, pages 289-300, May 1993.
- HMB06
-
Thomas E. Hart, Paul E. McKenney, and Angela Demke Brown.
Making lockless synchronization fast: Performance implications of
memory reclamation.
In 20th IEEE International Parallel and
Distributed Processing Symposium, Rhodes, Greece, April 2006.
Available:
http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf [Viewed April
28, 2008].
- Hol03
-
Gerard J. Holzmann.
The Spin Model Checker: Primer and Reference Manual.
Addison-Wesley, 2003.
- HP95
-
John L. Hennessy and David A. Patterson.
Computer Architecture: A Quantitative Approach.
Morgan Kaufman, 1995.
- HS08
-
Maurice Herlihy and Nir Shavit.
The Art of Multiprocessor Programming.
Morgan Kaufmann, Burlington, MA, USA, 2008.
- HW92
-
Wilson C. Hsieh and William E. Weihl.
Scalable reader-writer locks for parallel systems.
In Proceedings of the 6th International
Parallel Processing Symposium, pages 216-230, Beverly Hills, CA, USA, March
1992.
- IBM94
-
IBM Microelectronics and Motorola.
PowerPC Microprocessor Family: The Programming Environments,
1994.
- Inm85
-
Jack Inman.
Implementing loosely coupled functions on tightly coupled engines.
In USENIX Conference Proceedings, pages 277-298, Portland, OR,
June 1985. USENIX Association.
- Int92
-
International Standards Organization.
Information Technology - Database Language SQL.
ISO, 1992.
Available:
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt [Viewed
September 19, 2008].
- Int02a
-
Intel Corporation.
Intel Itanium Architecture Software Developer's Manual Volume 3:
Instruction Set Reference, 2002.
- Int02b
-
Intel Corporation.
Intel Itanium Architecture Software Developer's Manual Volume 3:
System Architecture, 2002.
- Int04a
-
Intel Corporation.
IA-32 Intel Architecture Software Developer's Manual Volume 2B:
Instruction Set Reference, N-Z, 2004.
Available:
ftp://download.intel.com/design/Pentium4/manuals/25366714.pdf [Viewed:
February 16, 2005].
- Int04b
-
Intel Corporation.
IA-32 Intel Architecture Software Developer's Manual Volume 3:
System Programming Guide, 2004.
Available:
ftp://download.intel.com/design/Pentium4/manuals/25366814.pdf [Viewed:
February 16, 2005].
- Int04c
-
International Business Machines Corporation.
z/Architecture principles of operation.
Available:
http://publibz.boulder.ibm.com/epubs/pdf/dz9zr003.pdf [Viewed: February
16, 2005], May 2004.
- Int07
-
Intel Corporation.
Intel 64 Architecture Memory Ordering White Paper, 2007.
Available:
http://developer.intel.com/products/processor/manuals/318147.pdf [Viewed: September 7, 2007].
- Int09
-
Intel Corporation.
Intel 64 and IA-32 Architectures Software Developer’s Manual,
Volume 3A: System Programming Guide, Part 1, 2009.
Available:
http://download.intel.com/design/processor/manuals/253668.pdf [Viewed:
November 8, 2009].
- Jia08
-
Lai Jiangshan.
[RFC][PATCH] rcu classic: new algorithm for callbacks-processing.
Available: http://lkml.org/lkml/2008/6/2/539 [Viewed December
10, 2008], June 2008.
- Kan96
-
Gerry Kane.
PA-RISC 2.0 Architecture.
Hewlett-Packard Professional Books, 1996.
- KL80
-
H. T. Kung and Q. Lehman.
Concurrent maintenance of binary search trees.
ACM Transactions on Database Systems, 5(3):354-382, September
1980.
Available:
http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE, [Viewed December
3, 2007].
- Kni08
-
John U. Knickerbocker.
3D chip technology.
IBM Journal of Research and Development, 52(6), November 2008.
Available: http://www.research.ibm.com/journal/rd52-6.html [Viewed: January 1, 2009].
- Knu73
-
Donald Knuth.
The Art of Computer Programming.
Addison-Wesley, 1973.
- Lea97
-
Doug Lea.
Concurrent Programming in Java: Design Principles and Patterns.
Addison Wesley Longman, Reading, MA, USA, 1997.
- LLO09
-
Yossi Lev, Victor Luchangco, and Marek Olszewski.
Scalable reader-writer locks.
In SPAA '09: Proceedings of the twenty-first annual symposium on
Parallelism in algorithms and architectures, pages 101-110, New York, NY,
USA, 2009. ACM.
- Lom77
-
D. B. Lomet.
Process structuring, synchronization, and recovery using atomic
actions.
SIGSOFT Softw. Eng. Notes, 2(2):128-137, 1977.
Available: http://portal.acm.org/citation.cfm?id=808319# [Viewed June 27, 2008].
- Lov05
-
Robert Love.
Linux Kernel Development.
Novell Press, second edition, 2005.
- LS86
-
Vladimir Lanin and Dennis Shasha.
A symmetric concurrent b-tree algorithm.
In ACM '86: Proceedings of 1986 ACM Fall joint computer
conference, pages 380-389, Los Alamitos, CA, USA, 1986. IEEE Computer
Society Press.
- LSH02
-
Michael Lyons, Ed Silha, and Bill Hay.
PowerPC storage model and AIX programming.
Available:
http://www-106.ibm.com/developerworks/eserver/articles/powerpc.html [Viewed: January 31, 2005], August 2002.
- Mas92
-
H. Massalin.
Synthesis: An Efficient Implementation of Fundamental Operating
System Services.
PhD thesis, Columbia University, New York, NY, 1992.
- McK96
-
Paul E. McKenney.
Pattern Languages of Program Design, volume 2, chapter 31:
Selecting Locking Designs for Parallel Programs, pages 501-531.
Addison-Wesley, June 1996.
Available:
http://www.rdrop.com/users/paulmck/scalability/paper/mutexdesignpat.pdf [Viewed February 17, 2005].
- McK03
-
Paul E. McKenney.
Using RCU in the Linux 2.5 kernel.
Linux Journal, 1(114):18-26, October 2003.
Available: http://www.linuxjournal.com/article/6993 [Viewed
November 14, 2007].
- McK04
-
Paul E. McKenney.
Exploiting Deferred Destruction: An Analysis of Read-Copy-Update
Techniques in Operating System Kernels.
PhD thesis, OGI School of Science and Engineering at Oregon Health
and Sciences University, 2004.
Available:
http://www.rdrop.com/users/paulmck/RCU/RCUdissertation.2004.07.14e1.pdf [Viewed October 15, 2004].
- McK05a
-
Paul E. McKenney.
Memory ordering in modern microprocessors, part I.
Linux Journal, 1(136):52-57, August 2005.
Available: http://www.linuxjournal.com/article/8211 http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.19a.pdf [Viewed November 30, 2007].
- McK05b
-
Paul E. McKenney.
Memory ordering in modern microprocessors, part II.
Linux Journal, 1(137):78-82, September 2005.
Available: http://www.linuxjournal.com/article/8212 http://www.rdrop.com/users/paulmck/scalability/paper/ordering.2007.09.19a.pdf [Viewed November 30, 2007].
- McK05c
-
Paul E. McKenney.
Re: [fwd: Re: [patch] real-time preemption,
-rt-2.6.13-rc4-v0.7.52-01].
Available: http://lkml.org/lkml/2005/8/8/108 [Viewed March 14,
2006], August 2005.
- McK06
-
Paul E. McKenney.
Sleepable RCU.
Available: http://lwn.net/Articles/202847/ Revised:
http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf [Viewed
August 21, 2006], October 2006.
- McK07a
-
Paul E. McKenney.
The design of preemptible read-copy-update.
Available: http://lwn.net/Articles/253651/ [Viewed October 25,
2007], October 2007.
- McK07b
-
Paul E. McKenney.
[PATCH] QRCU with lockless fastpath.
Available: http://lkml.org/lkml/2007/2/25/18 [Viewed March 27,
2008], February 2007.
- McK07c
-
Paul E. McKenney.
[patch rfc 0/9] RCU: Preemptible RCU.
Available: http://lkml.org/lkml/2007/9/10/213 [Viewed October
25, 2007], September 2007.
- McK07d
-
Paul E. McKenney.
Priority-boosting RCU read-side critical sections.
Available: http://lwn.net/Articles/220677/ Revised:
http://www.rdrop.com/users/paulmck/RCU/RCUbooststate.2007.04.16a.pdf [Viewed September 7, 2007], February 2007.
- McK07e
-
Paul E. McKenney.
RCU and unloadable modules.
Available: http://lwn.net/Articles/217484/ [Viewed November 22,
2007], January 2007.
- McK07f
-
Paul E. McKenney.
Using Promela and Spin to verify parallel algorithms.
Available: http://lwn.net/Articles/243851/ [Viewed September 8,
2007], August 2007.
- McK07g
-
Paul E. McKenney.
What is RCU?
Available:
http://www.rdrop.com/users/paulmck/RCU/whatisRCU.html [Viewed July 6,
2007], 07 2007.
- McK08a
-
Paul E. McKenney.
Hierarchical RCU.
Available: http://lwn.net/Articles/305782/ [Viewed November 6,
2008], November 2008.
- McK08b
-
Paul E. McKenney.
RCU part 3: the RCU API.
Available: http://lwn.net/Articles/264090/ [Viewed January 10,
2008], January 2008.
- McK08c
-
Paul E. McKenney.
What is RCU? part 2: Usage.
Available: http://lwn.net/Articles/263130/ [Viewed January 4,
2008], January 2008.
- McK09a
-
Paul E. McKenney.
Re: [patch fyi] rcu: the bloatwatch edition.
Available: http://lkml.org/lkml/2009/1/14/449 [Viewed January
15, 2009], January 2009.
- McK09b
-
Paul E. McKenney.
Transactional memory everywhere?
http://paulmck.livejournal.com/tag/transactionalSeptember 2009.
- MD92
-
Paul E. McKenney and Ken F. Dove.
Efficient demultiplexing of incoming tcp packets.
In SIGCOMM '92, Proceedings of the Conference on Communications
Architecture & Protocols, pages 269-279, Baltimore, MD, August 1992.
Association for Computing Machinery.
- Mel06
-
Melbourne School of Engineering.
CSIRAC.
Available: http://www.csse.unimelb.edu.au/dept/about/csirac/ [Viewed: December 7, 2008], 2006.
- Met99
-
Panagiotis Takis Metaxas.
Fast dithering on a data-parallel computer.
In Proceedings of the IASTED International Conference on
Parallel and Distributed Computing and Systems, pages 570-576, Cambridge,
MA, USA, 1999. IASTED.
- MG92
-
Paul E. McKenney and Gary Graunke.
Efficient buffer allocation on shared-memory multiprocessors.
In 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.
- MGM+09
-
Paul E. McKenney, Manish Gupta, Maged M. Michael, Phil Howard, Joshua Triplett,
and Jonathan Walpole.
Is parallel programming hard, and if so, why?
Technical Report TR-09-02, Portland State University, Portland, OR,
USA, February 2009.
Available: http://www.cs.pdx.edu/pdfs/tr0902.pdf [Viewed
February 19, 2009].
- Mic04
-
Maged M. Michael.
Hazard pointers: Safe memory reclamation for lock-free objects.
IEEE Transactions on Parallel and Distributed Systems,
15(6):491-504, June 2004.
- MK88
-
Marshall Kirk McKusick and Michael J. Karels.
Design of a general purpose memory allocator for the 4.3BSD UNIX
kernel.
In USENIX Conference Proceedings, Berkeley CA, June 1988.
- MM00
-
Ingo Molnar and David S. Miller.
brlock.
Available:
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.
- MMW07
-
Paul E. McKenney, Maged Michael, and Jonathan Walpole.
Why the grass may not be greener on the other side: A comparison of
locking vs. transactional memory.
In Programming Languages and Operating Systems, pages 1-5, New
York, NY, USA, October 2007. ACM SIGOPS.
- Mol05
-
Ingo Molnar.
Index of /pub/linux/kernel/projects/rt.
Available: http://www.kernel.org/pub/linux/kernel/projects/rt/ [Viewed February 15, 2005], February 2005.
- Moo03
-
Gordon Moore.
No exponential is forever-but we can delay forever.
In IBM Academy of Technology 2003 Annual Meeting, San
Francisco, CA, October 2003.
- MPA+06
-
Paul E. McKenney, Chris Purcell, Algae, Ben Schumin, Gaius Cornelius, Qwertyus,
Neil Conway, Sbw, Blainster, Canis Rufus, Zoicon5, Anome, and Hal Eisen.
Read-copy update.
Available: http://en.wikipedia.org/wiki/Read-copy-update [Viewed August 21, 2006], July 2006.
- MPI08
-
MPI Forum.
Message passing interface forum.
Available: http://www.mpi-forum.org/ [Viewed September 9,
2008], September 2008.
- MR08
-
Paul E. McKenney and Steven Rostedt.
Integrating and validating dynticks and preemptable rcu.
Available: http://lwn.net/Articles/279077/ [Viewed April 24,
2008], April 2008.
- MS93
-
Paul E. McKenney and Jack Slingwine.
Efficient kernel memory allocation on shared-memory multiprocessors.
In USENIX Conference Proceedings, pages 295-306, Berkeley CA,
February 1993. USENIX Association.
Available:
http://www.rdrop.com/users/paulmck/scalability/paper/mpalloc.pdf [Viewed January 30, 2005].
- MS98
-
Paul E. McKenney and John D. Slingwine.
Read-copy update: Using execution history to solve concurrency
problems.
In Parallel and Distributed Computing and Systems, pages
509-518, Las Vegas, NV, October 1998.
Available:
http://www.rdrop.com/users/paulmck/RCU/rclockpdcsproof.pdf [Viewed
December 3, 2007].
- MS05
-
Paul E. McKenney and Dipankar Sarma.
Towards hard realtime response from the Linux kernel on SMP
hardware.
In linux.conf.au 2005, Canberra, Australia, April 2005.
Available:
http://www.rdrop.com/users/paulmck/RCU/realtimeRCU.2005.04.23a.pdf [Viewed May 13, 2005].
- MS08
-
MySQL AB and Sun Microsystems.
MySQL Downloads.
Available: http://dev.mysql.com/downloads/ [Viewed November 26,
2008], November 2008.
- MS09
-
Paul E. McKenney and Raul Silvera.
Example power implementation for c/c++ memory model.
Available:
http://www.rdrop.com/users/paulmck/scalability/paper/N2745r.2009.02.27a.html [Viewed: April 5, 2009], February 2009.
- MSK01
-
Paul E. McKenney, Jack Slingwine, and Phil Krueger.
Experience with an efficient parallel kernel memory allocator.
Software - Practice and Experience, 31(3):235-257, March
2001.
- MSM05
-
Timothy G. Mattson, Beverly A. Sanders, and Berna L. Massingill.
Patterns for Parallel Programming.
Addison Wesley, Boston, MA, USA, 2005.
- MSMB06
-
Paul E. McKenney, Dipankar Sarma, Ingo Molnar, and Suparna Bhattacharya.
Extending RCU for realtime and embedded workloads.
In Ottawa Linux Symposium, pages v2 123-138, July 2006.
Available:
http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184 http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf [Viewed
January 1, 2007].
- MSS04
-
Paul E. McKenney, Dipankar Sarma, and Maneesh Soni.
Scaling dcache with RCU.
Linux Journal, 1(118):38-46, January 2004.
Available: http://www.linuxjournal.com/node/7124 [Viewed
December 26, 2010].
- MT01
-
Jose F. Martinez and Josep Torrellas.
Speculative locks for concurrent execution of critical sections in
shared-memory multiprocessors.
In Workshop on Memory Performance Issues, International
Symposium on Computer Architecture, Gothenburg, Sweden, June 2001.
Available:
http://iacoma.cs.uiuc.edu/iacoma-papers/wmpi_locks.pdf [Viewed June 23,
2004].
- Mus04
-
Museum Victoria Australia.
CSIRAC: Australia's first computer.
Available: http://museumvictoria.com.au/CSIRAC/ [Viewed:
December 7, 2008], 2004.
- MW07
-
Paul E. McKenney and Jonathan Walpole.
What is RCU, fundamentally?
Available: http://lwn.net/Articles/262464/ [Viewed December 27,
2007], December 2007.
- Nes06a
-
Oleg Nesterov.
Re: [patch] cpufreq: mark cpufreq_tsc() as core_initcall_sync.
Available: http://lkml.org/lkml/2006/11/19/69 [Viewed May 28,
2007], November 2006.
- Nes06b
-
Oleg Nesterov.
Re: [rfc, patch 1/2] qrcu: "quick" srcu implementation.
Available: http://lkml.org/lkml/2006/11/29/330 [Viewed November
26, 2008], November 2006.
- ONH+96
-
Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang.
The case for a single-chip multiprocessor.
In ASPLOS VII, October 1996.
- Ope97
-
Open Group.
The single UNIX specification, version 2: Threads.
Available:
http://www.opengroup.org/onlinepubs/007908799/xsh/threads.html [Viewed
September 19, 2008], 1997.
- Pos08
-
PostgreSQL Global Development Group.
PostgreSQL.
Available: http://www.postgresql.org/ [Viewed November 26,
2008], November 2008.
- PW07
-
Donald E. Porter and Emmett Witchel.
Lessons from large transactional systems.
Personal communication
<20071214220521.GA5721@olive-green.cs.utexas.edu>, December 2007.
- Rei07
-
James Reinders.
Intel Threading Building Blocks.
O'Reilly, Sebastopol, CA, USA, 2007.
- RG01
-
Ravi Rajwar and James R. Goodman.
Speculative lock elision: Enabling highly concurrent multithreaded
execution.
In Proceedings of the 34th Annual ACM/IEEE
International Symposium on Microarchitecture, pages 294-305, Austin, TX,
December 2001. The Institute of Electrical and Electronics Engineers, Inc.
- RHP+07
-
Chistopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan,
Aditya Bhandari, and Emmett Witchel.
TxLinux: Using and managing hardware transactional memory in an
operating system.
In SOSP'07: Twenty-First ACM Symposium on Operating Systems
Principles. ACM SIGOPS, October 2007.
Available: http://www.sosp2007.org/papers/sosp056-rossbach.pdf [Viewed October 21, 2007].
- SATG+09
-
Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Robert Geva, Yang Ni, and Adam Welc.
Towards transactional memory semantics for c++.
In SPAA '09: Proceedings of the twenty-first annual symposium on
Parallelism in algorithms and architectures, pages 49-58, New York, NY,
USA, 2009. ACM.
- Sco06
-
Michael Scott.
Programming Language Pragmatics.
Morgan Kaufmann, Burlington, MA, USA, 2006.
- Sew
-
Peter Sewell.
The semantics of multiprocessor programs.
Available: http://www.cl.cam.ac.uk/~pes20/weakmemory/ [Viewed:
June 7, 2010].
- SMS08
-
Michael Spear, Maged Michael, and Michael Scott.
Inevitability mechanisms for software transactional memory.
In 3rd ACM SIGPLAN Workshop on Transactional
Computing, New York, NY, USA, February 2008. ACM.
Available:
http://www.cs.rochester.edu/u/scott/papers/2008_TRANSACT_inevitability.pdf [Viewed January 10, 2009].
- SPA94
-
SPARC International.
The SPARC Architecture Manual, 1994.
- Spr01
-
Manfred Spraul.
Re: RFC: patch to allow lock-free traversal of lists with
insertion.
Available:
http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2 [Viewed June 23, 2004], October 2001.
- Spr08a
-
Manfred Spraul.
Re: [RFC, PATCH] v4 scalable classic RCU implementation.
Available: http://lkml.org/lkml/2008/9/6/86 [Viewed December 8,
2008], September 2008.
- Spr08b
-
Manfred Spraul.
[RFC, PATCH] state machine based rcu.
Available: http://lkml.org/lkml/2008/8/21/336 [Viewed December
8, 2008], August 2008.
- SS94
-
Duane Szafron and Jonathan Schaeffer.
Experimentally assessing the usability of parallel programming
systems.
In IFIP WG10.3 Programming Environments for Massively Parallel
Distributed Systems, pages 19.1-19.7, 1994.
- SSHT93
-
Janice S. Stone, Harold S. Stone, Philip Heidelberger, and John Turek.
Multiple reservations and the Oklahoma update.
IEEE Parallel and Distributed Technology Systems and
Applications, 1(4):58-71, November 1993.
- SSRB00
-
Douglas C. Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann.
Pattern-Oriented Software Architecture Volume 2: Patterns for
Concurrent and Networked Objects.
Wiley, Chichester, West Sussex, England, 2000.
- ST87
-
William E. Snaman and David W. Thiel.
The VAX/VMS distributed lock manager.
Digital Technical Journal, 5:29-44, September 1987.
- ST95
-
Nir Shavit and Dan Touitou.
Software transactional memory.
In Proceedings of the 14th Annual ACM
Symposium on Principles of Distributed Computing, pages 204-213, Ottawa,
Ontario, Canada, August 1995.
- Ste92
-
W. Richard Stevens.
Advanced Programming in the UNIX Environment.
Addison Wesley, 1992.
- Sut08
-
Herb Sutter.
Effective concurrency.
Series in Dr. Dobbs Journal, 2008.
- SW95
-
Richard L. Sites and Richard T. Witek.
Alpha AXP Architecture.
Digital Press, second edition, 1995.
- The08
-
The Open MPI Project.
MySQL Downloads.
Available: http://www.open-mpi.org/software/ [Viewed November
26, 2008], November 2008.
- Tor01
-
Linus Torvalds.
Re: [Lse-tech] Re: RFC: patch to allow lock-free traversal of
lists with insertion.
Available: http://lkml.org/lkml/2001/10/13/105 [Viewed August
21, 2004], October 2001.
- Tor03
-
Linus Torvalds.
Linux 2.6.
Available: ftp://kernel.org/pub/linux/kernel/v2.6 [Viewed June
23, 2004], August 2003.
- Tra01
-
Transaction Processing Performance Council.
TPC.
Available: http://www.tpc.org/ [Viewed December 7, 2008], 2001.
- UoC08
-
Berkeley University of California.
BOINC: compute for science.
Available: http://boinc.berkeley.edu/ [Viewed January 31,
2008], October 2008.
- VGS08
-
Haris Volos, Neelam Goyal, and Michael M. Swift.
Pathological interaction of locks with transactional memory.
In 3rd ACM SIGPLAN Workshop on Transactional Computing, New
York, NY, USA, February 2008. ACM.
Available:
http://www.cs.wisc.edu/multifacet/papers/transact08_txlock.pdf [Viewed
September 7, 2009].
- Vog09
-
Werner Vogels.
Eventually consistent.
Commun. ACM, 52:40-44, January 2009.
- Wik08
-
Wikipedia.
Zilog Z80.
Available: http://en.wikipedia.org/wiki/Z80 [Viewed: December
7, 2008], 2008.
Paul E. McKenney
2011-12-16