Course Schedule¶

The course schedule would be adjusted according to the course progress and students’ interests. Please send email to course instructor if you are particularly interested in a specific topic. In each lecture, we will discuss one or two papers and the other papers will be optional reading. [Most of the papers will be updated with most recent publications]

Monday Tuesday Wednesday Thursday Friday
Aug 23
Aug 24
Lec-1: Introduction: Memory & Storage Systems
Assignment-0: student information sheet
[Slides]
Aug 25
Aug 26
Lec-2: Big Memory Management
Reading: DirectSegment (ISCA'13)
Optional: 0sim (ASPLOS'20), SpaceJMP (ASPLOS'16)
[Slides]
Aug 27
Aug 30

Aug 31
Lec-3: Huge Page Management
Reading: Address Translation for Multiple Page Sizes (ASPLOS'17)
Optional: Ingens (OSDI'16)
Assignment-1: Test your machine's memory hierarchy
[Slides]
Sep 1 Sep 2
Lec-4: Non-Volatile Memory
Reading: HOOP (ISCA'20)
Optional: Mnemosyne (ASPLOS'11), NV-Heaps (ASPLOS'11),
[Slides]
Sep 3
Sep 6 Sep 7
Lec-5: Memory Persistency
Reading: Memory Persistency (ISCA'14)
Optional: Language-level persistency (ISCA'17)
[Slides]
Sep 8 Sep 9
Lec-6: NVM-based Software Systems
Reading: SplitFS (SOSP'19)
Optional: ZoFS (SOSP'19)
[Slides]
Sep 10
Sep 13 Assignment-1 Due (11:59am CST) Sep 14
Lec-7: Programming Model for NVM
Reading: User-transparent persistent reference (ISCA'21)
Optional: Write-Rationing GC (PLDI'18), AutoPersit (PLDI'19)
Assignment-2: Understanding the huge page
[Slides]
Sep 15 Sep 16
Lec-8: Flash Memory
Reading: FlatFlash (ASPLOS'19)
Optional: DFTL (ASPLOS'09), MARS (SOSP'13), Transactional Flash (OSDI'08), F2FS (FAST'15)
[Slides]
Sep 17
Sep 20 Sep 21
Lec-9: Software Defined Flash
Reading: FlashBlox (FAST'17)
Optional: SDF (ASPLOS'14), LightNVM (FAST'17) App-Managed Flash (FAST'16)
[Slides]
Sep 22 Sep 23
Lec-10: Ultra-low Latency SSD
Reading: FVM (OSDI'20)
[Slides]
Sep 24
Sep 27 Assignment-2 Due (8:00pm CST) Sep 28
Lec-11: Near-Storage Computing
Reading: Willow (OSDI'14)
Optional: Summarizer (MICRO'17), Biscuit (ISCA'16)
Assignment-3: A study of GC in SSDs
[Slides]
Sep 29 Sep 30
Lec-12: New Systems enabled by Near-Storage Computing
Reading: IceClave (MICRO'21)
[Slides]
Oct 1
Oct 4 Oct 5
Lec-13: Heterogeneous Memory Systems
Reading: Nimble Page Management (ASPLOS'19)
Optional: Data Tiering (EuroSys'16), NVDIMM (MICRO'16), Stacked DRAM (MICRO'14)
[Slides]
Oct 6 Oct 7
Lec-14: In-Memory Computing
Reading: TensorDIMM (MICRO'19)
Optional: ComputeDRAM (MICRO'19), Data Retention Study (ISCA'13)
[Slides]
Oct 8
Oct 11
Assignment-3 Due (11:59am CST)
Oct 12
Lec-15: In-Memory Computing II
Reading: Cache Coherence for Near-Data Accelerators (ISCA'19)
Optional: PRIME (ISCA'16)
[Slides]
Oct 13
Oct 14
Lec-16: In-Memory Storage Systems
Reading: Persimmon (OSDI'20)
Optional: FaRM (NSDI'14), DDP (MICRO'21)
[Slides]
Discuss course project topics with the instructor
Oct 15
Oct 18 Oct 19
Lec-17: Disaggregated Memory
Reading: Runtimes for Disaggregated Memory (ASPLOS'21),
Optional: A Memory-Disaggregated Managed Runtime (OSDI'20)
[Slides]
Oct 20 Oct 21
Lec-18: Disaggregated Storage
Reading: ReFlex (ASPLOS'17)
Optinonal: Rack-Scale Disaggregated Storage (HotStorage'17)
[Slides]
Oct 22
Oct 25 Summary of Related Work (8:00pm CST) Oct 26
Lec-19: Network/Storage Codesign
Reading: NetCache (SOSP'17)
Optional: Page Fault for Network Controller (ASPLOS'17)
[Slides-1][Slides-2][Slides-3]
Oct 27 Oct 28
Lec-20: Course Project Presentation (Each team has about 15 minutes)
Oct 29
Nov 1
Course Project Proposal (8:00PM CST)
Nov 2
Lec-21:Network/Storage Co-design II
Reading: In-network Cache Coherence (FAST'21)
[Slides]
Nov 3 Nov 4
Lec-22: Memory/Storage for Accelerators I
Reading: Buddy Compression (ISCA'20)
Optional: ZnG (ISCA'20)
[Slides]
Nov 5
Nov 8 Nov 9
Lec-23: Memory/Storage for Accelerators II
Reading: NeuMMU (ASPLOS'20)
Optional: Cohesion (ISCA'10), Unified Address Space (ASPLOS'14), ActivePointers (ISCA'16)
[Slides]
Nov 10 Nov 11
Lec-24: Memory/Storage for ML
Reading: SwapAdvisor (ASPLOS'20)
Optinonal: Data Stalls in DNN Training (VLDB'21)
[Slides]
Nov 12
Nov 15 Nov 16
Lec-25: ML for Memory/Storage
Reading: Bourbon (OSDI'20)
[Slides]
Nov 17 Nov 18
Lec-26: Mobile/Wearable/IoT Storage
Reading: WearDrive (USENIX ATC'15, Best Paper)
Optional: Revisiting Mobile Storage (FAST'12), BtrDB (FAST'16)
[Slides]
Nov 19
Nov 22 Nov 23
Fall Break
Nov 24 Nov 25
Fall Break
Nov 26
Nov 29
Milestone Progress Report (8pm CST)
Nov 30
Lec-27: Memory Management in System Virtualization
Reading: Memory Management in VMare (OSDI'02)
[Slides]
Dec 1 Dec 2
Lec-28: Verification for Memory System
Reading: TriCheck (ASPLOS'17)
Dec 3
Dec 6 Dec 7
Lec-29: Secure Storage System + Final Review
Optional Reading: FlashGuard (CCS'17)
Dec 8 Dec 9
Reading Day
Dec 10
Dec 13 Dec 14
Final Project Presentation
Dec 15 Dec 16
Dec 17
Final Project Report (11:59pm CST)