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) |