course number instructor title
CS 6504 X Jian Memory System Architecture

 

For decades, memory performance scaling has lagged behind that of CPU, causing the well-known “memory wall” today. The performance problems due to slow memory is amplified in the context of cloud computing, which requires high capacity, bandwidth, reliability, and security from the memory system, exhibits diverse memory access patterns, and performs complex address translation. This seminar course covers state-of-the-art memory system designs both in industry and research to tackle the memory wall, with a focus on cloud computing. 


The course consists of both lectures and student-led paper discussions. The lectures cover modern server memory organizations, techniques implemented in existing CPUs to tackle the memory wall, common memory reliability and security features, as well as emerging memory technologies such as 3D-die-stacked memories and NVRAMs. Subsequently, with the background knowledge gained through the lectures, students will lead discussions on recent influential research papers on memory system designs. The student-led paper discussions will cover diverse topics, including (but not limited to) memory compression, deduplication, address translation for VMs, persistent memory systems, prefetching, secure memory designs, and heterogenous memory designs. 


The course project will give students hands-on experience in computer architecture research. Students may choose from one of the following: A) Perform workload characterization via real-system profiling tools such as Pintool, PAPI, and Gprof. B) Implementing simple prior works in an architectural simulator to quantify its IPC improvement for new workloads. C) Propose and evaluate a new idea related to memory system design.