Course Outline

  1. Fundamentals of parallel computation (architectural and application trends, convergence)
  2. Performance metrics, and scaling models
  3. Bus-based Shared memory multiprocessors (basics, and case studies)
  4. Scalable multiprocessors (shared address space, message-passing)
  5. Interconnection networks (topologies, routing, flow control)
  6. Directory-based Shared memory multiprocessors (basics, and case studies)
  7. Latency tolerance (relaxed memory models, explicit communication, multithreading)