EECS 453 - Parallel Architectures

CATALOG DESCRIPTION: Parallel computer architecture and programming models. Message passing and shared memory multiprocessors. Scalability, synchronization, memory consistency, cache coherence. Memory hierarchy design. Network design.

REQUIRED TEXTS: D. E. Culler, J. P. Singh, and A. Gupta, Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann, 1998

COURSE DIRECTOR: Russ Joseph

PREREQUISITES BY COURSES: EECS 361 or consent of instructor. EECS 452 and EECS 358 are strongly suggested. Basic understanding of VLSI suggested but not required.

PREREQUISITES BY TOPIC: Advanced uniprocessor architecture, parallel programming, basic operating systems and compilers.

DETAILED COURSE TOPICS:

Week 1: Introduction, overview of parallel architectures, fundamental design issues, examples of parallel programs and models. CSG Chapters 1 and 2.

Week 2: Workload-driven evaluation, introduction to symmetric multiprocessors and cache coherence. CSG Chapter 3 and 4.

Weeks 3 and 4: Symmetric multiprocessors continued: cache coherence, memory consistency, synchronization. Snoop-based multiprocessor design. CSG Chapters 4, 5 and 6.

Weeks 5 and 6: Scalable multiprocessors: scalability, programming models, clusters and networks of workstations and directory-based coherence. CSG Chapters 7 and 8.

Week 7: Relaxed consistency models and software/hardware tradeoffs. Introduction to interconnection network design.

Week 8: Dataflow, SIMD and other alternatives. AG Chapter 10.2.8.

Week 9: Research papers, case studies and work on projects.

Week 10: Project presentations.

COMPUTER USAGE: As required for the course project and assignments.

LABORATORY PROJECT: An extensive individual or group project on an advanced topic in parallel computer architecture. The default project is to do some original research in a group of two to three students. Alternatively, a student may work alone on a survey.

GRADES:

  • 40% Project
  • 45% Midterm and Final
  • 10% Homework
  • 5% Class Participation

COURSE OBJECTIVES: The goal of this course is to provide students with (1) a broad understanding of parallel computer architecture and (2) to the extent possible, an understanding of the current state-of-the-art in parallel computer architecture.

Specifically, upon completion of this course, a student should have developed:

  • Broad understanding of the design of parallel computer systems, including modern parallel architectures and alternatives.
  • Understanding of the interaction amongst parallel architecture, applications, and technology.
  • Understanding of a framework for evaluating design decisions in terms of application requirements and performance measurements.
  • Gain experience with using and modifying a parallel computer simulator.
  • Gain experience on identifying and pursuing a research project.
  • Gain experience with writing a research report.
  • Gain insight on evaluating research papers.
  • Gain experience in technical presentations.
 

instructor-course-page-button1If you see this button within a description, clicking it will take you to the Instructor's own page for this class.

Course schedules & descriptions

Search Courses by Instructor


Search course subsets


Robert R. McCormick School of Engineering and Applied Science
Electrical Engineering & Computer Science Home | McCormick Home | Northwestern Home
© 2013 Robert R. McCormick School of Engineering and Applied Science, Northwestern University
MapsContact UsCalendar
TECH: 2145 Sheridan Rd, Tech L359, Evanston IL 60208-3118 USA |  Phone: (847) 491-5410  |  Fax: (847) 491-4455
FORD: 2133 Sheridan Rd, Ford Building, Rm 3.320, Evanston  IL 60201 USA |  Phone: (847) 491-5410  |  Fax: (847) 491-5258
Questions about this site? Please email the webmasterLegal and Policy Statements