| @article{Dijkstra1971HOoSP |
| ,author="Edsger W. Dijkstra" |
| ,title="Hierarchical Ordering of Sequential Processes" |
| ,Year="1971" |
| ,journal="Acta Informatica" |
| ,volume="1" |
| ,number="2" |
| ,pages="115-138" |
| ,note="Available: |
| \url{http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF} |
| [Viewed January 13, 2008]" |
| } |
| |
| @article{Courtois71 |
| ,author="P. J. Courtois and F. Heymans and D. L. Parnas" |
| ,title="Concurrent Control with ``Readers'' and ``Writers''" |
| ,Year="1971" |
| ,Month="October" |
| ,journal="Communications of the {ACM}" |
| ,volume="14" |
| ,number="10" |
| ,pages="667--668" |
| } |
| |
| @article{LeslieLamport1986OICp1 |
| ,author="Leslie Lamport" |
| ,title="On Interprocess Communication. Part I: Basic Formalism" |
| ,Year="1986" |
| ,journal="Distributed Computing" |
| ,volume="1" |
| ,number="2" |
| ,pages="77-85" |
| ,note="Available: |
| \url{research.microsoft.com/en-us/um/people/lamport/pubs/interprocess.pdf} |
| [Viewed April 9, 2009]" |
| } |
| |
| @article{LeslieLamport1986OICp2 |
| ,author="Leslie Lamport" |
| ,title="On Interprocess Communication. Part II: Algorithms" |
| ,Year="1986" |
| ,journal="Distributed Computing" |
| ,volume="1" |
| ,number="2" |
| ,pages="86-101" |
| ,note="Available: |
| \url{research.microsoft.com/en-us/um/people/lamport/pubs/interprocess.pdf} |
| [Viewed April 9, 2009]" |
| } |
| |
| @manual{SQNTParallel |
| ,title="Guide to Parallel Programming" |
| ,organization="Sequent Computer Systems, Inc." |
| ,year="1988" |
| ,number="1003-48579-00" |
| } |
| |
| @book{Tay87 |
| ,Author = "Y. C. Tay" |
| ,Title = "Locking Performance in Centralized Databases" |
| ,Year = "1987" |
| ,Publisher = "Academic Press" |
| } |
| |
| @book{PhilipABernstein1987 |
| ,Author = "Philip A. Bernstein and Vassos Hadzilacos and Nathan Goodman" |
| ,Title = "Concurrency Control and Recovery in Database Systems" |
| ,Year = "1987" |
| ,Publisher = "Addison Wesley Publishing Company" |
| ,isbn = "ISBN 0-201-10715-5" |
| } |
| |
| @article{Herlihy:1990:LCC:78969.78972 |
| ,author = {Herlihy, Maurice P. and Wing, Jeannette M.} |
| ,title = {Linearizability: a correctness condition for concurrent objects} |
| ,journal = {ACM Trans. Program. Lang. Syst.} |
| ,issue_date = {July 1990} |
| ,volume = {12} |
| ,number = {3} |
| ,month = jul |
| ,year = {1990} |
| ,issn = {0164-0925} |
| ,pages = {463--492} |
| ,numpages = {30} |
| ,url = {http://doi.acm.org/10.1145/78969.78972} |
| ,doi = {10.1145/78969.78972} |
| ,acmid = {78972} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| } |
| |
| @article{MellorCrummey91a |
| ,author="John M. Mellor-Crummey and Michael L. Scott" |
| ,title="Algorithms for Scalable Synchronization on Shared-Memory |
| Multiprocessors" |
| ,Year="1991" |
| ,Month="February" |
| ,journal="Transactions of Computer Systems" |
| ,volume="9" |
| ,number="1" |
| ,pages="21--65" |
| } |
| |
| @article{Zhang94 |
| ,author="Xiaodong Zhang and Robert Casteneda and Elisa W. Chan" |
| ,title="Spin-Lock Synchronization on the {Butterfly} and {KSR1}" |
| ,Year="1994" |
| ,Month="Spring" |
| ,journal="{IEEE} Parallel and Distributed Technology Systems and Applications" |
| ,volume="2" |
| ,number="1" |
| ,pages="51-63" |
| } |
| |
| @article{Anderson90 |
| ,author="T. E. Anderson" |
| ,title="The Performance of Spin Lock Alternatives for Shared-Memory |
| Multiprocessors" |
| ,Year="1990" |
| ,Month="January" |
| ,journal="IEEE Transactions on Parallel and Distributed Systems" |
| ,volume="1" |
| ,number="1" |
| ,pages="6-16" |
| } |
| |
| @conference{MellorCrummey91 |
| ,author="John M. Mellor-Crummey and Michael L. Scott" |
| ,title="Scalable Reader-Writer Synchronization for Shared-Memory |
| Multiprocessors" |
| ,booktitle="Proceedings of the Third PPOPP" |
| ,Year="1991" |
| ,Month="April" |
| ,pages="106-113" |
| ,address="Williamsburg, VA" |
| } |
| |
| @article{Graunke90 |
| ,author="Gary Graunke and Shreekant Thakkar" |
| ,title="Synchronization Algorithms for Shared-Memory Multiprocessors" |
| ,Year="1990" |
| ,Month="June" |
| ,journal="IEEE Computer" |
| ,volume="23" |
| ,number="6" |
| ,pages="60-69" |
| } |
| |
| @article{BengHongLim93 |
| ,author="Beng-Hong Lim and Anant Agarwal" |
| ,title="Waiting Algorithms for Synchronization in Large-Scale Multiprocessors" |
| ,Year="1993" |
| ,Month="August" |
| ,journal="Transactions on Computer Systems" |
| ,volume="11" |
| ,number="3" |
| ,pages="253-294" |
| } |
| |
| @unpublished{BengHongLim94 |
| ,author="Beng-Hong Lim and Anant Agarwal" |
| ,title="Reactive Synchronization Algorithms for Multiprocessors" |
| ,Year="1994" |
| ,Month="March" |
| ,Note="03/28/94 FTP hing.lcs.mit.edu /pub/papers/reactive.ps.Z" |
| } |
| |
| @conference{Wisniewski94 |
| ,author="Robert W. Wisniewski and Leonidas Kontothanassis and Michael L. Scott" |
| ,title="Scalable Spin Locks for Multiprogrammed Systems" |
| ,year="1994" |
| ,month="April" |
| ,booktitle="8\textsuperscript{th} IEEE Int'l. Parallel Processing Symposium" |
| ,address="Cancun, Mexico" |
| ,publisher="The Institute of Electrical and Electronics Engineers, Inc." |
| } |
| |
| @article{Ellis80 |
| ,author="Carla Schlatter Ellis" |
| ,title="Concurrent Search and Insertion in AVL Trees" |
| ,Year="1980" |
| ,Month="September" |
| ,journal="IEEE Transactions on Computers" |
| ,volume="C-29" |
| ,number="9" |
| ,pages="811-817" |
| } |
| |
| @article{Andrews91 |
| ,author="Gregory R. Andrews" |
| ,title="Paradigms for Process Interaction in Distributed Programs" |
| ,Year="1991" |
| ,journal="ACM Computing Surveys:" |
| ,volume="23" |
| ,number="1" |
| ,issn="0360-0300" |
| ,pages="49-90" |
| ,publisher="{ACM Press}" |
| } |
| |
| @article{Barghouti91 |
| ,author="N. S. Barghouti and G. E. Kaiser" |
| ,title="Concurrency Control in Advanced Database Applications" |
| ,Month="September" |
| ,Year="1991" |
| ,journal="ACM Computing Surveys:" |
| } |
| |
| @techreport{Craig93 |
| ,author="Travis Craig" |
| ,title="Building {FIFO} and Priority-Queuing Spin Locks from Atomic Swap" |
| ,institution="University of Washington" |
| ,address="Seattle, Washington" |
| ,year="1994" |
| ,number="93-02-02" |
| ,month="February" |
| ,pages="29" |
| } |
| |
| @article{Reiman91 |
| ,author="Martin I. Reiman and Paul E. Wright" |
| ,title="Performance Analysis of Concurrent-Read Exclusive-Write" |
| ,Year="1991" |
| ,Month="February" |
| ,journal="{ACM}" |
| ,pages="168-177" |
| } |
| |
| @article{Snaman87 |
| ,author="William E. Snaman and David W. Thiel" |
| ,title="The {VAX/VMS} Distributed Lock Manager" |
| ,Year="1987" |
| ,Month="September" |
| ,journal="Digital Technical Journal" |
| ,volume="5" |
| ,pages="29-44" |
| } |
| |
| @article{Slingwine93 |
| ,author="Jack Slingwine and Mark Sweiger and Dave Wolfe and Catharine Kristian" |
| ,title="Sequent Distributed Lock Manager Adds High Availability for ORACLE7 |
| Parallel Server on UNIX" |
| ,Year="1987" |
| ,Month="September" |
| ,journal="??????????" |
| } |
| |
| @conference{Segall84 |
| ,author="Z. Segall and L. Rudolf" |
| ,title="Dynamic Decentralized Cache Schemes for {MIMD} Parallel Processors" |
| ,year="1984" |
| ,month="June" |
| ,booktitle="11\textsuperscript{th} Annual International |
| Symposium on Computer Architecture" |
| ,pages="340-347" |
| } |
| |
| @techreport{Magnusson94 |
| ,author="Peter Magnusson and Anders Landin and Erik Hagersten" |
| ,title="Efficient Software Synchronization on Large Cache Coherent |
| Multiprocessors" |
| ,institution="Swedish Institute of Computer Science" |
| ,address="Kista, Sweden" |
| ,year="1994" |
| ,number="T94:07" |
| ,month="February" |
| ,pages="32" |
| } |
| |
| @techreport{ScottCombiningTree92 |
| ,author="Michael L. Scott and John M. Mellor-Crummey" |
| ,title="Fast, Contention-Free Combining Tree Barriers" |
| ,institution="Computer Science Department, University of Rochester" |
| ,address="Rochester, NY" |
| ,year="1992" |
| ,number="CS.92.TR429" |
| ,month="June" |
| } |
| |
| @techreport{Takada93 |
| ,author="Hiroaki Takada and Ken Sakamura" |
| ,title="A Bounded Spin Lock Algorithm with Preemption" |
| ,institution="University of Tokyo" |
| ,address="Tokyo, Japan" |
| ,year="1993" |
| ,number="93-02" |
| } |
| |
| @techreport{Hsieh91 |
| ,author="Wilson C. Hsieh and William E. Weihl" |
| ,title="Scalable Reader-Writer Locks for Parallel Systems" |
| ,institution="MIT Laboratory for Computer Science" |
| ,address="Cambridge, MA" |
| ,year="1991" |
| ,number="MIT/LCS/TR-521" |
| ,note="Available: |
| \url{http://www.lcs.mit.edu/publications/pubs/pdf/MIT-LCS-TR-521.pdf} |
| [Viewed January 26, 2009]" |
| } |
| |
| @inproceedings{WilsonCHsieh92a |
| ,author={Wilson C. Hsieh and William E. Weihl} |
| ,title="Scalable Reader-Writer Locks for Parallel Systems" |
| ,booktitle="Proceedings of the 6\textsuperscript{th} International Parallel |
| Processing Symposium" |
| ,pages={216--230} |
| ,year=1992 |
| ,address="Beverly Hills, CA, USA" |
| ,month="March" |
| } |
| |
| @article{McKenney96a |
| ,author="Paul E. McKenney" |
| ,title="Selecting Locking Primitives for Parallel Programs" |
| ,Year="1996" |
| ,Month="October" |
| ,journal="Communications of the {ACM}" |
| ,volume="39" |
| ,number="10" |
| ,pages="75--82" |
| } |
| |
| @article{Hoare74 |
| ,author="C. A. R. Hoare" |
| ,title="Monitors: An Operating System Structuring Concept" |
| ,Year="1974" |
| ,Month="October" |
| ,journal="Communications of the {ACM}" |
| ,volume="17" |
| ,number="10" |
| ,pages="549-557" |
| } |
| |
| @article{Lamport74a |
| ,author="Leslie Lamport" |
| ,title="A New Solution of {Dijkstra's} Concurrent Programming Problem" |
| ,Year="1974" |
| ,Month="August" |
| ,journal="Communications of the {ACM}" |
| ,volume="17" |
| ,number="8" |
| ,pages="453-455" |
| } |
| |
| @article{Dijkstra65a |
| ,author="E. W. Dijkstra" |
| ,title="Solution of a Problem in Concurrent Programming Control" |
| ,Year="1965" |
| ,Month="Sept" |
| ,journal="Communications of the {ACM}" |
| ,volume="8" |
| ,number="9" |
| ,pages="569" |
| } |
| |
| @inbook{Dijkstra68a |
| ,Author = "E. W. Dijkstra" |
| ,Title = "Programming Languages" |
| ,Chapter = "Cooperating Sequential Processes" |
| ,Year = "1968" |
| ,Publisher = "Academic Press" |
| } |
| |
| @techreport{UlrichDrepper2011Futexes |
| ,author="Ulrich Drepper" |
| ,title="Futexes Are Tricky" |
| ,institution="Red Hat, Inc." |
| ,address="Raleigh, NC, USA" |
| ,year="2011" |
| ,number="FAT2011" |
| ,month="November" |
| ,url={http://people.redhat.com/drepper/futex.pdf} |
| } |
| |
| @techreport{BenJackson02 |
| ,author="Benedict Joseph Jackson and Paul E. McKenney and |
| Ramakrishnan Rajamony and Ronald Lynn Rockhold" |
| ,title="Scalable Interruptible Queue Locks for Shared-Memory Multiprocessor" |
| ,institution="US Patent and Trademark Office" |
| ,address="Washington, DC" |
| ,year="2002" |
| ,number="US Patent 6,473,819" |
| ,month="October" |
| } |
| |
| @techreport{McKenney02d |
| ,author="Paul E. McKenney and Kevin A. Closson and Raghupathi Malige" |
| ,title="Lingering Locks with Fairness Control for Multi-Node Computer Systems" |
| ,institution="US Patent and Trademark Office" |
| ,address="Washington, DC" |
| ,year="2002" |
| ,number="US Patent 6,480,918" |
| ,month="November" |
| } |
| |
| @inproceedings{McKenney02e |
| ,author={S. Swaminathan and John Stultz and Jack Vogel and Paul E. McKenney} |
| ,title="Fairlocks -- A High Performance Fair Locking Scheme" |
| ,booktitle="Proceedings of the 14\textsuperscript{th} {IASTED} International |
| Conference on Parallel and Distributed Computing and Systems" |
| ,pages={246--251} |
| ,year=2002 |
| ,address="Cambridge, MA, USA" |
| ,month="November" |
| } |
| |
| @inproceedings{radovic03hierarchical |
| ,author={Zoran Radovi{\'c} and Erik Hagersten} |
| ,title="Hierarchical Backoff Locks for Nonuniform Communication Architectures" |
| ,booktitle="Proceedings of the Ninth International Symposium on |
| High Performance Computer Architecture ({HPCA-9})" |
| ,year=2003 |
| ,address="Anaheim, California, USA" |
| ,month="February" |
| ,url={citeseer.nj.nec.com/radovic03hierarchical.html} |
| ,pages="241-252" |
| } |
| |
| @inproceedings{radovic02efficient |
| ,author="Zoran Radovi{\'c} and Erik Hagersten" |
| ,title="Efficient Synchronization for Nonuniform Communication Architectures" |
| ,booktitle="Proceedings of the 2002 ACM/IEEE Conference on Supercomputing" |
| ,publisher="The Institute of Electrical and Electronics Engineers, Inc." |
| ,year=2002 |
| ,pages="1-13" |
| ,address="Baltimore, Maryland, USA" |
| ,month="November" |
| ,url="citeseer.nj.nec.com/radovic02efficient.html" |
| } |
| |
| @techreport{LukeBrowning2005SimpleLockNUMAAware |
| ,author="Luke Browning and Thomas Mathews and Paul E. McKenney and James Moody" |
| ,title="Apparatus, Method, and Computer Program Product for Converting |
| Simple Locks in a Multiprocessor System" |
| ,institution="US Patent and Trademark Office" |
| ,address="Washington, DC" |
| ,year="2005" |
| ,number="US Patent 6,842,809" |
| ,month="January" |
| } |
| |
| @article{Weihl85a |
| ,author="William E. Weihl and Barbara Liskov" |
| ,title="Implementation of Resilient, Atomic Data Types" |
| ,Year="1985" |
| ,Month="July" |
| ,journal="{ACM} Transactions on Programming Languages and Systems" |
| ,volume="7" |
| ,number="2" |
| ,pages="244-269" |
| } |
| |
| @unpublished{Gamsa96b |
| ,author="Ben Gamsa and Orran Krieger and Jonathan Appavoo and |
| Michael Stumm" |
| ,title="The Need for Performance-Oriented Data Organization in |
| multiprocessor Software" |
| ,Year="1996" |
| ,note="Private communication from Orran Krieger" |
| } |
| |
| @article{Pugh90b |
| ,author="William Pugh" |
| ,title="A Probabalistic Alternative to Balanced Trees" |
| ,Year="1990" |
| ,Month="June" |
| ,journal="Communications of the {ACM}" |
| ,volume="33" |
| ,number="6" |
| ,pages="668--676" |
| } |
| |
| @inproceedings{Uhlig04scalablevms |
| ,author={Volkmar Uhlig and Joshua LeVasseur and Espen Skoglund and |
| Uwe Dannowski} |
| ,title={Towards Scalable Multiprocessor Virtual Machines} |
| ,booktitle={Proceedings of the 3rd Virtual Machine Research and |
| Technology Symposium} |
| ,year={2004} |
| ,pages={43--56} |
| ,address={San Jose, CA} |
| ,month="May~6-7" |
| ,url={citeseer.ist.psu.edu/uhlig04towards.html} |
| } |
| |
| @article{Kontothanassis97a |
| ,author="Leonidas Kontothanassis and Robert W. Wisniewski and Michael L. Scott" |
| ,title="Scheduler-Conscious Synchronization" |
| ,Year="1997" |
| ,Month="January" |
| ,journal="Communications of the {ACM}" |
| ,volume="15" |
| ,number="1" |
| ,pages="3--40" |
| } |
| |
| @techreport{PaulMcKenney2004a |
| ,author="Paul E. McKenney and Phillip E. Krueger and Stuart A. Friedberg and |
| Brent A Kingsbury" |
| ,title="Memory Allocation for a Multiprocessor Computer System" |
| ,institution="US Patent and Trademark Office" |
| ,address="Washington, DC" |
| ,year="2004" |
| ,number="US Patent 6,785,888" |
| ,month="August" |
| } |
| |
| @inproceedings{AlainDarte2005 |
| ,author = {Alain Darte and Robert Schreiber} |
| ,title = {A linear-time algorithm for optimal barrier placement} |
| ,booktitle = {PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming} |
| ,year = {2005} |
| ,isbn = {1-59593-080-9} |
| ,pages = {26--35} |
| ,location = {Chicago, IL, USA} |
| ,doi = {http://doi.acm.org/10.1145/1065944.1065949} |
| ,publisher = {ACM Press} |
| ,address = {New York, NY, USA} |
| } |
| |
| |
| @article{Sha1990IEEETransComp |
| ,author = {L. Sha and R. Rajkumar and J. P. Lehoczky} |
| ,title = {Priority Inheritance Protocols: An Approach to Real-Time Synchronization} |
| ,journal = {IEEE Trans. Comput.} |
| ,volume = {39} |
| ,number = {9} |
| ,year = {1990} |
| ,issn = {0018-9340} |
| ,pages = {1175--1185} |
| ,doi = {http://dx.doi.org/10.1109/12.57058} |
| ,publisher = {IEEE Computer Society} |
| ,address = {Washington, DC, USA} |
| } |
| |
| @unpublished{Yodaiken2004FSM |
| ,Author="Victor Yodaiken" |
| ,Title="Against priority inheritance" |
| ,Month="September" |
| ,Year="2004" |
| ,note="Available: |
| \url{http://www.yodaiken.com/papers/inherit.pdf} |
| [Viewed May 26, 2007]" |
| } |
| |
| @article{Lampson1980Mesa |
| ,author = {Butler W. Lampson and David D. Redell} |
| ,title = {Experience with Processes and Monitors in {Mesa}} |
| ,journal = {Communications of the ACM} |
| ,volume = {23} |
| ,number = {2} |
| ,year = {1980} |
| ,issn = {0001-0782} |
| ,pages = {105-117} |
| ,doi = {http://doi.acm.org/10.1145/358818.358824} |
| ,publisher = {ACM Press} |
| ,address = {New York, NY, USA} |
| } |
| |
| @article{Herlihy:1996:LCN:1063369.1063372 |
| ,author = {Herlihy, Maurice and Shavit, Nir and Waarts, Orli} |
| ,title = {Linearizable counting networks} |
| ,journal = {Distrib. Comput.} |
| ,volume = {9} |
| ,issue = {4} |
| ,month = {February} |
| ,year = {1996} |
| ,issn = {0178-2770} |
| ,pages = {193--203} |
| ,numpages = {11} |
| ,url = {http://portal.acm.org/citation.cfm?id=1063369.1063372} |
| ,doi = {10.1007/s004460050019} |
| ,acmid = {1063372} |
| ,publisher = {Springer-Verlag} |
| ,address = {London, UK} |
| ,keywords = {concurrency, contention, counting networks, data structures, linearizability} |
| } |
| |
| @Conference{MichaelLScott2001QlockTimeout |
| ,Author="Michael L. Scott and William N. Scherer III" |
| ,Title="Scalable Queue-Based Spin Locks with Timeout" |
| ,Booktitle="{Proceedings of the eighth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming}" |
| ,series={PPoPP '01} |
| ,Month="June" |
| ,Year="2001" |
| ,pages="44--52" |
| ,url={http://doi.acm.org/10.1145/379539.379566} |
| ,publisher="ACM" |
| ,address="New York, NY, USA" |
| } |
| |
| @Conference{HubertusFrancke2002Futex |
| ,Author="Hubertus Francke and Rusty Russell and Matthew Kirkwood" |
| ,Title="Fuss, futexes and furwocks: Fast Userlevel Locking in Linux" |
| ,Booktitle="{Ottawa Linux Symposium}" |
| ,Month="June" |
| ,Year="2002" |
| ,pages="479-495" |
| ,note="Available: |
| \url{http://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf} |
| [Viewed May 22, 2011]" |
| } |
| |
| @unpublished{RustyRussell2003UnreliableLocking |
| ,author="Rusty Russell" |
| ,title="Unreliable Guide To Locking" |
| ,Year="2003" |
| ,note="Available: |
| \url{http://www.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/index.html} |
| [Viewed September 10, 2012]" |
| } |
| |
| @phdthesis{BilgeEbruSaglamAkgul |
| ,author="Bilge Ebru Saglam Akgul" |
| ,title="The System-on-a-Chip Lock Cache" |
| ,school="School of Electrical and Computer Engineering at |
| Georgia Institute of Technology" |
| ,year="2004" |
| ,note="Available: |
| \url{http://smartech.gatech.edu/bitstream/handle/1853/5253/akgul_bilge_e_200405_phd.pdf} |
| [Viewed June 27, 2012]" |
| } |
| |
| @unpublished{IngoMolnar2006RobustFutexes |
| ,author="Ingo Molnar" |
| ,title="Lightweight Robust Futexes" |
| ,Year="2006" |
| ,Month="March" |
| ,note="Available: |
| \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/robust-futexes.txt} |
| [Viewed May 22, 2011]" |
| } |
| |
| @unpublished{StevenRostedt2006piFutexes |
| ,author="Steven Rostedt" |
| ,title="Lightweight {PI-futexes}" |
| ,Year="2006" |
| ,Month="June" |
| ,note="Available: |
| \url{http://lxr.linux.no/#linux+v2.6.39/Documentation/pi-futex.txt} |
| [Viewed May 22, 2011]" |
| } |
| |
| @article{HerbSutter2005FreeLunchOver |
| ,author="Herb Sutter" |
| ,title="The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software" |
| ,Year="2005" |
| ,Month="March" |
| ,journal="Dr. Dobb's Journal" |
| ,volume="30" |
| ,number="3" |
| ,note="Available: |
| \url{http://www.gotw.ca/publications/concurrency-ddj.htm} |
| [Viewed January 1, 2009]" |
| } |
| |
| |
| |
| @book{HerlihyShavit2008Textbook |
| ,Author = "Maurice Herlihy and Nir Shavit" |
| ,Title = "The Art of Multiprocessor Programming" |
| ,Year = "2008" |
| ,isbn = "978-0-12-370591-4" |
| ,Publisher = "Morgan Kaufmann" |
| ,Address = "Burlington, MA, USA" |
| } |
| |
| @book{MichaelScott2006Textbook |
| ,Author = "Michael Scott" |
| ,Title = "Programming Language Pragmatics" |
| ,Year = "2006" |
| ,isbn = "978-0-12-633951-2" |
| ,Publisher = "Morgan Kaufmann" |
| ,Address = "Burlington, MA, USA" |
| } |
| |
| @book{MichaelScott2013Textbook |
| ,Author = "Michael L. Scott" |
| ,Title = "Shared-Memory Synchronization" |
| ,Year = "2013" |
| ,isbn = "9781608459575" |
| ,Publisher = "Morgan \& Claypool" |
| ,Address = "San Rafael, CA, USA" |
| } |
| |
| @book{SchmidtStalRohnertBuschmann2000v2Textbook |
| ,Author = "Douglas C. Schmidt and Michael Stal and Hans Rohnert and Frank Buschmann" |
| ,Title = "Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects" |
| ,Year = "2000" |
| ,isbn = "978-0-471-60695-6" |
| ,Publisher = "Wiley" |
| ,Address = "Chichester, West Sussex, England" |
| } |
| |
| @book{BuschmannHenneySchmidt2007v4Textbook |
| ,Author = "Frank Buschmann and Kevlin Henney and Douglas C. Schmidt" |
| ,Title = "Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing" |
| ,Year = "2007" |
| ,isbn = "978-0-470-05902-9" |
| ,Publisher = "Wiley" |
| ,Address = "Chichester, West Sussex, England" |
| } |
| |
| @book{DougLea1997Textbook |
| ,Author = "Doug Lea" |
| ,Title = "Concurrent Programming in Java: Design Principles and Patterns" |
| ,Year = "1997" |
| ,isbn = "0-201-69581-2" |
| ,Publisher = "Addison Wesley Longman" |
| ,Address = "Reading, MA, USA" |
| } |
| |
| @book{Goetz2007Textbook |
| ,Author = "Brian Goetz and Tim Peierls and Joshua Bloch and Joseph Bowbeer and David Holmes and Doug Lea" |
| ,Title = "Java: Concurrency in Practice" |
| ,Year = "2007" |
| ,isbn = "0-321-34960-1" |
| ,Publisher = "Addison Wesley" |
| ,Address = "Upper Saddle River, NJ, USA" |
| } |
| |
| @book{Mattson2005Textbook |
| ,Author = "Timothy G. Mattson and Beverly A. Sanders and Berna L. Massingill" |
| ,Title = "Patterns for Parallel Programming" |
| ,Year = "2005" |
| ,isbn = "978-0-321-22811-6" |
| ,Publisher = "Addison Wesley" |
| ,Address = "Boston, MA, USA" |
| } |
| |
| @book{Reinders2007Textbook |
| ,Author = "James Reinders" |
| ,Title = "{Intel} {Threading} {Building} {Blocks}" |
| ,Year = "2007" |
| ,isbn = "978-0-596-51480-8" |
| ,Publisher = "O'Reilly" |
| ,Address = "Sebastopol, CA, USA" |
| } |
| |
| @book{Butenhof1997pthreads |
| ,Author = "David Butenhof" |
| ,Title = "Programming with {POSIX} Threads" |
| ,Year = "1997" |
| ,isbn = "0201633922" |
| ,Publisher = "Addison-Wesley" |
| ,Address = "Boston, MA, USA" |
| } |
| |
| @techreport{PhuongHoaiHa2005Reactivelock |
| ,author="Phuong Hoai Ha and Marina Papatriantafilou and Philippas Tsigas" |
| ,title="Reactive Spin-locks: A Self-tuning Approach" |
| ,institution={Department of Computing Science and Engineering, Chalmers University of Technology and G\"oteborg University} |
| ,year="2005" |
| ,address={SE-412 96 G\"oteborg, Sweden} |
| ,number="2005:16" |
| } |
| |
| @inproceedings{FaithEllen:2007:SNZI |
| ,author = {Ellen, Faith and Lev, Yossi and Luchangco, Victor and Moir, Mark} |
| ,title = {SNZI: scalable NonZero indicators} |
| ,booktitle = {Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing} |
| ,series = {PODC '07} |
| ,year = {2007} |
| ,isbn = {978-1-59593-616-5} |
| ,location = {Portland, Oregon, USA} |
| ,pages = {13--22} |
| ,numpages = {10} |
| ,url = {http://doi.acm.org/10.1145/1281100.1281106} |
| ,doi = {10.1145/1281100.1281106} |
| ,acmid = {1281106} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| ,keywords = {counters, scalability, transactional memory} |
| } |
| |
| @article{HerbSutter2008EC1Pillars |
| ,author="Herb Sutter" |
| ,title="The Pillars of Concurrency" |
| ,Year="2007" |
| ,Month="July" |
| ,Day="2" |
| ,Journal="Dr. Dobbs Journal" |
| ,note="Available: |
| \url{http://www.ddj.com/hpc-high-performance-computing/200001985} |
| [Viewed February 15, 2009]" |
| } |
| |
| @article{HerbSutter2008EC2HowMuchScalability |
| ,author="Herb Sutter" |
| ,title="How Much Scalability Do You Have or Need?" |
| ,Year="2007" |
| ,Month="August" |
| ,Day="3" |
| ,Journal="Dr. Dobbs Journal" |
| ,note="Available: |
| \url{http://www.ddj.com/hpc-high-performance-computing/201202924} |
| [Viewed February 22, 2009]" |
| } |
| |
| @unpublished{HerbSutter2008EffectiveConcurrency |
| ,author="Herb Sutter" |
| ,title="Effective Concurrency" |
| ,Year="2008" |
| ,note="Series in Dr. Dobbs Journal" |
| } |
| |
| @article{DeCandia:2007:DAH:1323293.1294281 |
| ,author = {DeCandia, Giuseppe and Hastorun, Deniz and Jampani, Madan and Kakulapati, Gunavardhan and Lakshman, Avinash and Pilchin, Alex and Sivasubramanian, Swaminathan and Vosshall, Peter and Vogels, Werner} |
| ,title = {Dynamo: Amazon's Highly Available Key-value Store} |
| ,journal = {SIGOPS Oper. Syst. Rev.} |
| ,issue_date = {December 2007} |
| ,volume = {41} |
| ,number = {6} |
| ,month = oct |
| ,year = {2007} |
| ,issn = {0163-5980} |
| ,pages = {205--220} |
| ,numpages = {16} |
| ,url = {http://doi.acm.org/10.1145/1323293.1294281} |
| ,doi = {10.1145/1323293.1294281} |
| ,acmid = {1294281} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| } |
| |
| @article{Cantrill:2008:RC:1454456.1454462 |
| ,author = {Cantrill, Bryan and Bonwick, Jeff} |
| ,title = {Real-World Concurrency} |
| ,journal = {Queue} |
| ,issue_date = {September 2008} |
| ,volume = {6} |
| ,number = {5} |
| ,month = sep |
| ,year = {2008} |
| ,issn = {1542-7730} |
| ,pages = {16--25} |
| ,numpages = {10} |
| ,url = {http://doi.acm.org/10.1145/1454456.1454462} |
| ,doi = {10.1145/1454456.1454462} |
| ,acmid = {1454462} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| } |
| |
| @techreport{PaulEMcKenney2009ProgrammingHard |
| ,author="Paul E. McKenney and Manish Gupta and Maged M. Michael and Phil Howard and Joshua Triplett and Jonathan Walpole" |
| ,title="Is Parallel Programming Hard, And If So, Why?" |
| ,institution="Portland State University" |
| ,address="Portland, OR, USA" |
| ,year="2009" |
| ,number="TR-09-02" |
| ,month="February" |
| ,pages="5" |
| ,note="Available: |
| \url{http://www.cs.pdx.edu/pdfs/tr0902.pdf} |
| [Viewed February 19, 2009]" |
| } |
| |
| @book{McKenney2008ParallelProgramming |
| ,Author = "Paul E. McKenney" |
| ,Title = "Is Parallel Programming Hard, And, If So, What Can You Do About It?" |
| ,Year = "2012" |
| ,Publisher = "kernel.org" |
| ,Address = "Corvallis, OR, USA" |
| } |
| |
| @unpublished{PaulEMcKenney2009Supercomputing |
| ,author="Paul E. McKenney" |
| ,title="Teach Parallel" |
| ,Year="2009" |
| ,Month="December" |
| ,Day="15" |
| ,Note="http://blip.tv/intel-software-network-tv/paul-mckenney-teach-parallel-at-sc09-2997461" |
| } |
| |
| @unpublished{PaulEMcKenney2011Dagstuhl |
| ,author="Paul E. McKenney" |
| ,title="Multi-Core Memory Models and Concurrency Theory: A View from the Linux Community" |
| ,Year="2011" |
| ,Month="January" |
| ,Day="6" |
| ,Note="http://www.rdrop.com/users/paulmck/scalability/paper/mckenney.2011.01.06e.pdf" |
| } |
| |
| @unpublished{PaulEMcKenney2011Verico |
| ,author="Paul E. McKenney" |
| ,title="Verifying Parallel Software: Can Theory Meet Practice?" |
| ,Year="2011" |
| ,Month="January" |
| ,Day="29" |
| ,note="\url{http://www.rdrop.com/users/paulmck/scalability/paper/VericoTheoryPractice.2011.01.28a.pdf}" |
| } |
| |
| @unpublished{PaulEMcKenney2011ASDF:IPPHAISWCYDAI |
| ,author="Paul E. McKenney" |
| ,title="Is Parallel Programming Hard, And If So, What Can You Do About It?" |
| ,Year="2011" |
| ,Month="April" |
| ,Day="29" |
| ,Note="http://www.rdrop.com/users/paulmck/scalability/paper/IsParallelProgrammingHard.ASDF.2011.04.27a.pdf" |
| } |
| |
| @unpublished{PaulEMcKenney2011SeidnerInterview |
| ,author="Rich Seidner" |
| ,title="Why Is Parallel Programming So Hard" |
| ,Year="2011" |
| ,Month="August" |
| ,Note="http://intelligenceinsoftware.com/feature/expert_insight/why_is_parallel_programming_so_hard/" |
| } |
| |
| @inproceedings{YossiLev2009SNZIrwlock |
| ,author = {Yossi Lev and Victor Luchangco and Marek Olszewski} |
| ,title = {Scalable reader-writer locks} |
| ,booktitle = {SPAA '09: Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures} |
| ,year = {2009} |
| ,isbn = {978-1-60558-606-9} |
| ,pages = {101--110} |
| ,location = {Calgary, AB, Canada} |
| ,doi = {http://doi.acm.org/10.1145/1583991.1584020} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| } |
| |
| @unpublished{Ali-Reza-Adl-Tabatabai2009CppTM |
| ,author="Ali-Reza Adl-Tabatabai and Tatiana Shpeisman" |
| ,title="Draft Specification of Transactional Language Constructs for C++" |
| ,Year="2009" |
| ,Month="August" |
| ,Note="http://research.sun.com/scalable/pubs/C++-transactional-constructs-1.0.pdf" |
| } |
| |
| @unpublished{JakeEdge2009kfifo |
| ,Author="Jake Edge" |
| ,Title="A new API for kfifo?" |
| ,month="August" |
| ,day="19" |
| ,year="2009" |
| ,note="Available: |
| \url{http://lwn.net/Articles/347619/} |
| [Viewed September 20, 2010]" |
| } |
| |
| @article{C.A.Furia2010Time |
| ,author="C.A. Furia and D. Mandrioli and A. Morzenti and M. Rossi" |
| ,title="Modeling time in computing: a taxonomy and a comparative study" |
| ,Year="2010" |
| ,Month="February" |
| ,journal="{ACM} Computing Surveys" |
| ,volume="42" |
| ,number="2" |
| ,pages="6:1-6:59" |
| } |
| |
| @article{WernerVogels:2009:EventuallyConsistent |
| ,author = {Vogels, Werner} |
| ,title = {Eventually consistent} |
| ,journal = {Commun. ACM} |
| ,volume = {52} |
| ,issue = {1} |
| ,month = {January} |
| ,year = {2009} |
| ,issn = {0001-0782} |
| ,pages = {40--44} |
| ,numpages = {5} |
| ,url = {http://doi.acm.org/10.1145/1435417.1435432} |
| ,doi = {http://doi.acm.org/10.1145/1435417.1435432} |
| ,acmid = {1435432} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| } |
| |
| @inproceedings{HagitAttiya2011LawsOfOrder |
| ,author = {Hagit Attiya and Rachid Guerraoui and Danny Hendler and Petr Kuznetsov and Maged M. Michael} |
| ,title = {Laws of Order: Expensive Synchronization in Concurrent Algorithms Cannot be Eliminated} |
| ,booktitle = {38\textsuperscript{th} ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages} |
| ,year = {2011} |
| ,location = {Austin, TX, USA} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| } |
| |
| @unpublished{PaulEMcKenney2011SNC |
| ,Author="Paul E. McKenney" |
| ,title = "Concurrent code and expensive instructions" |
| ,month="January" |
| ,day="26" |
| ,year="2011" |
| ,note="Available: |
| \url{http://lwn.net/Articles/423994} |
| [Viewed January 28, 2011]" |
| } |
| |
| @unpublished{PaulEMcKenney2011WhyIsParallelProgrammingSoHard |
| ,Author="Tom Dunlap" |
| ,title = "Why Is Parallel Programming So Hard" |
| ,month="September" |
| ,day="2" |
| ,year="2011" |
| ,note="Available: |
| \url{http://intelligenceinsoftware.com/feature/expert_insight/why_is_parallel_programming_so_hard/} |
| [Viewed September 2, 2011]" |
| } |
| |
| @inproceedings{Eastep:2010:SLA:1809049.1809079 |
| ,author = {Eastep, Jonathan and Wingate, David and Santambrogio, Marco D. and Agarwal, Anant} |
| ,title = {Smartlocks: lock acquisition scheduling for self-aware synchronization} |
| ,booktitle = {Proceedings of the 7th international conference on Autonomic computing} |
| ,series = {ICAC '10} |
| ,year = {2010} |
| ,isbn = {978-1-4503-0074-2} |
| ,location = {Washington, DC, USA} |
| ,pages = {215--224} |
| ,numpages = {10} |
| ,url = {http://doi.acm.org/10.1145/1809049.1809079} |
| ,doi = {10.1145/1809049.1809079} |
| ,acmid = {1809079} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| ,keywords = {asymmetric multicore, heterogeneous multicore, performance optimization, self-aware, self-tuning, synchronization} |
| } |
| |
| @article{DavidAPatterson2010TroubleMulticore |
| ,author = {David Patterson} |
| ,title = {The Trouble With Multicore} |
| ,journal = {IEEE Spectrum} |
| ,volume = {2010} |
| ,issue = {7} |
| ,month = {July} |
| ,year = {2010} |
| ,pages = {28--32, 52--53} |
| ,numpages = {?} |
| ,url = {http://spectrum.ieee.org/computing/software/the-trouble-with-multicore} |
| ,publisher = {IEEE} |
| ,address = {Los Alamitos, CA, USA} |
| } |
| |
| @inproceedings{DavidUngar2011unsync |
| ,author={David Ungar} |
| ,title="Everything You Know (about Parallel Programming) Is Wrong!: A Wild Screed about the Future" |
| ,booktitle="Proceedings of the 2011 Systems, Programming Languages and Applications: Software for Humanity (SPLASH) Conference" |
| ,pages={???-???} |
| ,year=2011 |
| ,address="Portland, OR, USA" |
| ,month="October" |
| ,url={http://splashcon.org/2011/program/245} |
| } |
| |
| @inproceedings{PaulEMcKenney2012HOTPARsuboptimal |
| ,author={Paul E. McKenney} |
| ,title="Retrofitted Parallelism Considered Grossly Sub-Optimal" |
| ,booktitle="4\textsuperscript{th} USENIX Workshop on Hot Topics on Parallelism" |
| ,pages={7} |
| ,year=2012 |
| ,address="Berkeley, CA, USA" |
| ,month="June" |
| ,url={https://www.usenix.org/conference/hotpar12/retro%EF%AC%81tted-parallelism-considered-grossly-sub-optimal} |
| } |
| |
| @conference{AndreasHaas2012FIFOisnt |
| ,author="Andreas Haas and Christoph M. Kirsch and Michael Lippautz and Hannes Payer" |
| ,title="How {FIFO} is Your Concurrent {FIFO} Queue?" |
| ,booktitle="Proceedings of the Workshop on Relaxing Synchronization for Multicore and Manycore Scalability" |
| ,Year="2012" |
| ,Month="October" |
| ,address="Tucson, AZ USA" |
| } |
| |
| @techreport{ChristophMKirsch2012FIFOisntTR |
| ,author="Christoph M. Kirsch and Michael Lippautz and Hannes Payer" |
| ,title="Fast and Scalable k-FIFO Queues" |
| ,institution="University of Salzburg" |
| ,address="Salzburg, Austria" |
| ,year="2012" |
| ,number="2012-04" |
| ,month="June" |
| ,pages="19" |
| } |
| |
| @InProceedings{AndreasHaas2013CFRelaxedQueues |
| ,author = {A. Haas and T.A. Henzinger and C.M. Kirsch and M. Lippautz and H. Payer and A. Sezgin and A. Sokolova} |
| ,title = {Distributed Queues in Shared Memory---Multicore Performance and Scalability through Quantitative Relaxation} |
| ,booktitle = {Proc. International Conference on Computing Frontiers} |
| ,publisher = {ACM} |
| ,year = {2013} |
| } |
| |
| @article{Shavit:2011:DSM:1897852.1897873 |
| ,author = {Shavit, Nir} |
| ,title = {Data structures in the multicore age} |
| ,journal = {Commun. ACM} |
| ,issue_date = {March 2011} |
| ,volume = {54} |
| ,number = {3} |
| ,month = mar |
| ,year = {2011} |
| ,issn = {0001-0782} |
| ,pages = {76--84} |
| ,numpages = {9} |
| ,url = {http://doi.acm.org/10.1145/1897852.1897873} |
| ,doi = {10.1145/1897852.1897873} |
| ,acmid = {1897873} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| } |
| |
| @unpublished{Atman2011Multi-WayTicketLock |
| ,Author="cbloom" |
| ,title = "Atman's Multi-way Ticket Lock" |
| ,month="July" |
| ,day="17" |
| ,year="2011" |
| ,note="\url{http://cbloomrants.blogspot.com/2011/07/07-17-11-atman-multi-way-ticket-lock_17.html}" |
| } |
| |
| @unpublished{JeremyFitzhardinge2012PVticketlocks |
| ,Author="Jeremy Fitzhardinge" |
| ,title = "Paravirtualized ticketlocks" |
| ,month="April" |
| ,day="20" |
| ,year="2012" |
| ,note="\url{http://lwn.net/Articles/493402/}" |
| } |
| |
| @inproceedings{SilasBoyd-Wickizer2012scalablelocks |
| ,author="Silas Boyd-Wickizer and M. Frans Kaashoek and Robert Morris and and Nickolai Zeldovich" |
| ,title="Non-scalable locks are dangerous" |
| ,booktitle="Proceedings of the Linux Symposium (OLS 2012)" |
| ,pages={???-???} |
| ,year=2012 |
| ,address="Ottawa, Canada" |
| ,month="July" |
| ,url={http://pdos.csail.mit.edu/papers/linux:lock.pdf} |
| } |
| |
| @inproceedings{McKenney:2012:BEP:2414729.2414734 |
| ,author = {McKenney, Paul E.} |
| ,title = {Beyond expert-only parallel programming?} |
| ,booktitle = {Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability} |
| ,series = {RACES '12} |
| ,year = {2012} |
| ,isbn = {978-1-4503-1632-3} |
| ,location = {Tucson, Arizona, USA} |
| ,pages = {25--32} |
| ,numpages = {8} |
| ,url = {http://doi.acm.org/10.1145/2414729.2414734} |
| ,doi = {10.1145/2414729.2414734} |
| ,acmid = {2414734} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| ,keywords = {acculturation, economics, linux kernel, tooling} |
| } |
| |
| @unpublished{LucMaranget2012Tutorial |
| ,author="Luc Maranget and Susmit Sarkar and Peter Sewell" |
| ,title="A Tutorial Introduction to the ARM and POWER Relaxed Memory Models" |
| ,Year="2012" |
| ,Month="October" |
| ,Note="\url{http://www.cl.cam.ac.uk/~pes20/ppc-supplemental/test7.pdf}" |
| } |
| |
| @unpublished{RickVanRiel2013ProportionalLock |
| ,Author="Rick van Riel" |
| ,title = "make ticket spinlock proportional " |
| ,month="January" |
| ,day="3" |
| ,year="2013" |
| ,note="\url{https://lkml.org/lkml/2013/1/3/9}" |
| } |
| |
| @unpublished{AdrianSutton2013LCA:Disruptor |
| ,Author="Adrian Sutton" |
| ,title = "Concurrent Programming with the {Disruptor}" |
| ,month="January" |
| ,day="30" |
| ,year="2013" |
| ,note="\url{http://lca2013.linux.org.au/schedule/30168/view_talk}" |
| } |
| |
| @article{Desnoyers:2013:MSM:2506164.2506174 |
| ,author = {Desnoyers, Mathieu and McKenney, Paul E. and Dagenais, Michel R.} |
| ,title = {Multi-core systems modeling for formal verification of parallel algorithms} |
| ,journal = {SIGOPS Oper. Syst. Rev.} |
| ,issue_date = {July 2013} |
| ,volume = {47} |
| ,number = {2} |
| ,month = jul |
| ,year = {2013} |
| ,issn = {0163-5980} |
| ,pages = {51--65} |
| ,numpages = {15} |
| ,url = {http://doi.acm.org/10.1145/2506164.2506174} |
| ,doi = {10.1145/2506164.2506174} |
| ,acmid = {2506174} |
| ,publisher = {ACM} |
| ,address = {New York, NY, USA} |
| ,keywords = {Promela, instruction reordering, model checking, multiprocessor, read copy update, shared memory, weak memory model} |
| } |
| |
| @phdthesis{SilasBoydWickizerPhD |
| ,author="Silas Boyd-Wickizer" |
| ,title="Optimizing Communications Bottlenecks in Multiprocessor Operating Systems Kernels" |
| ,school="Massachusetts Institute of Technology" |
| ,year="2014" |
| } |