Multiprocessor Programming
Prof.
Christoph von Praun - Winter 2009/2010
|
Fachwissenschaftliches Wahlpflichtfach (entry
in the course catalog)
This course will be held in in English.
Date and Place
Block starting February 8, 2010. Room: Q406
News
RSS feed.
|

[Textbook for this class]
|
|
Outline
Topics for the Research Jam
Intel IA Memory Consistency Model
- Intel Corporation: Intel® 64 Architecture Memory Ordering White Paper. August 2007 [paper-pdf]
- Richard L. Hudson: IA Memory Ordering, Google Tech Talk. February 28, 2008 [youtube]
C++ Threads
- Hans-J. Boehm: Threads cannot be implemented as a library, Conference on Programming Language Design and Implementation (PLDI), 2005 [paper-pdf].
- Hans-J. Boehm: Getting C++ Threads Right, Google Tech Talk. December 12, 2007 [youtube]
- Hans-J. Boehm, Sarita V. Adve: Foundations of the C++ concurrency memory model, Conference on Programming Language Design and Implementation (PLDI), 2008 [paper-pdf].
Software Transactional Memory
- Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III: Software transactional memory for dynamic-sized data structures. International Symposium on Principles of Distributed Computing (PODC), 2003 [paper-pdf]
- Virendra J. Marathe, and Michael L. Scott: A qualitative survey of modern software transactional memory systems, Technical Report 839, Department of Computer Science, University of Rochester, June 2004 [paper-pdf]
- Robert Ennals: Software transactional memory should not be obstruction-free [paper-pdf]
Hardware Transactional Memory
- Lance Hammond, Brian D. Carlstrom, Vicky Wong, Ben Hertzberg, Michael K. Chen, Christos Kozyrakis, Kunle Olukotun: Programming with transactional coherence and consistency (TCC), International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2004 [paper-pdf]
- Dave Dice, Yossi Lev, Mark Moir, Daniel Nussbaum: Early experience with a commercial hardware transactional memory implementation, International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2009 [paper-pdf] [slides1-pdf] [slides2-pdf]
Multiprocessor Architectures
- Marc Tremblay, Jeffrey Chan, Shailender Chaudhry, Andrew W. Conigliaro and Shing Sheung Tse: The MAJC Architecture: A Synthesis of Parallelism and Scalability, IEEE Micro, 2000. [paper-pdf] [interview-with-marc-tremblay]
- Larry Seiler, Doug Carmean, Eric Sprangle, Tom Forsyth, Michael Abrash, Pradeep Dubey, Stephen Junkins, Adam Lake, Jeremy Sugerman, Robert Cavin, Roger Espasa, Ed Grochowski, Toni Juan and Pat Hanrahan: Larrabee: a many-core x86 architecture for visual computing, ACM SIGGRAPH, 2008. [paper-pdf]
Concurrent Datastructures
- Maged M. Michael and Michael L. Scott: Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms, Symposium on Principles of Distributed Computing (PODC), 1996. [paper-pdf] [www]
- W. N. Scherer III, Doug Lea, and Michael L. Scott: Scalable Synchronous Queues, Communications of the ACM, May 2009. [paper-pdf]
- Thomas E. Hart, Paul E. McKenney and Angela Demke Brown: Making Lockless Synchronization Fast: Performance Implications of Memory Reclamation, IEEE International Parallel & Distributed Processing Symposium (IPDPS), 2006. [paper-pdf] [Website on Read-Copy-Update]
Literature
- Maurice Herlihy and Nir Shavit: The Art of Multiprocessor Programming, Elsevier/Morgan Kaufmann 2008.
The course is based on this textbook. It is available online.
Have a look at this interview with the authors.
- M. Ben-Ari: Principles of Concurrent and Distributed Programming (Second edition), Addison-Wesley, 2006.
Grading
30% class participation and research jam, 70% oral exam.
Last change:
12-Feb-10.