Readings

Textbook

There is no required textbook for this course. A good reference text for all of the material on concurrency, synchronization, and communication is Foundations of Multithreaded, Parallel, and Distributed Programming by Andrews.

Required Reading List for Parallel and Distributed Computing

This list will be updated throughout the semester.

1. Overview of Summit (due 8/29)

2. Maximizing Throughput on a Dragonfly Network (read only Sections 1-2) (due 8/29)

3. Jack Dongarra's report on Tianhe-2 (skim) (due 8/29)

4. Eraser: A Dynamic Data Race Detector for Multi-Threaded Programs (due 9/19)

5. Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors (due 9/26)

6. Nonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors (due 10/8) 7. MapReduce: Simplified Data Processing on Large Clusters (due 10/29)

8. LogP: Towards a Realistic Model of Parallel Computation. Note: read only Sections 1-4.1 inclusive, and Section 6 (due: 11/5)

9. Evaluating the Viability of Process Replication Reliability for Exascale Systems (due: 11/7)

10. A Case for User-Level Page Migration (due 11/14)

11. Just In Time Dynamic Voltage Scaling: Exploiting Inter-Node Slack to Save Energy in MPI Programs (due: 11/26)

12. Characterizing the Influence of System Noise on Large-Scale Applications by Simulation (due: 12/3)

13. Mitigating Inter-Job Interference Using Adaptive Flow-Aware Routing. Note: read only Sections 1 and 2 (i.e., pages 1--3) (due: 12/10)