CSC 2/458
Parallel and Distributed Systems
Course Resources, Spring 2019
Warning: some of the info on this page is stale.
On reserve at Carlson library:
-
Shared-Memory Synchronization,
by Michael L. Scott.
Morgan & Claypool, 2013.
-
Distributed Systems: Principles and Paradigms, Second Edition,
by Andrew S. Tanenbaum and Maarten van Steen.
CreateSpace Independent Publishing Platform, 2016.
-
Distributed Systems: Concepts and Design, Fifth Edition,
by George Coulouris, Jean Dollimore, Tim Kindberg, and Gordon Blair.
Pearson, 2011.
-
Parallel Computer Architecture: A Hardware/Software Approach,
by David E. Culler, Jaswinder Pal Singh, and Anoop Gupta.
Morgan Kaufmann, 1998.
-
Optimizing Compilers for Modern Architectures: A Dependence-based Approach,
by Randy Allen and Ken Kennedy.
Morgan Kaufmann, 2001.
-
The Art of Multiprocessor Programming,
by Maurice Herlihy and Nir Shavit.
Morgan Kaufmann, 2012 (revised).
-
Introduction to Parallel Computing, Second Edition,
by Anantha Grama, Anshul Gupta, George Karypis, and Vipin Kumar.
Pearson, 2003.
Copies of papers
Several of the following are available only within the cs.rochester.edu and
csug.rochester.edu domains. They are provided under terms of fair use
of copyright for instructional purposes.
For assigned reading, please bring a paper copy to class, or bring a
laptop or tablet with which to access the electronic copy.
- General
- Threads
- “The Performance Implications
of Thread Management Alternatives for Shared-Memory
Multiprocessors”, by Thomas E. Anderson, Edward D. Lazowska,
and Henry M. Levy. IEEE Transactions on Computers 38:12
(Dec. 1989), pp. 1631-1644.
- “On the Duality of Operating
System Structures”, by Hugh C. Lauer and Roger M. Needham.
Proc. of the 2nd Intl. Symp. on Operating Systems, IRIA, Oct. 1978.
Reprinted in ACM Operating Systems Review 13:2 (Apr. 1979),
pp. 3-19.
- “SEDA: An Architecture for
Well-Conditioned, Scalable Internet Services”, by Matt Welsh,
David Culler, and Eric Brewer. Proc. of the 18th ACM Symp. on
Operating Systems Principles, Oct. 2001, pp. 230-243.
- “Capriccio:
Scalable Threads for Internet Services”, by Rob von
Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer.
Proc. of the 19th ACM Symp. on Operating Systems Principles,
Oct. 2003, pp. 268-281.
- Parallelization
- “The Advantages of
Multiple Parallelizations in Combinatorial Search”,
by Lawrence A. Crowl, Mark E. Crovella, Thomas J. LeBlanc, and Michael
L. Scott. Journal of Parallel and Distributed Computing 21
(1994), pp. 110-123.
- “Reevaluating Amdahl’s
Law”, by J. L. Gustafson. Communications of the ACM
31:5 (May 1988), pp. 532-533.
- “Isoefficiency Function: A Scalability Metric
for Parallel Algorithms and Architectures”,
by Ananth Grama, Anshul Gupta, and Vipin Kumar.
Technical Report TR 93-24, University of Minnesota Computer Science
Department, 1993. Revised version published in IEEE Parallel and
Distributed Technology, Aug. 1993.
- Synchronization and Memory Models
- “Shared Memory Consistency
Models: A Tutorial”, by Sarita Adve and Kourosh Gharachorloo.
TR 9512, Rice University, Sept. 1995. Revised version
appeared in IEEE Computer, Dec. 1996.
- “Algorithms for Scalable
Synchronization on Shared-Memory Multiprocessors”, by
John M. Mellor-Crummey and Michael L. Scott. ACM Trans. on
Computer Systems, Feb. 1991.
- “Simple, Fast, and Practical Non-Blocking
and Blocking Concurrent Queue Algorithms”, by
Maged M. Michael and Michael L. Scott.
Proc. of the 15th ACM Symp. on Principles of Distributed
Computing, May 1996, pp. 267-275.
- “Software
Transactional Memory for Dynamic-Sized Data Structures”, by
Maurice Herlihy, Victor Luchangco, Mark Moir, and William
N. Scherer III.
ACM Symp. on Principles of Distributed Computing, July 2003.
- “A Qualitative Survey
of Modern Software Transactional Memory Systems”, by
Virendra J. Marathe and
Michael L. Scott.
TR 839, Computer Science Dept., Univ. of Rochester, July 2004.
- Hardware
- “Shared Memory
Multiprocessors”, sections 5.1-5.3 of
Parallel Computer Architecture: A Hardware/Software Approach,
by David E. Culler and Jaswinder Pal Singh.
Morgan Kaufmann Publishers, 1999.
- “Vector Computation”, section
18.6 of Computer Organization & Architecture, 6th edition, by
William Stallings. Prentice Hall, 2003.
- “POWER4 System
Microarchitecture”, white paper, IBM Server Group,
Oct. 2001.
- “The Sun
Fireplane Interconnect”,
by Alan Charlesworth. IEEE Micro, Jan.-Feb. 2002.
Earlier version published at
Supercomputing 2001.
- “Hyper-Threading Technology Architecture and
Microarchitecture”, by
Deborah T. Marr,
Frank Binns,
David L. Hill,
Glenn Hinton,
David A. Koufaty,
J. Alan Miller, and
Michael Upton.
Intel Technology Journal, Feb. 2002, pp. 4-15.
- “Symbiotic
Jobscheduling for a Simultaneous Multithreading Processor”, by
Allan Snavely and
Dean Tullsen.
Proc. of the 9th ACM Symp. on Architectural Support for Programming
Languages and Operating Systems (ASPLOS IX),
Nov. 2000, pp. 234-244.
- “
An Advanced Multichip Module (MCM) for High-performance UNIX
Servers”, by J. U. Knickerbocker and others.
IBM Journal of Research and Development, Nov. 2002.
The Regatta architecture.
- “Token
Coherence: A New Framework for Shared-Memory
Multiprocessors”, by Milo M. K. Martin, Mark D. Hill, and
David A. Wood. IEEE Micro, Nov.-Dec. 2003.
- Distributed Computing
- “Synchronization”,
sections 5.1-5.2
of Distributed Systems: Principles and Paradigms, by
Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2002.
- “Consistency and
Replication”, sections 6.4-6.5.2 and
6.6.2 of Distributed Systems: Principles and Paradigms, by
Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2002.
- “Fault Tolerance”,
sections 7.2 and 7.4-7.5 of
Distributed Systems: Principles and Paradigms, by
Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2002.
- “Fundamental Challenges in Mobile
Computing”, by M. Satyanarayanan, ACM Conf. on
Principles of Distributed Computing, 1996.
- “Low-Cost
Checkpointing and Failure Recovery in Mobile Computing
Systems”, by
Ravi Prakash and Mukesh Singhal.
IEEE Transactions on Parallel and Distributed Systems,
Oct. 1996, pages 1035-1048.
- “Network Security”, chapter 13 of
Computer Security, by Dieter Gollman. John Wiley & Son Ltd.,
1999.
- “Live Migration of
Virtual Machines”, by Christopher Clark, Keir Fraser, Steven
Hand, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt, and
Andrew Warfield. Proc. of the 2nd Usenix Symp. on Networked Systems
Design & Implementation (NSDI’05), May 2005, pp. 273-286.
- “Transparent Integration of
CORBA and the .NET Framework”, by
Johann Oberleitner and Thomas Gschwind.
Intl. Conf. on Distributed Objects and Applications (DOA),
Catania, Sicily, Italy, Nov. 2003.
- “CORBA: Integrating Diverse
Applications Within Distributed Heterogeneous
Environments”, by Steve Vinoski.
IEEE Communications Magazine, Feb. 1997.
- “Looking
Up Data in P2P Systems”, by Hari Balakrishnan, M. Frans
Kaashoek, David R. Karger, Robert Morris, and Ion Stoica.
Comm. of the ACM, Feb. 2003.
- “Overlay
Networks: A Scalable Alternative for P2P”, by
Diego Doval and Donal O’Mahony.
IEEE Internet Computing, July-Aug. 2003.
- Software Distributed Shared Memory
- “TreadMarks: Shared Memory Computing
on Networks of Workstations”, by
Cristiana Amza,
Alan L. Cox,
Sandhya Dwarkadas,
Pete Keleher,
Honghui Lu,
Ramakrishnan Rajamony,
Weimin Yu, and Willy Zwaenepoel.
IEEE Computer, Feb. 1996, pp. 18-28.
- “Cashmere-2L: Software Coherent
Shared Memory on a Clustered Remote-Write Network”, by
Robert Stets,
Sandhya Dwarkadas,
Nikolaos Hardavellas,
Galen Hunt,
Leonidas Kontothanassis,
Srivinasan Parthasarathy,
and
Michael Scott.
Proc. of the 16th ACM Symp. on Operating Systems Principles,
Oct. 1997, pp. 170-183.
- “Multi-level Shared State for
Distributed Systems”, by
DeQing Chen, Chunqiang Tang, XiangChuan Chen, Sandhya Dwarkadas, and
Michael L. Scott. Proc. of the 2002 International Conference on
Parallel Processing, Aug. 2002, pp. 131-140 .
- Miscellaneous
- “Retire Fortran? A Debate Rekindled”,
by David Cann. Technical Report UCRL-JC-107018, Lawrence Livermore
National Laboratory, July 1991. Revised version published in
Communications of the ACM, Aug. 1992.
Last Change:
06 January 2019 /