CS 213 — Multiprocessor Architecture and Programming
Time: Tuesday & Thursday, 5:00 – 6:20 pm
Instructor: Elaheh Sadredini
elaheh@cs.ucr.edu
Office hours: By appointment
Course Overview
The inevitable and rapidly growing adoption of multi-core parallel architectures within a processor chip pushes explicit parallelism to the forefront of computing for all applications and scales, and makes the challenge of parallel programming and system understanding more crucial. This course builds a strong understanding of the fundamentals of the architecture of parallel computers and the tradeoffs made in their design. We study multi-core architectures, parallel memory systems, cache coherence in shared-memory architectures, memory consistency, vector architectures, dataflow machines, interconnection networks, and programming models deployed on parallel machines (message passing, data-parallel, and shared memory).
Course Prerequisite(s)
CS 203 or consent of instructor
Textbooks and Reading Material
The following books could be useful as supplements to lectures. However, they are not required.
◆ Parallel Computer Architecture: A Hardware/Software Approach — Culler, Singh, and Gupta.
◆ Principles and Practices of Interconnection Networks — Dally and Towles.
◆ Computer Architecture: A Quantitative Approach — Hennessy and Patterson.
Grading and Policies
Grading Breakdown
Homework assignments (two): 20%
Programming assignments (two): 40%
Paper presentation (one): 10%
Quizzes (six): 30%
- Quizzes will be taken throughout the course. - We will have quizzes on eLearn (Canvas). - The lowest score will be dropped.
Bonus points for in-class activities: 10%
Class Policies
Forum: We will be using Slack as our class forum; all general inquiries must be made there. For group-specific or private questions, email me.
Late submission: 10% penalty per day up to 5 days for homeworks and programming assignments (no credit after 5 days). No late submissions for quizzes. You may skip one quiz with no penalty; if you submit all, the lowest score is dropped.
Cheating policy: Discussing problem meaning and approaches is encouraged, but all submitted work must be your own. Exams are strictly individual. Violations result in a failing grade.
Errors in grading: You have one week from return to request a regrade via email with a written description.
Dues: All assignments are due at 11:59pm of the deadline date.
Grades: Your score will be available on Canvas.
Grading Scale
A+: 96+
A: 93–95.9
A−: 90–92.9
B+: 87–89.9
B: 83–86.9
B−: 80–82.9
C+: 77–79.9
C: 73–76.9
C−: 70–72.9
D+: 67–69.9
D: 63–66.9
D−: 60–62.9
F: < 60
Academic Integrity
Here at UCR we are committed to upholding the values of Integrity, Accountability, Excellence, and Respect. As a student in this class, complete assignments as described and report suspected misconduct. Policy details: http://conduct.ucr.edu.
Student Resources
◆ If you need special accommodation, contact me or see: UCR campus resources.
Course Schedule
The following schedule is tentative and is subject to change.
# | Date | Session | Topic | Due/Assignment |
---|
Reading Materials
Topic | Readings |
---|---|
Parallel Processing Basics |
Reading(s):
Book Chapter(s):
|
Shared Memory Basics |
Reading(s):
Book Chapter(s):
|
Memory Organization |
Reading(s):
Book Chapter(s): |
Programming Models and Architectures |
Book Chapter(s):
|
Cache Coherence |
Reading(s):
Book Chapter(s):
|
Shared Memory Synchronization |
Reading(s):
Book Chapter(s):
|
Memory Consistency Models |
Reading(s):
Book Chapter(s):
|
Interconnection Networks |
Reading(s):
Book Chapter(s):
|
Vector, SIMD, and SIMT Processing |
Reading(s):
Book Chapter(s):
|
Papers Presentation
TBA ...Resources
◆ WWW Computer Architecture Home Page a comprehensive guide to research, tools, and general information on computer architecture.