EE282: Computer Systems Architecture

Spring 2022, Tuesdays and Thursdays 1:30 PM - 3:00 PM, Thornt 102

Instructor: Caroline Trippel
Teaching Assistant: Sneha Goenka

Ed: Class Homepage
GradeScope: Class Homepage
Syllabus: PDF

EE282 focuses on key topics in advanced computer systems architecture such as multilevel in memory hierarchies, advanced pipelining and super scalar techniques, vectors, GPUs and accelerators, non-volatile storage and advanced IO systems, virtualization, and datacenter hardware and software architecture. The programming assignments introduce performance analysis and optimization techniques for computer systems. At the completion of the course, you will understand how computer systems are organized and, why they are organized that way, and what determines their performance. You will also understand the rich interactions between the hardware and software layers in modern systems.
  EE282 is appropriate for undergraduate and graduate students specializing in the broad field of computer systems. It is also appropriate for other EE and CS students who want to understand, program, and make efficient use of modern computer systems of any scale in their day-to-day work.
  Post-EE282, students can take CS316, a research seminar on advanced computer architecture based on recent papers, or CS349d, a seminar that covers the software infrastructure of cloud computing and large-scale datacenters.

News (top is most recent)

  • (5/24) Problem Set 3 due date has been extended to May 31, 1pm PST.
  • (5/20) Programming Assignment 2 has been released. It is due June 4, 1pm PST.
  • (5/10) Problem Set 3 has been released. It is due May 26, 1pm PST.
  • (5/6) Programming Assignment 1 has been released. It is due May 20, 1pm PST.
  • (4/28) We will not have the office hour on May 4.
  • (4/28) We will have the virtual office hour/midterm review session (SCPD students) on May 2 from 5:30AM-6:30PM. It will appear as a lecture under Zoom on Canvas.
  • (4/28) We will have the virtual office hour/midterm review session on May 2 from 11:00AM-1:00PM. It will appear as a lecture under Zoom on Canvas.
  • (4/28) We will have a review session on April 29 from 2:30PM-5:00PM. It will appear as a lecture under Zoom on Canvas.
  • (4/21) Problem Set 2 has been released. It is due May 10, 1pm PST.
  • (4/14) We will have a review session on April 15 from 3:00PM-4:30PM. It will appear as a lecture under Zoom on Canvas.
  • (4/7) We will have a review session on April 8 from 3:00PM-4:30PM. It will appear as a lecture under Zoom on Canvas.
  • (4/5) Problem Set 1 has been released. It is due April 21, 1pm PST.
  • Sneha's March 30th office hours will be held over zoom [Password: 101121] from 3:00pm.
  • Please make sure you have access to the Canvas, Piazza and GradeScope (links posted above).
  • Welcome to EE282!

Schedule

Required Textbook:
H&P: J. Hennessy & D. Patterson, Computer Architecture: A Quantitative Approach, 6th edition.
M/C: Morgan Claypool Synthesis Lectures (available through the library using your SUID).

