NCSU brick logo

CSC/ECE 506: Architecture of Parallel Computers

Summer 2025

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.

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:
  Thursday 2:00-3:00
efg ncsu.edu

teaching assistant

Manas Vivek Buzruk
Office:
Office hours:
  TBA
mbuzruk ncsu.edu

Important dates

  • First Class: Wednesday, May 15
  • Last Class: Friday, July 26
  • No class: Monday, May 27 (Memorial Day)
                  Monday, June 19 (Juneteenth)
                  Friday, July 5 (Independence Day, observed)
  • Last day to drop or change to audit: Tuesday, June 25
  • For more details, see the academic calendar.

Catalog entry

Text

REQUIRED
Fundamentals of Parallel Multicore Architecture: Multichip and Multicore Systems
by Yan Solihin
Publisher: CRC Press
Pub. Date: August 2016

Prerequisites

  • CSC 312:Computer Organization and Logic or
  • CSC 456:Computer Architecture and Multiprocessors or
  • ECE 310:Design of Complex Digital Systems

Online format

This course will be offered in an asynchronous online format. Before each class, students are required to read a section from the textbook and pass a short quiz on it. Classes themselves consist of several short (approximately 5- to 10-minute) videos with embeded quizzes.

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 25 out of the 26 (non-review) class sessions. Attendance credit is earned by completing the embedded quizzes in the lecture videos. Answers will not be checked; credit is obtained simply for submitting answers.

Please note that these quizzes are separate from the "pre-quizzes," described on the next page, which should be attempted after doing the reading for the class.

A student who fails to earn attendance credit for 25 class sessions will be penalized 0.5 percent on his/her final average for each class short of 25 in which (s)he earned credit.

Audit requirement

"Attend" at least half of the classes. Also, do one homework, or take one test (not pre-quiz), before fall break and score at least 50%; then do one homework, or take one test (not pre-quiz), after fall 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).

©2007-2024 NC State University | Disclaimer
back to top