syllabus: overview
Catalog Description
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.
Prerequisites
Learning Objectives
The goals for this course are to ...
- understand the problem of race conditions in concurrent systems,
- learn how to decompose a program for parallel execution,
- be able to write simple parallel programs in the important programming models,
- understand the operation of common cache-coherence algorithms, both bus-based and network-based, and
- learn about common memory-consistency models, and appreciate the advantages and disadvantages of each.
The Staff
instructor
Edward F. Gehringer
Phone: 919-515-2066
Office: 2298 EB II
Office hours:
Wed. 1:45-2:45
efgncsu.edu
teaching assistant
Sharan Jilla
Office:
Office hours:
Mon., 6-7 PM
sjillancsu.edu
teaching assistant
Jianxun "George" Wang
Office:
Office hours:
Fri. 2-3 PM
jwang75ncsu.edu
Text
REQUIRED
Fundamentals of Parallel Multicore Architecture: Multichip and Multicore Systems
by Yan Solihin
Publisher: CRC Press
Pub. Date: August 2016
Important dates
- First Class: Monday, January 9
- Last Class: Monday, April 24
- No class: Monday, January 16 (MLK Day)
Monday, March 13 and Wednesday, March 15 (spring break)
- Last day to drop or change to audit: Monday, March 6
- For more details, see the academic calendar.
Class meetings
Monday and Wednesday, 3:00-4:15 PM in EB II 1230
Attendance requirement
Educational research shows that students learn best incrementally, rather than by studying large amounts of material right before exams. Incremental learning can only take place when students concentrate on each lesson when it is presented. Accordingly, all students in CSC/ECE 506 are required to "attend" at least 20 out of the 26 class sessions (at least 16 of which must be attended in the classroom). On-campus students may earn credit for attending a class session by responding intelligently to the majority of in-class response forms while the class is in progress or before 6 PM on the class day. Distance-ed students must respond to the forms within 6 days of the class date.
A student who fails to earn attendance credit for 20 class sessions (16 classes in the classroom) will be penalized 0.5 percent on his/her final average for each class short of the required number.
Audit requirement
"Attend" at least half of the classes. Also, do one homework, or take one test (not quiz), before spring break and score at least 50%; then do one homework, or take one test (not pre-quiz), after spring break and score at least 50%. You can choose which homework or test to take, and if you take one and fail to score 50%, you can try another. If you complete this requirement, you will receive a grade of AU. If you do not fulfill this requirement, your grade will be NR (no recognition).