Catalog Description: Issues of parallel computer architecture considering a hardware/software approach; topics include convergence of parallel architectures, fundamental design issues, parallel programs, programming for performance, workload-driven evaluation, shared memory multiprocessors, snoopy-based multiprocessor design, scalable multiprocessors, cache coherence, hardware software tradeoffs, interconnection network design, latency tolerance, and future directions of concurrent systems.
Total Credits: 3
Course Coordinator: Robert Hiromoto
Syllabus: CS 513 Syllabus
Prereq: CS 150 and CS 240
Textbook: Reference texts. See syllabus.
Major Topics Covered
- Principles of spatial and temporal locality
- Complexity of architectural building blocks
- Tradeoffs in attaining optimal performance
- Vector chaining, loop interchange and unrolling, code motion, operand pre-fetching
- Symmetric multiprocessors and distributed memory processing systems
- Hierarchical memory architectures
- GPU architecture and programming issues
- Dual- and multi-core systems and programming issues