18-742 Syllabus

Grading

Your final grade for the course will be based on the following weights:

The project in 18-742 is an open-ended research project, done in groups of three (or two, with permission of the instructor). The project requires a proposal, a project status report, and a final report (both written and presented).

Textbooks

There are no official texts for the course. If you're not familiar with the background material,
you may wish to look at:

You might take a peek at the following CMU undergrad systems courses for background
information on computer systems (15-213/18-213), computer architecture (18-447), and parallel computer architecture (15-418).

There are also other PhD-level computer architecture courses, such as 18-740 and 15-740.

Schedule

Also available as an ical file that you can subscribe to.

Note: Class will meet on average two times per week, but we will frontload the lectures at the begining of the semester. This schedule is subject to change, so please hold all three days (Mon, Wed, Fri) open each week.

Date Topic Notes and Further Reading Required Reading
Part 1: Performance Scalability & Projection
Mon 01/13 Introduction
[pdf]
A few classics. Amdahl1967 (Amdahls law), Hill2008 (Amdahls law in multicore era), Hamming1986 (how to be a great researcher) Moore1965
Wed 01/15 Dark Silicon and the End of Multicore Scaling
[pdf]
Rogers2009 (CMP scaling), Ferdman2012 (scale-out workloads), Esmaeilzadeh2011-retrospective (2023) Esmaeilzadeh2011
Part 2: Parallel Architectures & Memory Coherence and Consistency
Fri 01/17 The Case for a Single-Chip Multiprocessor
[pdf]
Tullsen1995 (simultaneous multithreading), Chung2010 (single-chip hetero computing) Olukotun1996
Mon 01/20 No CMU classes - MLK Jr Day
Wed 01/22 Why On-chip Cache Coherence is Here To Stay
[pdf]
Boroumand2019 (CoNDA) Martin2012
Fri 01/24 Cohmeleon: Learning-Based Orchestration of Accelerator Coherence in Heterogeneous SoCs
[pdf]
Student presentations. Ferdman2011 (cuckoo directory coherence) [slides] Zuckerman2021
Part 3: Prefetching
Mon 01/27 Bingo Spatial Data Prefetcher
[pdf]
Godala2024 (PDIP instruction prefetcher) Bakhshalipour2019
Wed 01/29 Runahead Execution: An Alternative to Very Large Instruction Windows for Out-of-Order Processors
[pdf]
Mutlu2003
Fri 01/31 Decoupled Vector Runahead
[pdf]
Student presentations. Hashemi2016 (enhanced memory controller) [slides] Naithani2023
Part 4: Near-Data Computing
Mon 02/03 RowClone: Fast and Energy-Efficient in-DRAM Bulk Data Copy and Initialization
[pdf]
Seshadri2017 (in-DRAM and/or/not) Seshadri2013
Wed 02/05 Livia: Data-Centric Computing Throughout the Memory Hierarchy
[pdf]
Schwedock2024 (Leviathan) Lockerman2020
Fri 02/07 DIMM-Link: Enabling Efficient Inter-DIMM Communication for Near-Memory Processing
[pdf]
Student presentations. Ahn2015 (Tesseract) [slides]. Deadline to form project groups Zhou2023
Part 5: Dataflow Architectures
Mon 02/10 WaveScalar
[pdf]
Papadopoulos1990 (Monsoon), Gebhart2009 (TRIPS) Swanson2003
Wed 02/12 Pipestitch: An Energy-minimal Dataflow Architecture with Lightweight Threads
[pdf]
Agarwal2024 (TYR dataflow) Serafin2023
Fri 02/14 Day of meetings to discuss Project Proposal ideas
Mon 02/17 Midterm #1
In-class paper exam [midterm1-practice-exam, midterm1-practice-solutions]
Wed 02/19 Project: Proposal
Proposal Report due by 11:59 pm
Part 6: 3D Integration
Fri 02/21 3D-Stacked Memory Architectures for Multi-core Processors
[pdf]
Qureshi2012 (Alloy) Loh2008
Mon 02/24 Designing Vertical Processors in Monolithic 3D
[pdf]
Student presentations. Kim2023 (NOMAD DRAM cache) [slides] Gopireddy2019
Part 7: Approximate Computing
Wed 02/26 Neural Acceleration for General Purpose Approximate Programs
[pdf]
Esmaeilzadeh2012
Fri 02/28 Load Value Approximation
[pdf]
Student presentations. Shahroodi2023 (non-ideal memory) [slides] Miguel2014
Mon 03/03 No CMU classes - Spring break
Wed 03/05 No CMU classes - Spring break
Fri 03/07 No CMU classes - Spring break
Part 8: Architecture Security
Mon 03/10 Spectre and Meltdown (Guest Lecture by John Pape, Apple)
Meltdown. Slides posted on canvas (Files/CPU Security Guest Lecture - CMU final) Spectre
Wed 03/12 Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors
[pdf]
Woo2023 (row hammer mitigation) Kim2014
Fri 03/14 Day of meetings to discuss Projects
Mon 03/17 Speculative Taint Tracking (STT): A Comprehensive Protection for Speculatively Accessed Data
[pdf]
Student presentation (45 minute class). Yu2019
Wed 03/19 Project: Interim Report
Interim Project Report due by 11:59 pm
Part 9: GPUs & Domain-specific Accelerators
Fri 03/21 NVIDIA Tesla: A Unified Graphics and Computing Architecture
[pdf]
Park2024 (GPU address translation) Lindholm2008
Mon 03/24 Tartan: Microarchitecting a Robotic Processor
[pdf]
Bakhshalipour2023 (RoWild robotics benchmark), Neuman2023 (RoboShape) Bakhshalipour2024
Wed 03/26 In-datacenter Performance Analysis of a Tensor Processing Unit
[pdf]
Student presentations. Gong2022 (Graphite) [slides] Jouppi2017
Fri 03/28 Day of meetings to discuss Projects
Part 10: Cache Replacement & Branch Prediction
Mon 03/31 Back to the Future: Leveraging Beladys Algorithm for Improved Cache Replacement
[pdf]
Balaji2021 (P-OPT replacement) Jain2016
Wed 04/02 Branch Prediction (Guest lecture by Mo Al-Ottom, Apple)
Zangeneh2020 (BranchNet predictor). Slides posted on canvas (Files/branch_prediction_lecture_cmu) Seznec2011
Fri 04/04 No CMU classes - Spring Carnival
Mon 04/07 Midterm #2
In-class paper exam
Wed 04/09 No class
Fri 04/11 No class
Mon 04/14 No class
Wed 04/16 No class
Fri 04/18 Day of meetings to discuss Projects
Mon 04/21 No class
Wed 04/23 No class
Fri 04/25 No class
Wed 04/30 Project: Presentations 1-4 pm in CIC 4105
Fri 05/02 Project: Final Report
Final Report due by 11:59 pm

Last updated: 2025-04-29 21:20:25 -0400 [validate xhtml]