170 likes | 341 Views
Parallel Computer Architecture: Essentials for Both Computer Scientists and Engineers Edward F. Gehringer †* Yan Solihin* † Dept. of Computer Science * Department of Electrical & Computer Engineering North Carolina State University. Why parallel computer architecture? The students
E N D
Parallel Computer Architecture: Essentials for Both Computer Scientists and Engineers Edward F. Gehringer†* Yan Solihin* †Dept. of Computer Science *Department of Electrical & Computer Engineering North Carolina State University http://courses.ncsu.educsc506/lec/001
Why parallel computer architecture? The students Course organization Example animations Conclusion Outline http://courses.ncsu.edu/csc506/lec/001
Computer architecture courses • Most popular—processor architecture • For both CE & CS • Most relevant—parallel architecture • Esp. for CS http://courses.ncxu.edu/csc506/lec/001
Our course and curriculum ECE 463, Adv. Micro- processor Design CSC/ECE 506: Arch. of Parallel Computers ECE 521, Computer Design & Technology CSC 706: Adv. Parallel Computer Architecture ECE 721, Advanced Computer Architecture ECE 743, High Perf. Computer Architecture http://courses.ncxu.edu/csc506/lec/001
The textbook http://courses.ncxu.edu/csc506/lec/001
Why parallel computer architecture? The students Course organization Example animations Conclusion Outline http://courses.ncsu.edu/csc506/lec/001
The students • Majority are masters, but … • Both masters programs are large • Core course for CE students • Core course for CS students http://courses.ncxu.edu/csc506/lec/001
Why parallel computer architecture? The students Course organization Example animations Conclusion Outline http://courses.ncsu.edu/csc506/lec/001
Syllabus • Concurrency • Bus-based multiprocessors • Memory consistency • Distributed multiprocessors • Interconnection networks 11 classes 6 classes 2 classes 4 classes 3 classes http://courses.ncxu.edu/csc506/lec/001
Concurrency • Taxonomy of parallel processors • Nodes • Interconnect • Models of parallel computation • Shared memory • Message-passing • Data parallel • Parallelization constructs • DOALL DOACROSS DOPIPE • Function parallelism • Data-parallel programming • SCAN REDUCE • Parallelizing linked data structures http://courses.ncxu.edu/csc506/lec/001
Bus-Based Multiprocessors • The need for synchronization • Invalidation coherence protocols • Update coherence protocols • Performance aspects http://courses.ncxu.edu/csc506/lec/001
Memory Consistency • Contrast with cache coherence • Sequential consistency • Improving performance • Prefetching • Speculation • Relaxed consistency models • Processor consistency • Weak ordering • Release consistency http://courses.ncxu.edu/csc506/lec/001
Distributed multiprocessors • Scalable multiprocessors • Coherence without a shared bus • Directory organization • Directory-based coherence protocols • Full bit vector • SCI (Scalable Coherent Interface) • Case study: Origin 2000 http://courses.ncxu.edu/csc506/lec/001
Interconnection networks • Topologies • Ring • Mesh • Hypercube • Fat tree • Routing • E-cube • Turn model • Adaptive http://courses.ncxu.edu/csc506/lec/001
Why parallel computer architecture? The students Course organization Example animations Conclusion Outline http://courses.ncsu.edu/csc506/lec/001
Why parallel computer architecture? The students Course organization Example animations Conclusion Outline http://courses.ncsu.edu/csc506/lec/001
Conclusion • Important concept: • Parallel programming • Parallel architecture affect each other • Need to know this to … • Write efficient programs • Design an efficient architecture • This course covers “nuts and bolts” • We’d love to share … http://courses.ncxu.edu/csc506/lec/001