Date[Lecture #] TopicLecturerReading AssignmentSlides/
Notes
3/29 [1] Introduction & Review of Prerequisites
Lecture recording
Caroline H&P 6: Appendices A.{1-8}, B.{1-3}, C.{1-2,4,6}
H&P 6: Chapter 1.{1-13}
Slides
3/31 [2] Advanced Caches 1: Multilevel, Optimizations
Lecture recording
Caroline H&P 6: Chapter 2.{1,3,6}, and Appendix B.{3,6} Slides
4/5 [3] Advanced Caches 2: Prefetching, Coherency
Lecture recording
Caroline H&P 6: Chapters 2.5, and 5.{1,2,4} Slides
4/7 [4] Memory Consistency & Synchronization
Lecture recording
Caroline H&P 6: Chapter 5.{4-7} Slides
4/8 Review Session 1 (3:00PM-4:30PM)
Session recording
Sneha Problem Set 1 (Parts 1-2) Slides
4/12 [5] Memory Consistency & Synchronization (cont.)
Lecture recording
Caroline M/C: A Primer on Memory Consistency and Cache
Coherence, Second Edition
: Chapters 3,4
Slides
4/14 [6] Main Memory (including HBM) & Memory Consistency(cont.)
Lecture recording
Caroline H&P 6: Chapter 2.2 Slides
4/15 Review Session 2 (3:00PM-4:30PM)
Session recording
Sneha Problem Set 1 (Parts 3-4) Slides
4/19 [7] Out of Order Processors & Main Memory (cont.)
Lecture recording
Caroline H&P 6: Chapter 3.{1-4}
Slides
4/21 [8] Speculation and Superscaler
Lecture recording

Caroline H&P 6: Chapter 3.{6-10} Slides
4/26 [9] Multithreading
Lecture recording
Caroline H&P 6: Chapter 3.{11-12} Slides
4/28 [10] Vectors
Lecture recording (MT cont.)
Lecture recording (vectors)
Sneha H&P 6: Chapter 4.{1-3,5}, and Appendix G
Slides
4/29 Review Session 3 (2:30PM-5:00PM)
Session recording
Sneha Problem Set 2 (Part IV) Slides
5/3 [11] GPUs
Lecture recording
Guest Lecturer:
Michael Pellauer
H&P 6: Chapter 4.{4,6-8} Slides
5/4 Midterm Quiz (0:01AM -11:59PM PST)
Choose 1.5hr slot
Lectures 1-10
5/5 [12] Genomic Accelerators
Lecture recording
Sneha CACM: Domain-Specific Hardware Accelerators by Prof. Bill Dally et. al.
H&P 6: Chapter 7.{1-4}
Slides
5/6
5/10 [13] AI Processors

Guest Lecturer:
Ardavan Pedram
H&P 6: Chapter 7.{1-4} Slides
5/12 [14] Virtualization
Caroline M/C: Hardware and Software Support for Virtualization:
Chapters 1,2,4,5
Slides
5/17 [15] Advanced Memory Management
Caroline M/C: Hardware and Software Support for Virtualization:
Chapters 1,2,4,5;
H&P 6: Appendix L
Slides
5/19 [16] Datacenter Hardware/Management Guest Lecturer:
Francisco Romero
H&P: Chapter 6.{1-4,7};
M/C: The Datacenter as a Computer 3rd ed:
Chapters 1,3,4,5,6;
Large-Scale Cluster Management At Google With Borg;
M/C: The Datacenter as a Computer 3rd ed: Chapter 2;
Slides
5/20

Programming assignment 1 on Processors due


5/24 [17] Advanced I/O + Non-Volatile Storage
Caroline H&P 6: Appendix F.{1-2}
H&P 6: Chapter 2.2, Appendix D.2;
Flash storage memory by Adam Leventhal
Slides
5/20 Review Session 4 (11:00AM-1:00PM) Problem Set 3 Slides
5/26 [18] Quantum Computing Guest Lecturer:
Ali Javadi-Abhari
Slides
5/31 [19] Networking I/O
Caroline Slides
6/4

Programming assignment 2 on Datacenters due

6/6 Final Quiz (0:01AM -11:59PM PST)
Choose 1.5hr slot
Lectures 1-19 (excl. 18-Quantum)

Homework and Projects

You will work on all assignments in groups of 2 students. All assignments are due by 1:00pm on the dates indicated on the assignment. Solutions to homework sets will be available online shortly thereafter. All deadlines are final. No extensions, no exceptions. Late assignments will not be accepted. All assignments should be submitted through GradeScope.

Problem Sets

Programming Assignments

Logistics

Announcements: Visit this web page regularly to access all the handouts, solutions, and announcements. Please check your email regularly as well for announcements from Piazza!

Office Hours:

  • Caroline Trippel: Tuesdays 3:10pm – 4:00pm, Gates 470 (starting 04/05/2022) or by appointment.
  • Sneha Goenka: Wednesdays 11:00am – 1:00pm, Packard 107 (starting 04/06/2022) or by appointment.
  • You may request virtual appointments if needed for COVID-related reasons.

    Quizzes: There will be two 1.5 hour open-book quizzes within the quarter. Both quizzes will be available to take online for a period of 24 hours (you will choose the 1.5 hours that work best for you).

    Grading: Read the material for each lecture, ask questions, participate (5%); 3 problem sets (15%); 2 programming assignments (30%); Midterm quiz (25%); Final quiz (25%)

    Collaboration: See: honor code and collaboration for some general guidelines, which apply to both project assignments and problem sets. In general, collaboration is encouraged subject to the following guidelines:

    SCPD Video Recording Disclaimer: Video cameras located in the back of the room will capture the instructor presentations in this course. For your convenience, you can access these recordings by logging into the course Canvas site. These recordings might be reused in other Stanford courses, viewed by other Stanford students, faculty, or staff, or used for other education and research purposes. Note that while the cameras are positioned with the intention of recording only the instructor, occasionally a part of your image or voice might be incidentally captured. If you have questions, please contact a member of the teaching team.

    Adapted from a template by Andreas Viklund.