CSC 506 Architecture of Parallel Computers
3 Credit Hours
(also offered as ECE 506)
The need for parallel and massively parallel computers. Taxonomy of parallel computer architecture, and programming models for parallel architectures. Example parallel algorithms. Shared-memory vs. distributed-memory architectures. Correctness and performance issues. Cache coherence and memory consistency. Bus-based and scalable directory-based multiprocessors. Interconnection-network topologies and switch design. Brief overview of advanced topics such as multiprocessor prefetching and speculative parallel execution.
Prerequisite
Courses in computer architecture or computer organization and assembly-level programming. Digital design, probability and statistics, operating systems.
Course Objectives
To teach the principles of high-performance parallel computer design and to provide a brief introduction to the programming techniques necessary to use them.
Textbook
Required text: PARALLEL COMPUTER ORGANIZATION AND DESIGN, 2nd edition.
AUTHOR: Michel Dubois, Murali Annavaram, Per Stenstrom. ISBN: 9781009447591.
Computer and Software Requirements
Access to NCSU Unity systems through PuTTY (Windows) or ssh (Mac, Linux, Unix).
Reviewed: 12/15/2025.