G (Spring) 3-0-9 H-LEVEL Grad Credit
Prerequisites: Algorithmic maturity, probability, and programming experience.
Algorithmic aspects of parallel computing systems taught at a level suitable for doctoral students doing research in theory or systems. The course will cover issues in parallel systems with a dual emphasis on theory and practice. Whether your background is theory or systems, you will have the opportunity to exploit your experience while broadening your horizons.
Course requirements: 3 problem sets on theoretical material, 3 programming laboratories using the Xolas parallel computing facility, occasional scribing of lectures, and 1 term project. No exams.
Topics: Data-parallel computing, prefix computations, pointer jumping, tree and graph algorithms, sorting, string matching, multiprogramming, memory consistency, mutual exclusion, wait-free synchronization, message passing, protocols, active messages, multithreaded programming, matrix computations, provably good scheduling, distributed shared memory, race conditions, workstation scheduling, I/O, advanced topics.
If you have comments, please send mail to Matteo.