Original PDF Flash format The-Art-of-Multiprocessor-Programming  


The Art Of Multiprocessor Programming

Suggested Ways to Teach
The Art of Multiprocessor Programming
Version of 10 May 2009

Preface

This document describes three possible ways to teach the material in The Art of
Multiprocessor Programming
.

The first track is a short course for practitioners who are interested in
techniques that can be applied directly to problems at hand.

The second track is a longer course for students who are not Computer Science
majors
, but who are interested in learning the basics of multiprocessor
programming, as well as techniques likely to be useful in their own areas.

The third track is a semester-long course for Computer Science majors, either upper-level
undergraduates or graduate students.
Practitioner Track

Cover Chapter 1, emphasizing Amdahl’s law and its implications. In Chapter 2, cover
sections 2.1, 2.2, 2.3, and 2.6. Mention the implications of the impossibility proofs in
Section 2.8. In Chapter 3 skip Sections 3.3 and 3.6.

Cover Chapter 7, except for Sections 7.7 and 7.8. Chapter 8, which deals monitors and re-
entrant locks, may be familiar to some practitioners. Skip Section 8.5 on Semaphores.

Cover Chapters 9, 10, except for 10.7, and Sections 11.1 and 11.2. Skip Sections 11.3
and onwards. Skip Chapter 12.

Cover Chapters 13 and 14. Skip Chapter 15. Cover Chapter 16 except for Section 16.5.
In Chapter 17 teach sections 17.1-17.3.

Non-CS Major Track

Cover Chapter 1, emphasizing Amdahl’s law and its implications. In Chapter 2, cover
sections 2.1, 2.2, 2.3, 2.5, and 2.6. Mention the implications of the impossibility proofs in
Section 2.8. In Chapter 3 skip Section 3.6.


Cover Sections 4.1 and 4.2, and Chapter 5. Mention the universality of consensus but
skip Chapter 6.

Cover Chapter 7, except for Sections 7.7 and 7.8. Cover Chapter 8.

Cover Chapters 9, 10, except for 10.7, and Chapter 11.. Skip Chapter 12.

Cover Chapters 13 and 14. Skip Chapter 15. Cover Chapter 16. In Chapter 17 teach
sections 17.1-17.3. Cover Chapter 18.

CS Major Track

The slides on the companion page were developed for a semester-long course

Cover Chapters 1 and 2 (2.7 optional) and 3. (3.6 optional). Cover Chapters 4, 5, and 6.
Before starting Chapter 7, it may be useful to review basic architecture (Appendix B).

Cover Chapter 7 (7.7 and 7.8 optional). Cover Chapter 8 if your students are unfamiliar
with Java monitors. Cover Chapter 9 and 10 (10.7 optional). Cover Chapters 11, 12 (12.7,
12.8, and 12.9 optional), 13 and 14. Chapter 15 is optional. Cover Chapters 16, 17, and
18 (optional).