Explores memory virtualization, addressing address spaces, page tables, caching, and system design constants to optimize memory performance and reliability.
Explores the landscape of big data, memory importance in online services, challenges faced by memory systems, emerging DRAM technologies, and storage-class memory.
Explores parallelism in programming, emphasizing trade-offs between programmability and performance, and introduces shared memory parallel programming using OpenMP.
Explores the impact of locality on system design, discussing strategies to optimize efficiency and performance through data layout, lock design, and data movement minimization.